-const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.92 2009/03/18 20:43:19 fabiankeil Exp $";
+const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.93 2009/03/18 21:46:26 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/loadcfg.c,v $
*
* Revisions :
* $Log: loadcfg.c,v $
+ * Revision 1.93 2009/03/18 21:46:26 fabiankeil
+ * Revert the last commit as there's a better way.
+ *
* Revision 1.92 2009/03/18 20:43:19 fabiankeil
* Don't enable LOG_LEVEL_INFO by default and don't apply the user's
* debug settings until the logfile has been opened (if there is one).
* Set to defaults
*/
config->multi_threaded = 1;
- config->hport = HADDR_PORT;
config->buffer_limit = 4096 * 1024;
config->usermanual = strdup(USER_MANUAL_URL);
config->proxy_args = strdup("");
break;
}
}
+#ifdef HAVE_GETADDRINFO
+ else
+ {
+ cur_acl->wildcard_dst = 1;
+ }
+#endif /* def HAVE_GETADDRINFO */
/*
* Add it to the list. Note we reverse the list to get the
{
cur_fwd->forward_host = strdup(p);
- if (NULL != (p = strchr(cur_fwd->forward_host, ':')))
+ if (*cur_fwd->forward_host == '[' &&
+ NULL != (p = strchr(cur_fwd->forward_host, ']')))
+ {
+ *p++ = '\0';
+ memmove(cur_fwd->forward_host, cur_fwd->forward_host + 1,
+ (size_t) (p - cur_fwd->forward_host));
+ if (*p == ':')
+ {
+ cur_fwd->forward_port = atoi(++p);
+ }
+ }
+ else if (NULL != (p = strchr(cur_fwd->forward_host, ':')))
{
*p++ = '\0';
cur_fwd->forward_port = atoi(p);
{
cur_fwd->gateway_host = strdup(p);
- if (NULL != (p = strchr(cur_fwd->gateway_host, ':')))
+ if (*cur_fwd->gateway_host == '[' &&
+ NULL != (p = strchr(cur_fwd->gateway_host, ']')))
+ {
+ *p++ = '\0';
+ memmove(cur_fwd->gateway_host, cur_fwd->gateway_host + 1,
+ (size_t) (p - cur_fwd->gateway_host));
+ if (*p == ':')
+ {
+ cur_fwd->gateway_port = atoi(++p);
+ }
+ }
+ else if (NULL != (p = strchr(cur_fwd->gateway_host, ':')))
{
*p++ = '\0';
cur_fwd->gateway_port = atoi(p);
}
+
if (cur_fwd->gateway_port <= 0)
{
cur_fwd->gateway_port = 1080;
{
cur_fwd->forward_host = strdup(p);
- if (NULL != (p = strchr(cur_fwd->forward_host, ':')))
+ if (*cur_fwd->forward_host == '[' &&
+ NULL != (p = strchr(cur_fwd->forward_host, ']')))
+ {
+ *p++ = '\0';
+ memmove(cur_fwd->forward_host, cur_fwd->forward_host + 1,
+ (size_t) (p - cur_fwd->forward_host));
+ if (*p == ':')
+ {
+ cur_fwd->forward_port = atoi(++p);
+ }
+ }
+ else if (NULL != (p = strchr(cur_fwd->forward_host, ':')))
{
*p++ = '\0';
cur_fwd->forward_port = atoi(p);
cur_fwd->gateway_host = strdup(p);
- if (NULL != (p = strchr(cur_fwd->gateway_host, ':')))
+ if (*cur_fwd->gateway_host == '[' &&
+ NULL != (p = strchr(cur_fwd->gateway_host, ']')))
+ {
+ *p++ = '\0';
+ memmove(cur_fwd->gateway_host, cur_fwd->gateway_host + 1,
+ (size_t) (p - cur_fwd->gateway_host));
+ if (*p == ':')
+ {
+ cur_fwd->gateway_port = atoi(++p);
+ }
+ }
+ else if (NULL != (p = strchr(cur_fwd->gateway_host, ':')))
{
*p++ = '\0';
cur_fwd->gateway_port = atoi(p);
}
+
if (cur_fwd->gateway_port <= 0)
{
cur_fwd->gateway_port = 1080;
{
cur_fwd->forward_host = strdup(p);
- if (NULL != (p = strchr(cur_fwd->forward_host, ':')))
+ if (*cur_fwd->forward_host == '[' &&
+ NULL != (p = strchr(cur_fwd->forward_host, ']')))
+ {
+ *p++ = '\0';
+ memmove(cur_fwd->forward_host, cur_fwd->forward_host + 1,
+ (size_t) (p - cur_fwd->forward_host));
+ if (*p == ':')
+ {
+ cur_fwd->forward_port = atoi(++p);
+ }
+ }
+ else if (NULL != (p = strchr(cur_fwd->forward_host, ':')))
{
*p++ = '\0';
cur_fwd->forward_port = atoi(p);
break;
}
}
+#ifdef HAVE_GETADDRINFO
+ else
+ {
+ cur_acl->wildcard_dst = 1;
+ }
+#endif /* def HAVE_GETADDRINFO */
/*
* Add it to the list. Note we reverse the list to get the
if ( NULL != config->haddr )
{
- if (NULL != (p = strchr(config->haddr, ':')))
+ if (*config->haddr == '[' && NULL != (p = strchr(config->haddr, ']')) &&
+ p[1] == ':' && 0 < (config->hport = atoi(p + 2)))
{
- *p++ = '\0';
- if (*p)
- {
- config->hport = atoi(p);
- }
+ *p='\0';
+ memmove((void *) config->haddr, config->haddr + 1,
+ (size_t) (p - config->haddr));
}
-
- if (config->hport <= 0)
+ else if (NULL != (p = strchr(config->haddr, ':')) &&
+ 0 < (config->hport = atoi(p + 1)))
+ {
+ *p = '\0';
+ }
+ else
{
- *--p = ':';
log_error(LOG_LEVEL_FATAL, "invalid bind port spec %s", config->haddr);
/* Never get here - LOG_LEVEL_FATAL causes program exit */
}
Local Variables:
tab-width: 3
end:
+
+ vim:softtabstop=3 shiftwidth=3
*/