bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#50507: New function in Emacs GnuTLS implementation


From: Nikolaos Chatzikonstantinou
Subject: bug#50507: New function in Emacs GnuTLS implementation
Date: Fri, 30 Sep 2022 06:04:30 -0400

On Thu, Sep 29, 2022 at 10:08 AM Robert Pluim <rpluim@gmail.com> wrote:
>
> >>>>> On Thu, 29 Sep 2022 09:44:09 -0400, Nikolaos Chatzikonstantinou 
> >>>>> <nchatz314@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

Attachment: 0001-add-pass-and-flags-to-gnutls-boot-for-keylist.patch
Description: Text Data


reply via email to

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