]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.6'
authorRemi Collet <remi@php.net>
Fri, 14 Nov 2014 18:10:43 +0000 (19:10 +0100)
committerRemi Collet <remi@php.net>
Fri, 14 Nov 2014 18:10:43 +0000 (19:10 +0100)
* PHP-5.6:
  Fix bug #68421 access.format='%R' doesn't log ipv6 address

1  2 
sapi/fpm/fpm/fastcgi.c
sapi/fpm/fpm/fastcgi.h

index 4f7f5eab9c8e654047bdb4dfe12fa2eee01a377e,86fca17c5f7a319770e9e6043a4eda185378b1e6..a6103d2f0ff11ae04fca628a50e805b321a9d2ac
@@@ -1063,18 -1080,25 +1064,20 @@@ char* fcgi_putenv(fcgi_request *req, ch
  
  void fcgi_set_mgmt_var(const char * name, size_t name_len, const char * value, size_t value_len)
  {
 -      zval * zvalue;
 -      zvalue = pemalloc(sizeof(*zvalue), 1);
 -      Z_TYPE_P(zvalue) = IS_STRING;
 -      Z_STRVAL_P(zvalue) = pestrndup(value, value_len, 1);
 -      Z_STRLEN_P(zvalue) = value_len;
 -      zend_hash_add(&fcgi_mgmt_vars, name, name_len + 1, &zvalue, sizeof(zvalue), NULL);
 +      zval zvalue;
 +      ZVAL_NEW_STR(&zvalue, zend_string_init(value, value_len, 1));
 +      zend_hash_str_add(&fcgi_mgmt_vars, name, name_len, &zvalue);
  }
  
 -void fcgi_free_mgmt_var_cb(void * ptr)
 +void fcgi_free_mgmt_var_cb(zval *zv)
  {
 -      zval ** var = (zval **)ptr;
 -      pefree(Z_STRVAL_PP(var), 1);
 -      pefree(*var, 1);
 +      zend_string_free(Z_STR_P(zv));
  }
  
- char *fcgi_get_last_client_ip() /* {{{ */
+ const char *fcgi_get_last_client_ip() /* {{{ */
  {
+       static char str[INET6_ADDRSTRLEN];
        if (client_sa.sa.sa_family == AF_UNIX) {
                return NULL;
        }
index 6d1bb38dbaf92da11de440606643cf81f2a9467e,f5cfe9f66a9f864b1b195bae91c3970c7075cf59..9c96f763a91dac986011ca666ab6255914c9e7b1
@@@ -131,9 -131,9 +131,9 @@@ ssize_t fcgi_write(fcgi_request *req, f
  int fcgi_flush(fcgi_request *req, int close);
  
  void fcgi_set_mgmt_var(const char * name, size_t name_len, const char * value, size_t value_len);
 -void fcgi_free_mgmt_var_cb(void * ptr);
 +void fcgi_free_mgmt_var_cb(zval *ptr);
  
- char *fcgi_get_last_client_ip();
+ const char *fcgi_get_last_client_ip();
  
  /*
   * Local variables: