[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libnettle/libhogweed WIP
From: |
Ted Zlatanov |
Subject: |
Re: libnettle/libhogweed WIP |
Date: |
Tue, 18 Apr 2017 22:08:50 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) |
Update on the patch, summarizing the last few days and restating all my
remaining questions. It's in the scratch/tzz/nettle branch of emacs.git
or at https://gitlab.com/emacs-ci/emacs/merge_requests/2
I appreciate all your help and review.
* all the ciphers, macs, and digests from the GnuTLS crypto API are
available. I'll leave the PK crypto for later, this patch is huge
already.
* docs are up to date with current code
* tests too
* We don't want IVs to be reused for the same KEY, I'll work on that as
recommended in https://tools.ietf.org/html/rfc5116#section-3.2 with an
internal IV counter that can't be overridden and increments every time
it's utilized, which is not too bad.
* the KEY, if it's a string, is cleared by all the new functions that
take it. I think it's best to only allow the key to come from a buffer
or a file anyway, maybe even just a file. So this may not be needed
later. In any case, I don't clear the INPUT or the rest of the
parameters (thanks to Noam for noting that).
* factored out extract_data_from_object() from secure_hash() which
incidentally defines a data format for data extraction
(BUFFER-OR-STRING INPUT-START INPUT-END CODING-SYSTEM NOERROR). This
supports coding systems etc. so it's a good reuse of the secure_hash
code for the GnuTLS crypto API glue.
I'd like to allow files here, but I'd also like to avoid reading them
into a buffer or a string just to use with extract_data_from_object().
There's no Lisp_Object AFAIK to represent a file. So for
BUFFER-OR-STRING what do I use to indicate a file?
"file:///the/path" ; a special string format: URL format?
(file "/the/path") ; a nested list with a symbol?
(insert-file-contents-literally "/the/path") ; a form, called in a temp
buffer?
* added `secure-hash-algorithms' so we know what algorithms are
supported by `secure-hash'. At least for tests it's nice to have this.
* I pin to GnuTLS 3.4.0 instead of AC_CHECK_FUNCS_ONCE because I
couldn't get that autoconf macro to work! I would appreciate some help
for how to use that macro for GnuTLS API functions. I think it needs
to be told to include "gnutls/crypto.h" because the resulting C test
doesn't.
* the ERT tests look at the environment variable `GNUTLS_TEST_VERBOSE=1'
to trigger verbose behavior. I'm not sure if there's a better way, and
would like verbosity control and maybe even per-test-tag output
settings (to make a specific type of test more verbose). It feels like
something ERT should provide.
- Re: libnettle/libhogweed WIP, (continued)
- Re: libnettle/libhogweed WIP, Ted Zlatanov, 2017/04/17
- Re: libnettle/libhogweed WIP, Eli Zaretskii, 2017/04/17
- Re: libnettle/libhogweed WIP, Ted Zlatanov, 2017/04/17
- Re: libnettle/libhogweed WIP, Eli Zaretskii, 2017/04/17
- Re: libnettle/libhogweed WIP, Ted Zlatanov, 2017/04/17
- Re: libnettle/libhogweed WIP, Eli Zaretskii, 2017/04/17
- Re: libnettle/libhogweed WIP, Ted Zlatanov, 2017/04/17
- Re: libnettle/libhogweed WIP, Ted Zlatanov, 2017/04/17
- Re: libnettle/libhogweed WIP, Noam Postavsky, 2017/04/17
- Re: libnettle/libhogweed WIP, Ted Zlatanov, 2017/04/17
- Re: libnettle/libhogweed WIP,
Ted Zlatanov <=
- Re: libnettle/libhogweed WIP, Noam Postavsky, 2017/04/18
- Re: libnettle/libhogweed WIP, Davis Herring, 2017/04/19
- Re: libnettle/libhogweed WIP, Eli Zaretskii, 2017/04/19
- Re: libnettle/libhogweed WIP, Ted Zlatanov, 2017/04/20
- Re: libnettle/libhogweed WIP, Eli Zaretskii, 2017/04/20
- Re: libnettle/libhogweed WIP, Ted Zlatanov, 2017/04/20
- Re: libnettle/libhogweed WIP, Lars Ingebrigtsen, 2017/04/20
- Re: libnettle/libhogweed WIP, Ted Zlatanov, 2017/04/20
- Re: libnettle/libhogweed WIP, Eli Zaretskii, 2017/04/21
- Re: libnettle/libhogweed WIP, Lars Ingebrigtsen, 2017/04/21