[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gnutls] Re: Restore gnutls session after execvp - possible?

From: Matthias Urlichs
Subject: Re: [Help-gnutls] Re: Restore gnutls session after execvp - possible?
Date: Sun, 11 Dec 2005 21:54:59 +0100
User-agent: Mutt/1.5.9i


Simon Josefsson:
> How do you achieve that?  I thought you had to close sockets and
> re-open them in a new process.
If you have an open file descriptor, you can choose whether it is
automagically closed when you execve() something. (fcntl, close-on-exec

> I don't know how to achieve what you want in GnuTLS, but I don't know
> how to achieve what you already do either (exec another process and
> inherit the open socket) so I may likely be missing something.
> Perhaps others know more.
The basic idea is to save the internal gnutls data structure in such a
way that you only need to plug in the file descriptor and everything is
back where it was.

Personally I'd say that

> >  - global:
> >  
> >     gnutls_certificate_free_credentials (gnutls_xcred);
> >     gnutls_global_deinit();
> >
Why are you doing that? You're execvp-ing a new process, the data
structures will vanish anyway -- and you risk closing the sockets when you
do this.

> >     if (gnutls_handshake (server->gnutls_sess) < 0)
> >         printf ("handshake failed\n");
> >
Does that call work when you use it *before* doing your
save-execvp-restore dance?

Matthias Urlichs   |   {M:U} IT Design @   |  address@hidden
Disclaimer: The quote was selected randomly. Really. |
 - -
You can have whiskey as your friend. You can have a dog as your friend. But
if you have a woman as your friend, you're going to wind up drunk and kissing
your dog.

Attachment: signature.asc
Description: Digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]