]> granicus.if.org Git - php/commitdiff
- Tell the user why his session doesn't work if he uses custom session_id()s.
authorMarkus Fischer <mfischer@php.net>
Thu, 30 May 2002 11:41:37 +0000 (11:41 +0000)
committerMarkus Fischer <mfischer@php.net>
Thu, 30 May 2002 11:41:37 +0000 (11:41 +0000)
ext/session/mod_files.c

index fca2df393e33847ab9cc3982f716c15ed8b98069..95db098095ea015823619c8090252966a525af6d 100644 (file)
@@ -58,6 +58,8 @@ ps_module ps_mod_files = {
        PS_MOD(files)
 };
 
+/* If you change the logic here, please also update the error message in
+ * ps_files_open() appropriately */
 static int ps_files_valid_key(const char *key)
 {
        size_t len;
@@ -135,8 +137,11 @@ static void ps_files_open(ps_files *data, const char *key TSRMLS_DC)
 
                ps_files_close(data);
                
-               if (!ps_files_valid_key(key) || 
-                               !ps_files_path_create(buf, sizeof(buf), data, key))
+               if (!ps_files_valid_key(key)) {
+                       php_error(E_WARNING, "The session id contains illegal characters, valid characters are only a-z, A-Z and 0-9");
+                       return;
+               }
+               if (!ps_files_path_create(buf, sizeof(buf), data, key))
                        return;
                
                data->lastkey = estrdup(key);