test reading fail when use https
Maxim Dounin
mdounin at mdounin.ru
Sun Jun 26 00:48:40 MSD 2011
Hello!
On Sat, Jun 25, 2011 at 04:06:30PM -0400, wandenberg wrote:
> Sorry Maxim. I didn't understood your answer.
You can't use c->recv() as it doesn't allow to peek. Using
c->recv() will result in possibly valid and required data to be
lost. And that's why normal recv() is used instead there.
> Can you explain better? Why this work for detect when users goes off on
> http, but not in https ?
Quoting just 2 days old message from the same list[1]:
% Yes, the code in question won't be able to detect SSL connection
% close with appropriate shutdown records sent by a client (as well
% as connection close with some other pending data, e.g. pipelined
% request). It is not possible to detect connection close with
% standard socket interface if there are pending data without
% reading that data first, which isn't always desired/possible.
%
% In the particular case of SSL it should be possible to use
% SSL_peek() here, but better aproach is to use OS-provided hint,
% e.g. as EV_EOF provided by kqueue interface (and used by nginx).
[1] http://nginx.org/pipermail/nginx/2011-June/027672.html
Maxim Dounin
More information about the nginx
mailing list