Thanks!  I'll look into adding a timeout function.

I will attempt to get a pcap of the interaction soon.

I only get the WOLFSSL_SHUTDOWN_NOT_DONE return from the server after the first call.  As soon as I can, I will run a capture on the interaction. 

I'm am 100% unsure if I need to do a bidirectional shutdown, but I was having a few occasional hangs previously and added this in as good measure.  That said, I found the issues for the other hangs and maybe I no longer need or want this.

Is there a case where a bi-drectional shutdown is not desired?

I have a wolfssl client that is connecting to a dtls 1.0 server over a UDP connection.  I am working on connectivity/stability of the connection, so am doing various things including cable disconnects, server on/off, etc..

During the cleanup, I am calling wolfss_shutdown(ssl) in a while loop, checking the return value for WOLFSSL_SHUTDOWN_NOT_DONE.  First time through it returns WOLFSSL_SHUTDOWN_NOT_DONE.  Second time it hangs and never exits or returns (or at least not in the first few minutes).

Any suggestions as to what might be happening?  Is there some timeout value that I can set?

  I'm doing this per the various DTLS examples in github. 

Thanks!

I was ALMOST doing everything correct.

I had to add flags to enable WOLFSSL_STATIC_RSA during compile of wolfssl and had to use wolfSSL_CTX_set_verify(TLS_Cli_Ctx, WOLFSSL_VERIFY_NONE, 0) for this particular use case.

Thanks!

Hello.  I am new to WolfSSL.  I am currently writing a c++ client using 5.7 on redhat linux.  I have built/installed the rpm enabling pkcs12, all dtls variants, etc...  I have to use DTLS v1.0 and use a PFX certificate.   I have built/installed the rpm enabling pkcs12, all dtls variants, etc...

Looking at the github examples, specifically client-tls-pkcs12.c and client-dtls.c, I'm having issues with some of the functions. Specifically, wolfSSL_CTX_use_PrivateKey() and wolfSSL_CTX_use_certificate().  While I can view these functions in the header, I still get undefined references when compiling.  I realize, in the example, this was indicated as optional if mutual auth is needed. I'm currently unsure if that's the case, but I believe it is. 

Is the example out of date or am I missing something?


edit:  I did a little more digging and added --enable-psdbased --enable-des3 --enable-keygen --enable-certgen --enable-opensslextra and --enable-arc4.  This seems to have gotten me around the undefined reference issue.  However, i'm still SUPER unclear if this is the correct way to go about it or if there's a better/cleaner route.  Thanks!