]>
git.ipfire.org Git - thirdparty/gnutls.git/log
Daiki Ueno [Fri, 23 Jul 2021 08:31:08 +0000 (10:31 +0200)]
fips: add functions to inspect thread-local FIPS operation state
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Thu, 6 Jan 2022 13:01:49 +0000 (13:01 +0000)]
Merge branch 'tmp-2022-gtkdoc' into 'master'
Fix gtk-doc build, Debian bug #
1003075
See merge request gnutls/gnutls!1507
Andreas Metzler [Thu, 6 Jan 2022 06:17:01 +0000 (07:17 +0100)]
Drop unquoted angle brackets in gtk-doc comment.
Signed-off-by: Andreas Metzler <ametzler@bebt.de>
Andreas Metzler [Thu, 6 Jan 2022 06:15:31 +0000 (07:15 +0100)]
Fix gtk-doc build, use http URI in sgml master.
Signed-off-by: Andreas Metzler <ametzler@bebt.de>
Daiki Ueno [Wed, 5 Jan 2022 07:26:01 +0000 (07:26 +0000)]
Merge branch 'p11tool-always-auth' into 'master'
p11tool: add --mark-always-authenticate option
See merge request gnutls/gnutls!1504
Alon Bar-Lev [Sat, 1 Jan 2022 19:12:51 +0000 (21:12 +0200)]
p11tool: add --mark-always-authenticate option
Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Daiki Ueno [Mon, 3 Jan 2022 06:53:34 +0000 (06:53 +0000)]
Merge branch 'copyright' into 'master'
doc: updated copyrights for 2022
See merge request gnutls/gnutls!1505
Alon Bar-Lev [Sun, 2 Jan 2022 17:31:33 +0000 (19:31 +0200)]
doc: updated copyrights for 2022
Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Daiki Ueno [Thu, 18 Nov 2021 18:02:03 +0000 (19:02 +0100)]
accelerated: fix CPU feature detection for Intel CPUs
This fixes read_cpuid_vals to correctly read the CPUID quadruple, as
well as to set the bit the ustream CRYPTOGAMS uses to identify Intel
CPUs.
Suggested by Rafael Gieschke in:
https://gitlab.com/gnutls/gnutls/-/issues/1282
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Wed, 22 Dec 2021 16:00:03 +0000 (17:00 +0100)]
padlock: reset _gnutls_x86_cpuid_s only after padlock check succeeds
Otherwise it clears _gnutls_x86_cpuid_s which may already hold valid
CPUID detected for Intel and AMD CPUs.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Wed, 22 Dec 2021 15:16:02 +0000 (15:16 +0000)]
Merge branch 'wip/dueno/nettle-hash' into 'master'
wrap_nettle_hash_fast: avoid calling _update with zero-length input
See merge request gnutls/gnutls!1503
Daiki Ueno [Wed, 22 Dec 2021 09:37:01 +0000 (09:37 +0000)]
Merge branch 'wip/dueno/hash-copy-doc' into 'master'
gnutls_{hash,hmac}_copy: mention the functions do not always work
See merge request gnutls/gnutls!1502
Daiki Ueno [Wed, 22 Dec 2021 08:12:25 +0000 (09:12 +0100)]
wrap_nettle_hash_fast: avoid calling _update with zero-length input
As Nettle's hash update functions internally call memcpy, providing
zero-length input may cause undefined behavior.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Wed, 22 Dec 2021 07:22:04 +0000 (08:22 +0100)]
gnutls_{hash,hmac}_copy: mention the functions do not always work
It is known that some built-in accelerated implementation, such as
AF_ALG, does not support copying hash/hmac contexts. This expands the
documentation to suggest checking the return value of those functions.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Alexander Sosedkin [Mon, 20 Dec 2021 16:47:36 +0000 (17:47 +0100)]
tests: extend system-override-curves-allowlist with key generation
Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
Alexander Sosedkin [Mon, 20 Dec 2021 15:50:59 +0000 (16:50 +0100)]
tests: tweak system-override-curves-allowlist insignificantly
Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
Daiki Ueno [Sat, 18 Dec 2021 16:37:58 +0000 (16:37 +0000)]
Merge branch 'tpm2-dep-correction' into 'master'
README: document tpm2-tss-engine test dependency
See merge request gnutls/gnutls!1498
Alexander Sosedkin [Fri, 17 Dec 2021 17:49:27 +0000 (18:49 +0100)]
README: document tpm2-tss-engine test dependency
Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
Daiki Ueno [Fri, 17 Dec 2021 16:14:19 +0000 (16:14 +0000)]
Merge branch 'ktls_api' into 'master'
ktls: API
See merge request gnutls/gnutls!1477
Daiki Ueno [Fri, 17 Dec 2021 16:13:55 +0000 (16:13 +0000)]
Merge branch 'aarch64-sha384' into 'master'
use sha384_digest in lib/accelerated/aarch64/sha-aarch64.c sha384
See merge request gnutls/gnutls!1497
Alexander Sosedkin [Thu, 16 Dec 2021 11:46:38 +0000 (12:46 +0100)]
use sha384_digest in lib/accelerated/aarch64/sha-aarch64.c sha384
Mirrors https://gitlab.com/gnutls/gnutls/-/merge_requests/1466
Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
Frantisek Krenzelok [Thu, 2 Dec 2021 15:35:31 +0000 (16:35 +0100)]
ktls: flags
ktls enum flags API
Signed-off-by: Frantisek Krenzelok <krenzelok.frantisek@gmail.com>
Frantisek Krenzelok [Fri, 15 Oct 2021 13:00:17 +0000 (15:00 +0200)]
KTLS: API
ktls is enabled by default, we can check if inicialization was
succesfull with gnutls_transport_is_ktls_enabled
Signed-off-by: Frantisek Krenzelok <krenzelok.frantisek@gmail.com>
Daiki Ueno [Wed, 15 Dec 2021 12:06:15 +0000 (12:06 +0000)]
Merge branch 'fix-asan-out-of-tree' into 'master'
tests: fix out of tree builds with ASAN
See merge request gnutls/gnutls!1496
Daiki Ueno [Tue, 14 Dec 2021 11:27:42 +0000 (11:27 +0000)]
Merge branch 'wip/dueno/sct' into 'master'
Minor cleanup on the new X509 CT code
See merge request gnutls/gnutls!1495
Daiki Ueno [Thu, 9 Dec 2021 10:22:14 +0000 (11:22 +0100)]
.gitignore: ignore tests/x509cert-ct
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Thu, 9 Dec 2021 10:03:50 +0000 (11:03 +0100)]
X509 CT: defer filling in the length field
This eliminates the need of precalculating the payload size, to make
it easier to adapt to new format.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Alexander Sosedkin [Fri, 10 Dec 2021 12:47:21 +0000 (13:47 +0100)]
tests: fix out of tree builds with ASAN
Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
Alexander Sosedkin [Fri, 10 Dec 2021 13:44:31 +0000 (13:44 +0000)]
Merge branch 'test-allowlisting-proto-tcp' into 'master'
test for gnutls_protocol_set_enabled, TCP
See merge request gnutls/gnutls!1494
Alexander Sosedkin [Thu, 11 Nov 2021 13:05:40 +0000 (14:05 +0100)]
tests: add protocol-set-allowlist
Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
Alexander Sosedkin [Thu, 11 Nov 2021 13:04:54 +0000 (14:04 +0100)]
tests: add tcp_connect to utils
Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
Daiki Ueno [Thu, 9 Dec 2021 09:48:58 +0000 (10:48 +0100)]
X509 CT: use size_t for array index instead of unsigned
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Ander Juaristi [Sat, 4 Dec 2021 19:58:02 +0000 (19:58 +0000)]
Merge branch 'aja-certificate-transparency' into 'master'
Read Certificate Transparency (RFC 6962) SCT extension
Closes #232
See merge request gnutls/gnutls!1367
Ander Juaristi [Fri, 26 Nov 2021 17:20:44 +0000 (18:20 +0100)]
Update symbols
Signed-off-by: Ander Juaristi <a@juaristi.eus>
Ander Juaristi [Wed, 17 Nov 2021 18:28:50 +0000 (19:28 +0100)]
devel: Suppress new API functions
Signed-off-by: Ander Juaristi <a@juaristi.eus>
Ander Juaristi [Sat, 28 Nov 2020 18:04:35 +0000 (19:04 +0100)]
x509 CT: Add tests
Signed-off-by: Ander Juaristi <a@juaristi.eus>
Ander Juaristi [Mon, 15 Nov 2021 19:03:12 +0000 (20:03 +0100)]
x509 CT: implement new public API
This commit implements import and export functions for the X.509
Certificate Transparency Signed Certificate Timestamp (SCT) extension
(RFC 6962).
A new constant GNUTLS_X509EXT_OID_CT_SCT is introduced
with the value "1.3.6.1.4.1.11129.2.4.2".
The following new public API functions are introduced:
- gnutls_x509_ext_ct_scts_init
- gnutls_x509_ext_ct_scts_deinit
- gnutls_x509_ext_ct_import_scts
- gnutls_x509_ext_ct_export_scts
- gnutls_x509_ct_sct_get_version
- gnutls_x509_ct_sct_get
Signed-off-by: Ander Juaristi <a@juaristi.eus>
František Krenželok [Thu, 2 Dec 2021 11:14:40 +0000 (11:14 +0000)]
Merge branch 'wip/dueno/abi-check-latest' into 'master'
build: stop running abi-dump-latest at "make files-update"
See merge request gnutls/gnutls!1491
Daiki Ueno [Tue, 30 Nov 2021 13:33:33 +0000 (14:33 +0100)]
devel/libgnutls.abignore: ignore drbg_aes_* functions
These functions are only defined when compiled with
--enable-fips140-mode.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Mon, 29 Nov 2021 14:20:48 +0000 (14:20 +0000)]
Merge branch 'wip/dueno/config-allowlisting' into 'master'
priority: support allowlisting in configuration file
Closes #1172
See merge request gnutls/gnutls!1427
Daiki Ueno [Thu, 6 May 2021 10:41:40 +0000 (12:41 +0200)]
priority: support allowlisting in configuration file
This adds a new mode of interpreting the [overrides] section. If
"override-mode" is set to "allowlisting" in the [global] section, all
the algorithms (hashes, signature algorithms, curves, and versions)
are initially marked as insecure/disabled. Then the user can enable
them by specifying allowlisting keywords such as "secure-hash" in the
[overrides] section.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Co-authored-by: Alexander Sosedkin <asosedkin@redhat.com>
Daiki Ueno [Sat, 27 Nov 2021 16:57:42 +0000 (16:57 +0000)]
Merge branch 'wip/dueno/valgrind-tests' into 'master'
build: update to use the latest valgrind-tests module from Gnulib
Closes #1253
See merge request gnutls/gnutls!1488
Daiki Ueno [Sat, 27 Nov 2021 15:48:51 +0000 (16:48 +0100)]
CONTRIBUTING.md: clarify how to introduce new API
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Sat, 27 Nov 2021 15:39:41 +0000 (16:39 +0100)]
release-steps: "make abi-dump-latest" at release time
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Sat, 27 Nov 2021 15:36:17 +0000 (16:36 +0100)]
build: stop running abi-dump-latest at "make files-update"
The procedure of registering ABI updates has changed in
bd3c78b9d10937adb1855b85bca1864972a1c986 .
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Wed, 24 Nov 2021 17:44:13 +0000 (18:44 +0100)]
build: update to use the latest valgrind-tests module from Gnulib
This adjust the existing valgrind invocations in the test suite with:
https://www.gnu.org/software/gnulib/manual/html_node/Valgrind-options.html
- make --suppressions option to per directory, using AM_VALGRINDFLAGS
- use LOG_VALGRIND for LOG_COMPILER
- quote '$(LOG_VALGRIND)' in TESTS_ENVIRONMENT
- move gl_VALGRIND_TESTS_DEFAULT_NO call before gl_INIT
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Fri, 26 Nov 2021 17:11:45 +0000 (17:11 +0000)]
Merge branch 'fix_non_vla_02' into 'master'
sockets: fixed building for Windows with compilers without VLA support (alternative version)
See merge request gnutls/gnutls!1490
Evgeny Grin [Fri, 26 Nov 2021 11:08:22 +0000 (14:08 +0300)]
sockets: fixed compiler warning on Windows x32
Signed-off-by: Evgeny Grin <k2k@narod.ru>
Evgeny Grin [Fri, 26 Nov 2021 10:50:52 +0000 (13:50 +0300)]
sockets: fixed building for Windows with compilers without VLA support
Signed-off-by: Evgeny Grin <k2k@narod.ru>
Daiki Ueno [Wed, 5 May 2021 14:27:55 +0000 (16:27 +0200)]
priority: refactor config file parsing
This adds the following refactoring:
- avoid side-effects during parsing the config file, by separating
application phase; the parsed configuration can be applied globally
with cfg_apply, after validation
- make _gnutls_*_mark_{disabled,insecure} take an ID instead of the
name
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Mon, 22 Nov 2021 10:59:38 +0000 (10:59 +0000)]
Merge branch 'wip/dueno/thr' into 'master'
locks: couple of improvements using Gnulib glthread
See merge request gnutls/gnutls!1485
Daiki Ueno [Tue, 16 Nov 2021 17:46:41 +0000 (18:46 +0100)]
locks: deprecate gnutls_global_set_mutex
As the library now uses static mutexes, rwlocks, and onces, it doesn't
make much sense to only replace dynamic mutex usage.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Sun, 14 Nov 2021 13:57:15 +0000 (14:57 +0100)]
locks: use once execution for on-demand initialization of globals
This makes sure that the global variables are initialized only once.
Most of those variables are initialized at ELF constructor, though a
couple of occasions they are initialized on-demand: the global keylog
file pointer and TPM2 TCTI context. To properly protect the
initialization this patch uses gl_once provided by Gnulib.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Sun, 14 Nov 2021 15:39:29 +0000 (16:39 +0100)]
locks: rework rwlock primitives
Remove GNUTLS_STATIC_RWLOCK_*LOCK macros and respect return values of
rwlock primitives.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Tue, 16 Nov 2021 17:20:24 +0000 (18:20 +0100)]
pkcs11: switch to using static mutex
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Tue, 16 Nov 2021 17:00:12 +0000 (18:00 +0100)]
verify-tofu: switch to using static mutex for locking
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Sun, 14 Nov 2021 13:04:59 +0000 (14:04 +0100)]
locks: replace custom mutex wrappers with "glthread/lock.h"
As Gnulib provides portability wrappers of mutex implementations, we
don't need to provide similar wrappers by ourselves.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Sun, 14 Nov 2021 07:12:38 +0000 (07:12 +0000)]
Merge branch 'wip/dueno/tpm2' into 'master'
Port openconnect TPM2 code
Closes #594
See merge request gnutls/gnutls!1460
Nikos Mavrogiannopoulos [Fri, 22 Mar 2019 13:52:10 +0000 (14:52 +0100)]
Port openconnect TPM2 code
This introduces transparent loading of TPM2 keys which are in PEM
form by gnutls_privkey_import_x509_raw() and higher level functions
which wrap it.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Co-authored-by: David Woodhouse <dwmw2@infradead.org>
Co-authored-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Thu, 11 Nov 2021 06:22:34 +0000 (06:22 +0000)]
Merge branch 'abs-top-builddir-fix' into 'master'
tests: pass $abs_top_builddir more consistently
See merge request gnutls/gnutls!1484
Alexander Sosedkin [Mon, 8 Nov 2021 18:07:28 +0000 (19:07 +0100)]
tests: set $abs_top_builddir in more places
`$abs_top_builddir` has been used all across tests' subdirectories
(through tests/scripts/common.sh)
but has only been defined for tests/suite/ ones.
Defining it in other Makefiles where `top_builddir` is being passed.
Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
Daiki Ueno [Fri, 5 Nov 2021 14:08:17 +0000 (14:08 +0000)]
Merge branch 'wip/dueno/system_wide_priority_strings_init' into 'master'
priority: rework config reloading logic and locking
See merge request gnutls/gnutls!1483
Daiki Ueno [Sat, 30 Oct 2021 15:17:47 +0000 (17:17 +0200)]
priority: rework config reloading logic and locking
The previous reloading logic relied on the existence of [priority]
section (in the initial loading) as an indicator whether the file is
loaded. This didn't work well in the following cases:
- when the section didn't exist initially and then is added later
- when the section existed initially and then is removed later
To handle these cases, this change adds a new flag
system_priority_file_loaded which can be used together with the mtime
check.
This also adds an rwlock to protect global configuration.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Mon, 1 Nov 2021 15:46:50 +0000 (16:46 +0100)]
Revert "priority: fix potential race in reloading system-wide config"
This reverts commit
890c6937a3cfb4a0704bc815324221ec4cb89840 .
Considering the entire logic around reloading the config file, the fix
was suboptimal.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Sat, 30 Oct 2021 15:28:47 +0000 (15:28 +0000)]
Merge branch 'wip/dueno/abi-dump-release' into 'master'
devel: update release procedure taking into account of abi-dump
See merge request gnutls/gnutls!1481
Daiki Ueno [Sat, 30 Oct 2021 08:49:28 +0000 (08:49 +0000)]
Merge branch 'wip/dueno/priority-race' into 'master'
priority: fix potential race in reloading system-wide config
See merge request gnutls/gnutls!1482
Daiki Ueno [Thu, 28 Oct 2021 16:55:26 +0000 (18:55 +0200)]
priority: fix potential race in reloading system-wide config
_gnutls_update_system_priorities is called from gnutls_priority_set*
functions every time when the SYSTEM keyword is used and updates a
global variable system_wide_priority_strings if the configuration
changes. Although the critical path is protected with mtime check, it
should also hold a lock to avoid occasional race condition in
multi-thread programs. This also clears
system_wide_priority_strings_init upon unloading and before reloading
the config file (thanks to Alexander Sosedkin).
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Thu, 28 Oct 2021 17:04:11 +0000 (17:04 +0000)]
Merge branch 'wip/asosedki/gitlab-ci-speed-up-cppcheck' into 'master'
.gitlab-ci.yml: add caching to cppcheck
See merge request gnutls/gnutls!1480
Alexander Sosedkin [Thu, 21 Oct 2021 10:46:56 +0000 (12:46 +0200)]
.gitlab-ci.yml: add caching to cppcheck
Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
Daiki Ueno [Tue, 26 Oct 2021 05:50:16 +0000 (07:50 +0200)]
devel: update release procedure taking into account of abi-dump
As the *.abi files have been moved into a separate repository, we need
an extra step to update the repository for new release.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Thu, 21 Oct 2021 10:56:06 +0000 (10:56 +0000)]
Merge branch 'wip/asosedki/hash-filters-prf' into 'master'
make insecure-hash filter out ciphersuites on ->prf as well
See merge request gnutls/gnutls!1479
Alexander Sosedkin [Wed, 20 Oct 2021 15:49:56 +0000 (17:49 +0200)]
NEWS: add a notice of insecure-hash filtering ciphersuites on PRF
Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
Alexander Sosedkin [Wed, 20 Oct 2021 12:37:07 +0000 (14:37 +0200)]
tests: add system-override-hash-influences-prf
Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
Alexander Sosedkin [Wed, 20 Oct 2021 12:36:44 +0000 (14:36 +0200)]
priority: filter out ciphersuites with prf blocked by insecure-hash
Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
Alexander Sosedkin [Wed, 20 Oct 2021 12:34:58 +0000 (14:34 +0200)]
priority: refactor ciphersuite filtering
Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
Daiki Ueno [Wed, 20 Oct 2021 06:36:45 +0000 (06:36 +0000)]
Merge branch 'ktls' into 'master'
ktls: basic implementation of SW mode
See merge request gnutls/gnutls!1451
Hedgehog5040 [Fri, 14 May 2021 13:56:06 +0000 (15:56 +0200)]
ktls: basic implementation of SW mode
ktls enables us to offload encryption/decryption to the kernel
prerequisites:
- configured with `--enable-ktls`
- tls module `modprobe tls` check with 'lsmod | grep tls'
- per connection:
gnutls_transport_set_int{2} must be set
When prerequisities are met then ktls is used by default.
If GnuTLS encounters a error during KTLS initialization, it will
not use ktls and fallback to userspace.
Signed-off-by: Frantisek Krenzelok <krenzelok.frantisek@gmail.com>
František Krenželok [Tue, 19 Oct 2021 13:16:57 +0000 (13:16 +0000)]
Merge branch 'wip/dueno/abi-dump' into 'master'
devel: move .abi files into a separate repository
See merge request gnutls/gnutls!1478
Daiki Ueno [Mon, 18 Oct 2021 14:27:46 +0000 (16:27 +0200)]
devel: make use of abidw --drop-private-types
This will produce more compact abixml output.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Mon, 18 Oct 2021 09:49:46 +0000 (11:49 +0200)]
devel: move .abi files into a separate repository
Changes to the .abi files are a bit too noisy to track in the main
repository. This moves the files out of this repository and embed it
as a git submodule.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Fri, 24 Sep 2021 05:45:10 +0000 (05:45 +0000)]
Merge branch 'mingw64-detection' into 'master'
fix mingw64 detection
See merge request gnutls/gnutls!1476
Steve Lhomme [Thu, 23 Sep 2021 07:03:50 +0000 (09:03 +0200)]
fix mingw64 detection
__MINGW64__ is only defined for 64 bits builds of mingw64 [1].
The intended test what to only use the CertEnumCRLsInStoreFunc via LoadLibrary
for some ancient mingw32 build and never for mingw64.
__MINGW64_VERSION_MAJOR is a proper define to identify mingw64 against mingw32.
[1] https://sourceforge.net/p/predef/wiki/Compilers/
Co-authored-by: Johannes Kauffmann <johanneskauffmann@hotmail.com>
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
Daiki Ueno [Thu, 23 Sep 2021 07:50:38 +0000 (07:50 +0000)]
Merge branch 'x25519-and-x448' into 'master'
certtool: generate, parse, and manipulate X25519 and X448 pubkeys, privkeys, and certificates
See merge request gnutls/gnutls!1428
Daiki Ueno [Mon, 20 Sep 2021 15:24:04 +0000 (15:24 +0000)]
Merge branch 'wip/dueno/shake' into 'master'
wrap_nettle_hash_exists: add missing hash algorithms
See merge request gnutls/gnutls!1473
Daiki Ueno [Fri, 17 Sep 2021 09:03:25 +0000 (11:03 +0200)]
wrap_nettle_hash_exists: add missing hash algorithms
This adds SHAKE-128, SHAKE-256, and RIPEMD-160 to the supported
algorithms by nettle. While SHAKEs are not a hash algorithm but an
XOF, it would be consistent to report they are implemented.
The simple test is expanded to exercise the code
path (gnutls_digest_get_id → wrap_nettle_hash_exists).
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daiki Ueno [Sat, 18 Sep 2021 07:12:05 +0000 (07:12 +0000)]
Merge branch 'wip/dueno/oss-fuzz-focal' into 'master'
fuzz: explicitly supply LDFLAGS to clang++ command line
See merge request gnutls/gnutls!1474
Daiki Ueno [Sat, 18 Sep 2021 05:18:59 +0000 (07:18 +0200)]
fuzz: explicitly supply LDFLAGS to clang++ command line
This prevented fuzzer programs being linked in Ubuntu 20.03, used in
oss-fuzz.
Signed-off-by: Daiki Ueno <ueno@gnu.org>
Daniel Kahn Gillmor [Fri, 17 Sep 2021 20:37:24 +0000 (16:37 -0400)]
lib/x509: Avoid memcpy when string is empty
This fixes an ASAN warning in fuzz/gnutls_private_key_parser_fuzzer
when run against the malformed private key
fuzz/gnutls_private_key_parser_fuzzer.in/
10a5c92fa30ddb6cbb4286d7699b2b7a7e032b17
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Wed, 11 Aug 2021 21:31:40 +0000 (17:31 -0400)]
NEWS: added news about certtool handling x448 and x25519
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Wed, 11 Aug 2021 19:59:21 +0000 (15:59 -0400)]
tests: add test for generating x25519 and x448 certificates
These certs should work just fine for the purposes of cryptographic
e-mail (S/MIME).
These usage flags are also used in the end-entity certificates found
in https://datatracker.ietf.org/doc/draft-ietf-lamps-samples/
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Fri, 14 May 2021 21:14:41 +0000 (17:14 -0400)]
tests: update details about sample X25519 certificate
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Sat, 8 May 2021 00:14:53 +0000 (20:14 -0400)]
certtool: add x448 and x25519 for --key-type
This is a simple extension of the certtool command-line interface.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Sat, 8 May 2021 02:25:41 +0000 (22:25 -0400)]
certtool: when making X25519 or X448 certs, always use "key agreement"
This is related to #1227 -- but in this case, it's enforcing a
requirement of RFC 8410 §5.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Sat, 8 May 2021 01:53:47 +0000 (21:53 -0400)]
x509: handle X25519 and X448 in read_pubkey
_gnutls_x509_read_ecdh_pubkey is basically a clone of
_gnutls_x509_read_eddsa_pubkey. Another form of implementation
would be to collapse these two static functions into a common
function for all "CFRG" curves.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Sat, 8 May 2021 01:30:53 +0000 (21:30 -0400)]
nettle: handle X25519 and X448 in pk_fixup
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Sat, 8 May 2021 00:23:41 +0000 (20:23 -0400)]
x509: enable importing secret keys for X448 and X25519.
_decode_pkcs8_modern_ecdh_key is virtually the same as
_decode_pkcs8_eddsa_key. Another implementation would be
to collapse these two functions into one, since their structure
is identical.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Fri, 7 May 2021 23:53:28 +0000 (19:53 -0400)]
Enable X25519 and X448 everywhere that EdDSA is supported.
These are just trivial extension points where the codepath is the same
for the ECDH scheme as it is for the EdDSA scheme.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Sat, 8 May 2021 00:14:07 +0000 (20:14 -0400)]
x509: handle X448 and X25519 in write_pubkey
This uses the same structure as _gnutls_x509_write_eddsa_pubkey.
Another way to write this would be to combine those two functions,
despite X448 and X25519 not being EdDSA at all.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Sat, 8 May 2021 00:12:15 +0000 (20:12 -0400)]
pubkey: handle X25519 and X448 in gnutls_pubkey_import_pkcs11
I am not confident in the strings I chose to match on in
ASN1_ETYPE_PRINTABLE_STRING, in that I do not know what registry
I should look this up in.
The *parse_ecc_ecdh_params and *import_ecc_ecdh functions are tweaked
analogs to the eddsa versions of those functions.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Daniel Kahn Gillmor [Fri, 7 May 2021 23:48:10 +0000 (19:48 -0400)]
nettle: extend pk_verify_priv_params to handle X25519 and X448
This is basically a copy of the EdDSA case in the switch statement.
Another way to implement it would be to augment the EdDSA case (and
the functions it uses) to have that case also handle ECDH use of the
CFRG curves.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>