]> git.ipfire.org Git - thirdparty/gnutls.git/log
thirdparty/gnutls.git
19 months agopk: plumb ML-KEM 768 in addition to Kyber 768
Daiki Ueno [Mon, 7 Oct 2024 21:34:16 +0000 (06:34 +0900)] 
pk: plumb ML-KEM 768 in addition to Kyber 768

This adds GNUTLS_PK_MLKEM768 in the regular algorithm range, while
keeping GNUTLS_PK_EXP_KYBER768 in the experimental algorithm range.
This also modifies the privkey-keygen test to skip unsupported
algorithms at run-time.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agoliboqs: provide SHA2 stubs
Daiki Ueno [Mon, 7 Oct 2024 08:49:24 +0000 (17:49 +0900)] 
liboqs: provide SHA2 stubs

As well as SHA3, this implements GnuTLS backed stubs for SHA2
functions, which will be necessary for SLH-DSA signature support.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agoliboqs: check library version at run-time
Daiki Ueno [Mon, 7 Oct 2024 07:46:28 +0000 (16:46 +0900)] 
liboqs: check library version at run-time

This is to safeguard when the library is compiled with a newer liboqs
but deployed to an enviromnent with an older liboqs, which may break
ABI compatibility.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agoliboqs: require version 0.11.0
Daiki Ueno [Mon, 7 Oct 2024 04:39:22 +0000 (13:39 +0900)] 
liboqs: require version 0.11.0

liboqs 0.11.0 shipped with public headers for plugging in alternative
symmetric algorithms (e.g., sha3_ops.h), which were previously
missing.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agoMerge branch 'mangle-shake-ctx' into 'master'
Daiki Ueno [Mon, 28 Oct 2024 12:51:05 +0000 (12:51 +0000)] 
Merge branch 'mangle-shake-ctx' into 'master'

nettle: mangle struct sha3_128_ctx

See merge request gnutls/gnutls!1886

19 months agofips: Mark gnutls_hash_fast as approved in FIPS SLI
Angel Yankov [Thu, 24 Oct 2024 12:08:04 +0000 (15:08 +0300)] 
fips: Mark gnutls_hash_fast as approved in FIPS SLI

There is no reason for gnutls_hash_fast to not
be approved unde the SLI as part of the approved service
Message Digest (same as gnutls_hash_init, gnutls_hash , gnutls_hash_output ).

Add a transition to state approved when using gnutls_hash_fast.

Signed-off-by: Angel Yankov <angel.yankov@suse.com>
19 months agofips: Mark operations using P-192 as not approved
Angel Yankov [Thu, 24 Oct 2024 12:13:22 +0000 (15:13 +0300)] 
fips: Mark operations using P-192 as not approved

P-192 is not an approved curve as of FIPS 186-5, so mark operations
using it as NOT approved in the SLI.

Signed-off-by: Angel Yankov <angel.yankov@suse.com>
19 months agonettle: mangle sha3_128_ctx
Alexander Sosedkin [Mon, 21 Oct 2024 17:59:20 +0000 (19:59 +0200)] 
nettle: mangle sha3_128_ctx

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
19 months agoMerge branch 'wip/dueno/hash-after-squeeze' into 'master'
Daiki Ueno [Thu, 17 Oct 2024 17:07:43 +0000 (17:07 +0000)] 
Merge branch 'wip/dueno/hash-after-squeeze' into 'master'

hash: return error if gnutls_hash is called after squeeze

Closes #1592

See merge request gnutls/gnutls!1885

19 months agohash: return error if gnutls_hash is called after squeeze
Daiki Ueno [Wed, 16 Oct 2024 05:42:47 +0000 (14:42 +0900)] 
hash: return error if gnutls_hash is called after squeeze

Previously, when gnutls_hash is called after gnutls_hash_squeeze, it
hits an assertion failure in nettle:

  sha3.c:76: _nettle_sha3_update: Assertion `pos < block_size' failed.

This adds an internal function to check whether the hash context has
already been finalized with squeezing and in that case errors out.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agoMerge branch 'zfridric_devel2' into 'master'
Zoltán Fridrich [Wed, 16 Oct 2024 08:48:35 +0000 (08:48 +0000)] 
Merge branch 'zfridric_devel2' into 'master'

compress_certificate: improve error checks

Closes #1584, #1585, and #1586

See merge request gnutls/gnutls!1884

19 months agocompress_certificate: improve error checks
Zoltan Fridrich [Thu, 10 Oct 2024 11:26:22 +0000 (13:26 +0200)] 
compress_certificate: improve error checks

Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>
19 months agoMerge branch 'alloca' into 'master'
Daiki Ueno [Wed, 9 Oct 2024 22:21:55 +0000 (22:21 +0000)] 
Merge branch 'alloca' into 'master'

lib/nettle/int/nettle-internal.h: include alloca.h if configure found it

Closes #782

See merge request gnutls/gnutls!1882

19 months agolib/nettle/int/nettle-internal.h: include alloca.h if configure found it
Alan Coopersmith [Tue, 8 Oct 2024 16:51:00 +0000 (09:51 -0700)] 
lib/nettle/int/nettle-internal.h: include alloca.h if configure found it

Needed for alloca definition on Solaris, to avoid build error with gcc 14:

lib/nettle/int/nettle-internal.h:59:39: error: implicit declaration of
 function 'alloca' [-Wimplicit-function-declaration]
   59 | #define TMP_ALLOC(name, size) (name = alloca(sizeof(*name) * (size)))
      |                                       ^~~~~~

Closes #782

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
20 months agoMerge branch 'zfridric_devel2' into 'master'
Daiki Ueno [Tue, 1 Oct 2024 08:09:38 +0000 (08:09 +0000)] 
Merge branch 'zfridric_devel2' into 'master'

Ignore unknown compression algs when using CLI

Closes #1587

See merge request gnutls/gnutls!1881

20 months agoMerge branch 'tests-key-material-set-dtls-eagain' into 'master'
Daiki Ueno [Tue, 1 Oct 2024 08:09:21 +0000 (08:09 +0000)] 
Merge branch 'tests-key-material-set-dtls-eagain' into 'master'

tests/key-material-set-dtls: retry send/recv on E_AGAIN/E_INTERRUPTED

See merge request gnutls/gnutls!1880

20 months agotests/key-material-set-dtls: retry send/recv on E_AGAIN/E_INTERRUPTED
Alexander Sosedkin [Wed, 25 Sep 2024 11:32:14 +0000 (13:32 +0200)] 
tests/key-material-set-dtls: retry send/recv on E_AGAIN/E_INTERRUPTED

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
20 months agoIgnore unknown compression algs when using CLI
Zoltan Fridrich [Fri, 27 Sep 2024 10:09:51 +0000 (12:09 +0200)] 
Ignore unknown compression algs when using CLI

Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>
20 months agoMerge branch 'tests-ktls-fips-skip-chacha' into 'master'
Daiki Ueno [Wed, 25 Sep 2024 09:33:30 +0000 (09:33 +0000)] 
Merge branch 'tests-ktls-fips-skip-chacha' into 'master'

tests/ktls: skip CHACHA20-POLY1305 in FIPS mode

See merge request gnutls/gnutls!1879

20 months agotests/ktls: skip CHACHA20-POLY1305 in FIPS mode
Alexander Sosedkin [Wed, 25 Sep 2024 07:05:35 +0000 (09:05 +0200)] 
tests/ktls: skip CHACHA20-POLY1305 in FIPS mode

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
20 months agoMerge branch 'fix-ocsp-checking-when-multiple-records' into 'master'
Daiki Ueno [Tue, 24 Sep 2024 21:14:01 +0000 (21:14 +0000)] 
Merge branch 'fix-ocsp-checking-when-multiple-records' into 'master'

check all ocsp response records for cert serial number

See merge request gnutls/gnutls!1877

20 months agofix formatting
Jeff Mattson [Tue, 24 Sep 2024 14:53:23 +0000 (10:53 -0400)] 
fix formatting

Signed-off-by: Jeff Mattson <jmattson@sei.cmu.edu>
20 months agoiterate ocsp response records for matching certificate
Jeff Mattson [Tue, 24 Sep 2024 14:33:50 +0000 (10:33 -0400)] 
iterate ocsp response records for matching certificate

Signed-off-by: Jeff Mattson <jmattson@sei.cmu.edu>
20 months agoMerge branch '2024-tmp-choose-dlopen' into 'master'
Daiki Ueno [Sun, 22 Sep 2024 05:24:47 +0000 (05:24 +0000)] 
Merge branch '2024-tmp-choose-dlopen' into 'master'

Choose whether to link or dlopen helper libraries

Closes #1576

See merge request gnutls/gnutls!1870

20 months agoMerge branch 'oaep-unkn-hash' into 'master'
Daiki Ueno [Sat, 21 Sep 2024 11:08:55 +0000 (11:08 +0000)] 
Merge branch 'oaep-unkn-hash' into 'master'

nettle: fail OAEP decryption on unknown hash

See merge request gnutls/gnutls!1876

20 months agoFix configure syntax error on non-working faketime
Andreas Metzler [Sat, 7 Sep 2024 14:41:33 +0000 (16:41 +0200)] 
Fix configure syntax error on non-working faketime

Closes #1576

Authored-by: Tim Kosse
Signed-off-by: Andreas Metzler <ametzler@bebt.de>
20 months agoSelect whether to link/dlopen tpm2 at configure time
Andreas Metzler [Sun, 25 Aug 2024 13:02:57 +0000 (15:02 +0200)] 
Select whether to link/dlopen tpm2 at configure time

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
20 months agoSelect whether to link/dlopen libocs at configure time
Andreas Metzler [Sun, 25 Aug 2024 11:01:30 +0000 (13:01 +0200)] 
Select whether to link/dlopen libocs at configure time

(This defaults to off)

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
20 months agoSelect whether to link/dlopen brotli at configure time
Andreas Metzler [Sat, 24 Aug 2024 16:35:07 +0000 (18:35 +0200)] 
Select whether to link/dlopen brotli at configure time

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
20 months agoSelect whether to link/dlopen zstd at configure time
Andreas Metzler [Sat, 24 Aug 2024 11:55:14 +0000 (13:55 +0200)] 
Select whether to link/dlopen zstd at configure time

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
20 months agoUse HAVE_ZLIB for both automake and autoconf
Andreas Metzler [Sat, 24 Aug 2024 10:58:15 +0000 (12:58 +0200)] 
Use HAVE_ZLIB for both automake and autoconf

Do not mix HAVE_LIBZ and HAVE_ZLIB

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
20 months agonettle: fail OAEP decryption on unknown hash
Alexander Sosedkin [Fri, 20 Sep 2024 14:04:44 +0000 (16:04 +0200)] 
nettle: fail OAEP decryption on unknown hash

_rsa_oaep_decrypt() "returns 1 on success; 0 otherwise",
but here we've returned non-zero on using an unsupported hash.
This confused the error reporting into thinking gnutls_privkey_decrypt_data()
has succeeded, while it hasn't.

Signed-off-by: Alexander Sosedkin <asosedkin@redhat.com>
20 months agoSelect whether to link/dlopen zlib configure time
Andreas Metzler [Mon, 19 Aug 2024 12:46:29 +0000 (14:46 +0200)] 
Select whether to link/dlopen zlib configure time

Now requires pkg-conf for locating zlib.

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
20 months agoAdd status-message on whether dlopen is available.
Andreas Metzler [Sun, 18 Aug 2024 10:34:09 +0000 (12:34 +0200)] 
Add status-message on whether dlopen is available.

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
21 months agoMerge branch 'wip/dueno/doc-ocsp-api' into 'master'
Daiki Ueno [Thu, 29 Aug 2024 10:38:56 +0000 (10:38 +0000)] 
Merge branch 'wip/dueno/doc-ocsp-api' into 'master'

ocsp: gnutls_ocsp_status_request_is_checked: fix note on TLS 1.3 [ci skip]

Closes #1574

See merge request gnutls/gnutls!1873

21 months agoocsp: gnutls_ocsp_status_request_is_checked: fix note on TLS 1.3 [ci skip]
Daiki Ueno [Thu, 29 Aug 2024 10:07:11 +0000 (19:07 +0900)] 
ocsp: gnutls_ocsp_status_request_is_checked: fix note on TLS 1.3 [ci skip]

The previous note on limitation under TLS 1.3 was misleading, as it
used "server-side" and "client-side" in a confusing manner. This
rewords the sentence to be more consistent.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months agoMerge branch 'wip/dueno/fix-1573' into 'master'
Daiki Ueno [Thu, 29 Aug 2024 10:05:09 +0000 (10:05 +0000)] 
Merge branch 'wip/dueno/fix-1573' into 'master'

tools: fix memleak around getline

Closes #1573

See merge request gnutls/gnutls!1872

21 months agotools: fix memleak around getline
Ekaterina Zilotina [Mon, 26 Aug 2024 10:22:36 +0000 (13:22 +0300)] 
tools: fix memleak around getline

Fixes: #1573
Signed-off-by: Ekaterina Zilotina <zilotina.ed@npc-ksb.ru>
Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months agoMerge branch 'doc_fix' into 'master'
Daiki Ueno [Thu, 22 Aug 2024 22:14:48 +0000 (22:14 +0000)] 
Merge branch 'doc_fix' into 'master'

doc: Fix error and improve doc

See merge request gnutls/gnutls!1869

21 months agoMerge branch 'wip/dueno/nettle-static2' into 'master'
Daiki Ueno [Thu, 22 Aug 2024 22:14:29 +0000 (22:14 +0000)] 
Merge branch 'wip/dueno/nettle-static2' into 'master'

fips: skip HMAC checks of nettle libraries when statically linked

See merge request gnutls/gnutls!1868

21 months agodoc: Fix error and improve doc
Sahil Siddiq [Thu, 22 Aug 2024 18:32:37 +0000 (00:02 +0530)] 
doc: Fix error and improve doc

The description of "gnutls_psk_allocate_client_credentials" incorrectly
states that sc is a pointer to a "gnutls_psk_server_credentials_t". sc
is a pointer to a "gnutls_psk_client_credentials_t".

In the description of "gnutls_credentials_set", mention the type that
the cred parameter should be when using GNUTLS_CRD_PSK.

Signed-off-by: Sahil Siddiq <sahilcdq@proton.me>
21 months agofips: skip HMAC checks of nettle libraries when statically linked
Daiki Ueno [Wed, 21 Aug 2024 05:50:54 +0000 (14:50 +0900)] 
fips: skip HMAC checks of nettle libraries when statically linked

Since commit b6e9b10347ed577a9a37b7b28e1a039c5f6ccb16, it is possible
to link Nettle libraries statically.  In that case, FIPS integrity
checks against the Nettle shared libraries should be skipped as they
are not used by GnuTLS.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months agoMerge branch 'aarch64_freebsd_openbsd' into 'master'
Daiki Ueno [Sat, 17 Aug 2024 06:33:52 +0000 (06:33 +0000)] 
Merge branch 'aarch64_freebsd_openbsd' into 'master'

accelerated: aarch64: add FreeBSD/aarch64 support

See merge request gnutls/gnutls!1863

21 months agoMerge branch 'wip/dueno/release-steps-distribution-specific' into 'master'
Daiki Ueno [Sat, 17 Aug 2024 06:32:06 +0000 (06:32 +0000)] 
Merge branch 'wip/dueno/release-steps-distribution-specific' into 'master'

release-steps: mention distribution specific steps after release

See merge request gnutls/gnutls!1865

21 months agoMerge branch 'wip/dueno/ac-compress' into 'master'
Andreas Metzler [Fri, 16 Aug 2024 11:54:17 +0000 (11:54 +0000)] 
Merge branch 'wip/dueno/ac-compress' into 'master'

build: fix setting AM_CONDITIONAL for brotli and zstd

See merge request gnutls/gnutls!1867

21 months agoaccelerated: aarch64: add FreeBSD/aarch64 support
Brad Smith [Wed, 14 Aug 2024 11:34:18 +0000 (07:34 -0400)] 
accelerated: aarch64: add FreeBSD/aarch64 support

Signed-off-by: Brad Smith <brad@comstyle.com>
21 months agobuild: add liboqs in Requires.private in gnutls.pc if needed
Daiki Ueno [Fri, 16 Aug 2024 04:35:47 +0000 (13:35 +0900)] 
build: add liboqs in Requires.private in gnutls.pc if needed

When --with-liboqs is specified and liboqs cannot be dlopen'ed, it
will be linked at build time. In that case gnutls.pc should indicate
that through Requires.private.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months agobuild: don't emit Requires.private for dlopened libraries
Daiki Ueno [Fri, 16 Aug 2024 00:48:31 +0000 (09:48 +0900)] 
build: don't emit Requires.private for dlopened libraries

Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months agobuild: fix setting AM_CONDITIONAL for brotli and zstd
Daiki Ueno [Fri, 16 Aug 2024 00:42:15 +0000 (09:42 +0900)] 
build: fix setting AM_CONDITIONAL for brotli and zstd

As the with_{libbrotli,libzsttd} variables are unset if configured
with --without-{brotli,zstd}, check the unequality to "no" doesn't
work; use explicit matching with "yes" instead.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months agoMerge branch 'tmp-2024-dsa-test-fixup' into 'master'
Daiki Ueno [Thu, 15 Aug 2024 16:46:44 +0000 (16:46 +0000)] 
Merge branch 'tmp-2024-dsa-test-fixup' into 'master'

Minor fixes for 3.8.7

See merge request gnutls/gnutls!1866

21 months agorevert back to datefudge for "openssl ocsp".
Andreas Metzler [Thu, 15 Aug 2024 14:22:02 +0000 (16:22 +0200)] 
revert back to datefudge for "openssl ocsp".

openssl's -attime only changes the verification logic but not the
generation.

Broken by: d1bc7f644422c4d87edfcd9fafe7f292a1a3a6de

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
21 months agorelease-steps: mention how to propose package update in Fedora [ci skip]
Daiki Ueno [Thu, 15 Aug 2024 10:47:09 +0000 (19:47 +0900)] 
release-steps: mention how to propose package update in Fedora [ci skip]

Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months agoAlso set ENABLE_DSA for tests in cert-tests subdirectory.
Andreas Metzler [Thu, 15 Aug 2024 10:42:56 +0000 (12:42 +0200)] 
Also set ENABLE_DSA for tests in cert-tests subdirectory.

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
21 months agoMerge branch 'wip/dueno/release-3.8.7' into 'master' 3.8.7
Daiki Ueno [Thu, 15 Aug 2024 06:27:08 +0000 (06:27 +0000)] 
Merge branch 'wip/dueno/release-3.8.7' into 'master'

Release 3.8.7

See merge request gnutls/gnutls!1864

21 months agoRelease 3.8.7
Daiki Ueno [Thu, 15 Aug 2024 00:45:04 +0000 (09:45 +0900)] 
Release 3.8.7

Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months agodoc: fix menu entry for RSAES-PKCS1-v1_5 system wide configuration
Daiki Ueno [Thu, 15 Aug 2024 01:01:10 +0000 (10:01 +0900)] 
doc: fix menu entry for RSAES-PKCS1-v1_5 system wide configuration

Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months agoliboqs: avoid uninitialized value in pk_ops.verify_priv_params
Daiki Ueno [Thu, 15 Aug 2024 00:43:41 +0000 (09:43 +0900)] 
liboqs: avoid uninitialized value in pk_ops.verify_priv_params

Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months agoMerge branch 'wip/dueno/nettle-static' into 'master'
Daiki Ueno [Wed, 14 Aug 2024 22:18:27 +0000 (22:18 +0000)] 
Merge branch 'wip/dueno/nettle-static' into 'master'

build: change Nettle library link order to support static linking

See merge request gnutls/gnutls!1862

21 months agoMerge branch 'wip/dueno/compress-cert-fixes' into 'master'
Daiki Ueno [Wed, 14 Aug 2024 06:00:54 +0000 (06:00 +0000)] 
Merge branch 'wip/dueno/compress-cert-fixes' into 'master'

compress-cert: don't send bad_certificate alert manually

See merge request gnutls/gnutls!1861

21 months agobuild: change Nettle library link order to support static linking
Daiki Ueno [Wed, 14 Aug 2024 00:12:58 +0000 (09:12 +0900)] 
build: change Nettle library link order to support static linking

As libhogweed uses libnettle functions such as nettle_cnd_memcpy,
libhogweed should come before libnettle in $(LIBADD), when linked
statically.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months agocompress-cert: don't send bad_certificate alert manually
Daiki Ueno [Tue, 13 Aug 2024 16:17:29 +0000 (01:17 +0900)] 
compress-cert: don't send bad_certificate alert manually

The library API is not designed to proactively send alert by itself,
but it is rather a responsibility of the application to decide to
which alert to be sent when.  This removes the manual call to
gnutls_alert_send in the code handling TLS 1.3 Certificate message
when a decompression error happens.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months agoMerge branch 'tmp-2024-more-avoid-datefudge' into 'master'
Daiki Ueno [Tue, 13 Aug 2024 06:23:05 +0000 (06:23 +0000)] 
Merge branch 'tmp-2024-more-avoid-datefudge' into 'master'

Use openssl's -attime option instead of faketime/datefudge

See merge request gnutls/gnutls!1860

21 months agoUse openssl's -attime option instead of faketime/datefudge
Andreas Metzler [Sun, 11 Aug 2024 13:43:45 +0000 (15:43 +0200)] 
Use openssl's -attime option instead of faketime/datefudge

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
21 months agoMerge branch 'wip/dlwrap-dlopen-errno' into 'master'
Daiki Ueno [Mon, 12 Aug 2024 00:55:37 +0000 (00:55 +0000)] 
Merge branch 'wip/dlwrap-dlopen-errno' into 'master'

dlwrap: don't assume dlopen/dlsym sets errno

See merge request gnutls/gnutls!1859

21 months agotests: testdane.sh: ignore torproject.org for now
Daiki Ueno [Sun, 11 Aug 2024 20:54:07 +0000 (05:54 +0900)] 
tests: testdane.sh: ignore torproject.org for now

danetool --check returns an error when tested against the host.  This
temporarily disables it.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months ago.gitlab-ci.yml: add fedora-no-liboqs/test
Daiki Ueno [Thu, 8 Aug 2024 22:07:05 +0000 (07:07 +0900)] 
.gitlab-ci.yml: add fedora-no-liboqs/test

The new fedora-no-liboqs/test exercises fedora/test without liboqs. In
that case the hybrid-pqc-kx.sh test should be safely skipped.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
21 months agodlwrap: don't assume dlopen/dlsym sets errno
Daiki Ueno [Thu, 8 Aug 2024 22:04:25 +0000 (07:04 +0900)] 
dlwrap: don't assume dlopen/dlsym sets errno

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agoMerge branch 'wip/dueno/group-supported' into 'master'
Daiki Ueno [Thu, 1 Aug 2024 16:01:47 +0000 (16:01 +0000)] 
Merge branch 'wip/dueno/group-supported' into 'master'

gnutls_group_list: take into account of public key algorithms

See merge request gnutls/gnutls!1857

22 months agoMerge branch 'wip/dueno/pbmac1-default-in-fips' into 'master'
Daiki Ueno [Thu, 1 Aug 2024 13:17:30 +0000 (13:17 +0000)] 
Merge branch 'wip/dueno/pbmac1-default-in-fips' into 'master'

pkcs12: enable PBMAC1 by default in FIPS mode

See merge request gnutls/gnutls!1858

22 months agopkcs12: enable PBMAC1 by default in FIPS mode
Daiki Ueno [Thu, 1 Aug 2024 11:17:15 +0000 (20:17 +0900)] 
pkcs12: enable PBMAC1 by default in FIPS mode

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agopkcs12: use gnutls_hmac API for MAC calculation
Daiki Ueno [Thu, 1 Aug 2024 11:15:31 +0000 (20:15 +0900)] 
pkcs12: use gnutls_hmac API for MAC calculation

Instead of the internal _gnutls_mac API, this switches to using
gnutls_hmac API, which has checks on whether the algorithm is FIPS
approved.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agopkcs12: don't switch FIPS indicator upon export
Daiki Ueno [Thu, 1 Aug 2024 11:11:00 +0000 (20:11 +0900)] 
pkcs12: don't switch FIPS indicator upon export

Now that we have a FIPS compliant MAC calculation using PBMAC1.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agognutls_group_list: take into account of public key algorithms
Daiki Ueno [Wed, 31 Jul 2024 00:40:44 +0000 (09:40 +0900)] 
gnutls_group_list: take into account of public key algorithms

Previously the function only checked if the ECC curves are
supported. Now that hybrid key exchange with KEM is supported, it
should also check public key systems.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agoMerge branch 'wip/dueno/tpm2-dlwrap' into 'master'
Daiki Ueno [Tue, 30 Jul 2024 11:20:19 +0000 (11:20 +0000)] 
Merge branch 'wip/dueno/tpm2-dlwrap' into 'master'

tpm2: switch to using dlwrap for loading TSS2 libraries

See merge request gnutls/gnutls!1854

22 months agoMerge branch 'wip/dueno/update-cligen' into 'master'
Daiki Ueno [Tue, 30 Jul 2024 09:15:48 +0000 (09:15 +0000)] 
Merge branch 'wip/dueno/update-cligen' into 'master'

Prepare for 3.8.7 release

See merge request gnutls/gnutls!1855

22 months agoMerge branch 'wip/dueno/hybrid-kx-liboqs-followup' into 'master'
Daiki Ueno [Tue, 30 Jul 2024 09:15:10 +0000 (09:15 +0000)] 
Merge branch 'wip/dueno/hybrid-kx-liboqs-followup' into 'master'

liboqs: check whether Kyber768 is compiled in

See merge request gnutls/gnutls!1856

22 months agotpm2: switch to using dlwrap for loading TSS2 libraries
Daiki Ueno [Tue, 23 Jul 2024 00:01:01 +0000 (09:01 +0900)] 
tpm2: switch to using dlwrap for loading TSS2 libraries

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agoNEWS: mention 3.8.7 changes
Daiki Ueno [Fri, 26 Jul 2024 02:25:22 +0000 (11:25 +0900)] 
NEWS: mention 3.8.7 changes

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months ago.github/workflows: use macos-latest runner
Daiki Ueno [Mon, 29 Jul 2024 22:53:18 +0000 (07:53 +0900)] 
.github/workflows: use macos-latest runner

This also does:
- update checkout action to v4
- manually supply CFLAGS and LDFLAGS of GMP
- point to the homebrew version of bison executable
- supply CFLAGS and LDFLAGS of libunistring
- install coreutils for "timeout"

Signed-off-by: Daiki Ueno <dueno@redhat.com>
22 months agotests: gnutls-cli-debug.sh: make timeout program configurable
Daiki Ueno [Tue, 30 Jul 2024 06:15:30 +0000 (15:15 +0900)] 
tests: gnutls-cli-debug.sh: make timeout program configurable

Signed-off-by: Daiki Ueno <dueno@redhat.com>
22 months agotests: pkgconfig.sh: respect LDFLAGS
Daiki Ueno [Tue, 30 Jul 2024 04:51:55 +0000 (13:51 +0900)] 
tests: pkgconfig.sh: respect LDFLAGS

Signed-off-by: Daiki Ueno <dueno@redhat.com>
22 months agobuild: set CFLAGS as necessary
Daiki Ueno [Tue, 30 Jul 2024 00:19:28 +0000 (09:19 +0900)] 
build: set CFLAGS as necessary

When header files of optional libraries are installed on a non-default
locations, e.g., with homebrew, CFLAGS must be set so the compiler can
find them at build time for the definition of data types and macros.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
22 months ago.gitlab-ci.yml: bump cache version
Daiki Ueno [Mon, 29 Jul 2024 05:13:36 +0000 (14:13 +0900)] 
.gitlab-ci.yml: bump cache version

To update the Debian CI image from bullseye to bookworm.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months ago.gitlab-ci.yml: use Python implementation of gnulib-tool
Daiki Ueno [Fri, 26 Jul 2024 12:48:23 +0000 (21:48 +0900)] 
.gitlab-ci.yml: use Python implementation of gnulib-tool

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agodlwrap: regenerate zlib wrapper
Daiki Ueno [Mon, 29 Jul 2024 00:01:21 +0000 (09:01 +0900)] 
dlwrap: regenerate zlib wrapper

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agoliboqs: check whether Kyber768 is compiled in
Daiki Ueno [Sun, 28 Jul 2024 23:40:34 +0000 (08:40 +0900)] 
liboqs: check whether Kyber768 is compiled in

In the default build configuration of liboqs 0.10.1, Kyber768 is
disabled. This adds a guard against it and skip tests if not
available.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agognulib: update gnulib submodule
Daiki Ueno [Fri, 26 Jul 2024 02:30:03 +0000 (11:30 +0900)] 
gnulib: update gnulib submodule

Also make sure to include "config.h"; otherwise overriding headers
from Gnulib will complain:
 In file included from inih/ini.c:14:
 ./../gl/stdio.h:71:3: error: #error "Please include config.h first."
    71 |  #error "Please include config.h first."
       |   ^~~~~

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agobuild: ignore -Wmissing-variable-declarations for now
Daiki Ueno [Sat, 27 Jul 2024 00:15:10 +0000 (09:15 +0900)] 
build: ignore -Wmissing-variable-declarations for now

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agorandomart: avoid using u_int
Daiki Ueno [Fri, 26 Jul 2024 14:08:06 +0000 (23:08 +0900)] 
randomart: avoid using u_int

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agotests: sanity-cpp: don't use <minmax.h> from Gnulib
Daiki Ueno [Fri, 26 Jul 2024 13:35:35 +0000 (22:35 +0900)] 
tests: sanity-cpp: don't use <minmax.h> from Gnulib

Adding Gnulib include directory causes some conflict through indirect
include of <pthread.h>. As sanity-cpp.cpp only uses MIN macro, we can
simply define it by ourselves instead of including <minmax.h>.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agobuild: do not print liboqs enablement status
Daiki Ueno [Fri, 26 Jul 2024 00:33:03 +0000 (09:33 +0900)] 
build: do not print liboqs enablement status

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agobuild: update cligen submodule
Daiki Ueno [Wed, 24 Jul 2024 03:55:58 +0000 (12:55 +0900)] 
build: update cligen submodule

This is to respect SOURCE_DATE_EPOCH and to stop using the "error"
function from <error.h>.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agoMerge branch 'wip/dueno/hybrid-kx-liboqs-followup2' into 'master'
Daiki Ueno [Wed, 24 Jul 2024 11:57:08 +0000 (11:57 +0000)] 
Merge branch 'wip/dueno/hybrid-kx-liboqs-followup2' into 'master'

liboqs: defer loading of liboqs at run-time

See merge request gnutls/gnutls!1853

22 months agoMerge branch 'wip/dueno/cipher-deinit' into 'master'
Daiki Ueno [Wed, 24 Jul 2024 09:09:22 +0000 (09:09 +0000)] 
Merge branch 'wip/dueno/cipher-deinit' into 'master'

tests: hash-large: exercise gnutls_hash_output(..., NULL)

Closes #1453, #1552, #1559, #1560, and #1565

See merge request gnutls/gnutls!1851

22 months agoliboqs: defer loading of liboqs at run-time
Daiki Ueno [Tue, 23 Jul 2024 11:48:26 +0000 (20:48 +0900)] 
liboqs: defer loading of liboqs at run-time

Instead of loading liboqs at startup, this defers it until the liboqs
functions are actually used.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agonettle: run pairwise consistency test only in FIPS mode
Daiki Ueno [Wed, 24 Jul 2024 05:42:02 +0000 (14:42 +0900)] 
nettle: run pairwise consistency test only in FIPS mode

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agoMerge branch 'wip/dueno/hybrid-kx-liboqs-followup' into 'master'
Daiki Ueno [Tue, 23 Jul 2024 09:47:13 +0000 (09:47 +0000)] 
Merge branch 'wip/dueno/hybrid-kx-liboqs-followup' into 'master'

liboqs: manually load liboqs.so at startup

See merge request gnutls/gnutls!1852

22 months agobuild: avoid multiple definition if mpn_cnd_add_n
Daiki Ueno [Tue, 23 Jul 2024 07:08:16 +0000 (16:08 +0900)] 
build: avoid multiple definition if mpn_cnd_add_n

When Nettle is built with mini-gmp, mpn_cnd_add_n is always defined in
libhogweed and thus causes a symbol clash when linking with both
libgnutls and the latest libgmp.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agobuild: link against libhogweed when checking nettle_rsa_oaep_*
Daiki Ueno [Tue, 23 Jul 2024 07:04:56 +0000 (16:04 +0900)] 
build: link against libhogweed when checking nettle_rsa_oaep_*

Signed-off-by: Daiki Ueno <ueno@gnu.org>
22 months agotests: pkcs12-pbmac1: exercise extended/truncated MAC values
Daiki Ueno [Mon, 22 Jul 2024 05:07:28 +0000 (14:07 +0900)] 
tests: pkcs12-pbmac1: exercise extended/truncated MAC values

This adds a couple of new test vectors embedding
PFX.macData.mac.digest with extended/truncated MAC values, both of
which should fail MAC verification.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
Co-authored-by: Alexander Sosedkin <asosedkin@redhat.com>