Common::Apache::Session uses wrong serialization algorithm with Postgres
When using Apache::Session::Postgres.pm, purgeCentralCache raises the following error: Storable binary image v33.81 more recent than I am (v2.7) at ../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/thaw.al) line 366, at blib/lib/Lemonldap/NG/Common/Apache/Session.pm (autosplit into blib/lib/auto/Lemonldap/NG/Common/Apache/Session/_dbiGKFAS.al) line 135
This is caused by Common::Apache::Session::_dbiGKFAS, when it tries to deserializes the session datas. Apache::Session module uses different serialization modules for MySQL and PostgreSQL:
- Apache::Session::MySQL uses Apache::Session::Serialize::Storable
- Apache::Session::Postgre uses Apache::Session::Serialize::Base64
So the deserialization method should be Storable::thaw( raw[1] ) for MySQL, and Storable::thaw( MIME::Base64::decode_base64(
raw[1]) ) for Postgres. I attached my patched version of Common::Apache::Session::_dbiGKFAS.al which works with PostgreSQL.