cvs: php4 /ext/session php_session.h session.c
| From: | Zeev Suraski | Date: | Sun, 26 Aug 2001 11:14:35 +0000 |
| Subject: | cvs: php4 /ext/session php_session.h session.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-7067@lists.php.net to get a copy of this message | ||
zeev Sun Aug 26 07:14:35 2001 EDT
Modified files:
/php4/ext/session php_session.h session.c
Log:
Fix trans-sid.
Still need to figure out how to turn trans-sid only when sessions
are actually used.
Index: php4/ext/session/php_session.h
diff -u php4/ext/session/php_session.h:1.55 php4/ext/session/php_session.h:1.56
--- php4/ext/session/php_session.h:1.55 Sat Aug 25 21:09:19 2001
+++ php4/ext/session/php_session.h Sun Aug 26 07:14:35 2001
@@ -144,7 +144,6 @@
#define PS_SERIALIZER_ENTRY(x) \
{ #x, PS_SERIALIZER_ENCODE_NAME(x), PS_SERIALIZER_DECODE_NAME(x) }
-void session_adapt_uris(const char *, size_t, char **, size_t *,zend_bool TSRMLS_DC);
void session_adapt_url(const char *, size_t, char **, size_t * TSRMLS_DC);
void php_set_session_var(char *name, size_t namelen, zval *state_val,HashTable *var_hash
TSRMLS_DC);
Index: php4/ext/session/session.c
diff -u php4/ext/session/session.c:1.241 php4/ext/session/session.c:1.242
--- php4/ext/session/session.c:1.241 Sat Aug 25 21:09:19 2001
+++ php4/ext/session/session.c Sun Aug 26 07:14:35 2001
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: session.c,v 1.241 2001/08/26 01:09:19 zeev Exp $ */
+/* $Id: session.c,v 1.242 2001/08/26 11:14:35 zeev Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -83,6 +83,17 @@
static ps_module *_php_find_ps_module(char *name TSRMLS_DC);
static const ps_serializer *_php_find_ps_serializer(char *name TSRMLS_DC);
+static int session_adapt_uris(const char *src, size_t srclen, char **new, size_t *newlen, zend_bool
do_flush TSRMLS_DC)
+{
+ if (PS(define_sid) && (PS(session_status) == php_session_active)) {
+ *new = url_adapt_ext_ex(src, srclen, PS(session_name), PS(id), newlen, do_flush TSRMLS_CC);
+ return SUCCESS;
+ } else {
+ return FAILURE;
+ }
+}
+
+
static void php_session_output_handler(char *output, uint output_len, char **handled_output, uint
*handled_output_len, int mode TSRMLS_DC)
{
zend_bool do_flush;
@@ -90,7 +101,9 @@
if (mode&PHP_OUTPUT_HANDLER_END) {
do_flush=1;
}
- session_adapt_uris(output, output_len, handled_output, handled_output_len, do_flush TSRMLS_CC);
+ if (session_adapt_uris(output, output_len, handled_output, handled_output_len, do_flush
TSRMLS_CC)==FAILURE) {
+ *handled_output = NULL;
+ }
}
@@ -1307,13 +1320,6 @@
}
}
/* }}} */
-
-void session_adapt_uris(const char *src, size_t srclen, char **new, size_t *newlen, zend_bool
do_flush TSRMLS_DC)
-{
- if (PS(define_sid) && (PS(session_status) == php_session_active)) {
- *new = url_adapt_ext_ex(src, srclen, PS(session_name), PS(id), newlen, do_flush TSRMLS_CC);
- }
-}
void session_adapt_url(const char *url, size_t urllen, char **new, size_t *newlen TSRMLS_DC)
{