Re: Bug #13078 Updated: register_globals = off & session.save_handler = user

From: Date: Fri, 14 Dec 2001 07:35:04 +0000
Subject: Re: Bug #13078 Updated: register_globals = off & session.save_handler = user
References: 1 2  Groups: php.dev 
Request: Send a blank email to php-dev+get-73680@lists.php.net to get a copy of this message
Thanks you for report :)
Could you apply attached patch. It should fix the problem.
Please let me know if this patch fixed it or not.

--
Yasuo Ohgaki

php-jp@typhoon.co.jp wrote:

> ID: 13078
> User updated by: php-jp@typhoon.co.jp
> Reported By: php-jp@typhoon.co.jp
> Status: Critical
> Bug Type: Session related
> Operating System: FreeBSD 4.x
> PHP Version: 4.0.6, 4.1.0
> New Comment:
> 
> Sorry, but further testing revealed when sess_read
> 
>   return NULL;
> 
> for when nothing was found caused problems sometimes, not always!
> 
> However
> 
>   return '';
> 
> seems to work all of the time!  
> 
> Looks like sess_write has to return a '' (null string) It cannot return NULL, nor it
> return false;
> 
> Otherise sess_write will never be called!
> ---ends---
> 
> Previous Comments:
> ------------------------------------------------------------------------
> 
> [2001-12-14 00:19:21] php-jp@typhoon.co.jp
> 
> Problem solved in 4.1.0 (release).
> 
> All thanks to yohgaki@php.net for pointing me to his very well written code!
> 
> I found the reason my sess_write was never called with register_globals = off was because my
> sess_read function was something like this:
> 
>    sess_read( $key)
>    ...
>    if I find stuff for $key from PostgreSQL {
>       return $valuesfound;
>    }
>    else {
>       return false;
>    }
> 
> The problem was with "return false;"
> After changing:
> 
>     return false;
> 
> to
>     return NULL;
> 
> things worked.
> 
> Don't know why the "return false" worked with "register_globals=on"
> and "register_global=off" requires sess_read to return NULL if nothing was found...
> 
> THANKS again to yohgaki@php.net for his code and my apologise for wasting people's time.
> 
> Please feel free to close this bug report.  I am not closing it because derick@php.net brought
> up something which I don't know about nor can I duplicate. 
> ---ends---
> 
>       
> 
> ------------------------------------------------------------------------
> 
> [2001-12-13 22:04:18] sniper@php.net
> 
> Just to note that I can not reproduce this with latest CVS.
> 
> --Jani
> 
> 
> ------------------------------------------------------------------------
> 
> [2001-12-13 05:55:59] derick@php.net
> 
> PHP 4.1.0 (release)
> 
> TEST SCRIPT:
> <?php
>     session_start();
>     $_SESSION['test'] = 'YES';
>     echo ini_get('register_globals');
> ?>
> 
> SESSION FILE CONTENTS:
> 
> With register_globals = 1:
> <empty>
> 
> With register_globals = 0:
> test|s:3:"YES";
> 
> ------------------------------------------------------------------------
> 
> [2001-12-13 05:14:14] php-jp@typhoon.co.jp
> 
> Yes, I have problems with or without session_register/unregister.
> 
> In fact, I first tried:
> 
>    $_SESSION["varname"] = "somevaluehere";
> 
> to see if it was saved. But it was NOT.  So, I tried this:
> 
>    session_register("varname");
>    $_SESSION["varname"] = "somevaluehere";
> 
> thinking it would help.  Anyhow, none of the above worked.  
> 
> Once again, if 
> 
>    register_globals=on
> 
> then, everything is fine.
> ---ends---
> 
> ------------------------------------------------------------------------
> 
> [2001-12-13 04:52:52] yohgaki@php.net
> 
> When you use $_SESSION or $HTTP_SESSION_VARS, you don't need session_register/unregister
> to save session vars.
> Do you have problem still when you don't use session_register/unregister?
> 
> 
> ------------------------------------------------------------------------
> 
> The remainder of the comments for this report are too long. To view
> the rest of the comments, please view the bug report online at
>     http://bugs.php.net/?id=13078
> 
> 
> Edit this bug report at http://bugs.php.net/?id=13078&edit=1
> 
> 



-- 
Yasuo Ohgaki



Thread (21 messages)

« previous php.dev (#73680) next »