> 22 okt. 2017 kl. 20:16 skrev Maxim Bourmistrov <[email protected]>:
> 
> 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
> 

With cre->toread=0  I catch it all

relay test_api_tls, session 1 (1 active), 0, 176.10.170.140 -> 10.6.128.20:80, 
done, OPTIONS GET
relay test_api_tls, session 2 (1 active), 0, 176.10.170.140 -> 10.6.128.36:80, 
done, GET

//mxb

Reply via email to