Hey,
with rev 1.58 OPTIONS in relay_http.c got broken
or at least logic inside relay_read_http().
Quick fix it to cre->toread=0 and break, but this is probably not what should 
be there.

In my test case, from the client side I do an OPTIONS request, followed by a 
couple of GET.
GET in the middle never gets catched and thus breaks intended usage.

I’m doing a simple printf() debugging here to catch.

cre->toread = strtonum(value, 0, LLONG_MAX, &errstr);
printf("------ to read %lld\n", cre->toread);


case HTTP_METHOD_GET:
                        printf("GOT GET to read: %lld\n", cre->toread);

case HTTP_METHOD_OPTIONS:
                        printf("GOT OPT to read: %lld\n", cre->toread);


The output with those in place from ’relayd -d’:

host 10.6.128.38, check http code (1ms,http code ok), state up -> up, 
availability 100.00%
GOT OPT to read: -2
------ to read 0
------ to read 214
relay test_api_tls, session 1 (1 active), 0, 176.10.170.140 -> 10.6.128.20:80, 
done, OPTIONS
GOT GET to read: -2
------ to read 214
relay test_api_tls, session 2 (1 active), 0, 176.10.170.140 -> 10.6.128.36:80, 
done, GET
^Chce exiting, pid 96033

//mxb

Reply via email to