Advertisement
simoncpu

lighttpd server_name patch

Mar 22nd, 2012
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.44 KB | None | 0 0
  1. --- mod_fastcgi.c.orig 2012-03-16 10:51:07.000000000 +0800
  2. +++ mod_fastcgi.c 2012-03-22 11:41:54.000000000 +0800
  3. @@ -1857,8 +1857,15 @@
  4.  
  5. if (con->server_name->used) {
  6. size_t len = con->server_name->used - 1;
  7. - char *colon = strchr(con->server_name->ptr, ':');
  8. - if (colon) len = colon - con->server_name->ptr;
  9. + char *colon;
  10. +
  11. + if (con->server_name->ptr[0] == '[') {
  12. + colon = strstr(con->server_name->ptr, "]:");
  13. + if (colon) len = (colon + 1) - con->server_name->ptr;
  14. + } else {
  15. + colon = strchr(con->server_name->ptr, ':');
  16. + if (colon) len = colon - con->server_name->ptr;
  17. + }
  18.  
  19. FCGI_ENV_ADD_CHECK(fcgi_env_add(p->fcgi_env, CONST_STR_LEN("SERVER_NAME"), con->server_name->ptr, len),con)
  20. } else {
  21. --- mod_cgi.c.orig 2012-03-16 10:50:53.000000000 +0800
  22. +++ mod_cgi.c 2012-03-22 11:42:17.000000000 +0800
  23. @@ -811,8 +811,15 @@
  24.  
  25. if (!buffer_is_empty(con->server_name)) {
  26. size_t len = con->server_name->used - 1;
  27. - char *colon = strchr(con->server_name->ptr, ':');
  28. - if (colon) len = colon - con->server_name->ptr;
  29. + char *colon;
  30. +
  31. + if (con->server_name->ptr[0] == '[') {
  32. + colon = strstr(con->server_name->ptr, "]:");
  33. + if (colon) len = (colon + 1) - con->server_name->ptr;
  34. + } else {
  35. + colon = strchr(con->server_name->ptr, ':');
  36. + if (colon) len = colon - con->server_name->ptr;
  37. + }
  38.  
  39. cgi_env_add(&env, CONST_STR_LEN("SERVER_NAME"), con->server_name->ptr, len);
  40. } else {
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement