[prev in list] [next in list] [prev in thread] [next in thread] 

List:       busybox
Subject:    Re: [RFC PATCH] httpd: handle HTTP upload case better
From:       Joachim Wiberg <troglobit () gmail ! com>
Date:       2021-01-16 13:52:24
Message-ID: 878s8tyoo7.fsf () gmail ! com
[Download RAW message or body]

On Mon, Nov 16, 2020 at 13:16, Denys Vlasenko <vda.linux@googlemail.com> wrote:
> On Sat, May 9, 2020 at 1:26 PM Joachim Nilsson <troglobit@gmail.com> wrote:
>> When shutting down a connection right after an HTTP upload we must wait
>> a while for the client to see the response.

(Worth mentioning that I wasn't the original author of this one.)

>> -       shutdown(1, SHUT_WR);
>> +       if (getsockopt(STDIN_FILENO, SOL_SOCKET, SO_TYPE, &t, &tl) == 0)
>> +               shutdown(STDIN_FILENO, SHUT_WR);
> Why the check?

I believe the original intent was just to check if the socket was still valid.

>> -       /* Why??
>> -       (this also messes up stdin when user runs httpd -i from terminal)
>> -       ndelay_on(0);
>> -       while (read(STDIN_FILENO, iobuf, IOBUF_SIZE) > 0)
>> +
>> +       /* Eat any remaining data for a while to allow response to be seen */
>> +       alarm(30);
>> +       while (recv(STDIN_FILENO, iobuf, IOBUF_SIZE, MSG_DONTWAIT) > 0)
>>                 continue;
>> -       */
>
> What happens on tcpdump level if this is not done?
> IOW:
> _How exactly_ the client gets confused? Is it getting TCP RST packet when
> we exit and thus implicitly close the socket?

Unsure.  Must've been an issue on the client side, because I cannot see
any problems when I try to reproduce the issue now.

Sorry for the noise, let's drop this patch.

Best regards
 /Joachim
_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic