]> git.ipfire.org Git - thirdparty/gnutls.git/log
thirdparty/gnutls.git
16 months agokey_share: send illegal_parameter when parsing EC key share fails
Daiki Ueno [Wed, 29 Jan 2025 02:57:44 +0000 (11:57 +0900)] 
key_share: send illegal_parameter when parsing EC key share fails

When the received EC key share is malformed,
_gnutls_ecc_ansi_x962_import returns GNUTLS_E_PARSING_ERROR or
GNUTLS_E_MEMORY_ERROR, which maps to an internal_error alert. This
explicitly return GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER to send
illegal_parameter instead, in compliance with the RFC.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agom4: update ax_code_coverage.m4 from autoconf-archive
Daiki Ueno [Sun, 26 Jan 2025 00:38:21 +0000 (09:38 +0900)] 
m4: update ax_code_coverage.m4 from autoconf-archive

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agotests: remove unmatched GCC pragma in tests/test-chains-issuer-aia.h
Daiki Ueno [Sat, 25 Jan 2025 09:09:25 +0000 (18:09 +0900)] 
tests: remove unmatched GCC pragma in tests/test-chains-issuer-aia.h

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agobuild: don't redefine AM_CPPFLAGS in libdane/Makefile.am
Daiki Ueno [Sat, 25 Jan 2025 09:07:44 +0000 (18:07 +0900)] 
build: don't redefine AM_CPPFLAGS in libdane/Makefile.am

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoMerge branch 'wip/dueno/license-files' into 'master'
Daiki Ueno [Mon, 27 Jan 2025 10:24:32 +0000 (10:24 +0000)] 
Merge branch 'wip/dueno/license-files' into 'master'

maint: consolidate licensing information to top-level directory

See merge request gnutls/gnutls!1923

16 months agomaint: consolidate licensing information to top-level directory
Daiki Ueno [Wed, 15 Jan 2025 02:16:32 +0000 (11:16 +0900)] 
maint: consolidate licensing information to top-level directory

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoMerge branch 'wip/dueno/lc' into 'master'
Daiki Ueno [Mon, 27 Jan 2025 08:09:41 +0000 (08:09 +0000)] 
Merge branch 'wip/dueno/lc' into 'master'

leancrypto: support leancrypto for post-quantum algorithms

See merge request gnutls/gnutls!1925

16 months agoMerge branch 'zfridric_devel2' into 'master'
Zoltán Fridrich [Sat, 25 Jan 2025 22:59:00 +0000 (22:59 +0000)] 
Merge branch 'zfridric_devel2' into 'master'

Add check for empty compressed certificate

Closes #1593

See merge request gnutls/gnutls!1927

16 months agoNEWS: mention leancrypto support
Daiki Ueno [Sat, 25 Jan 2025 00:58:25 +0000 (09:58 +0900)] 
NEWS: mention leancrypto support

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agotests: add a way to assume enabled groups in pqc-hybrid-kx.sh
Daiki Ueno [Sat, 25 Jan 2025 08:58:01 +0000 (17:58 +0900)] 
tests: add a way to assume enabled groups in pqc-hybrid-kx.sh

With this patch, if TESTS_ENABLED_GROUPS is set, the listed groups
must be enabled and the pqc-hybrid-kx.sh test would fail.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months ago.gitlab-ci.yml: exercise --with-leancrypto
Daiki Ueno [Wed, 22 Jan 2025 06:15:49 +0000 (15:15 +0900)] 
.gitlab-ci.yml: exercise --with-leancrypto

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoleancrypto: support leancrypto for post-quantum algorithms
Daiki Ueno [Mon, 20 Jan 2025 05:18:10 +0000 (14:18 +0900)] 
leancrypto: support leancrypto for post-quantum algorithms

This adds support for leancrypto as an additional and the preferred
backend for now, until Nettle gains the proper support for PQC
algorithms. There are a few advantages over liboqs, namely:

- It already has required input validations for ML-KEM as in FIPS 203,
  such as Modulus check, which are currently missing in liboqs

- It provides an API to generate ML-KEM/ML-DSA key pairs from a seed,
  which is required to support the seed-only private key format proposed
  in draft-ietf-lamps-dilithium-certificates-05 and later

- No need to avoid undesired OpenSSL dependency; all the symmetric
  algorithms are natively implemented by leancrypto itself

As the supposed use-case of this is to statically link leancrypto with
GnuTLS, this doesn't support loading leancrypto with dlopen.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agodatum, mem, str: add helper functions to steal pointers
Daiki Ueno [Tue, 21 Jan 2025 22:45:46 +0000 (07:45 +0900)] 
datum, mem, str: add helper functions to steal pointers

This introduces 3 new inline functions, namely _gnutls_steal_datum,
_gnutls_steal_buffer, and _gnutls_steal_pointer, to return a copy of
data structure and reset the original pointer. Those would enable to
return a populated data structure upon success; otherwise free the
partially filled data structure in a single code path, e.g.,

```c
  gnutls_datum_t tmp_result = { NULL, 0 };

  // Calculate tmp_result
  ...
  if (error)
    goto cleanup;

  // Propagate tmp_result to *result
  *result = _gnutls_steal_datum(&tmp_result);

cleanup:
  _gnutls_free_datum(&tmp_result);
  return ret;
```

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoAdd check for empty compressed certificate
Zoltan Fridrich [Fri, 24 Jan 2025 16:12:52 +0000 (17:12 +0100)] 
Add check for empty compressed certificate

Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>
16 months agoMerge branch 'wip/dueno/liboqs-followup' into 'master'
Daiki Ueno [Wed, 22 Jan 2025 02:13:32 +0000 (02:13 +0000)] 
Merge branch 'wip/dueno/liboqs-followup' into 'master'

pkcs8: remove HAVE_LIBOQS ifdefs

See merge request gnutls/gnutls!1924

16 months agopkcs8: remove HAVE_LIBOQS ifdefs
Daiki Ueno [Thu, 16 Jan 2025 02:46:14 +0000 (11:46 +0900)] 
pkcs8: remove HAVE_LIBOQS ifdefs

The key encoding and decoding operations currently do not use liboqs
functions. Remove unnecessary HAVE_LIBOQS ifdefs so it will be easier
to port to other implementations.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoMerge branch 'interop-update' into 'master'
Daiki Ueno [Tue, 21 Jan 2025 11:05:01 +0000 (11:05 +0000)] 
Merge branch 'interop-update' into 'master'

tls-interop: update

See merge request gnutls/gnutls!1926

16 months agotls-interop: update
Stanislav Zidek [Thu, 16 Jan 2025 15:33:59 +0000 (16:33 +0100)] 
tls-interop: update

Signed-off-by: Stanislav Zidek <szidek@redhat.com>
17 months agoMerge branch 'zfridric_devel2' into 'master'
Zoltán Fridrich [Wed, 15 Jan 2025 12:51:04 +0000 (12:51 +0000)] 
Merge branch 'zfridric_devel2' into 'master'

Fix Edwards EC_POINT encoding

Closes #957

See merge request gnutls/gnutls!1920

17 months agoMerge branch 'wip/dueno/gnulib-update' into 'master'
Daiki Ueno [Tue, 14 Jan 2025 12:17:39 +0000 (12:17 +0000)] 
Merge branch 'wip/dueno/gnulib-update' into 'master'

gnulib: update gnulib submodule

See merge request gnutls/gnutls!1921

17 months agoFix Edwards EC_POINT encoding
Zoltan Fridrich [Wed, 8 Jan 2025 14:15:12 +0000 (15:15 +0100)] 
Fix Edwards EC_POINT encoding

Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>
17 months agognulib: update gnulib submodule
Daiki Ueno [Sun, 12 Jan 2025 02:36:39 +0000 (11:36 +0900)] 
gnulib: update gnulib submodule

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agodoc: update copy of LGPLv2.1 to the latest, without FSF address
Daiki Ueno [Sun, 12 Jan 2025 02:24:56 +0000 (11:24 +0900)] 
doc: update copy of LGPLv2.1 to the latest, without FSF address

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agognulib: work around misinteractions between close and fchdir modules
Daiki Ueno [Sun, 12 Jan 2025 02:34:13 +0000 (11:34 +0900)] 
gnulib: work around misinteractions between close and fchdir modules

This caused a build failure on mingw. The workaround was suggested by
Bruno Haible in:
<https://lists.gnu.org/archive/html/bug-gnulib/2024-12/msg00179.html>

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agobuild: define GNUTLS_BUILDING_LIB while compiling sources in lib/
Daiki Ueno [Sun, 12 Jan 2025 02:35:28 +0000 (11:35 +0900)] 
build: define GNUTLS_BUILDING_LIB while compiling sources in lib/

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoconfigure: run autoupdate
Daiki Ueno [Fri, 10 Jan 2025 08:39:18 +0000 (17:39 +0900)] 
configure: run autoupdate

This fixes the warnings generated by autoupdate:

  configure.ac:55: warning: AC_PROG_CC_C99 is obsolete; use AC_PROG_CC

  configure.ac:139: warning: The preprocessor macro `STDC_HEADERS' is obsolete.
    Except in unusual embedded environments, you can safely include all
    ISO C90 headers unconditionally.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoMerge branch 'fix-doc-parallel-build' into 'master'
Daiki Ueno [Tue, 14 Jan 2025 09:59:58 +0000 (09:59 +0000)] 
Merge branch 'fix-doc-parallel-build' into 'master'

doc: Avoid failures in a parallel build.

See merge request gnutls/gnutls!1911

17 months agoMerge branch 'wip/dueno/mlkem-followup' into 'master'
Daiki Ueno [Tue, 14 Jan 2025 08:11:55 +0000 (08:11 +0000)] 
Merge branch 'wip/dueno/mlkem-followup' into 'master'

Rename ML-KEM and ML-DSA constants without underscore

See merge request gnutls/gnutls!1922

17 months agodoc: Fix races in a parallel build.
Maxim Cournoyer [Sun, 22 Dec 2024 02:29:59 +0000 (11:29 +0900)] 
doc: Fix races in a parallel build.

* configure.ac: Use AC_PROG_MKDIR_P macro.
* doc/Makefile.am (stamp_functions, stamp_enums): Use the MKDIR_P
variable it defines.
(error_codes.texi, algorithms.texi, alerts.texi): Add dependency on
errcodes via a prerequisite, not a make invocation
(DISTCLEANFILES): Register the newly depended upon binaries.

Fixes: <https://gitlab.com/gnutls/gnutls/-/issues/1635>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agoalgorithms: centrally define KEM algorithm sizes in group entries
Daiki Ueno [Tue, 14 Jan 2025 02:25:34 +0000 (11:25 +0900)] 
algorithms: centrally define KEM algorithm sizes in group entries

This switches to define the public key and ciphertext sizes of ML-KEM
algorithms in gnutls_group_entry_st, instead of deriving those from
the algorithm name at the usage in the TLS key shares.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoalgorithms: rename GNUTLS_{PK,SIGN}_ML_DSA_* to GNUTLS_*_MLDSA*
Daiki Ueno [Tue, 14 Jan 2025 02:15:13 +0000 (11:15 +0900)] 
algorithms: rename GNUTLS_{PK,SIGN}_ML_DSA_* to GNUTLS_*_MLDSA*

To be consistent with ML-KEM algorithms, omit underscores in ML-DSA
gnutls_pk_algorithm_t and gnutls_sign_algorithm_t enum definitions,
while keeping hyphens in the human readable names.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoalgorithms: rename GNUTLS_PK_ML_KEM_* to GNUTLS_PK_MLKEM*
Daiki Ueno [Tue, 14 Jan 2025 02:12:34 +0000 (11:12 +0900)] 
algorithms: rename GNUTLS_PK_ML_KEM_* to GNUTLS_PK_MLKEM*

To be consistent with the naming of hybrid groups, omit underscores in
the enum definition, while keeping hyphens in human readable names.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoMerge branch 'SecP384r1MLKEM1024' into 'master'
Daiki Ueno [Mon, 13 Jan 2025 23:56:52 +0000 (23:56 +0000)] 
Merge branch 'SecP384r1MLKEM1024' into 'master'

Add MLKEM-1024 and SecP384r1MLKEM1024.

See merge request gnutls/gnutls!1919

17 months agokey_share: support SecP384r1MLKEM1024 group
Loganaden Velvindron [Mon, 13 Jan 2025 23:56:52 +0000 (23:56 +0000)] 
key_share: support SecP384r1MLKEM1024 group

Signed-off-by: Loganaden Velvindron <logan@cyberstorm.mu>
Signed-off-by: Jaykishan Mutkawoa <jay@cyberstorm.mu>
Signed-off-by: Kavish Nadan <kn@cyberstorm.mu>
17 months agoMerge branch 'wip/dueno/mldsa-followup' into 'master'
Daiki Ueno [Fri, 10 Jan 2025 02:01:46 +0000 (02:01 +0000)] 
Merge branch 'wip/dueno/mldsa-followup' into 'master'

Follow-up on ML-KEM and ML-DSA support

See merge request gnutls/gnutls!1916

17 months agox509: stop using version field of MLDSAPrivateKey
Daiki Ueno [Tue, 7 Jan 2025 03:36:19 +0000 (12:36 +0900)] 
x509: stop using version field of MLDSAPrivateKey

Previously we indicated the used ML-DSA algorithm in the version field
of MLDSAPrivateKey, though this information is also available in
privateKeyAlgorithm field as OID. With this change, the version field
is always set to 1 to be compatible with OneAsymmetricKey with a
non-empty publicKey field. When decoding, if the version is 1, the
public key is read from publicKey field; otherwise it will be
extracted from the privateKey field to interoperate with the other
implementations such as OpenSSL/oqsprovider.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoNEWS: add entry for ML-DSA support
Daiki Ueno [Thu, 26 Dec 2024 08:34:51 +0000 (17:34 +0900)] 
NEWS: add entry for ML-DSA support

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agotests: add basic tests for ML-DSA usage with certtool
Daiki Ueno [Thu, 26 Dec 2024 01:56:08 +0000 (10:56 +0900)] 
tests: add basic tests for ML-DSA usage with certtool

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agonettle: ensure liboqs is loaded for signing operations with ML-DSA
Daiki Ueno [Thu, 26 Dec 2024 02:07:15 +0000 (11:07 +0900)] 
nettle: ensure liboqs is loaded for signing operations with ML-DSA

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoalgorithms: document ML-KEM/ML-DSA in public enums
Daiki Ueno [Thu, 26 Dec 2024 01:31:05 +0000 (10:31 +0900)] 
algorithms: document ML-KEM/ML-DSA in public enums

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoalgorithms: rename GNUTLS_PK_MLKEM768 to GNUTLS_PK_ML_KEM_768
Daiki Ueno [Thu, 26 Dec 2024 01:28:08 +0000 (10:28 +0900)] 
algorithms: rename GNUTLS_PK_MLKEM768 to GNUTLS_PK_ML_KEM_768

To be consistent with ML-DSA algorithms, this renames
GNUTLS_PK_MLKEM768 to GNUTLS_PK_ML_KEM_768, while the old name is
preserved through a compatibility macro.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agocerttool: enable ML-DSA private key generation
Daiki Ueno [Tue, 24 Dec 2024 09:14:39 +0000 (18:14 +0900)] 
certtool: enable ML-DSA private key generation

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoalgorithms: expose ML-DSA algorithm entries regardless of liboqs
Daiki Ueno [Thu, 26 Dec 2024 01:38:33 +0000 (10:38 +0900)] 
algorithms: expose ML-DSA algorithm entries regardless of liboqs

Also this omits mapping between ML-DSA-44 and secparams, as there is
no way to express an algorithm is at security level category 2, which
uses a hash collision search instead of a brute-force key search on
AES. See Appendix B of draft-ietf-lamps-dilithium-certificates for
further details.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agofips: perform pair-wise consistency test for ML-DSA
Daiki Ueno [Tue, 24 Dec 2024 07:57:54 +0000 (16:57 +0900)] 
fips: perform pair-wise consistency test for ML-DSA

Also mark the signature creation and verification operation as
non-approved, as the current version of liboqs doesn't implement
sufficient checks for input.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoMerge branch 'wip/dueno/minor-fixes' into 'master'
Daiki Ueno [Thu, 9 Jan 2025 06:25:43 +0000 (06:25 +0000)] 
Merge branch 'wip/dueno/minor-fixes' into 'master'

Assorted minor improvements to the build infrastructure

See merge request gnutls/gnutls!1915

17 months ago.gitlab-ci.yml: bump cache version
Daiki Ueno [Tue, 7 Jan 2025 14:23:22 +0000 (23:23 +0900)] 
.gitlab-ci.yml: bump cache version

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoUpdate year of copyright notices in doc/gnutls.texi
Daiki Ueno [Tue, 7 Jan 2025 11:30:15 +0000 (20:30 +0900)] 
Update year of copyright notices in doc/gnutls.texi

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoconfigure: cache results of AC_*_IFELSE checks
Daiki Ueno [Tue, 24 Dec 2024 01:15:45 +0000 (10:15 +0900)] 
configure: cache results of AC_*_IFELSE checks

This make the configure process a little faster when --cache-file is
given from the previous build, as it avoids running compilers, etc.,
as well as makes the features configurable through cached variables.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoconfigure: fix output for checking whether dlopen(SONAME) works
Daiki Ueno [Mon, 23 Dec 2024 07:36:26 +0000 (16:36 +0900)] 
configure: fix output for checking whether dlopen(SONAME) works

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agotests: fix "fail" function usage
Daiki Ueno [Tue, 10 Dec 2024 06:54:15 +0000 (15:54 +0900)] 
tests: fix "fail" function usage

The "fail" shell function takes a PID as the first argument.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agotests: fix tense in messages
Daiki Ueno [Tue, 10 Dec 2024 04:48:08 +0000 (13:48 +0900)] 
tests: fix tense in messages

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agobuild: error "make distcheck" if bootstrap is called with --skip-po
Daiki Ueno [Mon, 9 Dec 2024 12:40:07 +0000 (21:40 +0900)] 
build: error "make distcheck" if bootstrap is called with --skip-po

This prevents mistakes when creating a tarball, as in 3.8.7.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoMerge branch 'find-p11-kit-trust-via-pkg-config' into 'master'
Daiki Ueno [Sun, 29 Dec 2024 01:49:57 +0000 (01:49 +0000)] 
Merge branch 'find-p11-kit-trust-via-pkg-config' into 'master'

tests: Find p11-kit module directory via pkg-config.

See merge request gnutls/gnutls!1913

17 months agoMerge branch 'add-missing-test-skip-conditions' into 'master'
Daiki Ueno [Thu, 26 Dec 2024 17:58:48 +0000 (17:58 +0000)] 
Merge branch 'add-missing-test-skip-conditions' into 'master'

Skip tests when dependencies are missing

See merge request gnutls/gnutls!1910

17 months agotests: Find p11-kit module directory via pkg-config.
Maxim Cournoyer [Tue, 24 Dec 2024 11:44:12 +0000 (20:44 +0900)] 
tests: Find p11-kit module directory via pkg-config.

* tests/p11-kit-load.sh (P11_MODULE_PATH): New variable; use it to
locate p11-kit-trust.so.
* tests/p11-kit-trust.sh (PKG_CONFIG, P11_MODULE_PATH): Likewise.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agobuild: Skip tls-fuzzer when python-six is not available.
Maxim Cournoyer [Sat, 21 Dec 2024 15:00:39 +0000 (00:00 +0900)] 
build: Skip tls-fuzzer when python-six is not available.

* configure.ac [HAVE_PYTHON_SIX]: New conditional.
* tests/suite/Makefile.am (scripts_to_test)
[HAVE_PYTHON_SIX]: Conditionally include tls-fuzzer test scripts.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agotests: Skip multi-ticket-reception test when valgrind is not available.
Maxim Cournoyer [Sat, 21 Dec 2024 12:47:56 +0000 (21:47 +0900)] 
tests: Skip multi-ticket-reception test when valgrind is not available.

This test would hang when attempting to run without valgrind
available.

* tests/suite/multi-ticket-reception.sh: Skip when VALGRIND is not set.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agoMerge branch 'add-bison-to-bootstrap-conf-buildreq' into 'master'
Daiki Ueno [Sat, 21 Dec 2024 22:37:33 +0000 (22:37 +0000)] 
Merge branch 'add-bison-to-bootstrap-conf-buildreq' into 'master'

bootstrap.conf: Require the 'bison' command.

See merge request gnutls/gnutls!1909

17 months agoconfigure.ac: Ensure Python is available when it's needed.
Maxim Cournoyer [Sat, 21 Dec 2024 13:51:02 +0000 (22:51 +0900)] 
configure.ac: Ensure Python is available when it's needed.

* configure.ac: Use AM_PATH_PYTHON only when needed, and ensure it
then succeeds.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agobootstrap.conf: Sort requirements.
Maxim Cournoyer [Sat, 21 Dec 2024 07:29:39 +0000 (16:29 +0900)] 
bootstrap.conf: Sort requirements.

* bootstrap.conf (buildreq): Sort.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agobootstrap.conf: Require the 'wget' command.
Maxim Cournoyer [Sat, 21 Dec 2024 03:47:56 +0000 (12:47 +0900)] 
bootstrap.conf: Require the 'wget' command.

wget is used to retrieve translation files.

* bootstrap.conf (buildreq): Register wget.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agobootstrap.conf: Require the 'bison' command.
Maxim Cournoyer [Sat, 21 Dec 2024 02:37:51 +0000 (11:37 +0900)] 
bootstrap.conf: Require the 'bison' command.

* bootstrap.conf (buildreq): Register bison.

Fixes: <https://gitlab.com/gnutls/gnutls/-/issues/1196>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
18 months agoMerge branch 'client_early_data_size' into 'master'
Daiki Ueno [Thu, 19 Dec 2024 06:58:26 +0000 (06:58 +0000)] 
Merge branch 'client_early_data_size' into 'master'

Set default value of early date size for client to 0

See merge request gnutls/gnutls!1906

18 months agoSet default value of early date size for client to 0
Sahil Siddiq [Thu, 12 Dec 2024 12:59:39 +0000 (18:29 +0530)] 
Set default value of early date size for client to 0

This commit sets the default value of "early_data_size" to 0 for
the client. "early_data_size" is set to a non-zero value when the
server sends the relevant extension in a session ticket to the
client.

This makes it easy for the client to determine if a server
supports early data.

Link: https://gitlab.com/gnutls/gnutls/-/issues/1619
Signed-off-by: Sahil Siddiq <sahilcdq@proton.me>
18 months agoMerge branch 'wip/dueno/hybrid-kx-liboqs-followup2' into 'master'
Daiki Ueno [Wed, 11 Dec 2024 01:53:11 +0000 (01:53 +0000)] 
Merge branch 'wip/dueno/hybrid-kx-liboqs-followup2' into 'master'

groups: represent hybrid groups with an array of IDs

Closes #1604

See merge request gnutls/gnutls!1904

18 months agoMerge branch 'wip/dueno/print-nc-import-error' into 'master'
Daiki Ueno [Wed, 11 Dec 2024 01:51:48 +0000 (01:51 +0000)] 
Merge branch 'wip/dueno/print-nc-import-error' into 'master'

x509: print errors when importing name constraints fails

Closes #1596

See merge request gnutls/gnutls!1902

18 months agogroups: represent hybrid groups with an array of IDs
Daiki Ueno [Fri, 6 Dec 2024 00:53:18 +0000 (09:53 +0900)] 
groups: represent hybrid groups with an array of IDs

Previously, the supported_groups array contained externally defined
elements, which is legitimate in C99 but caused error with Clang:

  groups.c:93:2: error: initializer element is not a compile-time constant
          group_x25519,
          ^~~~~~~~~~~~

This reworks the array definition of indirection through group
IDs (gnutls_group_t, i.e., integer).

This also makes pqc-hybrid-kx test more exhaustive.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
18 months agoMerge branch 'interop-fix' into 'master'
Daiki Ueno [Mon, 9 Dec 2024 14:01:29 +0000 (14:01 +0000)] 
Merge branch 'interop-fix' into 'master'

fix tmt provision -h local

See merge request gnutls/gnutls!1905

18 months agofix tmt provision -h local
Stanislav Zidek [Mon, 9 Dec 2024 12:32:14 +0000 (13:32 +0100)] 
fix tmt provision -h local

TMT started requiring --feeling-safe for local provisioning.

Signed-off-by: Stanislav Zidek <szidek@redhat.com>
18 months agox509: print errors when importing name constraints fails
Daiki Ueno [Tue, 3 Dec 2024 12:50:05 +0000 (21:50 +0900)] 
x509: print errors when importing name constraints fails

Like printing SCTS, report any error to stdout when iterating over
name constraints in a certificate.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
18 months agoMerge branch 'pqc' into 'master'
Daiki Ueno [Fri, 29 Nov 2024 00:51:45 +0000 (00:51 +0000)] 
Merge branch 'pqc' into 'master'

Add experimental support for post-quantum algorithms in X.509 certificates

See merge request gnutls/gnutls!1786

18 months agoMerge branch 'fips/mark-eddsa-approved' into 'master'
Daiki Ueno [Thu, 28 Nov 2024 23:43:06 +0000 (23:43 +0000)] 
Merge branch 'fips/mark-eddsa-approved' into 'master'

fips: mark EdDSA as approved in FIPS mode

See merge request gnutls/gnutls!1897

18 months agoMerge branch 'fips/no_dsa_selfcheck' into 'master'
Daiki Ueno [Thu, 28 Nov 2024 23:37:40 +0000 (23:37 +0000)] 
Merge branch 'fips/no_dsa_selfcheck' into 'master'

fips: Remove DSA selftest check in FIPS mode.

See merge request gnutls/gnutls!1901

18 months agoAs DSA is not-approved in FIPS 140-3, there is no need to run a self test on it.
Angel Yankov [Thu, 28 Nov 2024 08:54:45 +0000 (10:54 +0200)] 
As DSA is not-approved in FIPS 140-3, there is no need to run a self test on it.

Signed-off-by: Angel Yankov <angel.yankov@suse.com>
19 months agoRemoved support for Falcon algorithms
d-Dudas [Sun, 17 Nov 2024 13:12:28 +0000 (15:12 +0200)] 
Removed support for Falcon algorithms

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
19 months agofips: mark EdDSA as approved in FIPS mode
pohsingwu [Sat, 16 Nov 2024 18:01:37 +0000 (02:01 +0800)] 
fips: mark EdDSA as approved in FIPS mode

FIPS 186-5 approves EdDSA.

Signed-off-by: Po-Hsing Wu <pohsingwu@synology.com>
19 months agoRemoved support for Sphincs algorithms
d-Dudas [Wed, 6 Nov 2024 18:46:59 +0000 (20:46 +0200)] 
Removed support for Sphincs algorithms

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
19 months agoAdded SHA3x4 callbacks for liboqs.
David Dudas [Thu, 24 Oct 2024 15:56:30 +0000 (18:56 +0300)] 
Added SHA3x4 callbacks for liboqs.

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
19 months agoMoved ML-DSA algorithms from the experimtental algorithms to non-exeperimental algori...
d-Dudas [Sun, 22 Sep 2024 13:22:13 +0000 (16:22 +0300)] 
Moved ML-DSA algorithms from the experimtental algorithms to non-exeperimental algorithms.

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
19 months agoChanged from Dilithium to ML-DSA
d-Dudas [Sat, 31 Aug 2024 16:46:02 +0000 (19:46 +0300)] 
Changed from Dilithium to ML-DSA

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
19 months agoAdd experimental support for post-quantum digital signature algorithms in X.509 certi...
d-Dudas [Sun, 28 Jul 2024 21:00:40 +0000 (00:00 +0300)] 
Add experimental support for post-quantum digital signature algorithms in X.509 certificates

- Dilithium
- Falcon
- Sphincs family

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
19 months agoMerge branch 'wip/dueno/assorted-fixes' into 'master'
Daiki Ueno [Fri, 15 Nov 2024 07:54:19 +0000 (07:54 +0000)] 
Merge branch 'wip/dueno/assorted-fixes' into 'master'

Assorted fixes

See merge request gnutls/gnutls!1894

19 months agoliboqs: don't call OQS_destroy if the version is 0.11.0
Daiki Ueno [Thu, 7 Nov 2024 13:10:20 +0000 (22:10 +0900)] 
liboqs: don't call OQS_destroy if the version is 0.11.0

OQS_destroy in liboqs 0.11.0 unconditionally calls OpenSSL functions
for cleanup; see:
https://github.com/open-quantum-safe/liboqs/pull/1982

As it doesn't do anything other than that so far, just skip it for
now.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agoliboqs: add SHA3x4 callbacks
David Dudas [Thu, 7 Nov 2024 00:31:53 +0000 (09:31 +0900)] 
liboqs: add SHA3x4 callbacks

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
Modified-by: Daiki Ueno <ueno@gnu.org>
19 months agoMerge branch 'fips/p192-disabled' into 'master'
Daiki Ueno [Wed, 6 Nov 2024 10:50:11 +0000 (10:50 +0000)] 
Merge branch 'fips/p192-disabled' into 'master'

fips: Mark operations using P-192 as not approved

See merge request gnutls/gnutls!1887

19 months agoMerge branch 'fips/rsa2048' into 'master'
Daiki Ueno [Wed, 6 Nov 2024 10:48:59 +0000 (10:48 +0000)] 
Merge branch 'fips/rsa2048' into 'master'

fips: Allow SigVer only with RSA keys with modulus >= 2048 bits

See merge request gnutls/gnutls!1889

19 months agoMerge branch gnutls:master into fips/p192-disabled
Angel Yankov [Wed, 6 Nov 2024 09:03:48 +0000 (09:03 +0000)] 
Merge branch gnutls:master into fips/p192-disabled

19 months agofips: Allow SigVer only with RSA keys with modulus >= 2048 bits
Angel Yankov [Thu, 24 Oct 2024 12:00:28 +0000 (15:00 +0300)] 
fips: Allow SigVer only with RSA keys with modulus >= 2048 bits

This is for easier complience with FIPS 186-5,
otherwise it would be necessary to justify how
the timestamp is provided to prove that only
pre-existing signatures can be verified in compliance
with FIPS 186-5.

Signed-off-by: Angel Yankov <angel.yankov@suse.com>
19 months agoMerge branch 'fips/gnutls_hash_fast_approved' into 'master'
Daiki Ueno [Wed, 6 Nov 2024 05:29:44 +0000 (05:29 +0000)] 
Merge branch 'fips/gnutls_hash_fast_approved' into 'master'

fips: Mark gnutls_hash_fast as approved in FIPS SLI

See merge request gnutls/gnutls!1888

19 months agodlwrap: regenerate files
Daiki Ueno [Wed, 6 Nov 2024 05:24:05 +0000 (14:24 +0900)] 
dlwrap: regenerate files

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agognutls_privkey_get_spki: avoid NULL dereference in invalid call
Daiki Ueno [Wed, 6 Nov 2024 05:14:50 +0000 (14:14 +0900)] 
gnutls_privkey_get_spki: avoid NULL dereference in invalid call

Reported and solution suggested by David Meliksetyan in:
https://gitlab.com/gnutls/gnutls/-/issues/1579

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agognutls-cli-debug: skip GOST and X25519 tests in FIPS mode
Daiki Ueno [Tue, 5 Nov 2024 13:56:36 +0000 (22:56 +0900)] 
gnutls-cli-debug: skip GOST and X25519 tests in FIPS mode

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agoMerge branch 'wip/dueno/release-3.8.8' into 'master' 3.8.8
Daiki Ueno [Tue, 5 Nov 2024 02:33:05 +0000 (02:33 +0000)] 
Merge branch 'wip/dueno/release-3.8.8' into 'master'

Release 3.8.8

See merge request gnutls/gnutls!1893

19 months agoRelease 3.8.8
Daiki Ueno [Sat, 2 Nov 2024 03:13:54 +0000 (12:13 +0900)] 
Release 3.8.8

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agoFixed the check at src/benchmark-tls.c
Daiki Ueno [Sat, 14 Sep 2024 12:31:04 +0000 (15:31 +0300)] 
Fixed the check at src/benchmark-tls.c

Signed-off-by: David Meliksetyan <d.meliksetyan@fobos-nt.ru>
Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agoMerge branch 'wip/dueno/dlwrap-doc' into 'master'
Daiki Ueno [Tue, 5 Nov 2024 00:06:34 +0000 (00:06 +0000)] 
Merge branch 'wip/dueno/dlwrap-doc' into 'master'

dlwrap: clarify the code generation is one time only [ci skip]

Closes #1581

See merge request gnutls/gnutls!1878

19 months agodlwrap: clarify the code generation is one time only [ci skip]
Daiki Ueno [Wed, 25 Sep 2024 02:27:30 +0000 (11:27 +0900)] 
dlwrap: clarify the code generation is one time only [ci skip]

This makes it clear that dlwrap is not a build-time dependency but a
one-time passive code generator.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agodevel/generate-dlwrap.sh: remove --clang-resource-dir option
Daiki Ueno [Wed, 25 Sep 2024 00:59:42 +0000 (09:59 +0900)] 
devel/generate-dlwrap.sh: remove --clang-resource-dir option

The option is automatically inferred in dlwrap 0.3.6.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agoMerge branch 'wip/dueno/kem-group-ordering' into 'master'
Daiki Ueno [Fri, 1 Nov 2024 10:40:06 +0000 (10:40 +0000)] 
Merge branch 'wip/dueno/kem-group-ordering' into 'master'

key_share: detect overlap of PK types in hybrid groups

Closes #1602

See merge request gnutls/gnutls!1892

19 months agopriority: give KEM groups precedence over EC(DH) groups in TLS 1.3
Daiki Ueno [Fri, 1 Nov 2024 02:10:49 +0000 (11:10 +0900)] 
priority: give KEM groups precedence over EC(DH) groups in TLS 1.3

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