[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [patch]: Stop connector socket-to-channel EOF flooding


On 09.04.19 11:50, g4-lisz@xxxxxxxxxxxx wrote:

> On 09.04.19 10:03, Tilo Eckert wrote:
>> Your callback sends an EOF for every received EOF from the server. If
>> your server does the same, you end up with EOF ping pong. You might want
>> to check whether you already sent it before: channel->local_eof != 0
>>
>> Btw, if you close the channel on your end, an EOF is sent automatically
>> if one has not been sent, yet.
> Hi Tilo,
>
> this is what my patch is doing: Checking for channel->local_eof != 0.
>
> But it's also an issue to poll on a socket which has EOF from the peer's
> side...

Sorry, I did not read your message properly...

My EOF callback is not relevant. The OpenSSH sents the EOF only once. So
it's not a ping-pong:

debug2: channel 0: rcvd eof
debug2: channel 0: rcvd eof
debug2: channel 0: rcvd eof
[ ... ]
debug2: channel 0: rcvd eof
debug2: channel 0: rcvd eof
debug2: channel 0: rcvd eof
debug2: channel 0: rcvd eof
debug2: channel 0: rcvd eof
debug2: channel 0: rcvd eof
debug2: channel 0: read<=0 rfd 8 len 0
debug2: channel 0: read failed
debug2: channel 0: close_read
debug2: channel 0: input open -> drain
debug2: channel 0: ibuf empty
debug2: channel 0: send eof
debug2: channel 0: input drain -> closed
debug2: channel 0: send close
debug2: channel 0: rcvd eof
debug2: channel 0: rcvd eof
debug2: channel 0: rcvd eof
debug2: channel 0: rcvd close

Even when removing my CB, the flooding takes place. The issue is in the
connector code.

Cheers,
Till


Archive administrator: postmaster@lists.cynapses.org