Re: Blocking on a non-blocking socket?

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

 



from:
https://www.openssl.org/docs/man1.0.2/man3/SSL_CTX_set_mode.html

SSL_MODE_AUTO_RETRY in non-blocking mode should cause SSL_reaa/SSL_write to return -1 with an error code of WANT_READ/WANT_WRITE until such time as the re-negotiation has completed.  I need to confirm thats the case in the code, but it seems to be.  If the underlying socket is in non-blocking mode, there should be no way for calls to block in SSL_read/SSL_write on the socket read/write system call.

On Thu, May 23, 2024 at 8:15 AM Wiebe Cazemier <wiebe@xxxxxxxxxxxx> wrote:
----- Original Message -----
> From: "Neil Horman" <nhorman@xxxxxxxxxxx>
> To: "udhayakumar" <udhayakumar@xxxxxxxxxxxxxx>
> Cc: "Wiebe Cazemier" <wiebe@xxxxxxxxxxxx>, openssl-users@xxxxxxxxxxx
> Sent: Thursday, 23 May, 2024 22:05:22
> Subject: Re: Blocking on a non-blocking socket?

> do you have a stack trace of the thread hung in this state? That would confirm
> whats going on here
> Neil

Hi Neil,

No, I don't. I wasn't there to attach a debugger. It recovered before I could do that. And despite a lot of effort, I can't reproduce it either.

But in general, what does SSL_MODE_AUTO_RETRY on/off change in non-blocking mode? The documentation is too vague for me. It says:

> Setting SSL_MODE_AUTO_RETRY for a nonblocking BIO will process non-application data records until either no more data is available or an application data record has been processed.

But how is that different from disabling SSL_MODE_AUTO_RETRY?

Regards,

Wiebe

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

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux