GNU bug report logs -
#50507
New function in Emacs GnuTLS implementation
Previous Next
Full log
Message #78 received at 50507 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Thu, Sep 29, 2022 at 10:08 AM Robert Pluim <rpluim <at> gmail.com> wrote:
>
> >>>>> On Thu, 29 Sep 2022 09:44:09 -0400, Nikolaos Chatzikonstantinou <nchatz314 <at> gmail.com> said:
> 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?
Yes.
> 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.
I went with intern. There were some additional #if checks to avoid
dynamically loading the symbol on library Windows if it is not
available. I used plist_member() to differentiate between `:pass nil`
and not specifying `:pass`, and I documented this in the docstrings.
Regards,
Nikolaos Chatzikonstantinou
[0001-add-pass-and-flags-to-gnutls-boot-for-keylist.patch (text/x-patch, attachment)]
This bug report was last modified 2 years and 197 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.