/* return 1 if host matches ServerName or ServerAliases */ static int matches_aliases(server_rec *s, const char *host) { int i; apr_array_header_t *names; /* match ServerName */ if (!strcasecmp(host, s->server_hostname)) { return 1; } /* search all the aliases from ServerAlias directive */ names = s->names; if (names) { char **name = (char **) names->elts; for (i = 0; i < names->nelts; ++i) { if(!name[i]) continue; if (!strcasecmp(host, name[i])) return 1; } } names = s->wild_names; if (names) { char **name = (char **) names->elts; for (i = 0; i < names->nelts; ++i) { if(!name[i]) continue; if (!ap_strcasecmp_match(host, name[i])) return 1; } } return 0; }
static const char *set_detection_config(cmd_parms *parms, void *mconfig, const char *arg) { dosdetector_dir_config *cfg = (dosdetector_dir_config *) mconfig; cfg->detection = ap_strcasecmp_match("on", arg); return NULL; }
static const char *set_forwarded_config(cmd_parms *parms, void *mconfig, const char *arg) { dosdetector_dir_config *cfg = (dosdetector_dir_config *) mconfig; cfg->forwarded = !ap_strcasecmp_match("on", arg); //ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, 0, "forwarded: %d", cfg->forwarded); return NULL; }