Felix Antonius Wilhelm Ostmann a écrit :

Nicolas Raspail schrieb:
Hello,

I have a strange problem with my session. I'm using Session, Session::State::URI and Session::Store::FastMmap and XML RPC commands.

I can successfully use session, but when I want to check if a session has expired or not, session_expires never returns me 0 if the session has expired. Instead, it seems that it returns me the expire time plus the time between the two XML RPC call !

Example:

my test script sends a first command, sleep 10 seconds and sends the second command. Here is the debug output I get :

[info] *** Request 1 (0.167/s) [590] [Thu Aug 30 16:08:39 2007] ***
[debug] "POST" request for "rpc" from "10.30.72.167"
[debug] XML-RPC: Method called: login
[debug] Path is "login"
[debug] Created session "46616ce55819d55f5af3b062061e86fa0abc5a99"
[fatal] $VAR1 = {
          '__user_realm' => 'default',
          'data' => 'Session 46616ce55819d55f5af3b062061e86fa0abc5a99',
          '__user' => bless( {
                               'password' => 'test',
'store' => 'Catalyst::Plugin::Authentication::Store::Minimal',
                               'auth_realm' => 'default',
                               'id' => 'nicolas',
                               '__hash_obj_key_is_array' => {}
}, 'Catalyst::Plugin::Authentication::User::Hash' ),
          '__created' => 1188482919,
          '__updated' => 1188482919
        };
[info] Request took 0.034786s (28.747/s)
.----------------------------------------------------------------+-----------. | Action | Time | +----------------------------------------------------------------+-----------+ | /xmlrpc/login | 0.006627s | | /xmlrpc/end | 0.000050s | '----------------------------------------------------------------+-----------'

[info] *** Request 2 (0.118/s) [590] [Thu Aug 30 16:08:50 2007] ***
[debug] Query Parameters are:
.-------------------------------------+--------------------------------------. | Parameter | Value | +-------------------------------------+--------------------------------------+ | sessionid | 46616ce55819d55f5af3b062061e86fa0ab- | | | c5a99 | '-------------------------------------+--------------------------------------'
[debug] "POST" request for "rpc/" from "10.30.72.167"
[debug] XML-RPC: Method called: host_register
[debug] Found sessionid "46616ce55819d55f5af3b062061e86fa0abc5a99" in query parameters
[debug] Path is "host_register"
[fatal] 1188482979 (from $c->get_session_data)
[fatal] >>>Expire 1188482990 (from $c->session_expires)
[debug] Restored session "46616ce55819d55f5af3b062061e86fa0abc5a99"
[fatal] Session 46616ce55819d55f5af3b062061e86fa0abc5a99
[fatal] >>>hostid = 1e0aa748
[fatal] >>>hostname = rhel5-test
[info] Request took 0.019859s (50.355/s)
.----------------------------------------------------------------+-----------. | Action | Time | +----------------------------------------------------------------+-----------+ | /xmlrpc/host_register | 0.002980s | | /xmlrpc/end | 0.000046s | '----------------------------------------------------------------+-----------'

As you can see, there is a difference between the time in the store area and the time returned from session_expires.

Am'I doing a mistake or there is a sort of bug ?

Regards

Nicolas


> Hmmm ... i think a session would never expire when you do every 10
> seconds a request ... because he update the session every time. when the
> time between two requests is greater then session_expire, then the
> session will be deleted.
>
> MfG
> Felix Ostmann
>

Hi,

in fact, I have forgotten to copy/paste the second example, with a delay of 90 seconds between the two request. In this example, we can see the same behaviour, with some debug info about the fact that Catalyst knows about the fact that the session has expired, but the session_expires function does not return zero, but the current time !

Regards

Nicolas

_______________________________________________
List: Catalyst@lists.rawmode.org
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/
Dev site: http://dev.catalyst.perl.org/

Reply via email to