cvs: /php4/ext/session session.c

From: Date: Thu, 22 Jul 1999 17:55:13 +0000
Subject: cvs: /php4/ext/session session.c
Groups: php.version4 
Request: Send a blank email to php-version4+get-2544@lists.php.net to get a copy of this message
sas Thu Jul 22 13:55:13 1999 EDT Modified files: /php4/ext/session session.c Log: Implement additional heuristic for session id search. Now looks into REQUEST_URI as well. Index: php4/ext/session/session.c diff -u php4/ext/session/session.c:1.31 php4/ext/session/session.c:1.32 --- php4/ext/session/session.c:1.31 Wed Jul 21 15:47:40 1999 +++ php4/ext/session/session.c Thu Jul 22 13:55:13 1999 @@ -327,17 +327,21 @@ { pval **ppid; pval **data; + char *p; int send_cookie = 1; int define_sid = 1; int module_number = PS(module_number); int nrand; + int lensess; ELS_FETCH(); if (PS(nr_open_sessions) > 0) return; + lensess = strlen(PS(session_name)); + if(!PS(id) && zend_hash_find(&EG(symbol_table), PS(session_name), - strlen(PS(session_name)) + 1, (void **) &ppid) == SUCCESS) { + lensess + 1, (void **) &ppid) == SUCCESS) { convert_to_string((*ppid)); PS(id) = estrndup((*ppid)->value.str.val, (*ppid)->value.str.len); send_cookie = 0; @@ -348,8 +352,21 @@ sizeof("HTTP_COOKIE_VARS"), (void **) &data) == SUCCESS && (*data)->type == IS_ARRAY && zend_hash_find((*data)->value.ht, PS(session_name), - strlen(PS(session_name)) + 1, (void **) &ppid) == SUCCESS) { + lensess + 1, (void **) &ppid) == SUCCESS) { define_sid = 0; + } + + if(!PS(id) && + zend_hash_find(&EG(symbol_table), "REQUEST_URI", + sizeof("REQUEST_URI"), (void **) &data) == SUCCESS && + (*data)->type == IS_STRING && + (p = strstr((*data)->value.str.val, PS(session_name))) && + p[lensess] == '=') { + char *q; + + p += lensess + 1; + if((q = strpbrk(p, "/?\\"))) + PS(id) = estrndup(p, q - p); } if(!PS(id)) {

« previous php.version4 (#2544) next »