log_write(0, LOG_PANIC_DIE|LOG_CONFIG_FOR, "%s router:\n "
"a port must be specified", rblock->name);
log_write(0, LOG_PANIC_DIE|LOG_CONFIG_FOR, "%s router:\n "
"a port must be specified", rblock->name);
log_write(0, LOG_PANIC_DIE|LOG_CONFIG_FOR, "%s router:\n "
"a host list must be specified", rblock->name);
/* Translate protocol name into value */
log_write(0, LOG_PANIC_DIE|LOG_CONFIG_FOR, "%s router:\n "
"a host list must be specified", rblock->name);
/* Translate protocol name into value */
{
if (Ustrcmp(ob->protocol_name, "udp") == 0) ob->protocol = ip_udp;
else if (Ustrcmp(ob->protocol_name, "tcp") == 0) ob->protocol = ip_tcp;
{
if (Ustrcmp(ob->protocol_name, "udp") == 0) ob->protocol = ip_udp;
else if (Ustrcmp(ob->protocol_name, "tcp") == 0) ob->protocol = ip_tcp;
int count, query_len, rc;
int sep = 0;
DEBUG(D_route) debug_printf("%s router called for %s: domain = %s\n",
rblock->name, addr->address, addr->domain);
int count, query_len, rc;
int sep = 0;
DEBUG(D_route) debug_printf("%s router called for %s: domain = %s\n",
rblock->name, addr->address, addr->domain);
/* Build the query string to send. If not explicitly given, a default of
"user@domain user@domain" is used. */
/* Build the query string to send. If not explicitly given, a default of
"user@domain user@domain" is used. */
query = string_sprintf("%s@%s %s@%s", addr->local_part, addr->domain,
addr->local_part, addr->domain);
else
query = string_sprintf("%s@%s %s@%s", addr->local_part, addr->domain,
addr->local_part, addr->domain);
else
{
addr->message = string_sprintf("%s router: failed to expand %s: %s",
rblock->name, ob->query, expand_string_message);
return DEFER;
}
{
addr->message = string_sprintf("%s router: failed to expand %s: %s",
rblock->name, ob->query, expand_string_message);
return DEFER;
}
query_len = Ustrlen(query);
DEBUG(D_route) debug_printf("%s router query is \"%s\"\n", rblock->name,
query_len = Ustrlen(query);
DEBUG(D_route) debug_printf("%s router query is \"%s\"\n", rblock->name,
while ((hostname = string_nextinlist(&listptr, &sep, host_buffer,
sizeof(host_buffer))))
{
while ((hostname = string_nextinlist(&listptr, &sep, host_buffer,
sizeof(host_buffer))))
{
/* If an explicit rerouting string is specified, expand it. Otherwise, use
what was sent back verbatim. */
/* If an explicit rerouting string is specified, expand it. Otherwise, use
what was sent back verbatim. */
{
addr->message = string_sprintf("%s router: failed to expand %s: %s",
rblock->name, ob->reroute, expand_string_message);
return DEFER;
}
}
{
addr->message = string_sprintf("%s router: failed to expand %s: %s",
rblock->name, ob->reroute, expand_string_message);
return DEFER;
}
}
{
log_write(0, LOG_MAIN, "%s router: reroute string %s is not of the form "
"user@domain", rblock->name, reroute);
{
log_write(0, LOG_MAIN, "%s router: reroute string %s is not of the form "
"user@domain", rblock->name, reroute);