summaryrefslogtreecommitdiff
path: root/ext/session/session.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/session/session.c')
-rw-r--r--ext/session/session.c130
1 files changed, 56 insertions, 74 deletions
diff --git a/ext/session/session.c b/ext/session/session.c
index 7dc880b86b..1fa912ddca 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -17,19 +17,19 @@
+----------------------------------------------------------------------+
*/
-#ifndef PHP_WIN32
-#include <sys/time.h>
-#else
+#include "php.h"
+
+#if PHP_WIN32
#include "win32/time.h"
+#else
+#include <sys/time.h>
#endif
#include <sys/stat.h>
#include <fcntl.h>
-#include "php.h"
#include "php_ini.h"
#include "SAPI.h"
-
#include "php_session.h"
#include "ext/standard/md5.h"
#include "ext/standard/php_var.h"
@@ -270,7 +270,8 @@ PS_SERIALIZER_ENCODE_FUNC(wddx)
ENCODE_VARS;
packet = php_wddx_constructor();
- if (!packet) return FAILURE;
+ if (!packet)
+ return FAILURE;
php_wddx_packet_start(packet, NULL);
php_wddx_add_chunk(packet, WDDX_STRUCT_S);
@@ -284,7 +285,8 @@ PS_SERIALIZER_ENCODE_FUNC(wddx)
*newstr = php_wddx_gather(packet);
php_wddx_destructor(packet);
- if (newlen) *newlen = strlen(*newstr);
+ if (newlen)
+ *newlen = strlen(*newstr);
return SUCCESS;
}
@@ -299,7 +301,8 @@ PS_SERIALIZER_DECODE_FUNC(wddx)
int hash_type;
int dofree = 1;
- if (vallen == 0) return FAILURE;
+ if (vallen == 0)
+ return FAILURE;
MAKE_STD_ZVAL(retval);
@@ -350,9 +353,8 @@ static char *_php_session_encode(int *newlen PSLS_DC)
{
char *ret = NULL;
- if (PS(serializer)->encode(&ret, newlen PSLS_CC) == FAILURE) {
+ if (PS(serializer)->encode(&ret, newlen PSLS_CC) == FAILURE)
ret = NULL;
- }
return ret;
}
@@ -404,7 +406,8 @@ static char *_php_create_id(int *newlen PSLS_DC)
sprintf(buf + (i << 1), "%02x", digest[i]);
buf[i << 1] = '\0';
- if (newlen) *newlen = i << 1;
+ if (newlen)
+ *newlen = i << 1;
return estrdup(buf);
}
@@ -602,12 +605,11 @@ static ps_module *_php_find_ps_module(char *name PSLS_DC)
ps_module **mod;
ps_module **end = ps_modules + (sizeof(ps_modules)/sizeof(ps_module*));
- for (mod = ps_modules; mod < end; mod++) {
+ for (mod = ps_modules; mod < end; mod++)
if (*mod && !strcasecmp(name, (*mod)->name)) {
ret = *mod;
break;
}
- }
return ret;
}
@@ -617,12 +619,11 @@ static const ps_serializer *_php_find_ps_serializer(char *name PSLS_DC)
const ps_serializer *ret = NULL;
const ps_serializer *mod;
- for (mod = ps_serializers; mod->name; mod++) {
+ for (mod = ps_serializers; mod->name; mod++)
if (!strcasecmp(name, mod->name)) {
ret = mod;
break;
}
- }
return ret;
}
@@ -645,7 +646,8 @@ static void _php_session_start(PSLS_D)
int lensess;
ELS_FETCH();
- if (PS(nr_open_sessions) != 0) return;
+ if (PS(nr_open_sessions) != 0)
+ return;
lensess = strlen(PS(session_name));
@@ -657,9 +659,8 @@ static void _php_session_start(PSLS_D)
return;
}
- if (!track_vars && PS(use_cookies)) {
+ if (!track_vars && PS(use_cookies))
php_error(E_NOTICE, "Because track_vars are disabled, the session module will not be able to determine whether the user has sent a cookie. SID will always be defined.");
- }
/*
* If our only resource is the global symbol_table, then check it.
@@ -745,18 +746,16 @@ static void _php_session_start(PSLS_D)
define_sid = 1;
}
- if (!PS(id)) {
+ if (!PS(id))
PS(id) = _php_create_id(NULL PSLS_CC);
- }
if (!PS(use_cookies) && send_cookie) {
define_sid = 1;
send_cookie = 0;
}
- if (send_cookie) {
+ if (send_cookie)
_php_session_send_cookie(PSLS_C);
- }
if (define_sid) {
char *buf;
@@ -764,9 +763,8 @@ static void _php_session_start(PSLS_D)
buf = emalloc(strlen(PS(session_name)) + strlen(PS(id)) + 5);
sprintf(buf, "%s=%s", PS(session_name), PS(id));
REGISTER_STRING_CONSTANT("SID", buf, 0);
- } else {
+ } else
REGISTER_STRING_CONSTANT("SID", empty_string, 0);
- }
PS(define_sid) = define_sid;
PS(nr_open_sessions)++;
@@ -784,8 +782,7 @@ static void _php_session_start(PSLS_D)
static void _php_session_destroy(PSLS_D)
{
- if (PS(nr_open_sessions) == 0)
- {
+ if (PS(nr_open_sessions) == 0) {
php_error(E_WARNING, "Trying to destroy uninitialized session");
return;
}
@@ -809,9 +806,8 @@ PHP_FUNCTION(session_set_cookie_params)
return;
if (ZEND_NUM_ARGS() < 1 || ZEND_NUM_ARGS() > 3 ||
- zend_get_parameters_ex(ZEND_NUM_ARGS(), &lifetime, &path, &domain) == FAILURE) {
+ zend_get_parameters_ex(ZEND_NUM_ARGS(), &lifetime, &path, &domain) == FAILURE)
WRONG_PARAM_COUNT;
- }
convert_to_long_ex(lifetime);
PS(cookie_lifetime) = (*lifetime)->value.lval;
@@ -844,9 +840,8 @@ PHP_FUNCTION(session_name)
old = estrdup(PS(session_name));
- if (ac < 0 || ac > 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE) {
+ if (ac < 0 || ac > 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE)
WRONG_PARAM_COUNT;
- }
if (ac == 1) {
convert_to_string_ex(p_name);
@@ -869,9 +864,8 @@ PHP_FUNCTION(session_module_name)
old = estrdup(PS(mod)->name);
- if (ac < 0 || ac > 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE) {
+ if (ac < 0 || ac > 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE)
WRONG_PARAM_COUNT;
- }
if (ac == 1) {
ps_module *tempmod;
@@ -903,13 +897,11 @@ PHP_FUNCTION(session_set_save_handler)
ps_user *mdata;
PSLS_FETCH();
- if (ARG_COUNT(ht) != 6 || zend_get_parameters_array_ex(6, args) == FAILURE) {
+ if (ARG_COUNT(ht) != 6 || zend_get_parameters_array_ex(6, args) == FAILURE)
WRONG_PARAM_COUNT;
- }
- if (PS(nr_open_sessions) > 0) {
+ if (PS(nr_open_sessions) > 0)
RETURN_FALSE;
- }
PS(mod) = _php_find_ps_module("user" PSLS_CC);
@@ -937,9 +929,8 @@ PHP_FUNCTION(session_save_path)
old = estrdup(PS(save_path));
- if (ac < 0 || ac > 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE) {
+ if (ac < 0 || ac > 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE)
WRONG_PARAM_COUNT;
- }
if (ac == 1) {
convert_to_string_ex(p_name);
@@ -963,9 +954,8 @@ PHP_FUNCTION(session_id)
if (PS(id))
old = estrdup(PS(id));
- if (ac < 0 || ac > 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE) {
+ if (ac < 0 || ac > 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE)
WRONG_PARAM_COUNT;
- }
if (ac == 1) {
convert_to_string_ex(p_name);
@@ -981,21 +971,20 @@ PHP_FUNCTION(session_id)
/* {{{ static void php_register_var(zval** entry PSLS_DC PLS_DC) */
static void php_register_var(zval** entry PSLS_DC PLS_DC)
{
- zval** value;
+ zval **value;
if ((*entry)->type == IS_ARRAY) {
zend_hash_internal_pointer_reset((*entry)->value.ht);
- while(zend_hash_get_current_data((*entry)->value.ht, (void**)&value) == SUCCESS) {
+ while (zend_hash_get_current_data((*entry)->value.ht, (void**)&value) == SUCCESS) {
php_register_var(value PSLS_CC PLS_CC);
zend_hash_move_forward((*entry)->value.ht);
}
} else {
convert_to_string_ex(entry);
- if (!PG(track_vars) || strcmp((*entry)->value.str.val, "HTTP_STATE_VARS") != 0) {
+ if (!PG(track_vars) || strcmp((*entry)->value.str.val, "HTTP_STATE_VARS") != 0)
PS_ADD_VARL((*entry)->value.str.val, (*entry)->value.str.len);
- }
}
}
/* }}} */
@@ -1005,15 +994,15 @@ static void php_register_var(zval** entry PSLS_DC PLS_DC)
adds varname(s) to the list of variables which are freezed at the session end */
PHP_FUNCTION(session_register)
{
- zval*** args;
+ zval ***args;
int argc = ARG_COUNT(ht);
int i;
PSLS_FETCH();
PLS_FETCH();
- if (argc <= 0) {
- RETURN_FALSE;
- } else
+ if (argc <= 0)
+ RETURN_FALSE
+ else
args = (zval ***)emalloc(argc * sizeof(zval **));
if (zend_get_parameters_array_ex(argc, args) == FAILURE) {
@@ -1021,13 +1010,12 @@ PHP_FUNCTION(session_register)
WRONG_PARAM_COUNT;
}
- if (!PS(nr_open_sessions)) _php_session_start(PSLS_C);
+ if (PS(nr_open_sessions) == 0)
+ _php_session_start(PSLS_C);
- for (i=0; i<argc; i++)
- {
- if ((*args[i])->type == IS_ARRAY) {
+ for (i = 0; i < argc; i++) {
+ if ((*args[i])->type == IS_ARRAY)
SEPARATE_ZVAL(args[i]);
- }
php_register_var(args[i] PSLS_CC PLS_CC);
}
@@ -1045,9 +1033,8 @@ PHP_FUNCTION(session_unregister)
int ac = ARG_COUNT(ht);
PSLS_FETCH();
- if (ac != 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE) {
+ if (ac != 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE)
WRONG_PARAM_COUNT;
- }
convert_to_string_ex(p_name);
@@ -1067,18 +1054,16 @@ PHP_FUNCTION(session_is_registered)
int ac = ARG_COUNT(ht);
PSLS_FETCH();
- if (ac != 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE) {
+ if (ac != 1 || zend_get_parameters_ex(ac, &p_name) == FAILURE)
WRONG_PARAM_COUNT;
- }
convert_to_string_ex(p_name);
- if (zend_hash_find(&PS(vars), (*p_name)->value.str.val, (*p_name)->value.str.len+1,
- (void **)&p_var) == SUCCESS) {
- RETURN_TRUE;
- } else {
+ if (zend_hash_find(&PS(vars), (*p_name)->value.str.val,
+ (*p_name)->value.str.len+1, (void **)&p_var) == SUCCESS)
+ RETURN_TRUE
+ else
RETURN_FALSE;
- }
}
/* }}} */
@@ -1103,9 +1088,8 @@ PHP_FUNCTION(session_decode)
pval **str;
PSLS_FETCH();
- if (ARG_COUNT(ht) != 1 || zend_get_parameters_ex(1, &str) == FAILURE) {
+ if (ARG_COUNT(ht) != 1 || zend_get_parameters_ex(1, &str) == FAILURE)
WRONG_PARAM_COUNT;
- }
convert_to_string_ex(str);
@@ -1165,9 +1149,8 @@ PHP_FUNCTION(session_unset)
zend_hash_get_current_key(&PS(vars), &variable, &num_key) == HASH_KEY_IS_STRING;
zend_hash_move_forward(&PS(vars))) {
if (zend_hash_find(&EG(symbol_table), variable, strlen(variable) + 1, (void **) &tmp)
- == SUCCESS) {
+ == SUCCESS)
zend_hash_del(&EG(symbol_table), variable, strlen(variable) + 1);
- }
efree(variable);
}
}
@@ -1203,11 +1186,12 @@ static void php_rshutdown_session_globals(PSLS_D)
{
if (PS(mod_data))
PS(mod)->close(&PS(mod_data));
- if (PS(entropy_file)) efree(PS(entropy_file));
- if (PS(extern_referer_chk)) efree(PS(extern_referer_chk));
- if (PS(save_path)) efree(PS(save_path));
- if (PS(session_name)) efree(PS(session_name));
- if (PS(id)) efree(PS(id));
+ if (PS(id))
+ efree(PS(id));
+ efree(PS(entropy_file));
+ efree(PS(extern_referer_chk));
+ efree(PS(save_path));
+ efree(PS(session_name));
efree(PS(cache_limiter));
efree(PS(cookie_path));
efree(PS(cookie_domain));
@@ -1227,10 +1211,8 @@ PHP_RINIT_FUNCTION(session)
return SUCCESS;
}
-
- if (INI_INT("session.auto_start")) {
+ if (INI_INT("session.auto_start"))
_php_session_start(PSLS_C);
- }
return SUCCESS;
}