]> git.ipfire.org Git - thirdparty/gnutls.git/log
thirdparty/gnutls.git
3 years agoReport system config file location via gnutls-cli
Zoltan Fridrich [Fri, 9 Sep 2022 11:32:16 +0000 (13:32 +0200)] 
Report system config file location via gnutls-cli

Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>
3 years agoMerge branch 'fix_nettle_alignment' into 'master'
Daiki Ueno [Tue, 30 Aug 2022 00:22:35 +0000 (00:22 +0000)] 
Merge branch 'fix_nettle_alignment' into 'master'

cipher: Ensure correct alignment

See merge request gnutls/gnutls!1633

3 years agoMerge branch 'wip/dueno/cb-fixes' into 'master'
Daiki Ueno [Mon, 29 Aug 2022 07:47:13 +0000 (07:47 +0000)] 
Merge branch 'wip/dueno/cb-fixes' into 'master'

doc: mention GNUTLS_CB_TLS_EXPORTER

Closes #1391

See merge request gnutls/gnutls!1636

3 years agosrc: request tls-exporter only when unique master secrets are used
Daiki Ueno [Sat, 20 Aug 2022 02:06:07 +0000 (11:06 +0900)] 
src: request tls-exporter only when unique master secrets are used

This is to comply with RFC9266 4.2.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
3 years agognutls_session_channel_binding: perform check on "tls-exporter"
Daiki Ueno [Sun, 28 Aug 2022 21:41:46 +0000 (06:41 +0900)] 
gnutls_session_channel_binding: perform check on "tls-exporter"

According to RFC9622 4.2, the "tls-exporter" channel binding is only
usable when the handshake is bound to a unique master secret.  This
adds a check whether either TLS 1.3 or extended master secret
extension is negotiated.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
3 years agodoc: mention GNUTLS_CB_TLS_EXPORTER
Daiki Ueno [Sat, 20 Aug 2022 01:58:23 +0000 (10:58 +0900)] 
doc: mention GNUTLS_CB_TLS_EXPORTER

Signed-off-by: Daiki Ueno <ueno@gnu.org>
3 years agocipher: Ensure correct alignment
Doug Nazar [Tue, 16 Aug 2022 05:47:49 +0000 (01:47 -0400)] 
cipher: Ensure correct alignment

Unsigned math is required to calculate the current alignment.

Signed-off-by: Doug Nazar <nazard@nazar.ca>
3 years agoMerge branch 'wip/dueno/cpuid-fixes' into 'master'
Daiki Ueno [Wed, 24 Aug 2022 13:37:56 +0000 (13:37 +0000)] 
Merge branch 'wip/dueno/cpuid-fixes' into 'master'

accelerated: clear AVX bits if it cannot be queried through XSAVE

Closes #1282

See merge request gnutls/gnutls!1631

3 years agoMerge branch 'unload' into 'master'
Daiki Ueno [Tue, 23 Aug 2022 14:56:56 +0000 (14:56 +0000)] 
Merge branch 'unload' into 'master'

Unload custom allocators in gnutls_crypto_deinit()

Closes #1398

See merge request gnutls/gnutls!1637

3 years agoUnload custom allocators in gnutls_crypto_deinit()
Tobias Heider [Tue, 23 Aug 2022 11:47:38 +0000 (13:47 +0200)] 
Unload custom allocators in gnutls_crypto_deinit()

Closes #1398

Signed-off-by: Tobias Heider <tobias.heider@canonical.com>
3 years agoaccelerated: clear AVX bits if it cannot be queried through XSAVE
Daiki Ueno [Mon, 15 Aug 2022 00:39:18 +0000 (09:39 +0900)] 
accelerated: clear AVX bits if it cannot be queried through XSAVE

The algorithm to detect AVX is described in 14.3 of "Intel® 64 and IA-32
Architectures Software Developer’s Manual".

GnuTLS previously only followed that algorithm when registering the
crypto backend, while the CRYPTOGAMS derived SHA code assembly expects
that the extension bits are propagated to _gnutls_x86_cpuid_s.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
3 years agoMerge branch 'wip/dueno/cligen-update' into 'master'
Daiki Ueno [Thu, 18 Aug 2022 06:58:51 +0000 (06:58 +0000)] 
Merge branch 'wip/dueno/cligen-update' into 'master'

srptool: resurrect default value for -i

Closes #1394

See merge request gnutls/gnutls!1634

3 years agosrptool: resurrect default value for -i
Daiki Ueno [Thu, 18 Aug 2022 00:01:20 +0000 (09:01 +0900)] 
srptool: resurrect default value for -i

The default option value for -i (--index) was dropped during the
cligen conversion.  This adds it back for compatibility with the
existing command line usage.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
3 years agocligen: update git submodule
Daiki Ueno [Thu, 18 Aug 2022 00:00:44 +0000 (09:00 +0900)] 
cligen: update git submodule

Signed-off-by: Daiki Ueno <ueno@gnu.org>
3 years agoMerge branch 'restrict-allowlisting-api' into 'master'
Daiki Ueno [Wed, 17 Aug 2022 08:59:54 +0000 (08:59 +0000)] 
Merge branch 'restrict-allowlisting-api' into 'master'

restrict allowlisting api to before priority string initialization

See merge request gnutls/gnutls!1533

3 years agoMerge branch 'wip/dueno/fips-rsa-key-sizes' into 'master'
Daiki Ueno [Tue, 16 Aug 2022 14:20:15 +0000 (14:20 +0000)] 
Merge branch 'wip/dueno/fips-rsa-key-sizes' into 'master'

fips: mark RSA SigVer operation approved for known modulus sizes

See merge request gnutls/gnutls!1630

3 years agotests: add fips-rsa-sizes
Alexander Sosedkin [Tue, 16 Aug 2022 08:34:05 +0000 (10:34 +0200)] 
tests: add fips-rsa-sizes

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
3 years agoMerge branch 'int-conversion' into 'master'
Daiki Ueno [Tue, 16 Aug 2022 07:50:23 +0000 (07:50 +0000)] 
Merge branch 'int-conversion' into 'master'

windows: Avoid -Wint-conversion errors

See merge request gnutls/gnutls!1632

3 years agoupdate documentation on allowlisting API
Alexander Sosedkin [Wed, 16 Feb 2022 13:36:48 +0000 (14:36 +0100)] 
update documentation on allowlisting API

(in a separate commit so that it's easier to compare)

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
3 years agoplumb allowlisting API through the config, restrict usage to early times
Alexander Sosedkin [Wed, 16 Feb 2022 13:28:18 +0000 (14:28 +0100)] 
plumb allowlisting API through the config, restrict usage to early times

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
3 years agowindows: Avoid -Wint-conversion errors
Martin Storsjo [Mon, 15 Aug 2022 20:50:16 +0000 (23:50 +0300)] 
windows: Avoid -Wint-conversion errors

Clang 15 made "incompatible pointer to integer conversion" an error
instead of a plain warning. This fixes errors like these:

system/keys-win.c:257:13: error: incompatible pointer to integer conversion initializing 'HCRYPTHASH' (aka 'unsigned long') with an expression of type 'void *' [-Wint-conversion]
        HCRYPTHASH hHash = NULL;
                   ^       ~~~~

Signed-off-by: Martin Storsjo <martin@martin.st>
3 years agolib/priority: extract parts of cfg_apply into cfg_*_set_array*
Alexander Sosedkin [Tue, 15 Feb 2022 15:26:52 +0000 (16:26 +0100)] 
lib/priority: extract parts of cfg_apply into cfg_*_set_array*

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
3 years agolib/priority: move sigalgs filtering to set_ciphersuite_list
Alexander Sosedkin [Mon, 14 Feb 2022 17:00:25 +0000 (18:00 +0100)] 
lib/priority: move sigalgs filtering to set_ciphersuite_list

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
3 years agoMerge branch 'drop-3des-selftest' into 'master'
Daiki Ueno [Fri, 12 Aug 2022 23:07:11 +0000 (23:07 +0000)] 
Merge branch 'drop-3des-selftest' into 'master'

fips: disable GNUTLS_CIPHER_3DES_CBC self-test

See merge request gnutls/gnutls!1629

3 years agonettle: mark RSA SigVer operation approved for known modulus sizes
Daiki Ueno [Wed, 3 Aug 2022 07:39:47 +0000 (16:39 +0900)] 
nettle: mark RSA SigVer operation approved for known modulus sizes

SP800-131A rev2 suggests certain RSA modulus sizes under 2048
bits (1024, 1280, 1536, and 1792) may continue to be used for
signature verification but not for signature generation.  This loosen
the current service indicator report to approve them.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
3 years agonettle: check RSA modulus size in bits rather than bytes
Daiki Ueno [Tue, 9 Aug 2022 03:55:04 +0000 (12:55 +0900)] 
nettle: check RSA modulus size in bits rather than bytes

Previously we checked RSA modulus size clamped to byte unit instead of
bits.  This makes the check stricter by explicitly calculating the
modulus size in bits.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
3 years agofips: disable GNUTLS_CIPHER_3DES_CBC self-test
Alexander Sosedkin [Tue, 9 Aug 2022 10:08:24 +0000 (12:08 +0200)] 
fips: disable GNUTLS_CIPHER_3DES_CBC self-test

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
3 years agoMerge branch 'wip/dueno/interruptible' into 'master'
Daiki Ueno [Tue, 9 Aug 2022 10:31:48 +0000 (10:31 +0000)] 
Merge branch 'wip/dueno/interruptible' into 'master'

.gitlab-ci.yml: mark all CI jobs interruptible

Closes #1390

See merge request gnutls/gnutls!1628

3 years agoMerge branch 'interop' into 'master'
Daiki Ueno [Tue, 9 Aug 2022 09:44:36 +0000 (09:44 +0000)] 
Merge branch 'interop' into 'master'

interoperability testing with openssl

See merge request gnutls/gnutls!1623

3 years agoMerge branch 'tmp-ametzler-2022-bashism' into 'master'
Andreas Metzler [Tue, 9 Aug 2022 08:17:41 +0000 (08:17 +0000)] 
Merge branch 'tmp-ametzler-2022-bashism' into 'master'

Avoid &> redirection bashism in testsuite

See merge request gnutls/gnutls!1627

3 years ago.gitlab-ci.yml: mark all CI jobs interruptible
Daiki Ueno [Mon, 8 Aug 2022 04:54:13 +0000 (13:54 +0900)] 
.gitlab-ci.yml: mark all CI jobs interruptible

This allows previous pipelines to be cancelled if a new job is
submitted subsequently:
https://docs.gitlab.com/ee/ci/yaml/#interruptible

Suggested-by: Zoltán Fridrich <zfridric@redhat.com>
Signed-off-by: Daiki Ueno <ueno@gnu.org>
3 years agoMoved TLS interoperability tests to submodule.
Stanislav Zidek [Mon, 8 Aug 2022 21:07:21 +0000 (23:07 +0200)] 
Moved TLS interoperability tests to submodule.

Signed-off-by: Stanislav Zidek <szidek@redhat.com>
4 years agoAvoid &> redirection bashism in testsuite
Andreas Metzler [Sun, 31 Jul 2022 08:28:15 +0000 (10:28 +0200)] 
Avoid &> redirection bashism in testsuite

Broken by 7b700dbcd5907944a7dd2f74cd26ad8586cd4bac

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
4 years agointeroperability testing with openssl
Stanislav Zidek [Thu, 11 Feb 2021 12:57:27 +0000 (13:57 +0100)] 
interoperability testing with openssl

GitLab CI extended to run 2way interoperability tests with openssl on
Fedora. Also prepared for adding further interoperability tests once
they are in better shape.

Signed-off-by: Stanislav Zidek <szidek@redhat.com>
4 years agoMerge branch 'wip/dueno/fips-pbes1' into 'master'
Daiki Ueno [Thu, 4 Aug 2022 09:28:58 +0000 (09:28 +0000)] 
Merge branch 'wip/dueno/fips-pbes1' into 'master'

_gnutls_decrypt_pbes1_des_md5_data: use public crypto API

Closes #1392

See merge request gnutls/gnutls!1626

4 years ago_gnutls_decrypt_pbes1_des_md5_data: use public crypto API
Daiki Ueno [Thu, 4 Aug 2022 07:37:51 +0000 (16:37 +0900)] 
_gnutls_decrypt_pbes1_des_md5_data: use public crypto API

This is a follow-up of e7f9267342bc2231149a640163c82b63c86f1dfd.  In
the decryption code path with PBES1, algorithm checks for FIPS was not
applied, because it used internal functions that bypass those checks.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'jas/doc-fix-tls-exporter' into 'master'
Daiki Ueno [Sun, 31 Jul 2022 01:41:27 +0000 (01:41 +0000)] 
Merge branch 'jas/doc-fix-tls-exporter' into 'master'

Update doc for GNUTLS_CB_TLS_EXPORTER towards RFC9266.

See merge request gnutls/gnutls!1621

4 years agoUpdate doc for GNUTLS_CB_TLS_EXPORTER towards RFC9266.
Simon Josefsson [Sat, 30 Jul 2022 19:06:42 +0000 (21:06 +0200)] 
Update doc for GNUTLS_CB_TLS_EXPORTER towards RFC9266.

Signed-off-by: Simon Josefsson <simon@josefsson.org>
4 years agoMerge branch 'ktls_fix' into 'master'
Daiki Ueno [Fri, 29 Jul 2022 11:02:28 +0000 (11:02 +0000)] 
Merge branch 'ktls_fix' into 'master'

KTLS:  hotfix

See merge request gnutls/gnutls!1620

4 years agoKTLS: hotfix
Frantisek Krenzelok [Fri, 29 Jul 2022 08:38:42 +0000 (10:38 +0200)] 
KTLS: hotfix

session->internals.pull_func is set to system_read during gnutls_init()
so check for user set pull/push function added in commit mentioned
bellow will never pass.

source: 2d3cba6bb21acb40141180298f3924c73c7de8f8

Signed-off-by: Frantisek Krenzelok <krenzelok.frantisek@gmail.com>
4 years agoMerge branch 'zfridric_devel' into 'master' 3.7.7
Zoltán Fridrich [Thu, 28 Jul 2022 13:48:45 +0000 (13:48 +0000)] 
Merge branch 'zfridric_devel' into 'master'

Release 3.7.7

See merge request gnutls/gnutls!1619

4 years agoRelease 3.7.7
Zoltan Fridrich [Thu, 28 Jul 2022 10:49:59 +0000 (12:49 +0200)] 
Release 3.7.7

Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>
4 years agoMerge branch 'wip/dueno/socket-no-wrap' into 'master'
Daiki Ueno [Thu, 28 Jul 2022 07:00:20 +0000 (07:00 +0000)] 
Merge branch 'wip/dueno/socket-no-wrap' into 'master'

Make gnutls-cli work with KTLS

See merge request gnutls/gnutls!1617

4 years agoMerge branch 'zfridric_devel' into 'master'
Zoltán Fridrich [Wed, 27 Jul 2022 14:16:43 +0000 (14:16 +0000)] 
Merge branch 'zfridric_devel' into 'master'

Fix double free during gnutls_pkcs7_verify

Closes #1383

See merge request gnutls/gnutls!1615

4 years agosocket: only set pull/push functions when --save-*-trace is used
Daiki Ueno [Tue, 26 Jul 2022 02:39:57 +0000 (11:39 +0900)] 
socket: only set pull/push functions when --save-*-trace is used

This allows gnutls-cli to use KTLS for the transport, unless either
--save-client-trace or --save-server-trace is used.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agohandshake: do not enable KTLS if custom pull/push functions are set
Daiki Ueno [Tue, 26 Jul 2022 02:38:41 +0000 (11:38 +0900)] 
handshake: do not enable KTLS if custom pull/push functions are set

If gnutls_transport_set_pull_function or
gnutls_transport_set_push_function is used, we can't assume the
underlying transport handle is an FD.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoFix double free during gnutls_pkcs7_verify
Zoltan Fridrich [Fri, 22 Jul 2022 10:00:11 +0000 (12:00 +0200)] 
Fix double free during gnutls_pkcs7_verify

Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>
4 years agoMerge branch 'wip/dueno/guile-skip-reauth-test' into 'master'
Daiki Ueno [Wed, 27 Jul 2022 12:39:10 +0000 (12:39 +0000)] 
Merge branch 'wip/dueno/guile-skip-reauth-test' into 'master'

guile: revert gnutls/build/tests.scm to use use-modules

See merge request gnutls/gnutls!1618

4 years agoguile: revert gnutls/build/tests.scm to use use-modules
Daiki Ueno [Wed, 27 Jul 2022 11:23:26 +0000 (20:23 +0900)] 
guile: revert gnutls/build/tests.scm to use use-modules

This partially reverts e727eb7901a3f1754de970c8529925ae3d591b90.  For
some reason, the usage of #:use-module causes some behavioral
difference that affects reauth.scm test.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'zfridric_devel2' into 'master'
Zoltán Fridrich [Tue, 26 Jul 2022 12:45:24 +0000 (12:45 +0000)] 
Merge branch 'zfridric_devel2' into 'master'

Fix memory leak in gnutls_pkcs7_import

Closes #1387

See merge request gnutls/gnutls!1616

4 years agoFix memory leak in gnutls_pkcs7_import
Zoltan Fridrich [Mon, 25 Jul 2022 14:07:54 +0000 (16:07 +0200)] 
Fix memory leak in gnutls_pkcs7_import

Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>
4 years agoMerge branch 'wip/dueno/cbc-pkcs7-pad' into 'master'
Daiki Ueno [Sat, 23 Jul 2022 00:00:55 +0000 (00:00 +0000)] 
Merge branch 'wip/dueno/cbc-pkcs7-pad' into 'master'

crypto-api: add block cipher API with automatic padding

See merge request gnutls/gnutls!1611

4 years agocrypto-api: add block cipher API with automatic padding
Daiki Ueno [Thu, 14 Jul 2022 06:19:23 +0000 (15:19 +0900)] 
crypto-api: add block cipher API with automatic padding

This adds a couple of functions gnutls_cipher_encrypt3 and
gnutls_cipher_decrypt3, which add or remove padding as necessary if
the length of the plaintext is not a multiple of the block size.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'wip/dueno/minor-f36' into 'master'
Daiki Ueno [Fri, 22 Jul 2022 08:52:42 +0000 (08:52 +0000)] 
Merge branch 'wip/dueno/minor-f36' into 'master'

Suppress compile time warnings on Fedora 36

Closes #1386

See merge request gnutls/gnutls!1606

4 years agotests: temporarily disable checking against unresolvable hosts
Daiki Ueno [Fri, 22 Jul 2022 02:54:29 +0000 (11:54 +0900)] 
tests: temporarily disable checking against unresolvable hosts

*.dane.verisignlabs.com and fedoraproject.org are no longer
resolvable.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agosrc: add __attribute__((malloc)) to safe_open_rw
Daiki Ueno [Wed, 20 Jul 2022 06:00:10 +0000 (15:00 +0900)] 
src: add __attribute__((malloc)) to safe_open_rw

This silences -Wsuggest-attribute=malloc warning with GCC 12.  While
we could use ATTRIBUTE_DEALLOC(fclose, 1), it is currently not
possible to use it until Gnulib is updated.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agosrc: add NULL check on return value of realloc used in tests
Daiki Ueno [Wed, 20 Jul 2022 05:54:48 +0000 (14:54 +0900)] 
src: add NULL check on return value of realloc used in tests

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agotests: resume-with-previous-stek: initialize session data
Daiki Ueno [Thu, 30 Jun 2022 12:24:23 +0000 (21:24 +0900)] 
tests: resume-with-previous-stek: initialize session data

Spotted by gcc-analyzer 12.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agotests: add __attribute__((__noreturn__)) to _fail and fail_ignore
Daiki Ueno [Thu, 30 Jun 2022 12:23:31 +0000 (21:23 +0900)] 
tests: add __attribute__((__noreturn__)) to _fail and fail_ignore

To suppress warnings with gcc-analyzer 12.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agocrypto-selftests: fix decryption check condition in test_cipher_aead
Daiki Ueno [Thu, 30 Jun 2022 12:13:53 +0000 (21:13 +0900)] 
crypto-selftests: fix decryption check condition in test_cipher_aead

Spotted by gcc-analyzer 12.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agox509, tpm2: use asn1_node instead of deprecated ASN1_TYPE
Daiki Ueno [Thu, 30 Jun 2022 11:57:30 +0000 (20:57 +0900)] 
x509, tpm2: use asn1_node instead of deprecated ASN1_TYPE

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'wip-session-record-port-close' into 'master'
Daiki Ueno [Tue, 19 Jul 2022 10:23:08 +0000 (10:23 +0000)] 
Merge branch 'wip-session-record-port-close' into 'master'

guile: Allow session record ports to have a 'close' procedure

See merge request gnutls/gnutls!1610

4 years agoguile: Allow session record ports to have a 'close' procedure.
Ludovic Courtès [Sun, 10 Jul 2022 21:41:26 +0000 (23:41 +0200)] 
guile: Allow session record ports to have a 'close' procedure.

This addition makes it easy to close the backing file descriptor or port
of a session when its record port is closed.

* guile/src/core.c (SCM_GNUTLS_SESSION_RECORD_PORT_SESSION): Add SCM_CAR.
(SCM_GNUTLS_SESSION_RECORD_PORT_CLOSE_PROCEDURE)
(SCM_GNUTLS_SET_SESSION_RECORD_PORT_CLOSE)
(SCM_GNUTLS_SESSION_RECORD_PORT_P)
(SCM_VALIDATE_SESSION_RECORD_PORT): New macros.
(make_session_record_port): Change "stream" argument to a pair.
(close_session_record_port): New function.
(scm_gnutls_session_record_port): Add optional 'close' parameter and
honor it.
(scm_gnutls_set_session_record_port_close_x): New function.
(scm_init_gnutls_session_record_port_type): Add call to
'scm_set_port_close' and 'scm_set_port_needs_close_on_gc'.
* guile/tests/session-record-port.scm: Test it.
* NEWS: Update.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
4 years agoMerge branch 'wip-remove-guile-1.8-support' into 'master'
Daiki Ueno [Mon, 18 Jul 2022 00:02:34 +0000 (00:02 +0000)] 
Merge branch 'wip-remove-guile-1.8-support' into 'master'

Remove support for Guile 1.8.

See merge request gnutls/gnutls!1608

4 years agoguile: Remove support for the 1.8.x series.
Ludovic Courtès [Sun, 10 Jul 2022 15:03:03 +0000 (17:03 +0200)] 
guile: Remove support for the 1.8.x series.

The last Guile 1.8.x release dates back to 2010.

* configure.ac: Remove 1.8 from 'GUILE_PKG'.
* doc/gnutls-guile.texi (Guile Preparations): Remove mention of Guile 1.8.
* guile/src/core.c (mark_session_record_port)
(free_session_record_port): Remove.
(scm_init_gnutls_session_record_port_type): Remove corresponding
'scm_set_port_mark' and 'scm_set_port_free' calls.
* guile/modules/gnutls.in: Remove top-level 'cond-expand' forms for
Guile 1.8.
* guile/modules/gnutls/build/tests.scm: Likewise.
* NEWS: Update.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
4 years agomaint: Update guile.m4.
Ludovic Courtès [Sun, 10 Jul 2022 15:02:17 +0000 (17:02 +0200)] 
maint: Update guile.m4.

* m4/guile.m4: Update from Guile 3.0.7.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
4 years agoMerge branch 'aarch64_openbsd' into 'master'
Daiki Ueno [Sat, 16 Jul 2022 08:24:38 +0000 (08:24 +0000)] 
Merge branch 'aarch64_openbsd' into 'master'

accelerated: aarch64: add OpenBSD/aarch64 support

See merge request gnutls/gnutls!1612

4 years agoaccelerated: aarch64: add OpenBSD/aarch64 support
Brad Smith [Sat, 16 Jul 2022 02:44:03 +0000 (22:44 -0400)] 
accelerated: aarch64: add OpenBSD/aarch64 support

Signed-off-by: Brad Smith <brad@comstyle.com>
4 years agoMerge branch 'wip/dueno/aes-gcm-rekey-limit' into 'master'
Daiki Ueno [Wed, 13 Jul 2022 15:29:49 +0000 (15:29 +0000)] 
Merge branch 'wip/dueno/aes-gcm-rekey-limit' into 'master'

cipher: limit plaintext length supplied to AES-GCM

See merge request gnutls/gnutls!1603

4 years agocipher: limit plaintext length supplied to AES-GCM
Daiki Ueno [Mon, 27 Jun 2022 02:14:50 +0000 (11:14 +0900)] 
cipher: limit plaintext length supplied to AES-GCM

According to SP800-38D 5.2.1.1, input data length of AES-GCM
encryption function must be less than or equal to 2^39-256 bits.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'wip-guile-premature-termination' into 'master'
Daiki Ueno [Mon, 11 Jul 2022 10:27:54 +0000 (10:27 +0000)] 
Merge branch 'wip-guile-premature-termination' into 'master'

guile: Session record port treats premature termination as EOF.

See merge request gnutls/gnutls!1609

4 years agoguile: Session record port treats premature termination as EOF.
Ludovic Courtès [Sun, 10 Jul 2022 16:54:54 +0000 (18:54 +0200)] 
guile: Session record port treats premature termination as EOF.

* guile/src/core.c (do_fill_port) [USING_GUILE_BEFORE_2_2]: Treat
GNUTLS_E_PREMATURE_TERMINATION as EOF.
(read_from_session_record_port) [!USING_GUILE_BEFORE_2_2]: Likewise.
* guile/tests/premature-termination.scm: New file.
* guile/Makefile.am (TESTS): Add it.
* NEWS: Update.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
4 years agoMerge branch 'master' into 'master'
Daiki Ueno [Sat, 9 Jul 2022 00:50:21 +0000 (00:50 +0000)] 
Merge branch 'master' into 'master'

Add self-test code inside a FIPS context

See merge request gnutls/gnutls!1607

4 years agoAdd self-test code inside a FIPS context
Richard Costa [Sat, 9 Jul 2022 00:50:21 +0000 (00:50 +0000)] 
Add self-test code inside a FIPS context

Self-test code exercise lots of different FIPS-related code with
side-effects. So, in order to prevent it from losing information when
executing inside another context, we create an appropriated one.

If the self-test fails, then the library is placed in error state, so it
doesn't matter for other contexts.

Signed-off-by: Richard Maciel Costa <richard.costa@suse.com>
4 years agoMerge branch 'zfridric_devel2' into 'master'
Zoltán Fridrich [Fri, 8 Jul 2022 09:17:17 +0000 (09:17 +0000)] 
Merge branch 'zfridric_devel2' into 'master'

Increase the limit of TLS PSK usernames

Closes #1323

See merge request gnutls/gnutls!1581

4 years agoIncrease the limit of TLS PSK usernames from 128 to 65535 characters
Zoltan Fridrich [Tue, 10 May 2022 13:20:45 +0000 (15:20 +0200)] 
Increase the limit of TLS PSK usernames from 128 to 65535 characters

Co-authored-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>
4 years agoMerge branch 'more-rsa-checks' into 'master'
Daiki Ueno [Sun, 3 Jul 2022 22:56:55 +0000 (22:56 +0000)] 
Merge branch 'more-rsa-checks' into 'master'

tests/fips-test: minor extension

See merge request gnutls/gnutls!1605

4 years agoMerge branch 'wip/dueno/ktls-fixes' into 'master'
Daiki Ueno [Thu, 30 Jun 2022 10:19:25 +0000 (10:19 +0000)] 
Merge branch 'wip/dueno/ktls-fixes' into 'master'

Minor fixes on KTLS

See merge request gnutls/gnutls!1604

4 years agoMerge branch 'wip/dueno/hkdf-limit' into 'master'
Daiki Ueno [Wed, 29 Jun 2022 11:45:23 +0000 (11:45 +0000)] 
Merge branch 'wip/dueno/hkdf-limit' into 'master'

nettle: restrict output size of HKDF-Expand to 255 * HashLen

See merge request gnutls/gnutls!1602

4 years agoMerge branch 'wip/dueno/fipscontext-log' into 'master'
Daiki Ueno [Wed, 29 Jun 2022 09:20:44 +0000 (09:20 +0000)] 
Merge branch 'wip/dueno/fipscontext-log' into 'master'

fips: make service indicator logging louder

See merge request gnutls/gnutls!1567

4 years agofips: make service indicator logging louder
Daiki Ueno [Fri, 1 Apr 2022 06:04:57 +0000 (08:04 +0200)] 
fips: make service indicator logging louder

Previously, the only way to monitor the FIPS context transtion was to
increase logging level to debug (2), which produces unrelated output.

This changes the minimum logging level to audit (1) for when the
transition happens.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agonettle: restrict output size of HKDF-Expand to 255 * HashLen
Daiki Ueno [Mon, 27 Jun 2022 00:29:13 +0000 (09:29 +0900)] 
nettle: restrict output size of HKDF-Expand to 255 * HashLen

RFC 5869 2.3 requires that requested output length of HKDF-Expand to
be equal to or less than 255 times hash output size.

Inspired by the report by Guido Vranken in:
https://lists.gnupg.org/pipermail/gcrypt-devel/2022-June/005328.html

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agotests/fips-test: minor extension
Alexander Sosedkin [Tue, 28 Jun 2022 15:22:36 +0000 (17:22 +0200)] 
tests/fips-test: minor extension

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years ago.gitlab-ci.yml: add fedora-ktls pipeline
Daiki Ueno [Tue, 28 Jun 2022 04:46:44 +0000 (13:46 +0900)] 
.gitlab-ci.yml: add fedora-ktls pipeline

This is to ensure that the same testsuite succeeds even if we compile
the library with --enable-ktls and KTLS is enabled with a run-time
configuration.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoktls: _gnutls_ktls_enable: fix GNUTLS_KTLS_SEND calculation
Daiki Ueno [Tue, 28 Jun 2022 01:53:55 +0000 (10:53 +0900)] 
ktls: _gnutls_ktls_enable: fix GNUTLS_KTLS_SEND calculation

Previously, if the first setsockopt for GNUTLS_KTLS_RECV fails and the
same socket is used for both sending and receiving, GNUTLS_KTLS_SEND
was unconditionally set.  This fixes the conditions and also adds more
logging.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agohandshake: do not reset KTLS enablement in gnutls_handshake
Daiki Ueno [Tue, 28 Jun 2022 01:23:33 +0000 (10:23 +0900)] 
handshake: do not reset KTLS enablement in gnutls_handshake

As gnutls_handshake can be repeatedly called upon non-blocking setup,
we shouldn't try to call setsockopt for KTLS upon every call.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agotests: enable KTLS config while running gnutls_ktls test
Daiki Ueno [Tue, 28 Jun 2022 00:37:22 +0000 (09:37 +0900)] 
tests: enable KTLS config while running gnutls_ktls test

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'add-tasn-bin' into 'master'
Daiki Ueno [Wed, 22 Jun 2022 00:18:37 +0000 (00:18 +0000)] 
Merge branch 'add-tasn-bin' into 'master'

README.md: explicitly install libtasn1-bin

See merge request gnutls/gnutls!1600

4 years agoREADME.md: explicitly install libtasn1-bin
Gregor Jasny [Tue, 21 Jun 2022 09:18:16 +0000 (11:18 +0200)] 
README.md: explicitly install libtasn1-bin

Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
4 years agoMerge branch 'ktls-disabled-by-default' into 'master'
Daiki Ueno [Thu, 16 Jun 2022 12:14:14 +0000 (12:14 +0000)] 
Merge branch 'ktls-disabled-by-default' into 'master'

KTLS: disable by default enable by config

See merge request gnutls/gnutls!1599

4 years agoKTLS: disable by default enable by config
František Krenželok [Tue, 14 Jun 2022 14:16:11 +0000 (16:16 +0200)] 
KTLS: disable by default enable by config

KTLS will be disabled by default when build with `--enable-ktls` to
enable it, use config file option `ktls = true` in [global] section.

Signed-off-by: Frantisek Krenzelok <krenzelok.frantisek@gmail.com>
4 years agoMerge branch 'wip/dueno/force-self-test' into 'master'
Daiki Ueno [Thu, 9 Jun 2022 14:05:55 +0000 (14:05 +0000)] 
Merge branch 'wip/dueno/force-self-test' into 'master'

fips: provide function to manually run FIPS self-tests

Closes #1364

See merge request gnutls/gnutls!1598

4 years agofips: provide function to manually run FIPS self-tests
Daiki Ueno [Fri, 3 Jun 2022 06:43:00 +0000 (15:43 +0900)] 
fips: provide function to manually run FIPS self-tests

FIPS140-3 IG 10.3.E Periodic Self-Testing says:

  At security levels 1 and 2, acceptable means for initiating the
  periodic self-tests include a provided service, resetting, rebooting
  or power cycling.

Neither resetting, rebooting, nor power-cycling is suitable because
those involve operations outside of the module.  Therefore this patch
adds a new API to manually run the substance of FIPS140 self-tests.

Suggeested by Richard Costa and Stephan Mueller in:
https://gitlab.com/gnutls/gnutls/-/issues/1364

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'tlsfuzzer-update' into 'master'
Daiki Ueno [Mon, 6 Jun 2022 08:25:05 +0000 (08:25 +0000)] 
Merge branch 'tlsfuzzer-update' into 'master'

tests/suite/tls-fuzzer: use more -x/-X instead of -e and less -n

See merge request gnutls/gnutls!1593

4 years agotests/suite/tls-fuzzer: remove most of the -n limiters...
Alexander Sosedkin [Wed, 18 May 2022 13:38:21 +0000 (15:38 +0200)] 
tests/suite/tls-fuzzer: remove most of the -n limiters...

... since tlsfuzzer now sets reasonable (~<10s/script) limits
for most of the scripts by default

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agotests/suite/tls-fuzzer: pin current error messages with -X
Alexander Sosedkin [Wed, 18 May 2022 11:41:18 +0000 (13:41 +0200)] 
tests/suite/tls-fuzzer: pin current error messages with -X

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
4 years agoMerge branch 'wip/dueno/mingw-tests' into 'master'
Zoltán Fridrich [Mon, 30 May 2022 08:28:07 +0000 (08:28 +0000)] 
Merge branch 'wip/dueno/mingw-tests' into 'master'

build: Revert "Disable test scripts on windows"

Closes #1371

See merge request gnutls/gnutls!1597

4 years agobuild: Revert "Disable test scripts on windows"
Daiki Ueno [Sun, 29 May 2022 01:54:48 +0000 (10:54 +0900)] 
build: Revert "Disable test scripts on windows"

This reverts commit d2b99e3b3429e9b9a6fbff46598fd4c6a0910f65.

It turned out that the test failures under mingw were caused by a
regression in wine 7.5, possibly:
https://bugs.winehq.org/show_bug.cgi?id=52743

Now that the latest wine package based on wine 7.9 has no issues with
running those test scripts, this enables them again in the build
process.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
4 years agoMerge branch 'zfridric_devel' into 'master'
Zoltán Fridrich [Fri, 27 May 2022 10:13:33 +0000 (10:13 +0000)] 
Merge branch 'zfridric_devel' into 'master'

Release 3.7.6

See merge request gnutls/gnutls!1596

4 years agoRelease 3.7.6 3.7.6
Zoltan Fridrich [Fri, 27 May 2022 07:17:55 +0000 (09:17 +0200)] 
Release 3.7.6

Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>