unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Robert Pluim <rpluim@gmail.com>
To: Nikolaos Chatzikonstantinou <nchatz314@gmail.com>
Cc: 50507@debbugs.gnu.org, Lars Ingebrigtsen <larsi@gnus.org>,
	Eli Zaretskii <eliz@gnu.org>
Subject: bug#50507: New function in Emacs GnuTLS implementation
Date: Thu, 29 Sep 2022 16:08:35 +0200	[thread overview]
Message-ID: <875yh6cly4.fsf@gmail.com> (raw)
In-Reply-To: <CAAQmekceNXaHov89sYi=_BgyULwd3WqmKBD86rRWuEK8K1fWPw@mail.gmail.com> (Nikolaos Chatzikonstantinou's message of "Thu, 29 Sep 2022 09:44:09 -0400")

>>>>> On Thu, 29 Sep 2022 09:44:09 -0400, Nikolaos Chatzikonstantinou <nchatz314@gmail.com> said:
    >> 
    >> We have some convenience macros in lisp.h for traversing lists, one of
    >> which is FOR_EACH_TAIL. The reason to prefer it is that it will detect
    >> circular lists, which is good practice since this list will come from
    >> the user level, so it could be anything :-)

    Nikolaos> Good point. I opted for FOR_EACH_TAIL_SAFE, which seems even better
    Nikolaos> for this case. As documented in ChangeLog.3, it's the right one when
    Nikolaos> the operation is idempotent, which an OR of flags is. (repeated flags
    Nikolaos> do not alter the result.)

OK

    Nikolaos> +The :pass and :flags keys are ignored with old versions of GnuTLS, and
    Nikolaos> +:flags is ignored if :pass is not specified.
    Nikolaos> +
    >> 
    >> Maybe mention that not specifying :flags or passing :flags nil means
    >> passing '0' to the GnuTLS function?

    Nikolaos> Yes, and on that note, I discovered two things. One, the value 0 is
    Nikolaos> special; it has meaning but it is not an enumeration constant. I
    Nikolaos> documented this appropriately. Two, the password may be NULL instead
    Nikolaos> of a string.

OK. I guess youʼre mapping ':pass nil' to that?

    Nikolaos> How can I differentiate between `:pass nil` and not specifying
    Nikolaos> `:pass`? I would like to do this because in the former case I'm
    Nikolaos> calling ...key_file2() and in the latter I'm calling the original
    Nikolaos> ...key_file().

Youʼd do `plist-member' to check if thereʼs a `:pass' in the plist at
all, and then `plist-get' to extract the value.

    Nikolaos> +  DEFSYM (Qgnutls_pkcs_plain, "GNUTLS_PKCS_PLAIN");
    Nikolaos> <removed a few more such lines>
    Nikolaos> +  DEFSYM (Qgnutls_pkcs_pbes2_gost_cpd, "GNUTLS_PKCS_PBES2_GOST_CPD");
    >> 
    >> All this is kind of awkward, but apart from doing DEFVAR_LISP Iʼm not
    >> aware of how to define a lisp level symbol with a value (it would
    >> allow you to simplify `key_file2_aux', since you could just extract
    >> the values directly from the symbols).

    Nikolaos> I am now comparing against intern("GNUTLS_PKCS_PLAIN") and so on.

I guess thatʼs another option, but itʼs not the preferred
solution. Anyway, letʼs not let the perfect be the enemy of the good.

Thanks

Robert
-- 





  reply	other threads:[~2022-09-29 14:08 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-10 10:39 bug#50507: New function in Emacs GnuTLS implementation Nikolaos Chatzikonstantinou
2021-09-10 12:39 ` Eli Zaretskii
2021-09-11 15:28   ` Nikolaos Chatzikonstantinou
2021-09-11 15:34     ` Eli Zaretskii
2021-09-11 15:52       ` Eli Zaretskii
2022-08-25 15:07     ` Lars Ingebrigtsen
2022-09-14 15:51       ` Nikolaos Chatzikonstantinou
2022-09-15  7:09         ` Lars Ingebrigtsen
2022-09-26  9:56           ` Nikolaos Chatzikonstantinou
2022-09-26 11:03             ` Lars Ingebrigtsen
2022-09-26 15:43               ` Nikolaos Chatzikonstantinou
2022-09-26 17:19                 ` Robert Pluim
2022-09-26 21:39                   ` Nikolaos Chatzikonstantinou
2022-09-27  6:29                     ` Eli Zaretskii
2022-09-28 12:15                   ` Nikolaos Chatzikonstantinou
2022-09-28 13:11                     ` Robert Pluim
2022-09-29  3:09                       ` Nikolaos Chatzikonstantinou
2022-09-29  8:17                         ` Eli Zaretskii
2022-09-29 12:35                           ` Nikolaos Chatzikonstantinou
2022-09-29 13:08                             ` Eli Zaretskii
2022-09-29  9:02                         ` Robert Pluim
2022-09-29 13:44                           ` Nikolaos Chatzikonstantinou
2022-09-29 14:08                             ` Robert Pluim [this message]
2022-09-30 10:04                               ` Nikolaos Chatzikonstantinou
2022-09-30 10:47                                 ` Eli Zaretskii
2022-09-30 13:01                                   ` Nikolaos Chatzikonstantinou
2022-09-30 13:37                                     ` Eli Zaretskii
2022-09-30 13:49                                       ` Nikolaos Chatzikonstantinou
2022-09-30 14:32                                         ` Robert Pluim
2022-09-30 16:22                                           ` Nikolaos Chatzikonstantinou
2022-10-03  7:40                                             ` Robert Pluim
2022-10-03 13:00                                               ` Nikolaos Chatzikonstantinou
2022-10-03 13:19                                                 ` Robert Pluim
2022-10-05 14:20                                                   ` Nikolaos Chatzikonstantinou
2022-12-23 15:46                                                   ` Nikolaos Chatzikonstantinou
2022-12-29  9:01                                                     ` Eli Zaretskii
2022-12-29 17:03                                                       ` Robert Pluim
2022-12-29 17:18                                                         ` Eli Zaretskii
2022-12-30 16:41                                                           ` Robert Pluim
2022-12-31  7:33                                                             ` Eli Zaretskii
2023-01-02 10:24                                                               ` Robert Pluim
2022-12-30 20:45 ` Mattias Engdegård
2022-12-30 22:59   ` Nikolaos Chatzikonstantinou
2022-12-31  7:28     ` Eli Zaretskii
2022-12-31  7:25   ` Eli Zaretskii
2022-12-31  8:58     ` Colin Baxter
2022-12-31  9:44     ` Mattias Engdegård

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=875yh6cly4.fsf@gmail.com \
    --to=rpluim@gmail.com \
    --cc=50507@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=larsi@gnus.org \
    --cc=nchatz314@gmail.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).