]> git.ipfire.org Git - thirdparty/gnutls.git/log
thirdparty/gnutls.git
4 years agoMerge branch 'ktls_sendfile' into 'master'
Daiki Ueno [Thu, 24 Feb 2022 06:45:49 +0000 (06:45 +0000)] 
Merge branch 'ktls_sendfile' into 'master'

ktls: sendfile

See merge request gnutls/gnutls!1486

4 years agoconfigure.ac: add missing Libs.private for macOS
Marvin Scholz [Wed, 23 Feb 2022 18:03:51 +0000 (19:03 +0100)] 
configure.ac: add missing Libs.private for macOS

On macOS the CoreFoundation and Security frameworks are used by
GnuTLS, however those were missing in the Libs.private in the .pc
resulting in link failures with static builds when relying on the
output of pkg-config --static.

Signed-off-by: Marvin Scholz <epirat07@gmail.com>
4 years agonon-KTLS sendfile test
Frantisek Krenzelok [Wed, 16 Feb 2022 10:25:11 +0000 (11:25 +0100)] 
non-KTLS sendfile test

Signed-off-by: Frantisek Krenzelok <krenzelok.frantisek@gmail.com>
4 years agonon-KTLS sendfile
Frantisek Krenzelok [Wed, 16 Feb 2022 10:23:36 +0000 (11:23 +0100)] 
non-KTLS sendfile

Added: sendfile API functionality for non KTLS enabled builds.
Signed-off-by: Frantisek Krenzelok <krenzelok.frantisek@gmail.com>
4 years agoalgorithms: ensure _list() exclude non-existing algorithms
Daiki Ueno [Tue, 22 Feb 2022 16:09:46 +0000 (17:09 +0100)] 
algorithms: ensure _list() exclude non-existing algorithms

This aligns the behavior of _list() function for sign/pk to the one
for cipher/mac: the former previously returned all the algorithms
defined, while the latter returns only algorithms compiled in.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoRevert "algorithms: compile out GOST algorithm IDs if they are disabled"
Daiki Ueno [Tue, 22 Feb 2022 16:25:26 +0000 (17:25 +0100)] 
Revert "algorithms: compile out GOST algorithm IDs if they are disabled"

This reverts commit aa94bcbdaa55899f4f4ae13dc3e9a8c559354676.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoauto-generated files update
Frantisek Krenzelok [Wed, 16 Feb 2022 10:22:47 +0000 (11:22 +0100)] 
auto-generated files update

Signed-off-by: Frantisek Krenzelok <krenzelok.frantisek@gmail.com>
4 years agoktls: sendfile
Frantisek Krenzelok [Tue, 16 Nov 2021 11:05:53 +0000 (12:05 +0100)] 
ktls: sendfile

added API function: gnutls_record_send_file().
added: _gnutls_ktls_send_file() function which increases the performance
by offloading the file encryption to kernel, thus the data never goes
to userspace.
updated tests/gnutls_ktls to cover new API

Signed-off-by: Frantisek Krenzelok <krenzelok.frantisek@gmail.com>
4 years agoMerge branch 'wip/dueno/gost-fixes' into 'master'
Daiki Ueno [Tue, 22 Feb 2022 13:25:31 +0000 (13:25 +0000)] 
Merge branch 'wip/dueno/gost-fixes' into 'master'

priority, algorithms: compile out GOST algorithms IDs if they are disabled

See merge request gnutls/gnutls!1539

4 years agoalgorithms: compile out GOST algorithm IDs if they are disabled
Daiki Ueno [Mon, 21 Feb 2022 15:36:32 +0000 (16:36 +0100)] 
algorithms: compile out GOST algorithm IDs if they are disabled

When compiled with --disable-gost, gnutls-cli --list still prints GOST
algorithms for public key systems and signatures.  This change adds
compile time checks to suppress them.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'defer-setting-prio-string' into 'master'
Daiki Ueno [Tue, 22 Feb 2022 07:16:27 +0000 (07:16 +0000)] 
Merge branch 'defer-setting-prio-string' into 'master'

[split off !1533] defer setting priority string

See merge request gnutls/gnutls!1540

4 years agolib/algorithms: add UB warnings on late allowlisting API invocations
Alexander Sosedkin [Mon, 21 Feb 2022 17:19:25 +0000 (18:19 +0100)] 
lib/algorithms: add UB warnings on late allowlisting API invocations

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agolib/priority: defer setting system-wide priority string
Alexander Sosedkin [Mon, 14 Feb 2022 12:48:37 +0000 (13:48 +0100)] 
lib/priority: defer setting system-wide priority string

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agolib/priority: split up update_system_wide_priority_string
Alexander Sosedkin [Mon, 14 Feb 2022 11:44:57 +0000 (12:44 +0100)] 
lib/priority: split up update_system_wide_priority_string

This is done in preparation for deferring priority string evaluation.

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agopriority: compile out GOST algorithms IDs if they are disabled
Daiki Ueno [Mon, 21 Feb 2022 15:28:49 +0000 (16:28 +0100)] 
priority: compile out GOST algorithms IDs if they are disabled

When compiled with --disable-gost, gnutls-cli --priority NORMAL --list
still prints GOST algorithms for ciphers, MACs, and signatures.  This
change adds compile time checks to suppress them.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'bump-max-algorithm' into 'master'
Daiki Ueno [Mon, 21 Feb 2022 06:38:28 +0000 (06:38 +0000)] 
Merge branch 'bump-max-algorithm' into 'master'

bump GNUTLS_MAX_ALGORITHM_NUM / MAX_ALGOS

See merge request gnutls/gnutls!1538

4 years agoMerge branch 'typos' into 'master'
Daiki Ueno [Sun, 20 Feb 2022 08:52:24 +0000 (08:52 +0000)] 
Merge branch 'typos' into 'master'

Fix typos

See merge request gnutls/gnutls!1537

4 years agoMerge branch 'zfridric_devel3' into 'master'
Daiki Ueno [Sun, 20 Feb 2022 07:17:39 +0000 (07:17 +0000)] 
Merge branch 'zfridric_devel3' into 'master'

Disable some tests in fips mode

See merge request gnutls/gnutls!1536

4 years agobump GNUTLS_MAX_ALGORITHM_NUM / MAX_ALGOS
Alexander Sosedkin [Fri, 18 Feb 2022 10:05:15 +0000 (11:05 +0100)] 
bump GNUTLS_MAX_ALGORITHM_NUM / MAX_ALGOS

Fedora 36 LEGACY crypto-policy uses allowlisting format
and is long enough to blow past the 64 priority string
elements mark, causing, effectively, priority string truncation.

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agoFix typos
Dimitris Apostolou [Thu, 17 Feb 2022 15:35:59 +0000 (17:35 +0200)] 
Fix typos

Signed-off-by: Dimitris Apostolou <dimitris.apostolou@icloud.com>
4 years agoDisable some tests in fips mode
Zoltan Fridrich [Thu, 17 Feb 2022 10:46:29 +0000 (11:46 +0100)] 
Disable some tests in fips mode

Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>
4 years agoMerge branch 'wip/dueno/iana-cs' into 'master'
Daiki Ueno [Wed, 16 Feb 2022 14:34:34 +0000 (14:34 +0000)] 
Merge branch 'wip/dueno/iana-cs' into 'master'

gnutls_ciphersuite_get: new function to get unique ciphersuite name

Closes #1291

See merge request gnutls/gnutls!1513

4 years agoMerge branch 'wip/dueno/fips-pkcs12' into 'master'
Daiki Ueno [Wed, 16 Feb 2022 07:20:42 +0000 (07:20 +0000)] 
Merge branch 'wip/dueno/fips-pkcs12' into 'master'

pkcs12: tighten algorithm checks under FIPS

See merge request gnutls/gnutls!1531

4 years ago_gnutls_pkcs_raw_{decrypt,encrypt}_data: use public crypto API
Daiki Ueno [Thu, 10 Feb 2022 16:35:13 +0000 (17:35 +0100)] 
_gnutls_pkcs_raw_{decrypt,encrypt}_data: use public crypto API

These functions previously used the internal crypto
API (_gnutls_cipher_*) which does not have algorithm checks for FIPS.

This change switches the code to use the public crypto
API (gnutls_cipher_*) to trigger proper state transitions under FIPS
mode.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agopkcs12: mark MAC generation and verification as FIPS non-approved
Daiki Ueno [Thu, 10 Feb 2022 15:43:08 +0000 (16:43 +0100)] 
pkcs12: mark MAC generation and verification as FIPS non-approved

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'wip/dueno/ktls-return-value' into 'master'
Daiki Ueno [Tue, 15 Feb 2022 18:16:10 +0000 (18:16 +0000)] 
Merge branch 'wip/dueno/ktls-return-value' into 'master'

gnutls_transport_is_ktls_enabled: fix return value of stub

See merge request gnutls/gnutls!1534

4 years agognutls_transport_is_ktls_enabled: fix return value of stub
Daiki Ueno [Tue, 15 Feb 2022 16:38:20 +0000 (17:38 +0100)] 
gnutls_transport_is_ktls_enabled: fix return value of stub

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agognutls_ciphersuite_get: new function to get unique ciphersuite name
Daiki Ueno [Wed, 12 Jan 2022 09:37:53 +0000 (10:37 +0100)] 
gnutls_ciphersuite_get: new function to get unique ciphersuite name

The existing method to obtain the name of the currently negotiated TLS
ciphersuite is as follows:

- call gnutls_cipher_get, gnutls_mac_get, gnutls_kx_get
- call gnutls_cipher_suite_get_name with the value from the above functions

This process is cumbersome and only works with TLS 1.2 or earlier;
moreover the returned names are GnuTLS specific.

This change adds a new function gnutls_ciphersuite_get to eliminate
those limitations.  It returns the "canonical" name of the
ciphersuite, which is mostly identical to the ones registered in IANA,
with an exception for compatibility.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'wip/dueno/nettle-master' into 'master'
Daiki Ueno [Thu, 10 Feb 2022 14:53:29 +0000 (14:53 +0000)] 
Merge branch 'wip/dueno/nettle-master' into 'master'

.gitlab-ci.yml: fix nettle installation path

See merge request gnutls/gnutls!1492

4 years agotls-fuzzer: prolong timeout for FFDHE tests
Daiki Ueno [Mon, 20 Dec 2021 08:28:10 +0000 (09:28 +0100)] 
tls-fuzzer: prolong timeout for FFDHE tests

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years ago.gitlab-ci.yml: prolong timeout for fedora-nettle-minigmp/test
Daiki Ueno [Fri, 26 Nov 2021 19:03:15 +0000 (20:03 +0100)] 
.gitlab-ci.yml: prolong timeout for fedora-nettle-minigmp/test

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years ago.gitlab-ci.yml: fix nettle installation path
Daiki Ueno [Fri, 26 Nov 2021 08:37:58 +0000 (09:37 +0100)] 
.gitlab-ci.yml: fix nettle installation path

.fedora-nettle/build clones the nettle into "nettle-git" and
temporarily change the working directory while buidling it.  After
moving back to the original working directory, the installation path
should be prefixed with "${PWD}/nettle-git/".

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'wip/dueno/fips-rsa-keygen' into 'master'
Daiki Ueno [Thu, 3 Feb 2022 15:35:40 +0000 (15:35 +0000)] 
Merge branch 'wip/dueno/fips-rsa-keygen' into 'master'

rsa_generate_fips186_4_keypair: accept a few more modulus sizes

See merge request gnutls/gnutls!1523

4 years agocerttool --generate-privkey: update warnings on RSA key sizes
Daiki Ueno [Tue, 1 Feb 2022 14:19:52 +0000 (15:19 +0100)] 
certtool --generate-privkey: update warnings on RSA key sizes

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agorsa_generate_fips186_4_keypair: accept a few more modulus sizes
Daiki Ueno [Thu, 27 Jan 2022 17:17:43 +0000 (18:17 +0100)] 
rsa_generate_fips186_4_keypair: accept a few more modulus sizes

While _rsa_generate_fips186_4_keypair was modified to accept modulus
sizes other than 2048 and 3076, rsa_generate_fips186_4_keypair, which
calls that function, was not updated to accept such modulus sizes.

Spotted by Alexander Sosedkin.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'wip/dueno/fedora35' into 'master'
Daiki Ueno [Thu, 3 Feb 2022 13:46:46 +0000 (13:46 +0000)] 
Merge branch 'wip/dueno/fedora35' into 'master'

.gitlab-ci.yml: update Fedora images to Fedora 35

See merge request gnutls/gnutls!1527

4 years ago.gitlab-ci.yml: update Fedora images to Fedora 35
Daiki Ueno [Fri, 7 Jan 2022 10:24:36 +0000 (11:24 +0100)] 
.gitlab-ci.yml: update Fedora images to Fedora 35

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'bump-soname' into 'master'
Daiki Ueno [Tue, 1 Feb 2022 13:39:00 +0000 (13:39 +0000)] 
Merge branch 'bump-soname' into 'master'

Bump libgnutlsxx soname due to ABI break

Closes #1318

See merge request gnutls/gnutls!1528

4 years agoBump libgnutlsxx soname due to ABI break
Seppo Yli-Olli [Mon, 31 Jan 2022 16:32:28 +0000 (18:32 +0200)] 
Bump libgnutlsxx soname due to ABI break

db_check_entry and db_check_entry now have const parameters

Signed-off-by: Seppo Yli-Olli <seppo.yliolli@gmail.com>
4 years agoMerge branch 'wip/dueno/tpmtool' into 'master'
Daiki Ueno [Sat, 29 Jan 2022 12:24:01 +0000 (12:24 +0000)] 
Merge branch 'wip/dueno/tpmtool' into 'master'

Make --with-tpm2 not conflict with --with-tpm

Closes #1313

See merge request gnutls/gnutls!1526

4 years agoMerge branch 'ktls-record-send-fix' into 'master'
Daiki Ueno [Fri, 28 Jan 2022 19:21:51 +0000 (19:21 +0000)] 
Merge branch 'ktls-record-send-fix' into 'master'

ktls: fix _gnutls_ktls_send_control_msg return value

Closes #1314

See merge request gnutls/gnutls!1525

4 years agoMerge branch 'aes-gcm-sizes' into 'master'
Daiki Ueno [Fri, 28 Jan 2022 15:18:16 +0000 (15:18 +0000)] 
Merge branch 'aes-gcm-sizes' into 'master'

buffer size checks in accelerated cipher implementations

See merge request gnutls/gnutls!1521

4 years agoMerge branch 'wip/dueno/doc-fixes2' into 'master'
Daiki Ueno [Fri, 28 Jan 2022 15:17:54 +0000 (15:17 +0000)] 
Merge branch 'wip/dueno/doc-fixes2' into 'master'

Minor fixes after 3.7.3 (mainly documentation)

See merge request gnutls/gnutls!1524

4 years agoconfigure.ac: make --with-tpm and --with-tpm2 independent
Daiki Ueno [Fri, 28 Jan 2022 06:49:42 +0000 (07:49 +0100)] 
configure.ac: make --with-tpm and --with-tpm2 independent

These features are not mutually exclusive, so it doesn't make sense to
disable the TPM 1.2 support with TPM 2.0 support.

Reported by Jan Palus in:
https://gitlab.com/gnutls/gnutls/-/issues/1313

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agogen-getopt.py: avoid struct member name clash with C keywords
Daiki Ueno [Fri, 28 Jan 2022 11:50:56 +0000 (12:50 +0100)] 
gen-getopt.py: avoid struct member name clash with C keywords

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agotests: tcp_connect: avoid resource leak on error path
Daiki Ueno [Fri, 28 Jan 2022 06:55:25 +0000 (07:55 +0100)] 
tests: tcp_connect: avoid resource leak on error path

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoREADME.md: fix versions in build status and add 3.6.x
Daiki Ueno [Fri, 28 Jan 2022 07:48:47 +0000 (08:48 +0100)] 
README.md: fix versions in build status and add 3.6.x

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'ktls_fix' into 'master'
FrantiÅ¡ek Krenželok [Fri, 28 Jan 2022 11:49:32 +0000 (11:49 +0000)] 
Merge branch 'ktls_fix' into 'master'

KTLS: hotfix

See merge request gnutls/gnutls!1522

4 years agoktls: fix _gnutls_ktls_send_control_msg return value
Jan Palus [Fri, 28 Jan 2022 10:07:02 +0000 (11:07 +0100)] 
ktls: fix _gnutls_ktls_send_control_msg return value

always returned 0 on success while contract mandates to return number of
bytes sent

Fixes #1314

Signed-off-by: Jan Palus <jpalus@fastmail.com>
4 years agorelease-steps: fix markup
Daiki Ueno [Fri, 28 Jan 2022 05:35:45 +0000 (06:35 +0100)] 
release-steps: fix markup

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoKTLS: hotfix
Frantisek Krenzelok [Thu, 27 Jan 2022 12:54:21 +0000 (13:54 +0100)] 
KTLS: hotfix

fixed: keys will be set only when both sockets were enabled for ktls
fixed: session->internals.ktls_enabled left uninitialized for non
ktls-enabled build

Signed-off-by: Frantisek Krenzelok <krenzelok.frantisek@gmail.com>
4 years agolib/accelerated: use unlikely on buffer length checks more consistently
Alexander Sosedkin [Wed, 26 Jan 2022 15:25:01 +0000 (16:25 +0100)] 
lib/accelerated: use unlikely on buffer length checks more consistently

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agolib/accelerated: rearranged several size checks to avoid overflow
Alexander Sosedkin [Wed, 26 Jan 2022 15:15:36 +0000 (16:15 +0100)] 
lib/accelerated: rearranged several size checks to avoid overflow

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agotests/scripts/common: fix skipping over x86-specific tests
Alexander Sosedkin [Tue, 25 Jan 2022 11:32:59 +0000 (12:32 +0100)] 
tests/scripts/common: fix skipping over x86-specific tests

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agotests/slow/test-hash-large: output GNUTLS_CPUID_OVERRIDE hints
Alexander Sosedkin [Tue, 25 Jan 2022 12:37:55 +0000 (13:37 +0100)] 
tests/slow/test-hash-large: output GNUTLS_CPUID_OVERRIDE hints

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agotests/slow/cipher-api-test: add happy paths, specific error checks etc
Alexander Sosedkin [Tue, 25 Jan 2022 12:46:46 +0000 (13:46 +0100)] 
tests/slow/cipher-api-test: add happy paths, specific error checks etc

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agolib/accelerated: report GNUTLS_E_SHORT_MEMORY_BUFFER in many places
Alexander Sosedkin [Tue, 25 Jan 2022 12:36:19 +0000 (13:36 +0100)] 
lib/accelerated: report GNUTLS_E_SHORT_MEMORY_BUFFER in many places

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agoMerge branch 'tmp-2022-testsuite-more-bashism' into 'master'
Andreas Metzler [Mon, 24 Jan 2022 17:13:41 +0000 (17:13 +0000)] 
Merge branch 'tmp-2022-testsuite-more-bashism' into 'master'

testsuite: Fix missed instances of &> redirection

See merge request gnutls/gnutls!1519

4 years agoMerge branch 'tmp-2022-testsuite-infinite-loop' into 'master'
Andreas Metzler [Mon, 24 Jan 2022 17:12:50 +0000 (17:12 +0000)] 
Merge branch 'tmp-2022-testsuite-infinite-loop' into 'master'

testsuite: Fix endless loop on /bin/sh without $RANDOM

Closes #1315

See merge request gnutls/gnutls!1520

4 years ago.gitlab-ci.yml: enable hardware acceleration in UB+ASAN jobs
Alexander Sosedkin [Mon, 24 Jan 2022 16:37:24 +0000 (17:37 +0100)] 
.gitlab-ci.yml: enable hardware acceleration in UB+ASAN jobs

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agotests/slow/cipher-api-test: actually test for short buffer...
Alexander Sosedkin [Mon, 24 Jan 2022 16:34:35 +0000 (17:34 +0100)] 
tests/slow/cipher-api-test: actually test for short buffer...

... avoiding the case when different failures mask the intended one

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agolib/accelerated/x86/aes-gcm-x86-pclmul-avx: add short buffer checks
Alexander Sosedkin [Mon, 24 Jan 2022 16:33:48 +0000 (17:33 +0100)] 
lib/accelerated/x86/aes-gcm-x86-pclmul-avx: add short buffer checks

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agotestsuite: Fix endless loop on /bin/sh without $RANDOM
Andreas Metzler [Sun, 23 Jan 2022 12:40:17 +0000 (13:40 +0100)] 
testsuite: Fix endless loop on /bin/sh without $RANDOM

Closes #1315
Signed-off-by: Andreas Metzler <ametzler@bebt.de>
4 years agotestsuite: Fix missed instances of &> redirection
Andreas Metzler [Sun, 23 Jan 2022 06:52:21 +0000 (07:52 +0100)] 
testsuite: Fix missed instances of &> redirection

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
4 years agoMerge branch 'tmp-2022-testsuite-bashism' into 'master'
Andreas Metzler [Sat, 22 Jan 2022 12:40:03 +0000 (12:40 +0000)] 
Merge branch 'tmp-2022-testsuite-bashism' into 'master'

Avoid &> redirection bashism in testsuite

See merge request gnutls/gnutls!1518

4 years agoAvoid &> redirection bashism in testsuite
Andreas Metzler [Fri, 21 Jan 2022 17:25:52 +0000 (18:25 +0100)] 
Avoid &> redirection bashism in testsuite

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
4 years agoMerge branch 'wip/dueno/release-3.7.3' into 'master' 3.7.3
Daiki Ueno [Tue, 18 Jan 2022 06:59:08 +0000 (06:59 +0000)] 
Merge branch 'wip/dueno/release-3.7.3' into 'master'

Release 3.7.3

See merge request gnutls/gnutls!1517

4 years agoRelease 3.7.3
Daiki Ueno [Mon, 17 Jan 2022 15:48:10 +0000 (16:48 +0100)] 
Release 3.7.3

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agotests: privkey-keygen: fix memory leak
Daiki Ueno [Tue, 18 Jan 2022 05:43:07 +0000 (06:43 +0100)] 
tests: privkey-keygen: fix memory leak

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agox509: fix thread-safety in gnutls_x509_trust_list_verify_crt2
Daiki Ueno [Sat, 30 Oct 2021 06:56:07 +0000 (08:56 +0200)] 
x509: fix thread-safety in gnutls_x509_trust_list_verify_crt2

This function previously used gnutls_x509_trust_list_get_issuer
without GNUTLS_TL_GET_COPY flag, which is required when the function
is called from multi-threaded application and PKCS #11 trust store is
in use.

Reported and the change suggested by Remi Gacogne in:
https://gitlab.com/gnutls/gnutls/-/issues/1277

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'wip/dueno/fips-module-version' into 'master'
Daiki Ueno [Mon, 17 Jan 2022 17:53:32 +0000 (17:53 +0000)] 
Merge branch 'wip/dueno/fips-module-version' into 'master'

fips: add mechanism to embed FIPS module name in the library

See merge request gnutls/gnutls!1508

4 years agocli: add --list-config option
Daiki Ueno [Sun, 16 Jan 2022 06:57:02 +0000 (07:57 +0100)] 
cli: add --list-config option

With this option gnutls-cli prints the build-time configuration of the
library, retrieved through gnutls_get_library_config.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agofips: add build option to embed FIPS module info in library config
Daiki Ueno [Tue, 11 Jan 2022 06:36:27 +0000 (07:36 +0100)] 
fips: add build option to embed FIPS module info in library config

This adds a couple of configure options, --with-fips140-module-name
and --with-fips140-module-version, which packagers can use to embed
FIPS module information in the library.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoglobal: add API to retrieve library configuration at run time
Daiki Ueno [Tue, 11 Jan 2022 06:34:59 +0000 (07:34 +0100)] 
global: add API to retrieve library configuration at run time

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoconfigure.ac: emit feature summary as C macro
Daiki Ueno [Sun, 16 Jan 2022 11:17:39 +0000 (12:17 +0100)] 
configure.ac: emit feature summary as C macro

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'wip/dueno/build-fixes3' into 'master'
Daiki Ueno [Sun, 16 Jan 2022 16:48:14 +0000 (16:48 +0000)] 
Merge branch 'wip/dueno/build-fixes3' into 'master'

Minor build fixes for 3.7.3 release (part 2)

See merge request gnutls/gnutls!1516

4 years agotests: suppress GCC -fanalyzer warnings
Daiki Ueno [Sun, 16 Jan 2022 15:19:53 +0000 (16:19 +0100)] 
tests: suppress GCC -fanalyzer warnings

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years ago.gitignore: ignore more files
Daiki Ueno [Sun, 16 Jan 2022 15:00:10 +0000 (16:00 +0100)] 
.gitignore: ignore more files

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agosrc: avoid overriding noinst_PROGRAMS
Daiki Ueno [Sun, 16 Jan 2022 14:59:01 +0000 (15:59 +0100)] 
src: avoid overriding noinst_PROGRAMS

In src, we now have two helper programs: systemkey and dumpcfg.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agobuild: hide maintainer tool invocation behind AM_V_GEN
Daiki Ueno [Thu, 13 Jan 2022 13:30:02 +0000 (14:30 +0100)] 
build: hide maintainer tool invocation behind AM_V_GEN

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'wip/dueno/remove-autogen' into 'master'
Daiki Ueno [Sat, 15 Jan 2022 14:33:53 +0000 (14:33 +0000)] 
Merge branch 'wip/dueno/remove-autogen' into 'master'

remove autogen dependency

Closes #775, #774, and #773

See merge request gnutls/gnutls!1506

4 years agotests: use more aliases in tests for better alias testing coverage
Alexander Sosedkin [Thu, 13 Jan 2022 13:35:07 +0000 (14:35 +0100)] 
tests: use more aliases in tests for better alias testing coverage

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years ago.gitlab-ci.yml: run static analyzers on Python files
Daiki Ueno [Fri, 7 Jan 2022 09:02:32 +0000 (10:02 +0100)] 
.gitlab-ci.yml: run static analyzers on Python files

This runs a couple of code analysis on the Python scripts added to
remove AutoGen dependency.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years ago.gitlab-ci.yml: bump cache key for python3 detection
Daiki Ueno [Fri, 7 Jan 2022 08:58:11 +0000 (09:58 +0100)] 
.gitlab-ci.yml: bump cache key for python3 detection

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoREADME.md: mention Python as requirement instead of AutoGen
Daiki Ueno [Wed, 5 Jan 2022 07:09:36 +0000 (08:09 +0100)] 
README.md: mention Python as requirement instead of AutoGen

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agosrc: remove AutoGen .def files
Daiki Ueno [Wed, 5 Jan 2022 06:39:10 +0000 (07:39 +0100)] 
src: remove AutoGen .def files

As neither the tools nor documentation depends on AutoGen, we don't
need to include the AutoGen definition files.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agodoc: generate man-pages from JSON
Daiki Ueno [Wed, 5 Jan 2022 06:24:03 +0000 (07:24 +0100)] 
doc: generate man-pages from JSON

This replaces man-pages generation previously provided by the autogen
-Tagman.tpl command with a Python script (gen-cmd-man.py).

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agodoc: generate texinfo files from JSON
Daiki Ueno [Tue, 4 Jan 2022 08:06:21 +0000 (09:06 +0100)] 
doc: generate texinfo files from JSON

This replaces texinfo generation previously provided by the autogen
-Tagtexi.tpl command with a Python script (gen-cmd-texi.py).

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agosrc: remove included copy of libopts
Daiki Ueno [Mon, 3 Jan 2022 10:02:43 +0000 (11:02 +0100)] 
src: remove included copy of libopts

As no tools link with libopts anymore, we don't need to include it in
the distribution.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agosrc: replace autoopts/libopts with minimal config parser
Daiki Ueno [Mon, 3 Jan 2022 09:30:34 +0000 (10:30 +0100)] 
src: replace autoopts/libopts with minimal config parser

This replaces configuration file parsing code previously provided by
<autoopts/options.h>, with a minimal compatible implementation.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agosrc: generate option handling code from JSON
Daiki Ueno [Fri, 31 Dec 2021 17:13:58 +0000 (18:13 +0100)] 
src: generate option handling code from JSON

This replaces AutoGen based command-line parser with a Python
script (gen-getopt.py), which takes JSON description as the input.
The included JSON files were converted one-off using the parse-autogen
program: https://gitlab.com/dueno/parse-autogen.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agopython: add library for handling JSON-based option description
Daiki Ueno [Tue, 4 Jan 2022 14:18:26 +0000 (15:18 +0100)] 
python: add library for handling JSON-based option description

This adds the jsonopts Python module used by the command-line parser
generator and documentation generators in the following commits.  This
also bumps the required Python interpreter version to 3.6.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
Co-authored-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agoMerge branch 'wip/dueno/gost-pkcs12' into 'master'
Daiki Ueno [Fri, 14 Jan 2022 10:08:48 +0000 (10:08 +0000)] 
Merge branch 'wip/dueno/gost-pkcs12' into 'master'

pkcs12: use the correct MAC algorithm for GOST key generation

Closes #1225

See merge request gnutls/gnutls!1514

4 years agopkcs12: use the correct MAC algorithm for GOST key generation
Daiki Ueno [Thu, 13 Jan 2022 08:36:52 +0000 (09:36 +0100)] 
pkcs12: use the correct MAC algorithm for GOST key generation

According to the latest TC-26 requirements, the MAC algorithm used for
PBKDF2 should always be HMAC_GOSTR3411_2012_512.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'wip/dueno/build-fixes2' into 'master'
Daiki Ueno [Wed, 12 Jan 2022 10:22:21 +0000 (10:22 +0000)] 
Merge branch 'wip/dueno/build-fixes2' into 'master'

Minor build fixes before the 3.7.3 release

See merge request gnutls/gnutls!1511

4 years agoMerge branch 'wip/dueno/cpuid' into 'master'
Daiki Ueno [Wed, 12 Jan 2022 07:38:42 +0000 (07:38 +0000)] 
Merge branch 'wip/dueno/cpuid' into 'master'

accelerated: fix CPU feature detection for Intel CPUs

See merge request gnutls/gnutls!1487

4 years agoMerge branch 'curve-keygen-allowlist-test' into 'master'
Daiki Ueno [Wed, 12 Jan 2022 07:20:28 +0000 (07:20 +0000)] 
Merge branch 'curve-keygen-allowlist-test' into 'master'

Extend system-override-curves-allowlist test with key generation

See merge request gnutls/gnutls!1500

4 years agotests: simple: check if the digest algorithm is compiled in
Daiki Ueno [Wed, 12 Jan 2022 07:15:24 +0000 (08:15 +0100)] 
tests: simple: check if the digest algorithm is compiled in

When the library is built with --disable-gost, gnutls_digest_get_id
returns GNUTLS_DIG_UNKNOWN for GOST algorithms.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agox509: fix potential wrong usage of memcpy
Daiki Ueno [Tue, 11 Jan 2022 13:07:56 +0000 (14:07 +0100)] 
x509: fix potential wrong usage of memcpy

Spotted by GCC analyzer:

  common.c:552:17: warning: use of NULL 'out.data' where non-null expected [CWE-476] [-Wanalyzer-null-argument]
    552 |                 memcpy(output_data, out.data, (size_t) out.size);
        |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agocert-auth: suppress false-positive warnings with GCC analyzer
Daiki Ueno [Sun, 9 Jan 2022 07:34:52 +0000 (08:34 +0100)] 
cert-auth: suppress false-positive warnings with GCC analyzer

When compiled with gcc -fanalyzer, it reports:

  cert.c: In function '_gnutls_pcert_to_auth_info':
  cert.c:85:17: error: dereference of NULL 'info' [CWE-476] [-Werror=analyzer-null-dereference]
     85 |         if (info->raw_certificate_list != NULL) {

Signed-off-by: Daiki Ueno <ueno@gnu.org>