From: Eli Zaretskii <eliz@gnu.org>
To: Ted Zlatanov <tzz@lifelogs.com>
Cc: emacs@kosowsky.org, 15648@debbugs.gnu.org
Subject: bug#15648: 24.2.50; gnutls SSL connection to IMAP server causes emacs to crash completely
Date: Fri, 25 Oct 2013 21:37:14 +0300 [thread overview]
Message-ID: <83a9hxgpt1.fsf@gnu.org> (raw)
In-Reply-To: <87eh79ico2.fsf_-_@flea.lifelogs.com>
> From: Ted Zlatanov <tzz@lifelogs.com>
> Cc: emacs@kosowsky.org, 15648@debbugs.gnu.org
> Date: Fri, 25 Oct 2013 11:38:05 -0400
>
> EZ> If so, perhaps the problem is that we leave the process object
> EZ> marked as a GnuTLS process, but with a NULL state? Should we remove
> EZ> the mark, or maybe delete the process object in gnutls-negotiate?
>
> I would abort with a message like any other error.
Maybe you should install a change that does that, and see if it solves
the problem.
> Here's what we do:
>
> if (STRINGP (trustfile))
> {
> GNUTLS_LOG2 (1, max_log_level, "setting the trustfile: ",
> SSDATA (trustfile));
> ret = fn_gnutls_certificate_set_x509_trust_file
> (x509_cred,
> SSDATA (trustfile),
> file_format);
>
> if (ret < GNUTLS_E_SUCCESS)
> return gnutls_make_error (ret);
> }
> else
> {
> emacs_gnutls_deinit (proc);
> error ("Invalid trustfile");
> }
>
> In other words, we pass the file down and assume the return code from
> `fn_gnutls_certificate_set_x509_trust_file' will be accurate. In this
> case I don't know what it returned but would assume GNUTLS_E_SUCCESS
> since there was no error.
>
> In general I trust the return codes and don't verify the state
> explicitly. I don't see how the `gnutls_state' could have been set to
> NULL by a missing trustfile; the function call that sets the trustfile
> only touches the `x509_cred' variable. Could this NULL be happening
> later?
We _begin_ by setting gnutls_state to NULL. What could possibly
happen is that we somehow let the process object with a NULL state
escape from the initialization step, and then
wait_reading_process_output stumbles on it and tries to use it,
because the gnutls_p flag is also set right at the beginning.
How about if we set the gnutls_p flag only when the whole
initialization succeeds completely? It's only then that the process
is ready to be used in conjunction with GnuTLS, isn't it?
next prev parent reply other threads:[~2013-10-25 18:37 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-18 18:29 bug#15648: 24.2.50; gnutls SSL connection to IMAP server causes emacs to crash completely emacs
2013-10-18 19:38 ` Glenn Morris
2013-10-20 20:24 ` emacs
2013-10-21 14:22 ` bug#15648: 24.2.50; gnutls SSL connection to IMAP server causes emacs to crash completely, " Ted Zlatanov
2013-10-21 19:30 ` emacs
2013-10-22 13:27 ` Ted Zlatanov
2013-10-22 15:23 ` emacs
2013-10-22 15:41 ` emacs
2013-10-22 19:10 ` emacs
2013-10-22 20:06 ` Ted Zlatanov
2013-10-22 20:22 ` emacs
2013-10-22 20:34 ` Eli Zaretskii
2013-10-22 22:27 ` emacs
2013-10-23 2:51 ` Eli Zaretskii
2013-10-23 4:17 ` emacs
2013-10-23 14:52 ` Ted Zlatanov
2013-10-23 17:25 ` emacs
2013-10-23 18:07 ` Eli Zaretskii
2013-10-23 18:58 ` Ted Zlatanov
2013-10-23 23:45 ` emacs
2013-10-24 0:13 ` emacs
2013-10-24 10:59 ` Ted Zlatanov
2013-10-24 14:10 ` emacs
2013-10-24 15:48 ` Ted Zlatanov
2013-10-24 17:02 ` emacs
2013-10-24 17:57 ` Stefan Monnier
2013-10-24 18:42 ` emacs
2013-10-25 0:59 ` Stefan Monnier
2013-10-25 13:59 ` emacs
2013-10-26 1:52 ` Stefan Monnier
2013-10-29 5:13 ` emacs
2013-11-03 11:42 ` Ted Zlatanov
2013-11-03 15:12 ` emacs
2013-11-03 17:32 ` Eli Zaretskii
2013-11-03 19:12 ` emacs
2013-11-04 16:28 ` Ted Zlatanov
2013-11-04 16:58 ` Eli Zaretskii
2013-11-11 19:12 ` emacs
2013-11-11 19:42 ` Ted Zlatanov
2013-11-11 20:00 ` emacs
2013-11-11 20:00 ` Achim Gratz
2013-11-11 23:58 ` Ted Zlatanov
2013-11-12 0:45 ` emacs
2013-11-11 20:06 ` Eli Zaretskii
2013-11-11 21:53 ` emacs
2013-11-12 3:56 ` Eli Zaretskii
2013-11-12 15:19 ` emacs
2013-11-12 17:42 ` Eli Zaretskii
[not found] ` <<83ppq51pq8.fsf@gnu.org>
2013-11-12 18:08 ` Drew Adams
2013-11-03 21:37 ` Stefan Monnier
2013-10-23 15:16 ` bug#15648: 24.2.50; gnutls SSL connection to IMAP server causes emacs to crash completely, " Eli Zaretskii
2013-10-23 17:12 ` emacs
2013-10-23 18:00 ` Eli Zaretskii
2013-10-23 19:49 ` emacs
2013-10-24 2:46 ` Eli Zaretskii
2013-10-25 3:17 ` emacs
2013-10-25 14:09 ` Eli Zaretskii
2013-10-25 15:38 ` Ted Zlatanov
2013-10-25 18:37 ` Eli Zaretskii [this message]
2013-11-03 17:30 ` Eli Zaretskii
2013-11-04 16:44 ` Ted Zlatanov
2013-11-04 17:06 ` Eli Zaretskii
2013-11-04 18:05 ` Ted Zlatanov
2013-11-04 22:14 ` emacs
2013-11-05 2:30 ` Ted Zlatanov
2013-11-05 23:11 ` emacs
2013-11-05 23:16 ` Alp Aker
2013-11-05 23:54 ` emacs
2013-11-11 15:53 ` Ted Zlatanov
2013-11-11 19:40 ` emacs
2013-11-11 20:11 ` Eli Zaretskii
2013-11-11 21:56 ` emacs
2013-11-12 3:58 ` Eli Zaretskii
2013-11-12 15:23 ` emacs
2013-11-06 3:51 ` Eli Zaretskii
2013-11-06 5:45 ` emacs
2013-10-22 15:43 ` bug#15648: 24.2.50; gnutls SSL connection to IMAP server causes emacs to crash completely, " Eli Zaretskii
2013-10-22 20:03 ` Ted Zlatanov
2013-10-22 20:35 ` Andy Moreton
2013-10-22 20:45 ` Eli Zaretskii
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83a9hxgpt1.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=15648@debbugs.gnu.org \
--cc=emacs@kosowsky.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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.