On Wed, Feb 03, 2016 at 09:11:35PM +0100, Nikos Mavrogiannopoulos wrote:
> Yes. However, you must remember you had pending data already processed
> for that send() and you do not need to specify them again.

Right, just call record_send with NULL and 0.

> > But before I get this event for that specific socket, I might have 
> > done other things (aka been reading or writing from/to other TLS
> > sessions).
> 
> Could it be that the data you intended to be send have been modified?

What do you mean? Something like: is my original data buffer untouched?
Asked another way, do I have to maintain the integrity of my data
between the EAGAIN call and the NULL/0? I think I have but I'll have to
check in case I'm not supposed to touch that buffer until it's sent.

> > So the question is as follow: does gnutls keep a private buffer per
> > session (and direction, as in read buffer or write buffer) so when I
> > call gnutls_record_send with data == NULL and size == 0, it does the
> > right thing? Or can it get mixed up with other read/writes from
> > different sessions?
> 
> Sessions are totally independent; they share no state except for the
> credentials structures which are read-only.

Fair enough, thanks for clearing that out.

-- 
Mathieu Chouquet-Stringer                               [email protected]
            The sun itself sees not till heaven clears.
                     -- William Shakespeare --

_______________________________________________
Gnutls-help mailing list
[email protected]
http://lists.gnupg.org/mailman/listinfo/gnutls-help

Reply via email to