Hi,
when session cookie is longer than KEY_SIZE (63 char) the session is not
stiky any more, even with cookies content that doesn't not start with
the same substring.
As far as I understand this is due to a bug in svn.c the key size return
by get_HEADER can be KEY_SIZE + 1 long, while sess_add do a strncpy of
KEY_SIZE without the ending '\0', this prevent sess_find to return an
existing session as it uses strcmp.
I have fixed the problem in a production site using a longer KEY_SIZE
but I think the correct patch is to use a strncpy(res->key, key,
KEY_SIZE+1) in sess_add.
Unfortunately I am not able to test this patch.
Thanks for this great software.
ben
PS: I use latest pound version 2.2.1
|