1)I am using Apache::Session::File to maintain state information (just a 
user_id and a few small items).

2)The man page for Apache::Session indicates that the following regexp 
should be used to find the session cookie.
$cookie =~ s/SESSION_ID=(\w*)/$1/;

3)This $cookie value is then used in a tie statement.  I was having 
intermittant trouble with MD5.pm dying and giving me internal server errors.
The log file looked like this:
[Wed Oct 16 21:45:47 2002] [error] Died at 
/usr/lib/perl5/site_perl/5.6.1/Apache/Session/Generate/MD5.pm line 40.

4)I found that when I had multiple cookies MD5 would always bomb out 
because the regexp was just stripping out the words SESSION_ID=

5)I added a few print STDERR statements and the log file looked like this:
in common_session_utility 0
cookie is 
laptop=P&admin&Hash&9fa0065cd19a168c598a6ada6ec11917&U&Administrator; 
SESSION_ID=d1a16efb540ac0cb16236f7782183c12
cookie is 
laptop=P&admin&Hash&9fa0065cd19a168c598a6ada6ec11917&U&Administrator; 
d1a16efb540ac0cb16236f7782183c12 after regexp
in common_session_utility 1
IN GENERATE MD5 session date is 
laptop=P&admin&Hash&9fa0065cd19a168c598a6ada6ec11917&U&Administrator; 
d1a16efb540ac0cb16236f7782183c12
[Wed Oct 16 21:45:47 2002] [error] Died at 
/usr/lib/perl5/site_perl/5.6.1/Apache/Session/Generate/MD5.pm line 40.

6)After I changed the regexp, things started working well enough.
 $cookie =~ s/^.*SESSION_ID=(\w*).*$/$1/;

7)I suggest that the man page for Apache::Session so that the regexp 
example accomodates sites with multiple cookies being set.

I hope this makes some sense.

Regards,




Rodney Hampton

Reply via email to