Topic: Issues with non-blocking sockets with ssl_connect and ssl_accept
I'm trying to add wolfSSL to an existing application that uses non-blocking sockets. Essentially I just want to wedge SSL and DTLS communications under the current application protocol. I've been using the client and server examples (on Windows) as "known good" for the opposing side of my testing (using client.exe for testing my "server side" and server.exe for testing my "client side"). For both my client and server sides (server side is much more inconsistent), the wolfSSL library doesn't complete the negotiation required using ssl_connect or ssl_accept.
Comparing it to the example code (which I realize is intentionally simplified), I don't having a "blocking" while loop around the ssl_connect and ssl_accept calls. They are called as part of a state machine within my application. If I step through the ssl_connect call in the debugger, it will usually complete the negotiation, making it seem that the issue is that the ssl_connect/accept state machines can't handle "incomplete data" during certain states.
I've turned on DEBUG_WOLFSSL and can provide logs and Wireshark traces, although I would prefer to "sanitize" the Wireshark traces if they need to be posted.