From: Simon Josefsson <simon@josefsson.org>
To: Ted Zlatanov <tzz@lifelogs.com>
Cc: gnutls-devel@gnu.org, emacs-devel@gnu.org
Subject: Re: Emacs and TLS support
Date: Thu, 30 Sep 2010 12:18:26 +0200 [thread overview]
Message-ID: <87k4m3bklp.fsf@mocca.josefsson.org> (raw)
In-Reply-To: <87eicgyyun.fsf@lifelogs.com> (Ted Zlatanov's message of "Sun, 26 Sep 2010 16:33:04 -0500")
Ted Zlatanov <tzz@lifelogs.com> writes:
> On Sun, 26 Sep 2010 23:06:46 +0200 Lars Magne Ingebrigtsen <larsi@gnus.org> wrote:
>
> LMI> Ted Zlatanov <tzz@lifelogs.com> writes:
>>> I stepped through the GnuTLS function calls and couldn't find a problem
>>> with the credential structures. It's frustrating that the exact same
>>> code works for the example client in GnuTLS but breaks in Emacs (most of
>>> my time debugging this was spent double-checking that the same functions
>>> are called with the same parameters in both cases).
>
> LMI> I know nothing about tls, but have you confirmed that the library calls
> LMI> really work in non-blocking mode? It's not uncommon to write libraries
> LMI> that assume that socket connections are blocking...
>
> It would be great if the GnuTLS developers could comment. But these
> references seem to specifically confirm that non-blocking sockets should
> work the way I'm doing it:
>
> http://lists.gnupg.org/pipermail/gnutls-dev/2005-March/000839.html
> http://www.gnu.org/software/gnutls/manual/html_node/The-transport-layer.html
Yes, it should work both in blocking and non-blocking.
> I tried setting the low water value to 0 in `Fgnutls_handshake' after
> `gnutls_transport_set_ptr2' but it didn't make a difference:
>
> gnutls_transport_set_lowat (state, 0);
>
> So I removed it in the patch. I sort of suspect right now that
> recv/send are not working correctly so I need to provide custom versions
> with `gnutls_transport_set_pull_function' and
> `gnutls_transport_set_push_function'. But I don't know enough about the
> Emacs internals that set up processes, which are ridiculously
> complicated because of all the supported platforms. And Simon Josefsson
> said his patch worked when he first wrote it, so I assumed that this
> kind of deep surgery would not be required.
I don't know Emacs internals well enough, but it may be that replacing
the send/recv functions could make things more reliable...
I don't have a lot of time to help here alas, and when I tried building
Emacs from CVS the other day it just crashed... maybe you could provide
simple step-by-step instructions to get something building that I can
test? With some specific CVS revision that is known working.
/Simon
next prev parent reply other threads:[~2010-09-30 10:18 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-26 16:11 Emacs and TLS support Angelo Graziosi
2010-09-26 16:22 ` Lars Magne Ingebrigtsen
2010-09-26 21:02 ` Ted Zlatanov
2010-09-26 21:06 ` Lars Magne Ingebrigtsen
2010-09-26 21:33 ` Ted Zlatanov
2010-09-30 10:18 ` Simon Josefsson [this message]
2010-10-04 1:27 ` Ted Zlatanov
-- strict thread matches above, loose matches on Subject: below --
2010-09-27 3:18 dhruva
2010-09-27 8:00 ` Lars Magne Ingebrigtsen
2010-09-27 21:52 ` Jason Earl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87k4m3bklp.fsf@mocca.josefsson.org \
--to=simon@josefsson.org \
--cc=emacs-devel@gnu.org \
--cc=gnutls-devel@gnu.org \
--cc=tzz@lifelogs.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).