[gnutls-help] DTLS and gnutls_bye

Sean Greenslade sean at seangreenslade.com
Thu Feb 16 06:16:32 CET 2017


On Thu, Feb 16, 2017 at 05:18:06AM +0100, Nikos Mavrogiannopoulos wrote:
> On Tue, 2017-02-14 at 18:07 -0800, Sean Greenslade wrote:
> 
> > > > Specifically, the behavior I'm seeing is this. gnutls_bye does
> > > > send the
> > > > close alert message over the wire, however the receiving end does
> > > > not
> > > > raise an alert error when checking for received packets.
> > > 
> > > What does the other side receive?
> > 
> > When the close alert packet gets sent from the client to the server,
> > I
> > can see it on the wire (encrypted, of course). The server has a
> > multiplexer function that handles multiple clients simultaneously,
> > and
> > it sees a packet from the client and calls gnutls_record_recv() to
> > process it. gnutls_record_recv() returns zero, apparently ignoring
> > the
> > alert flag while consuming the packet.
> 
> Returning zero is the expected behavior (EOF) from gnutls_record_recv,
> when the closure alert is received.

OK, I kind of figured it was something like that. I'll just implement
timeouts on both ends. Thanks for the help!

--Sean




More information about the Gnutls-help mailing list