Actions
Bug #2439
closed(connection config) "host:port" should not work
Status:
Invalid
Priority:
Normal
Category:
core
Target version:
-
ASK QUESTIONS IN Forums:
Description
This bug has been reported in Bug #2135.
File configfile-glue.c, function config_check_cond_nocache() in line 298-322:
switch(dc->cond) { case CONFIG_COND_NE: case CONFIG_COND_EQ: ck_colon = strchr(dc->string->ptr, ':'); val_colon = strchr(l->ptr, ':'); if (ck_colon == val_colon) { /* This is true only when ck_colon == val_colon == NULL */ /* nothing to do with it */ break; } if (ck_colon) { /* condition "host:port" but client send "host" */ buffer_copy_string_buffer(srv->cond_check_buf, l); buffer_append_string_len(srv->cond_check_buf, CONST_STR_LEN(":")); buffer_append_long(srv->cond_check_buf, sock_addr_get_port(&(srv_sock->addr))); l = srv->cond_check_buf; } else if (!ck_colon) { /* condition "host" but client send "host:port" */ buffer_copy_string_len(srv->cond_check_buf, l->ptr, val_colon - l->ptr); l = srv->cond_check_buf; } break; default: break; }
Line 304
if (ck_colon == val_colon)
will not be true if bothcondition "host:port" and client "host:port".
However, when I test with the following conditional configuration, it works!
$SERVER["socket"] == "127.0.0.1:8080" { server.document-root = "/srv/http/file" dir-listing.activate = "enable" }
While dir-listing.activate is "disable" in global.
When I connect to "127.0.0.1:8080", dir-listing works fine, don't no why!
Updated by stbuehler about 12 years ago
- Status changed from New to Invalid
socket conditional is special (it opens a socket on the specified port, and doesn't do any string comparisons).
the first bug is already reported, the second "thing" is not a bug.
Actions
Also available in: Atom