[mod_*cgi,mod_accesslog] Fix splitting :port with ipv6 (fixes #2333, thx simoncpu)
git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@2834 152afb58-edef-0310-8abb-c4023f1b3aa9
This commit is contained in:
parent
7187271fb6
commit
5677f17442
1
NEWS
1
NEWS
|
@ -13,6 +13,7 @@ NEWS
|
|||
* Fix access log escaping of " and \\ (fixes #1551)
|
||||
* [mod_auth] Fix digest "md5-sess" implementation (Errata ID 1649, RFC 2617) (fixes #2410)
|
||||
* [auth] Add "AUTH_TYPE" environment (for *cgi), remove fastcgi specific workaround, add fastcgi test case (fixes #889)
|
||||
* [mod_*cgi,mod_accesslog] Fix splitting :port with ipv6 (fixes #2333, thx simoncpu)
|
||||
|
||||
- 1.4.30 - 2011-12-18
|
||||
* Always use our 'own' md5 implementation, fixes linking issues on MacOS (fixes #2331)
|
||||
|
|
|
@ -859,7 +859,13 @@ REQUESTDONE_FUNC(log_access_write) {
|
|||
break;
|
||||
case FORMAT_SERVER_PORT:
|
||||
{
|
||||
char *colon = strrchr(((server_socket*)(con->srv_socket))->srv_token->ptr, ':');
|
||||
const char *colon;
|
||||
buffer *srvtoken = ((server_socket*)(con->srv_socket))->srv_token;
|
||||
if (srvtoken->ptr[0] == '[') {
|
||||
colon = strstr(srvtoken->ptr, "]:");
|
||||
} else {
|
||||
colon = strchr(srvtoken->ptr, ':');
|
||||
}
|
||||
if (colon) {
|
||||
buffer_append_string(b, colon+1);
|
||||
} else {
|
||||
|
|
|
@ -811,8 +811,14 @@ static int cgi_create_env(server *srv, connection *con, plugin_data *p, buffer *
|
|||
|
||||
if (!buffer_is_empty(con->server_name)) {
|
||||
size_t len = con->server_name->used - 1;
|
||||
char *colon = strchr(con->server_name->ptr, ':');
|
||||
if (colon) len = colon - con->server_name->ptr;
|
||||
|
||||
if (con->server_name->ptr[0] == '[') {
|
||||
const char *colon = strstr(con->server_name->ptr, "]:");
|
||||
if (colon) len = (colon + 1) - con->server_name->ptr;
|
||||
} else {
|
||||
const char *colon = strchr(con->server_name->ptr, ':');
|
||||
if (colon) len = colon - con->server_name->ptr;
|
||||
}
|
||||
|
||||
cgi_env_add(&env, CONST_STR_LEN("SERVER_NAME"), con->server_name->ptr, len);
|
||||
} else {
|
||||
|
|
|
@ -1857,8 +1857,14 @@ static int fcgi_create_env(server *srv, handler_ctx *hctx, size_t request_id) {
|
|||
|
||||
if (con->server_name->used) {
|
||||
size_t len = con->server_name->used - 1;
|
||||
char *colon = strchr(con->server_name->ptr, ':');
|
||||
if (colon) len = colon - con->server_name->ptr;
|
||||
|
||||
if (con->server_name->ptr[0] == '[') {
|
||||
const char *colon = strstr(con->server_name->ptr, "]:");
|
||||
if (colon) len = (colon + 1) - con->server_name->ptr;
|
||||
} else {
|
||||
const char *colon = strchr(con->server_name->ptr, ':');
|
||||
if (colon) len = colon - con->server_name->ptr;
|
||||
}
|
||||
|
||||
FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("SERVER_NAME"), con->server_name->ptr, len),con)
|
||||
} else {
|
||||
|
|
|
@ -1484,8 +1484,14 @@ static int scgi_create_env(server *srv, handler_ctx *hctx) {
|
|||
|
||||
if (con->server_name->used) {
|
||||
size_t len = con->server_name->used - 1;
|
||||
char *colon = strchr(con->server_name->ptr, ':');
|
||||
if (colon) len = colon - con->server_name->ptr;
|
||||
|
||||
if (con->server_name->ptr[0] == '[') {
|
||||
const char *colon = strstr(con->server_name->ptr, "]:");
|
||||
if (colon) len = (colon + 1) - con->server_name->ptr;
|
||||
} else {
|
||||
const char *colon = strchr(con->server_name->ptr, ':');
|
||||
if (colon) len = colon - con->server_name->ptr;
|
||||
}
|
||||
|
||||
scgi_env_add(p->scgi_env, CONST_STR_LEN("SERVER_NAME"), con->server_name->ptr, len);
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue