[PHP-CVS] cvs: php-src(PHP_5_0) /ext/session session.c

2005-09-20 Thread Stanislav Malyshev
stasTue Sep 20 10:03:57 2005 EDT

  Modified files:  (Branch: PHP_5_0)
/php-src/ext/sessionsession.c 
  Log:
  fix crash on restarting static PHP having session modules loaded
  
  
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.391.2.14r2=1.391.2.15ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.391.2.14 
php-src/ext/session/session.c:1.391.2.15
--- php-src/ext/session/session.c:1.391.2.14Sun May 22 08:57:45 2005
+++ php-src/ext/session/session.c   Tue Sep 20 10:03:56 2005
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: session.c,v 1.391.2.14 2005/05/22 12:57:45 tony2001 Exp $ */
+/* $Id: session.c,v 1.391.2.15 2005/09/20 14:03:56 stas Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -1846,7 +1846,7 @@
 #endif
 
ps_serializers[PREDEFINED_SERIALIZERS].name = NULL;
-   ps_modules[PREDEFINED_MODULES] = NULL;
+   memset(ps_modules[PREDEFINED_MODULES], 0, 
(MAX_MODULES-PREDEFINED_MODULES)*sizeof(ps_module *));
 
return SUCCESS;
 }

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_0) /ext/session session.c

2005-05-22 Thread Antony Dovgal
tony2001Sun May 22 08:57:46 2005 EDT

  Modified files:  (Branch: PHP_5_0)
/php-src/ext/sessionsession.c 
  Log:
  MFH: fix compile warning
  
  
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.391.2.13r2=1.391.2.14ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.391.2.13 
php-src/ext/session/session.c:1.391.2.14
--- php-src/ext/session/session.c:1.391.2.13Sat May 21 14:54:57 2005
+++ php-src/ext/session/session.c   Sun May 22 08:57:45 2005
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: session.c,v 1.391.2.13 2005/05/21 18:54:57 rasmus Exp $ */
+/* $Id: session.c,v 1.391.2.14 2005/05/22 12:57:45 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -143,6 +143,7 @@
}
}
OnUpdateString(entry, new_value, new_value_length, mh_arg1, mh_arg2, 
mh_arg3, stage TSRMLS_CC);
+   return SUCCESS;
 }
 
 /* {{{ PHP_INI

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_0) /ext/session session.c

2005-01-21 Thread Stefan Esser
sesser  Fri Jan 21 11:04:25 2005 EDT

  Modified files:  (Branch: PHP_5_0)
/php-src/ext/sessionsession.c 
  Log:
  MFH
  
  
  
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.391.2.7r2=1.391.2.8ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.391.2.7 
php-src/ext/session/session.c:1.391.2.8
--- php-src/ext/session/session.c:1.391.2.7 Sun Jan  9 12:58:16 2005
+++ php-src/ext/session/session.c   Fri Jan 21 11:04:25 2005
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: session.c,v 1.391.2.7 2005/01/09 17:58:16 tony2001 Exp $ */
+/* $Id: session.c,v 1.391.2.8 2005/01/21 16:04:25 sesser Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -425,7 +425,7 @@
p += namelen + 1;

if (has_value) {
-   MAKE_STD_ZVAL(current);
+   ALLOC_INIT_ZVAL(current);
if (php_var_unserialize(current, (const unsigned 
char**)p, endptr, var_hash TSRMLS_CC)) {
php_set_session_var(name, namelen, current, 
var_hash  TSRMLS_CC);
}

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_0) /ext/session session.c

2005-01-09 Thread Antony Dovgal
tony2001Sun Jan  9 12:58:16 2005 EDT

  Modified files:  (Branch: PHP_5_0)
/php-src/ext/sessionsession.c 
  Log:
  MFH: fix bug #31454
  
  
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.391.2.6r2=1.391.2.7ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.391.2.6 
php-src/ext/session/session.c:1.391.2.7
--- php-src/ext/session/session.c:1.391.2.6 Thu Dec  9 12:16:33 2004
+++ php-src/ext/session/session.c   Sun Jan  9 12:58:16 2005
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: session.c,v 1.391.2.6 2004/12/09 17:16:33 tony2001 Exp $ */
+/* $Id: session.c,v 1.391.2.7 2005/01/09 17:58:16 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -1358,12 +1358,22 @@
zval **args[6];
int i;
ps_user *mdata;
+   char *name;
 
if (ZEND_NUM_ARGS() != 6 || zend_get_parameters_array_ex(6, args) == 
FAILURE)
WRONG_PARAM_COUNT;

if (PS(session_status) != php_session_none) 
RETURN_FALSE;
+
+   for (i = 0; i  6; i++) {
+   if (!zend_is_callable(*args[i], 0, name)) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Argument 
%d is not a valid callback, i+1);
+   efree(name);
+   RETURN_FALSE;
+   }
+   efree(name);
+   }

zend_alter_ini_entry(session.save_handler, 
sizeof(session.save_handler), user, sizeof(user)-1, PHP_INI_USER, 
PHP_INI_STAGE_RUNTIME);
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_0) /ext/session session.c

2004-12-09 Thread Antony Dovgal
tony2001Thu Dec  9 09:17:34 2004 EDT

  Modified files:  (Branch: PHP_5_0)
/php-src/ext/sessionsession.c 
  Log:
  MFH: fix segfault in session_module_name() when session.save_handler is empty
  
  
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.391.2.4r2=1.391.2.5ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.391.2.4 
php-src/ext/session/session.c:1.391.2.5
--- php-src/ext/session/session.c:1.391.2.4 Tue Dec  7 13:01:56 2004
+++ php-src/ext/session/session.c   Thu Dec  9 09:17:34 2004
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: session.c,v 1.391.2.4 2004/12/07 18:01:56 dmitry Exp $ */
+/* $Id: session.c,v 1.391.2.5 2004/12/09 14:17:34 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -1334,11 +1334,21 @@
}
PS(mod_data) = NULL;
 
-   RETVAL_STRING(safe_estrdup(PS(mod)-s_name), 0);
-
+   if (PS(mod)  PS(mod)-s_name) {
+   RETVAL_STRING(safe_estrdup(PS(mod)-s_name), 0);
+   }
+   else {
+   RETVAL_EMPTY_STRING();
+   }
+   
zend_alter_ini_entry(session.save_handler, 
sizeof(session.save_handler), Z_STRVAL_PP(p_name), Z_STRLEN_PP(p_name), 
PHP_INI_USER, PHP_INI_STAGE_RUNTIME);
} else {
-   RETURN_STRING(safe_estrdup(PS(mod)-s_name), 0);
+   if (PS(mod)  PS(mod)-s_name) {
+   RETURN_STRING(safe_estrdup(PS(mod)-s_name), 0);
+   }
+   else {
+   RETURN_EMPTY_STRING();
+   }
}
 }
 /* }}} */

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_0) /ext/session session.c

2004-12-09 Thread Antony Dovgal
tony2001Thu Dec  9 12:16:33 2004 EDT

  Modified files:  (Branch: PHP_5_0)
/php-src/ext/sessionsession.c 
  Log:
  CS changes
  
  
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.391.2.5r2=1.391.2.6ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.391.2.5 
php-src/ext/session/session.c:1.391.2.6
--- php-src/ext/session/session.c:1.391.2.5 Thu Dec  9 09:17:34 2004
+++ php-src/ext/session/session.c   Thu Dec  9 12:16:33 2004
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: session.c,v 1.391.2.5 2004/12/09 14:17:34 tony2001 Exp $ */
+/* $Id: session.c,v 1.391.2.6 2004/12/09 17:16:33 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -1336,8 +1336,7 @@
 
if (PS(mod)  PS(mod)-s_name) {
RETVAL_STRING(safe_estrdup(PS(mod)-s_name), 0);
-   }
-   else {
+   } else {
RETVAL_EMPTY_STRING();
}

@@ -1345,8 +1344,7 @@
} else {
if (PS(mod)  PS(mod)-s_name) {
RETURN_STRING(safe_estrdup(PS(mod)-s_name), 0);
-   }
-   else {
+   } else {
RETURN_EMPTY_STRING();
}
}

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_0) /ext/session session.c

2004-12-07 Thread Dmitry Stogov
dmitry  Tue Dec  7 13:01:56 2004 EDT

  Modified files:  (Branch: PHP_5_0)
/php-src/ext/sessionsession.c 
  Log:
  Fixed crash in phpinfo() after graceful Apache restart.
  
  
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.391.2.3r2=1.391.2.4ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.391.2.3 
php-src/ext/session/session.c:1.391.2.4
--- php-src/ext/session/session.c:1.391.2.3 Thu Sep 30 10:20:22 2004
+++ php-src/ext/session/session.c   Tue Dec  7 13:01:56 2004
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: session.c,v 1.391.2.3 2004/09/30 14:20:22 tony2001 Exp $ */
+/* $Id: session.c,v 1.391.2.4 2004/12/07 18:01:56 dmitry Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -169,6 +169,7 @@
 PS_SERIALIZER_FUNCS(php_binary);
 
 #define MAX_SERIALIZERS 10
+#define PREDEFINED_SERIALIZERS 2
 
 static ps_serializer ps_serializers[MAX_SERIALIZERS + 1] = {
PS_SERIALIZER_ENTRY(php),
@@ -176,6 +177,7 @@
 };
 
 #define MAX_MODULES 10
+#define PREDEFINED_MODULES 2
 
 static ps_module *ps_modules[MAX_MODULES + 1] = {
ps_files_ptr,
@@ -1802,6 +1804,9 @@
PHP_MSHUTDOWN(ps_mm) (SHUTDOWN_FUNC_ARGS_PASSTHRU);
 #endif
 
+   ps_serializers[PREDEFINED_SERIALIZERS].name = NULL;
+   ps_modules[PREDEFINED_MODULES] = NULL;
+
return SUCCESS;
 }
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_0) /ext/session session.c

2004-09-30 Thread Antony Dovgal
tony2001Thu Sep 30 08:37:36 2004 EDT

  Modified files:  (Branch: PHP_5_0)
/php-src/ext/sessionsession.c 
  Log:
  MFH: fix segfaults and bug #30282 and suppress compile warnings
  
  
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.391.2.1r2=1.391.2.2ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.391.2.1 php-src/ext/session/session.c:1.391.2.2
--- php-src/ext/session/session.c:1.391.2.1 Wed Sep  1 22:44:12 2004
+++ php-src/ext/session/session.c   Thu Sep 30 08:37:35 2004
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: session.c,v 1.391.2.1 2004/09/02 02:44:12 iliaa Exp $ */
+/* $Id: session.c,v 1.391.2.2 2004/09/30 12:37:35 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -424,7 +424,7 @@

if (has_value) {
MAKE_STD_ZVAL(current);
-   if (php_var_unserialize(current, p, endptr, var_hash 
TSRMLS_CC)) {
+   if (php_var_unserialize(current, (const unsigned char**)p, 
endptr, var_hash TSRMLS_CC)) {
php_set_session_var(name, namelen, current, var_hash  
TSRMLS_CC);
}
zval_ptr_dtor(current);
@@ -504,7 +504,7 @@

if (has_value) {
ALLOC_INIT_ZVAL(current);
-   if (php_var_unserialize(current, q, endptr, var_hash 
TSRMLS_CC)) {
+   if (php_var_unserialize(current, (const unsigned char**)q, 
endptr, var_hash TSRMLS_CC)) {
php_set_session_var(name, namelen, current, var_hash 
TSRMLS_CC);
}
zval_ptr_dtor(current);
@@ -543,7 +543,11 @@
char *ret = NULL;
 
IF_SESSION_VARS() {
-   if (PS(serializer)-encode(ret, newlen TSRMLS_CC) == FAILURE)
+   if (!PS(serializer)) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Unknown 
session.save_handler. Failed to encode session object.);
+   ret = NULL;
+   }
+   else if (PS(serializer)-encode(ret, newlen TSRMLS_CC) == FAILURE)
ret = NULL;
} else {
 php_error_docref(NULL TSRMLS_CC, E_WARNING, Cannot encode 
non-existent session.);
@@ -554,6 +558,10 @@
 
 static void php_session_decode(const char *val, int vallen TSRMLS_DC)
 {
+   if (!PS(serializer)) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Unknown 
session.save_handler. Failed to decode session object.);
+   return;
+   }
if (PS(serializer)-decode(val, vallen TSRMLS_CC) == FAILURE) {
php_session_destroy(TSRMLS_C);
php_error_docref(NULL TSRMLS_CC, E_WARNING, Failed to decode session 
object. Session has been destroyed.);
@@ -1087,6 +1095,21 @@
PS(define_sid) = 1;
PS(send_cookie) = 1;
if (PS(session_status) != php_session_none) {
+
+   if (PS(session_status) == php_session_disabled) {
+   char *value;
+
+   value = zend_ini_string(session.save_handler, 
sizeof(session.save_handler), 0);
+
+   if (value) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Cannot 
find save handler %s, value);
+   }
+   else {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Cannot 
find unknown save handler);
+   }
+   return;
+   }
+
php_error(E_NOTICE, A session had already been started - ignoring 
session_start());
return;
}
@@ -1495,8 +1518,14 @@
WRONG_PARAM_COUNT;
}
 
-   if (PS(session_status) == php_session_none)
+   if (PS(session_status) == php_session_none || PS(session_status) == 
php_session_disabled) {
php_session_start(TSRMLS_C);
+   }
+
+   if (PS(session_status) == php_session_disabled) {
+   efree(args);
+   RETURN_FALSE;
+   }
 
for (i = 0; i  argc; i++) {
if (Z_TYPE_PP(args[i]) == IS_ARRAY)

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_0) /ext/session session.c

2004-09-30 Thread Antony Dovgal
tony2001Thu Sep 30 10:20:23 2004 EDT

  Modified files:  (Branch: PHP_5_0)
/php-src/ext/sessionsession.c 
  Log:
  fix error message
  
  
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.391.2.2r2=1.391.2.3ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.391.2.2 php-src/ext/session/session.c:1.391.2.3
--- php-src/ext/session/session.c:1.391.2.2 Thu Sep 30 08:37:35 2004
+++ php-src/ext/session/session.c   Thu Sep 30 10:20:22 2004
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: session.c,v 1.391.2.2 2004/09/30 12:37:35 tony2001 Exp $ */
+/* $Id: session.c,v 1.391.2.3 2004/09/30 14:20:22 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -544,7 +544,7 @@
 
IF_SESSION_VARS() {
if (!PS(serializer)) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Unknown 
session.save_handler. Failed to encode session object.);
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Unknown 
session.serialize_handler. Failed to encode session object.);
ret = NULL;
}
else if (PS(serializer)-encode(ret, newlen TSRMLS_CC) == FAILURE)
@@ -559,7 +559,7 @@
 static void php_session_decode(const char *val, int vallen TSRMLS_DC)
 {
if (!PS(serializer)) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Unknown 
session.save_handler. Failed to decode session object.);
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Unknown 
session.serialize_handler. Failed to decode session object.);
return;
}
if (PS(serializer)-decode(val, vallen TSRMLS_CC) == FAILURE) {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_0) /ext/session session.c

2004-09-01 Thread Ilia Alshanetsky
iliaa   Wed Sep  1 22:44:12 2004 EDT

  Modified files:  (Branch: PHP_5_0)
/php-src/ext/sessionsession.c 
  Log:
  MFH: Fixed bug #29925 (Added a check to prevent illegal characters in 
  session key).
  
  
http://cvs.php.net/diff.php/php-src/ext/session/session.c?r1=1.391r2=1.391.2.1ty=u
Index: php-src/ext/session/session.c
diff -u php-src/ext/session/session.c:1.391 php-src/ext/session/session.c:1.391.2.1
--- php-src/ext/session/session.c:1.391 Sat Jul 10 03:46:08 2004
+++ php-src/ext/session/session.c   Wed Sep  1 22:44:12 2004
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: session.c,v 1.391 2004/07/10 07:46:08 andi Exp $ */
+/* $Id: session.c,v 1.391.2.1 2004/09/02 02:44:12 iliaa Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -451,6 +451,11 @@
 
PS_ENCODE_LOOP(
smart_str_appendl(buf, key, (unsigned char) key_length);
+   if (memchr(key, PS_DELIMITER, key_length)) {
+   PHP_VAR_SERIALIZE_DESTROY(var_hash);
+   smart_str_free(buf);   
+   return FAILURE;
+   }
smart_str_appendc(buf, PS_DELIMITER);

php_var_serialize(buf, struc, var_hash TSRMLS_CC);

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php