diff options
author | Sergey Poznyakoff <gray@nxc.no> | 2018-02-02 14:50:53 +0100 |
---|---|---|
committer | Sergey Poznyakoff <gray@nxc.no> | 2018-02-02 14:50:53 +0100 |
commit | 8a2e9da972cee4714c02f3dd23a3b7fcab9a0476 (patch) | |
tree | ee00ab302734161ec756313e8bbede8a82fb86eb /src/ban.c | |
parent | 83919b99e222077a1bb61757403779cc4f456edc (diff) | |
download | varnish-mib-8a2e9da972cee4714c02f3dd23a3b7fcab9a0476.tar.gz varnish-mib-8a2e9da972cee4714c02f3dd23a3b7fcab9a0476.tar.bz2 |
Bugfixes
Use consistend debug token names. Make sure configuration settings are
honored by opening VSM and doing initial loading after the configuration
has been read and processed. Avoid inifinite recursion in dict_load.
* src/modconf.c: New file.
* src/modconf.h: New file.
* src/vclient.h: New file.
* src/Makefile.am: Add new files.
* src/VARNISH-MIB.txt: Minor changes in descriptions.
* src/backend.h (backend_collect_addr): Change prototype.
* src/ban.c: Remove configuration management functions.
* src/betab.c: Likewise.
* src/statdict.c (dict_lookup): Remove debugging kludge.
(dict_load): Don't call backend_collect_addr. It is responsibility
of the caller.
* src/varnish_mib.mib2c: Rearrange includes. Open VSM after
parsing configuration.
(init_$modulename): Allow loading of one instance only.
* src/vcli.c: Rewrite socket support.
Diffstat (limited to 'src/ban.c')
-rw-r--r-- | src/ban.c | 45 |
1 files changed, 4 insertions, 41 deletions
@@ -51,7 +51,7 @@ varnish_ban(netsnmp_agent_request_info *reqinfo, } memcpy(expr, requests->requestvb->val.string, len); expr[len] = 0; - DEBUGMSGTL(("varnish_ban", "setting ban %s\n", expr)); + DEBUGMSGTL(("varnish_mib:ban", "setting ban %s\n", expr)); rc = vcli_connect(vsm, &conn); if (rc == SNMP_ERR_NOERROR) { rc = send_ban_cmd(&conn, expr); @@ -61,43 +61,6 @@ varnish_ban(netsnmp_agent_request_info *reqinfo, return rc ? SNMP_ERR_GENERR : SNMP_ERR_NOERROR; } -unsigned banTable_timeout = 60; - -int -varnish_mib_timeout_parser(const char *token, char *line, unsigned *retval) -{ - char *p; - unsigned long n = strtoul(line, &p, 10); - - if (*p) { - if (isspace(*p)) { - while (*p && isspace(*p)) - ++p; - if (*p) { - config_perror("too many arguments"); - return 1; - } - } else { - config_perror("invalid timeout value"); - return 1; - } - } - - if (n > UINT_MAX) { - config_perror("timeout value out of allowed range"); - return 1; - } - - *retval = n; - return 0; -} - -void -varnish_ban_table_timeout_parser(const char *token, char *line) -{ - varnish_mib_timeout_parser(token, line, &banTable_timeout); -} - /* * create a new row in the table */ @@ -156,7 +119,7 @@ banTable_load(netsnmp_cache *cache, void *vmagic) if (!vsm) return SNMP_ERR_GENERR; - DEBUGMSGTL(("varnish_ban", "reloading ban table\n")); + DEBUGMSGTL(("varnish_mib:ban", "reloading ban table\n")); rc = vcli_connect(vsm, &conn); if (rc != SNMP_ERR_NOERROR) @@ -266,7 +229,7 @@ banTable_load(netsnmp_cache *cache, void *vmagic) p = q; } vcli_disconnect(&conn); - DEBUGMSGTL(("varnish_ban", "loaded %ld ban entries\n", idx)); + DEBUGMSGTL(("varnish_mib:ban", "loaded %ld ban entries\n", idx)); return 0; } @@ -276,7 +239,7 @@ banTable_free(netsnmp_cache *cache, void *vmagic) netsnmp_tdata *table = (netsnmp_tdata *) vmagic; netsnmp_tdata_row *row; - DEBUGMSGTL(("varnish_ban", "freeing ban table\n")); + DEBUGMSGTL(("varnish_mib:ban", "freeing ban table\n")); while ((row = netsnmp_tdata_row_first(table))) { struct banTable_entry *entry = row->data; free(entry->banExpression); |