[gnutls-devel] [PATCH] Re: TCP Fast Open

Tim Rühsen tim.ruehsen at gmx.de
Sat Jul 16 21:04:09 CEST 2016

On Friday 15 July 2016 20:54:45 Nikos Mavrogiannopoulos wrote:
> On Fri, Jul 15, 2016 at 4:52 PM, Tim Ruehsen <tim.ruehsen at gmx.de> wrote:
> >> > True, but the new writev_tfo functions need a session pointer instead
> >> > of a
> >> > transport pointer. And I didn't want to take care for user supplied
> >> > transport pointers + user defined write functions (set before or after
> >> > gnutls_transport_set_fastopen()).
> >> > But I see room for a internal refactoring, that uses session for all
> >> > system
> >> > write/writev funtions... and call user supplied functions from there.
> >> > IMO,
> >> > that should be another patch.
> >> 
> >> Would you be interested in making that patch? That would really
> >> simplify any such additions in the future.
> > 
> > I can't test the non-POSIX code, so it might go into many time-wasting
> > iterations. Time is something I don't have very much of...
> If that's the only issue you can make a fork at gitlab and I'll give
> you access to the CI. This will ease things considerably.

I forked gnutls to https://gitlab.com/rockdaboot/gnutls. What do I have to do 
that the CI works on the fork ?

No promise to make it - I already had a look at it. I don't see a way to 
simplify code paths. It looks like _gnutls_writev_emu() is needed anyways, and 
there is the need for checking the type of callback (fd or session). Moving 
the code around (e.g. checks into system_writev() doesn't really help either).

So maybe my first impression was simply wrong. Without (all) the push 
callbacks taking session instead of fd, we can't simplify it. Even if that 
looks like a (weak) design flaw in the past, we can't change it easily without 
breaking existing application code. I guess we have to live with that ugly 
code in the patch. Maybe you see more and/or have a good idea about it.

But anyway - the CI would help in testing and correcting the patch for non 
POSIX system.s

> btw. you didn't attach the new patch

Sorry - it lacks gnutls/socket.h from the previos patch. Got lost when 
rebasing my branch onto upstream master. But anyway - with CI access I'll test 
it myself and prepare a new patch (earliest on Monday).

Regards, Tim
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: </pipermail/attachments/20160716/d7c8865a/attachment.sig>

More information about the Gnutls-devel mailing list