summaryrefslogtreecommitdiff
path: root/src/conffile.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/conffile.c788
1 files changed, 400 insertions, 388 deletions
diff --git a/src/conffile.c b/src/conffile.c
index 78f5da3..85bab7e 100644
--- a/src/conffile.c
+++ b/src/conffile.c
@@ -66,7 +66,8 @@
* All configuration handling functions are REQUIRED to be defined
* with the same function template as below.
*/
-typedef int (*CONFFILE_HANDLER) (struct config_s *, const char *, regmatch_t[]);
+typedef int (*CONFFILE_HANDLER) (struct config_s *, const char *,
+ regmatch_t[]);
/*
* Define the pattern used by any directive handling function. The
@@ -86,55 +87,55 @@ typedef int (*CONFFILE_HANDLER) (struct config_s *, const char *, regmatch_t[]);
* to be in-scope before the big structure below.
*/
static
-HANDLE_FUNC(handle_nop)
+HANDLE_FUNC (handle_nop)
{
- return 0;
-} /* do nothing function */
+ return 0;
+} /* do nothing function */
-static HANDLE_FUNC(handle_allow);
-static HANDLE_FUNC(handle_anonymous);
-static HANDLE_FUNC(handle_bind);
-static HANDLE_FUNC(handle_bindsame);
-static HANDLE_FUNC(handle_connectport);
-static HANDLE_FUNC(handle_defaulterrorfile);
-static HANDLE_FUNC(handle_deny);
-static HANDLE_FUNC(handle_errorfile);
+static HANDLE_FUNC (handle_allow);
+static HANDLE_FUNC (handle_anonymous);
+static HANDLE_FUNC (handle_bind);
+static HANDLE_FUNC (handle_bindsame);
+static HANDLE_FUNC (handle_connectport);
+static HANDLE_FUNC (handle_defaulterrorfile);
+static HANDLE_FUNC (handle_deny);
+static HANDLE_FUNC (handle_errorfile);
#ifdef FILTER_ENABLE
-static HANDLE_FUNC(handle_filter);
-static HANDLE_FUNC(handle_filtercasesensitive);
-static HANDLE_FUNC(handle_filterdefaultdeny);
-static HANDLE_FUNC(handle_filterextended);
-static HANDLE_FUNC(handle_filterurls);
+static HANDLE_FUNC (handle_filter);
+static HANDLE_FUNC (handle_filtercasesensitive);
+static HANDLE_FUNC (handle_filterdefaultdeny);
+static HANDLE_FUNC (handle_filterextended);
+static HANDLE_FUNC (handle_filterurls);
#endif
-static HANDLE_FUNC(handle_group);
-static HANDLE_FUNC(handle_listen);
-static HANDLE_FUNC(handle_logfile);
-static HANDLE_FUNC(handle_loglevel);
-static HANDLE_FUNC(handle_maxclients);
-static HANDLE_FUNC(handle_maxrequestsperchild);
-static HANDLE_FUNC(handle_maxspareservers);
-static HANDLE_FUNC(handle_minspareservers);
-static HANDLE_FUNC(handle_pidfile);
-static HANDLE_FUNC(handle_port);
+static HANDLE_FUNC (handle_group);
+static HANDLE_FUNC (handle_listen);
+static HANDLE_FUNC (handle_logfile);
+static HANDLE_FUNC (handle_loglevel);
+static HANDLE_FUNC (handle_maxclients);
+static HANDLE_FUNC (handle_maxrequestsperchild);
+static HANDLE_FUNC (handle_maxspareservers);
+static HANDLE_FUNC (handle_minspareservers);
+static HANDLE_FUNC (handle_pidfile);
+static HANDLE_FUNC (handle_port);
#ifdef REVERSE_SUPPORT
-static HANDLE_FUNC(handle_reversebaseurl);
-static HANDLE_FUNC(handle_reversemagic);
-static HANDLE_FUNC(handle_reverseonly);
-static HANDLE_FUNC(handle_reversepath);
+static HANDLE_FUNC (handle_reversebaseurl);
+static HANDLE_FUNC (handle_reversemagic);
+static HANDLE_FUNC (handle_reverseonly);
+static HANDLE_FUNC (handle_reversepath);
#endif
-static HANDLE_FUNC(handle_startservers);
-static HANDLE_FUNC(handle_statfile);
-static HANDLE_FUNC(handle_stathost);
-static HANDLE_FUNC(handle_syslog);
-static HANDLE_FUNC(handle_timeout);
+static HANDLE_FUNC (handle_startservers);
+static HANDLE_FUNC (handle_statfile);
+static HANDLE_FUNC (handle_stathost);
+static HANDLE_FUNC (handle_syslog);
+static HANDLE_FUNC (handle_timeout);
-static HANDLE_FUNC(handle_user);
-static HANDLE_FUNC(handle_viaproxyname);
-static HANDLE_FUNC(handle_xtinyproxy);
+static HANDLE_FUNC (handle_user);
+static HANDLE_FUNC (handle_viaproxyname);
+static HANDLE_FUNC (handle_xtinyproxy);
#ifdef UPSTREAM_SUPPORT
-static HANDLE_FUNC(handle_upstream);
-static HANDLE_FUNC(handle_upstream_no);
+static HANDLE_FUNC (handle_upstream);
+static HANDLE_FUNC (handle_upstream_no);
#endif
/*
@@ -156,82 +157,77 @@ static HANDLE_FUNC(handle_upstream_no);
* for internal use, a pointer to the compiled regex so it only needs
* to be compiled one.
*/
-struct {
- const char *re;
- CONFFILE_HANDLER handler;
- regex_t *cre;
-} directives[] = {
- /* comments */
- { BEGIN "#", handle_nop },
-
- /* blank lines */
- { "^[[:space:]]+$", handle_nop },
-
- /* string arguments */
- STDCONF("logfile", STR, handle_logfile),
- STDCONF("pidfile", STR, handle_pidfile),
- STDCONF("anonymous", STR, handle_anonymous),
- STDCONF("viaproxyname", STR, handle_viaproxyname),
- STDCONF("defaulterrorfile", STR, handle_defaulterrorfile),
- STDCONF("statfile", STR, handle_statfile),
- STDCONF("stathost", STR, handle_stathost),
- STDCONF("xtinyproxy", STR, handle_xtinyproxy),
-
- /* boolean arguments */
- STDCONF("syslog", BOOL, handle_syslog),
- STDCONF("bindsame", BOOL, handle_bindsame),
-
- /* integer arguments */
- STDCONF("port", INT, handle_port),
- STDCONF("maxclients", INT, handle_maxclients),
- STDCONF("maxspareservers", INT, handle_maxspareservers),
- STDCONF("minspareservers", INT, handle_minspareservers),
- STDCONF("startservers", INT, handle_startservers),
- STDCONF("maxrequestsperchild", INT, handle_maxrequestsperchild),
- STDCONF("timeout", INT, handle_timeout),
- STDCONF("connectport", INT, handle_connectport),
-
- /* alphanumeric arguments */
- STDCONF("user", ALNUM, handle_user),
- STDCONF("group", ALNUM, handle_group),
-
- /* ip arguments */
- STDCONF("listen", IP, handle_listen),
- STDCONF("allow", "(" IPMASK "|" ALNUM ")", handle_allow),
- STDCONF("deny", "(" IPMASK "|" ALNUM ")", handle_deny),
- STDCONF("bind", IP, handle_bind),
-
- /* error files */
- STDCONF("errorfile", INT WS STR, handle_errorfile),
-
+struct
+{
+ const char *re;
+ CONFFILE_HANDLER handler;
+ regex_t *cre;
+} directives[] =
+{
+ /* comments */
+ {
+ BEGIN "#", handle_nop},
+ /* blank lines */
+ {
+ "^[[:space:]]+$", handle_nop},
+ /* string arguments */
+ STDCONF ("logfile", STR, handle_logfile),
+ STDCONF ("pidfile", STR, handle_pidfile),
+ STDCONF ("anonymous", STR, handle_anonymous),
+ STDCONF ("viaproxyname", STR, handle_viaproxyname),
+ STDCONF ("defaulterrorfile", STR, handle_defaulterrorfile),
+ STDCONF ("statfile", STR, handle_statfile),
+ STDCONF ("stathost", STR, handle_stathost),
+ STDCONF ("xtinyproxy", STR, handle_xtinyproxy),
+ /* boolean arguments */
+ STDCONF ("syslog", BOOL, handle_syslog),
+ STDCONF ("bindsame", BOOL, handle_bindsame),
+ /* integer arguments */
+ STDCONF ("port", INT, handle_port),
+ STDCONF ("maxclients", INT, handle_maxclients),
+ STDCONF ("maxspareservers", INT, handle_maxspareservers),
+ STDCONF ("minspareservers", INT, handle_minspareservers),
+ STDCONF ("startservers", INT, handle_startservers),
+ STDCONF ("maxrequestsperchild", INT, handle_maxrequestsperchild),
+ STDCONF ("timeout", INT, handle_timeout),
+ STDCONF ("connectport", INT, handle_connectport),
+ /* alphanumeric arguments */
+ STDCONF ("user", ALNUM, handle_user),
+ STDCONF ("group", ALNUM, handle_group),
+ /* ip arguments */
+ STDCONF ("listen", IP, handle_listen),
+ STDCONF ("allow", "(" IPMASK "|" ALNUM ")", handle_allow),
+ STDCONF ("deny", "(" IPMASK "|" ALNUM ")", handle_deny),
+ STDCONF ("bind", IP, handle_bind),
+ /* error files */
+ STDCONF ("errorfile", INT WS STR, handle_errorfile),
#ifdef FILTER_ENABLE
- /* filtering */
- STDCONF("filter", STR, handle_filter),
- STDCONF("filterurls", BOOL, handle_filterurls),
- STDCONF("filterextended", BOOL, handle_filterextended),
- STDCONF("filterdefaultdeny", BOOL, handle_filterdefaultdeny),
- STDCONF("filtercasesensitive", BOOL, handle_filtercasesensitive),
+ /* filtering */
+ STDCONF ("filter", STR, handle_filter),
+ STDCONF ("filterurls", BOOL, handle_filterurls),
+ STDCONF ("filterextended", BOOL, handle_filterextended),
+ STDCONF ("filterdefaultdeny", BOOL, handle_filterdefaultdeny),
+ STDCONF ("filtercasesensitive", BOOL, handle_filtercasesensitive),
#endif
-
#ifdef REVERSE_SUPPORT
- /* Reverse proxy arguments */
- STDCONF("reversebaseurl", STR, handle_reversebaseurl),
- STDCONF("reverseonly", BOOL, handle_reverseonly),
- STDCONF("reversemagic", BOOL, handle_reversemagic),
- STDCONF("reversepath", STR WS "(" STR ")?", handle_reversepath),
+ /* Reverse proxy arguments */
+ STDCONF ("reversebaseurl", STR, handle_reversebaseurl),
+ STDCONF ("reverseonly", BOOL, handle_reverseonly),
+ STDCONF ("reversemagic", BOOL, handle_reversemagic),
+ STDCONF ("reversepath", STR WS "(" STR ")?", handle_reversepath),
#endif
-
#ifdef UPSTREAM_SUPPORT
- /* upstream is rather complicated */
- { BEGIN "(no" WS "upstream)" WS STR END, handle_upstream_no },
- { BEGIN "(upstream)" WS "(" IP "|" ALNUM ")" ":" INT "(" WS STR ")?" END, handle_upstream },
+ /* upstream is rather complicated */
+ {
+ BEGIN "(no" WS "upstream)" WS STR END, handle_upstream_no},
+ {
+ BEGIN "(upstream)" WS "(" IP "|" ALNUM ")" ":" INT "(" WS STR ")?" END,
+ handle_upstream},
#endif
-
- /* loglevel */
- STDCONF("loglevel", "(critical|error|warning|notice|connect|info)",
- handle_loglevel)
-};
-const unsigned int ndirectives = sizeof(directives) / sizeof(directives[0]);
+ /* loglevel */
+STDCONF ("loglevel", "(critical|error|warning|notice|connect|info)",
+ handle_loglevel)};
+const unsigned int ndirectives = sizeof (directives) / sizeof (directives[0]);
/*
* Compiles the regular expressions used by the configuration file. This
@@ -240,25 +236,25 @@ const unsigned int ndirectives = sizeof(directives) / sizeof(directives[0]);
* Returns 0 on success; negative upon failure.
*/
int
-config_compile(void)
+config_compile (void)
{
- int i, r;
+ int i, r;
- for (i = 0; i != ndirectives; ++i) {
- assert(directives[i].handler);
- assert(!directives[i].cre);
+ for (i = 0; i != ndirectives; ++i)
+ {
+ assert (directives[i].handler);
+ assert (!directives[i].cre);
- directives[i].cre = safemalloc(sizeof(regex_t));
- if (!directives[i].cre)
- return -1;
+ directives[i].cre = safemalloc (sizeof (regex_t));
+ if (!directives[i].cre)
+ return -1;
- r = regcomp(directives[i].cre,
- directives[i].re,
- REG_EXTENDED | REG_ICASE | REG_NEWLINE);
- if (r)
- return r;
- }
- return 0;
+ r = regcomp (directives[i].cre,
+ directives[i].re, REG_EXTENDED | REG_ICASE | REG_NEWLINE);
+ if (r)
+ return r;
+ }
+ return 0;
}
/*
@@ -270,39 +266,42 @@ config_compile(void)
* a negative number is returned.
*/
static int
-check_match(struct config_s *conf, const char *line)
+check_match (struct config_s *conf, const char *line)
{
- regmatch_t match[RE_MAX_MATCHES];
- unsigned int i;
+ regmatch_t match[RE_MAX_MATCHES];
+ unsigned int i;
- assert(ndirectives > 0);
+ assert (ndirectives > 0);
- for (i = 0; i != ndirectives; ++i) {
- assert(directives[i].cre);
- if (!regexec(directives[i].cre, line, RE_MAX_MATCHES, match, 0))
- return (*directives[i].handler) (conf, line, match);
- }
+ for (i = 0; i != ndirectives; ++i)
+ {
+ assert (directives[i].cre);
+ if (!regexec (directives[i].cre, line, RE_MAX_MATCHES, match, 0))
+ return (*directives[i].handler) (conf, line, match);
+ }
- return -1;
+ return -1;
}
/*
* Parse the previously opened configuration stream.
*/
int
-config_parse(struct config_s *conf, FILE * f)
+config_parse (struct config_s *conf, FILE * f)
{
- char buffer[1024]; /* 1KB lines should be plenty */
- unsigned long lineno = 1;
+ char buffer[1024]; /* 1KB lines should be plenty */
+ unsigned long lineno = 1;
- while (fgets(buffer, sizeof(buffer), f)) {
- if (check_match(conf, buffer)) {
- printf("Syntax error on line %ld\n", lineno);
- return 1;
- }
- ++lineno;
- }
- return 0;
+ while (fgets (buffer, sizeof (buffer), f))
+ {
+ if (check_match (conf, buffer))
+ {
+ printf ("Syntax error on line %ld\n", lineno);
+ return 1;
+ }
+ ++lineno;
+ }
+ return 0;
}
/***********************************************************************
@@ -313,78 +312,79 @@ config_parse(struct config_s *conf, FILE * f)
***********************************************************************/
static char *
-get_string_arg(const char *line, regmatch_t * match)
+get_string_arg (const char *line, regmatch_t * match)
{
- char *p;
- const unsigned int len = match->rm_eo - match->rm_so;
+ char *p;
+ const unsigned int len = match->rm_eo - match->rm_so;
- assert(line);
- assert(len > 0);
+ assert (line);
+ assert (len > 0);
- p = safemalloc(len + 1);
- if (!p)
- return NULL;
+ p = safemalloc (len + 1);
+ if (!p)
+ return NULL;
- memcpy(p, line + match->rm_so, len);
- p[len] = '\0';
- return p;
+ memcpy (p, line + match->rm_so, len);
+ p[len] = '\0';
+ return p;
}
static int
-set_string_arg(char **var, const char *line, regmatch_t * match)
+set_string_arg (char **var, const char *line, regmatch_t * match)
{
- char *arg = get_string_arg(line, match);
+ char *arg = get_string_arg (line, match);
- if (!arg)
- return -1;
- *var = safestrdup(arg);
- safefree(arg);
- return *var ? 0 : -1;
+ if (!arg)
+ return -1;
+ *var = safestrdup (arg);
+ safefree (arg);
+ return *var ? 0 : -1;
}
static int
-get_bool_arg(const char *line, regmatch_t * match)
+get_bool_arg (const char *line, regmatch_t * match)
{
- const char *p = line + match->rm_so;
+ const char *p = line + match->rm_so;
- assert(line);
- assert(match && match->rm_so != -1);
+ assert (line);
+ assert (match && match->rm_so != -1);
- /* "y"es or o"n" map as true, otherwise it's false. */
- if (tolower(p[0]) == 'y' || tolower(p[1]) == 'n')
- return 1;
- else
- return 0;
+ /* "y"es or o"n" map as true, otherwise it's false. */
+ if (tolower (p[0]) == 'y' || tolower (p[1]) == 'n')
+ return 1;
+ else
+ return 0;
}
static int
-set_bool_arg(unsigned int *var, const char *line, regmatch_t * match)
+set_bool_arg (unsigned int *var, const char *line, regmatch_t * match)
{
- assert(var);
- assert(line);
- assert(match && match->rm_so != -1);
+ assert (var);
+ assert (line);
+ assert (match && match->rm_so != -1);
- *var = get_bool_arg(line, match);
- return 0;
+ *var = get_bool_arg (line, match);
+ return 0;
}
static inline long int
-get_int_arg(const char *line, regmatch_t * match)
+get_int_arg (const char *line, regmatch_t * match)
{
- assert(line);
- assert(match && match->rm_so != -1);
+ assert (line);
+ assert (match && match->rm_so != -1);
- return strtol(line + match->rm_so, NULL, 0);
+ return strtol (line + match->rm_so, NULL, 0);
}
+
static int
-set_int_arg(int long *var, const char *line, regmatch_t * match)
+set_int_arg (int long *var, const char *line, regmatch_t * match)
{
- assert(var);
- assert(line);
- assert(match);
+ assert (var);
+ assert (line);
+ assert (match);
- *var = get_int_arg(line, match);
- return 0;
+ *var = get_int_arg (line, match);
+ return 0;
}
/***********************************************************************
@@ -406,392 +406,404 @@ set_int_arg(int long *var, const char *line, regmatch_t * match)
***********************************************************************/
static
-HANDLE_FUNC(handle_logfile)
+HANDLE_FUNC (handle_logfile)
{
- return set_string_arg(&conf->logf_name, line, &match[2]);
+ return set_string_arg (&conf->logf_name, line, &match[2]);
}
static
-HANDLE_FUNC(handle_pidfile)
+HANDLE_FUNC (handle_pidfile)
{
- return set_string_arg(&conf->pidpath, line, &match[2]);
+ return set_string_arg (&conf->pidpath, line, &match[2]);
}
static
-HANDLE_FUNC(handle_anonymous)
+HANDLE_FUNC (handle_anonymous)
{
- char *arg = get_string_arg(line, &match[2]);
+ char *arg = get_string_arg (line, &match[2]);
- if (!arg)
- return -1;
+ if (!arg)
+ return -1;
- anonymous_insert(arg);
- safefree(arg);
- return 0;
+ anonymous_insert (arg);
+ safefree (arg);
+ return 0;
}
static
-HANDLE_FUNC(handle_viaproxyname)
+HANDLE_FUNC (handle_viaproxyname)
{
- int r = set_string_arg(&conf->via_proxy_name, line, &match[2]);
+ int r = set_string_arg (&conf->via_proxy_name, line, &match[2]);
- if (r)
- return r;
- log_message(LOG_INFO,
- "Setting \"Via\" header proxy to %s", conf->via_proxy_name);
- return 0;
+ if (r)
+ return r;
+ log_message (LOG_INFO,
+ "Setting \"Via\" header proxy to %s", conf->via_proxy_name);
+ return 0;
}
static
-HANDLE_FUNC(handle_defaulterrorfile)
+HANDLE_FUNC (handle_defaulterrorfile)
{
- return set_string_arg(&conf->errorpage_undef, line, &match[2]);
+ return set_string_arg (&conf->errorpage_undef, line, &match[2]);
}
static
-HANDLE_FUNC(handle_statfile)
+HANDLE_FUNC (handle_statfile)
{
- return set_string_arg(&conf->statpage, line, &match[2]);
+ return set_string_arg (&conf->statpage, line, &match[2]);
}
static
-HANDLE_FUNC(handle_stathost)
+HANDLE_FUNC (handle_stathost)
{
- int r = set_string_arg(&conf->stathost, line, &match[2]);
+ int r = set_string_arg (&conf->stathost, line, &match[2]);
- if (r)
- return r;
- log_message(LOG_INFO, "Stathost set to \"%s\"", conf->stathost);
- return 0;
+ if (r)
+ return r;
+ log_message (LOG_INFO, "Stathost set to \"%s\"", conf->stathost);
+ return 0;
}
static
-HANDLE_FUNC(handle_xtinyproxy)
+HANDLE_FUNC (handle_xtinyproxy)
{
#ifdef XTINYPROXY_ENABLE
- return set_string_arg(&conf->my_domain, line, &match[2]);
+ return set_string_arg (&conf->my_domain, line, &match[2]);
#else
- fprintf(stderr,
- "XTinyproxy NOT Enabled! Recompile with --enable-xtinyproxy\n");
- return 1;
+ fprintf (stderr,
+ "XTinyproxy NOT Enabled! Recompile with --enable-xtinyproxy\n");
+ return 1;
#endif
}
static
-HANDLE_FUNC(handle_syslog)
+HANDLE_FUNC (handle_syslog)
{
#ifdef HAVE_SYSLOG_H
- return set_bool_arg(&conf->syslog, line, &match[2]);
+ return set_bool_arg (&conf->syslog, line, &match[2]);
#else
- fprintf(stderr, "Syslog support not compiled in executable.\n");
- return 1;
+ fprintf (stderr, "Syslog support not compiled in executable.\n");
+ return 1;
#endif
}
static
-HANDLE_FUNC(handle_bindsame)
+HANDLE_FUNC (handle_bindsame)
{
- int r = set_bool_arg(&conf->bindsame, line, &match[2]);
+ int r = set_bool_arg (&conf->bindsame, line, &match[2]);
- if (r)
- return r;
- log_message(LOG_INFO, "Binding outgoing connection to incoming IP");
- return 0;
+ if (r)
+ return r;
+ log_message (LOG_INFO, "Binding outgoing connection to incoming IP");
+ return 0;
}
static
-HANDLE_FUNC(handle_port)
+HANDLE_FUNC (handle_port)
{
- return set_int_arg((long int *)&conf->port, line, &match[2]);
+ return set_int_arg ((long int *) &conf->port, line, &match[2]);
}
static
-HANDLE_FUNC(handle_maxclients)
+HANDLE_FUNC (handle_maxclients)
{
- child_configure(CHILD_MAXCLIENTS, get_int_arg(line, &match[2]));
- return 0;
+ child_configure (CHILD_MAXCLIENTS, get_int_arg (line, &match[2]));
+ return 0;
}
static
-HANDLE_FUNC(handle_maxspareservers)
+HANDLE_FUNC (handle_maxspareservers)
{
- child_configure(CHILD_MAXSPARESERVERS, get_int_arg(line, &match[2]));
- return 0;
+ child_configure (CHILD_MAXSPARESERVERS, get_int_arg (line, &match[2]));
+ return 0;
}
static
-HANDLE_FUNC(handle_minspareservers)
+HANDLE_FUNC (handle_minspareservers)
{
- child_configure(CHILD_MINSPARESERVERS, get_int_arg(line, &match[2]));
- return 0;
+ child_configure (CHILD_MINSPARESERVERS, get_int_arg (line, &match[2]));
+ return 0;
}
static
-HANDLE_FUNC(handle_startservers)
+HANDLE_FUNC (handle_startservers)
{
- child_configure(CHILD_STARTSERVERS, get_int_arg(line, &match[2]));
- return 0;
+ child_configure (CHILD_STARTSERVERS, get_int_arg (line, &match[2]));
+ return 0;
}
static
-HANDLE_FUNC(handle_maxrequestsperchild)
+HANDLE_FUNC (handle_maxrequestsperchild)
{
- child_configure(CHILD_MAXREQUESTSPERCHILD,
- get_int_arg(line, &match[2]));
- return 0;
+ child_configure (CHILD_MAXREQUESTSPERCHILD, get_int_arg (line, &match[2]));
+ return 0;
}
static
-HANDLE_FUNC(handle_timeout)
+HANDLE_FUNC (handle_timeout)
{
- return set_int_arg((long int *)&conf->idletimeout, line, &match[2]);
+ return set_int_arg ((long int *) &conf->idletimeout, line, &match[2]);
}
static
-HANDLE_FUNC(handle_connectport)
+HANDLE_FUNC (handle_connectport)
{
- add_connect_port_allowed(get_int_arg(line, &match[2]));
- return 0;
+ add_connect_port_allowed (get_int_arg (line, &match[2]));
+ return 0;
}
static
-HANDLE_FUNC(handle_user)
+HANDLE_FUNC (handle_user)
{
- return set_string_arg(&conf->user, line, &match[2]);
+ return set_string_arg (&conf->user, line, &match[2]);
}
static
-HANDLE_FUNC(handle_group)
+HANDLE_FUNC (handle_group)
{
- return set_string_arg(&conf->group, line, &match[2]);
+ return set_string_arg (&conf->group, line, &match[2]);
}
static
-HANDLE_FUNC(handle_allow)
+HANDLE_FUNC (handle_allow)
{
- char *arg = get_string_arg(line, &match[2]);
+ char *arg = get_string_arg (line, &match[2]);
- insert_acl(arg, ACL_ALLOW);
- safefree(arg);
- return 0;
+ insert_acl (arg, ACL_ALLOW);
+ safefree (arg);
+ return 0;
}
static
-HANDLE_FUNC(handle_deny)
+HANDLE_FUNC (handle_deny)
{
- char *arg = get_string_arg(line, &match[2]);
+ char *arg = get_string_arg (line, &match[2]);
- insert_acl(arg, ACL_DENY);
- safefree(arg);
- return 0;
+ insert_acl (arg, ACL_DENY);
+ safefree (arg);
+ return 0;
}
static
-HANDLE_FUNC(handle_bind)
+HANDLE_FUNC (handle_bind)
{
#ifndef TRANSPARENT_PROXY
- int r = set_string_arg(&conf->bind_address, line, &match[2]);
+ int r = set_string_arg (&conf->bind_address, line, &match[2]);
- if (r)
- return r;
- log_message(LOG_INFO,
- "Outgoing connections bound to IP %s", conf->bind_address);
- return 0;
+ if (r)
+ return r;
+ log_message (LOG_INFO,
+ "Outgoing connections bound to IP %s", conf->bind_address);
+ return 0;
#else
- fprintf(stderr,
- "\"Bind\" cannot be used with transparent support enabled.\n");
- return 1;
+ fprintf (stderr,
+ "\"Bind\" cannot be used with transparent support enabled.\n");
+ return 1;
#endif
}
static
-HANDLE_FUNC(handle_listen)
+HANDLE_FUNC (handle_listen)
{
- int r = set_string_arg(&conf->ipAddr, line, &match[2]);
+ int r = set_string_arg (&conf->ipAddr, line, &match[2]);
- if (r)
- return r;
- log_message(LOG_INFO, "Listing on IP %s", conf->ipAddr);
- return 0;
+ if (r)
+ return r;
+ log_message (LOG_INFO, "Listing on IP %s", conf->ipAddr);
+ return 0;
}
static
-HANDLE_FUNC(handle_errorfile)
+HANDLE_FUNC (handle_errorfile)
{
- /*
- * Because an integer is defined as ((0x)?[[:digit:]]+) _two_
- * match places are used. match[2] matches the full digit
- * string, while match[3] matches only the "0x" part if
- * present. This is why the "string" is located at
- * match[4] (rather than the more intuitive match[3].
- */
- long int err = get_int_arg(line, &match[2]);
- char *page = get_string_arg(line, &match[4]);
+ /*
+ * Because an integer is defined as ((0x)?[[:digit:]]+) _two_
+ * match places are used. match[2] matches the full digit
+ * string, while match[3] matches only the "0x" part if
+ * present. This is why the "string" is located at
+ * match[4] (rather than the more intuitive match[3].
+ */
+ long int err = get_int_arg (line, &match[2]);
+ char *page = get_string_arg (line, &match[4]);
- add_new_errorpage(page, err);
- safefree(page);
- return 0;
+ add_new_errorpage (page, err);
+ safefree (page);
+ return 0;
}
/*
* Log level's strings.
*/
-struct log_levels_s {
- const char *string;
- int level;
+struct log_levels_s
+{
+ const char *string;
+ int level;
};
static struct log_levels_s log_levels[] = {
- {"critical", LOG_CRIT},
- {"error", LOG_ERR},
- {"warning", LOG_WARNING},
- {"notice", LOG_NOTICE},
- {"connect", LOG_CONN},
- {"info", LOG_INFO}
+ {"critical", LOG_CRIT},
+ {"error", LOG_ERR},
+ {"warning", LOG_WARNING},
+ {"notice", LOG_NOTICE},
+ {"connect", LOG_CONN},
+ {"info", LOG_INFO}
};
static
-HANDLE_FUNC(handle_loglevel)
+HANDLE_FUNC (handle_loglevel)
{
- static const unsigned int nlevels =
- sizeof(log_levels) / sizeof(log_levels[0]);
- unsigned int i;
+ static const unsigned int nlevels =
+ sizeof (log_levels) / sizeof (log_levels[0]);
+ unsigned int i;
- char *arg = get_string_arg(line, &match[2]);
+ char *arg = get_string_arg (line, &match[2]);
- for (i = 0; i != nlevels; ++i) {
- if (!strcasecmp(arg, log_levels[i].string)) {
- set_log_level(log_levels[i].level);
- safefree(arg);
- return 0;
- }
- }
+ for (i = 0; i != nlevels; ++i)
+ {
+ if (!strcasecmp (arg, log_levels[i].string))
+ {
+ set_log_level (log_levels[i].level);
+ safefree (arg);
+ return 0;
+ }
+ }
- safefree(arg);
- return -1;
+ safefree (arg);
+ return -1;
}
#ifdef FILTER_ENABLE
static
-HANDLE_FUNC(handle_filter)
+HANDLE_FUNC (handle_filter)
{
- return set_string_arg(&conf->filter, line, &match[2]);
+ return set_string_arg (&conf->filter, line, &match[2]);
}
static
-HANDLE_FUNC(handle_filterurls)
+HANDLE_FUNC (handle_filterurls)
{
- return set_bool_arg(&conf->filter_url, line, &match[2]);
+ return set_bool_arg (&conf->filter_url, line, &match[2]);
}
static
-HANDLE_FUNC(handle_filterextended)
+HANDLE_FUNC (handle_filterextended)
{
- return set_bool_arg(&conf->filter_extended, line, &match[2]);
+ return set_bool_arg (&conf->filter_extended, line, &match[2]);
}
static
-HANDLE_FUNC(handle_filterdefaultdeny)
+HANDLE_FUNC (handle_filterdefaultdeny)
{
- assert(match[2].rm_so != -1);
+ assert (match[2].rm_so != -1);
- if (get_bool_arg(line, &match[2]))
- filter_set_default_policy(FILTER_DEFAULT_DENY);
- return 0;
+ if (get_bool_arg (line, &match[2]))
+ filter_set_default_policy (FILTER_DEFAULT_DENY);
+ return 0;
}
static
-HANDLE_FUNC(handle_filtercasesensitive)
+HANDLE_FUNC (handle_filtercasesensitive)
{
- return set_bool_arg(&conf->filter_casesensitive, line, &match[2]);
+ return set_bool_arg (&conf->filter_casesensitive, line, &match[2]);
}
#endif
#ifdef REVERSE_SUPPORT
static
-HANDLE_FUNC(handle_reverseonly)
+HANDLE_FUNC (handle_reverseonly)
{
- return set_bool_arg(&conf->reverseonly, line, &match[2]);
+ return set_bool_arg (&conf->reverseonly, line, &match[2]);
}
static
-HANDLE_FUNC(handle_reversemagic)
+HANDLE_FUNC (handle_reversemagic)
{
- return set_bool_arg(&conf->reversemagic, line, &match[2]);
+ return set_bool_arg (&conf->reversemagic, line, &match[2]);
}
static
-HANDLE_FUNC(handle_reversebaseurl)
+HANDLE_FUNC (handle_reversebaseurl)
{
- return set_string_arg(&conf->reversebaseurl, line, &match[2]);
+ return set_string_arg (&conf->reversebaseurl, line, &match[2]);
}
static
-HANDLE_FUNC(handle_reversepath)
+HANDLE_FUNC (handle_reversepath)
{
- /*
- * The second string argument is optional.
- */
- char *arg1, *arg2;
+ /*
+ * The second string argument is optional.
+ */
+ char *arg1, *arg2;
- arg1 = get_string_arg(line, &match[2]);
- if (!arg1)
- return -1;
+ arg1 = get_string_arg (line, &match[2]);
+ if (!arg1)
+ return -1;
- if (match[3].rm_so != -1) {
- arg2 = get_string_arg(line, &match[3]);
- if (!arg2) {
- safefree(arg1);
- return -1;
- }
- reversepath_add(arg1, arg2);
- safefree(arg1);
- safefree(arg2);
- } else {
- reversepath_add(NULL, arg1);
- safefree(arg1);
- }
- return 0;
+ if (match[3].rm_so != -1)
+ {
+ arg2 = get_string_arg (line, &match[3]);
+ if (!arg2)
+ {
+ safefree (arg1);
+ return -1;
+ }
+ reversepath_add (arg1, arg2);
+ safefree (arg1);
+ safefree (arg2);
+ }
+ else
+ {
+ reversepath_add (NULL, arg1);
+ safefree (arg1);
+ }
+ return 0;
}
#endif
#ifdef UPSTREAM_SUPPORT
static
-HANDLE_FUNC(handle_upstream)
+HANDLE_FUNC (handle_upstream)
{
- char *ip;
- int port;
- char *domain;
+ char *ip;
+ int port;
+ char *domain;
- ip = get_string_arg(line, &match[2]);
- if (!ip) return -1;
- port = get_int_arg(line, &match[7]);
+ ip = get_string_arg (line, &match[2]);
+ if (!ip)
+ return -1;
+ port = get_int_arg (line, &match[7]);
- if (match[9].rm_so != -1) {
- domain = get_string_arg(line, &match[9]);
- if (domain) {
- upstream_add(ip, port, domain);
- safefree(domain);
- }
- } else {
- upstream_add(ip, port, NULL);
- }
+ if (match[9].rm_so != -1)
+ {
+ domain = get_string_arg (line, &match[9]);
+ if (domain)
+ {
+ upstream_add (ip, port, domain);
+ safefree (domain);
+ }
+ }
+ else
+ {
+ upstream_add (ip, port, NULL);
+ }
- safefree(ip);
+ safefree (ip);
- return 0;
+ return 0;
}
static
-HANDLE_FUNC(handle_upstream_no)
+HANDLE_FUNC (handle_upstream_no)
{
- char *domain;
+ char *domain;
- domain = get_string_arg(line, &match[2]);
- if (!domain) return -1;
+ domain = get_string_arg (line, &match[2]);
+ if (!domain)
+ return -1;
- upstream_add(NULL, 0, domain);
- safefree(domain);
+ upstream_add (NULL, 0, domain);
+ safefree (domain);
- return 0;
+ return 0;
}
#endif