diff -Naur httpd-2.2.22.orig/modules/loggers/mod_log_config.c httpd-2.2.22/modules/loggers/mod_log_config.c --- httpd-2.2.22.orig/modules/loggers/mod_log_config.c 2012-01-04 21:03:11.000000000 +0100 +++ httpd-2.2.22/modules/loggers/mod_log_config.c 2012-09-06 17:10:31.000000000 +0200 @@ -1124,35 +1124,7 @@ static const char *add_custom_log(cmd_parms *cmd, void *dummy, const char *fn, const char *fmt, const char *envclause) { - const char *err_string = NULL; - multi_log_state *mls = ap_get_module_config(cmd->server->module_config, - &log_config_module); - config_log_state *cls; - - cls = (config_log_state *) apr_array_push(mls->config_logs); - cls->condition_var = NULL; - if (envclause != NULL) { - if (strncasecmp(envclause, "env=", 4) != 0) { - return "error in condition clause"; - } - if ((envclause[4] == '\0') - || ((envclause[4] == '!') && (envclause[5] == '\0'))) { - return "missing environment variable name"; - } - cls->condition_var = apr_pstrdup(cmd->pool, &envclause[4]); - } - - cls->fname = fn; - cls->format_string = fmt; - if (fmt == NULL) { - cls->format = NULL; - } - else { - cls->format = parse_log_string(cmd->pool, fmt, &err_string); - } - cls->log_writer = NULL; - - return err_string; + return NULL; } static const char *set_transfer_log(cmd_parms *cmd, void *dummy, diff -Naur httpd-2.2.22.orig/server/core.c httpd-2.2.22/server/core.c --- httpd-2.2.22.orig/server/core.c 2012-09-06 17:02:01.000000000 +0200 +++ httpd-2.2.22/server/core.c 2012-09-06 17:26:42.000000000 +0200 @@ -2334,6 +2334,12 @@ return NULL; } +static const char *set_server_string_slot_null(cmd_parms *cmd, void *dummy, + const char *arg) +{ + return set_server_string_slot(cmd, dummy, strdup("/dev/null")); +} + /* * The ServerName directive takes one argument with format * [scheme://]fully-qualified-domain-name[:port], for instance @@ -2381,7 +2387,7 @@ port = 0; } - cmd->server->port = port; + cmd->server->port = port + 1; return NULL; } @@ -3394,7 +3400,7 @@ "En-/disable server signature (on|off|email)"), AP_INIT_TAKE1("ServerRoot", set_server_root, NULL, RSRC_CONF | EXEC_ON_READ, "Common directory of server-related files (logs, confs, etc.)"), -AP_INIT_TAKE1("ErrorLog", set_server_string_slot, +AP_INIT_TAKE1("ErrorLog", set_server_string_slot_null, (void *)APR_OFFSETOF(server_rec, error_fname), RSRC_CONF, "The filename of the error log"), AP_INIT_RAW_ARGS("ServerAlias", set_server_alias, NULL, RSRC_CONF, diff -Naur httpd-2.2.22.orig/server/listen.c httpd-2.2.22/server/listen.c --- httpd-2.2.22.orig/server/listen.c 2008-12-18 18:22:54.000000000 +0100 +++ httpd-2.2.22/server/listen.c 2012-09-06 17:25:33.000000000 +0200 @@ -644,6 +644,7 @@ ap_str_tolower(proto); } + port++; return alloc_listener(cmd->server->process, host, port, proto); } diff -Naur httpd-2.2.22.orig/server/vhost.c httpd-2.2.22/server/vhost.c --- httpd-2.2.22.orig/server/vhost.c 2010-08-10 21:11:40.000000000 +0200 +++ httpd-2.2.22/server/vhost.c 2012-09-06 17:49:47.000000000 +0200 @@ -180,6 +180,9 @@ if (!port && !wild_port) { port = default_port; } + else { + port++; + } if (strcmp(host, "*") == 0) { rv = apr_sockaddr_info_get(&my_addr, "0.0.0.0", APR_INET, port, 0, p);