RE: SSL_read empty -> close?

2022-11-03 Thread Michael Wojcik via openssl-users
> From: Felipe Gasper > Sent: Thursday, 3 November, 2022 10:43 > > > > And your description looks wrong anyway: shutdown(SHUT_RD) has > > implementation-defined behavior for TCP sockets (because TCP does not > > announce the read side of half-close to the peer), and on Linux causes > > blocked

Re: SSL_read empty -> close?

2022-11-03 Thread Felipe Gasper
> On Nov 3, 2022, at 11:37, Michael Wojcik via openssl-users > wrote: > >> It’s a rare >> issue, but when it does it’s a head-scratcher. To avoid that, it’s necessary >> to shutdown(SHUT_RD) then drain the read buffer before close(). > > Well, it's not *necessary* to do a half-close.

RE: SSL_read empty -> close?

2022-11-03 Thread Michael Wojcik via openssl-users
> From: Felipe Gasper > Sent: Thursday, 3 November, 2022 08:51 > > You probably know this, but: On Linux, at least, if a TCP socket close()s > with a non-empty read buffer, the kernel sends TCP RST to the peer. Yes, that's a conditional-compliance (SHOULD) requirement from the Host

Re: SSL_read empty -> close?

2022-11-03 Thread Felipe Gasper
> On Nov 3, 2022, at 10:17, Michael Wojcik via openssl-users > wrote: > >> Does OpenSSL’s documentation mention that? (I’m not exhaustively >> familiar with it, but I don’t remember having seen such.) > > I doubt it. I don't see anything on the wiki, and this is a pretty obscure > issue,

RE: SSL_read empty -> close?

2022-11-03 Thread Michael Wojcik via openssl-users
> From: Felipe Gasper > Sent: Thursday, 3 November, 2022 07:42 > > It sounds, then like shutdown() (i.e., TCP half-close) is a no-no during a > TLS session. Um, maybe. Might generally be OK in practice, particularly with TLSv1.3, which got rid of some of the less-well-considered ideas of

Re: SSL_read empty -> close?

2022-11-03 Thread Felipe Gasper
> On Nov 2, 2022, at 16:36, Michael Wojcik via openssl-users > wrote: > >> From: Felipe Gasper >> Sent: Wednesday, 2 November, 2022 12:46 >> >> I wouldn’t normally expect EPIPE from a read operation. I get why it happens; >> it just seems odd. Given that it’s legitimate for a TLS peer to

RE: SSL_read empty -> close?

2022-11-02 Thread Michael Wojcik via openssl-users
> From: Felipe Gasper > Sent: Wednesday, 2 November, 2022 12:46 > > I wouldn’t normally expect EPIPE from a read operation. I get why it happens; > it just seems odd. Given that it’s legitimate for a TLS peer to send the > close_notify and then immediately do TCP close, it also seems like EPIPE

Re: SSL_read empty -> close?

2022-11-02 Thread Felipe Gasper
> On Oct 26, 2022, at 13:34, Michael Wojcik via openssl-users > wrote: > >> From: openssl-users On Behalf Of Felipe >> Gasper >> Sent: Wednesday, 26 October, 2022 11:15 >> >> I’m seeing that OpenSSL 3, when it reads empty on a socket, sends some >> sort of response, e.g.: >> >> -

RE: SSL_read empty -> close?

2022-10-26 Thread Michael Wojcik via openssl-users
> From: openssl-users On Behalf Of Felipe > Gasper > Sent: Wednesday, 26 October, 2022 11:15 > > I’m seeing that OpenSSL 3, when it reads empty on a socket, sends some > sort of response, e.g.: > > - before read > [pid 42417] read(7276781]>, "", 5) = 0 > [pid 42417] sendmsg(7276781]>,