[Jifty-commit] r1670 - jifty/trunk/lib/Jifty/Web/Session

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Tue Jul 25 16:30:35 EDT 2006


Author: audreyt
Date: Tue Jul 25 16:30:34 2006
New Revision: 1670

Modified:
   jifty/trunk/lib/Jifty/Web/Session/ClientSide.pm

Log:
* Jifty::Web::Session::ClientSide: Re-assemble split cookies (>4K) correctly.
  "logout" now works transparently.

Modified: jifty/trunk/lib/Jifty/Web/Session/ClientSide.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Web/Session/ClientSide.pm	(original)
+++ jifty/trunk/lib/Jifty/Web/Session/ClientSide.pm	Tue Jul 25 16:30:34 2006
@@ -90,15 +90,17 @@
             : Jifty::Model::Session->new_session_id,
     }
 
-    # XXX - Cookie mangling detection
-    if (exists $cookies{"JIFTY_DAT_$session_id"}) {
+    my ($data) = grep {
+        $_->name eq "JIFTY_DAT_$session_id"
+    } $splitter->join(values %cookies);
+    if ($data) {
         local $@;
         eval {
             $self->_session(
                 Jifty::YAML::Load(
                     Compress::Zlib::uncompress(
                         $self->_cipher->decrypt(
-                            $cookies{"JIFTY_DAT_$session_id"}->value
+                            $data->value
                         )
                     )
                 )


More information about the Jifty-commit mailing list