Stefan,
To solve the problem I suggest following change to elogd.c (2.7.5 2159).
Create a list of elog cookies, and store only these as parameters. Example diff:
---
$ diff elog/src/elogd.c elogd_niho.c
26557a26558
> const char *cookie_list[] = { "upwd", "unm", "elmode", "urem", "wpwd", "apwd", "uname", NULL };
26603c26604,26610
< setparam(str, cookie);
---
> for(i=0; cookie_list[i]; i++) {
> if(strcmp(cookie_list[i], str) == 0) {
> setparam(str, cookie);
> break;
> }
> }
>
---
In a more readable fashion:
int process_http_request(const char *request, int i_conn)
{
...
const char *cookie_list[] = { "upwd", "unm", "elmode", "urem", "wpwd", "apwd", "uname", NULL };
...
...
...
/* store cookie as parameter */
for(i=0; cookie_list[i]; i++) {
if(strcmp(cookie_list[i], str) == 0) {
setparam(str, cookie);
break;
}
}
...
Not sure if I got all the cookies used by elog.
BR, niklas |