summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* safe_memcmp: remove in favor of gnutls_memcmptmp-safe-memcmpDaiki Ueno2020-06-296-17/+9
| | | | Signed-off-by: Daiki Ueno <ueno@gnu.org>
* Merge branch 'tmp-sp800-56ar3' into 'master'Daiki Ueno2020-06-2931-32/+1483
|\ | | | | | | | | fips: tighten check on DH parameters according to SP800-56A (rev 3) See merge request gnutls/gnutls!1295
| * dhe: check if DH params in SKE match the FIPS approved algorithmstmp-sp800-56ar3Daiki Ueno2020-06-2731-32/+521
| | | | | | | | | | | | | | | | SP800-56A rev. 3 restricts the FIPS compliant clients to use only approved DH parameters, defined in RFC 7919 and RFC 3526. This adds a check in the handling of ServerKeyExchange if DHE is negotiated. Signed-off-by: Daiki Ueno <ueno@gnu.org>
| * dh-primes: add MODP primes from RFC 3526Daiki Ueno2020-06-262-0/+962
|/ | | | Signed-off-by: Daiki Ueno <ueno@gnu.org>
* Merge branch 'tmp-clear-session-ticket-keys' into 'master'Daiki Ueno2020-06-211-0/+8
|\ | | | | | | | | Wipe session ticket keys before releasing the session structure See merge request gnutls/gnutls!1289
| * Wipe session ticket keys before releasing the session structureFiona Klute2020-06-141-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | This includes both a copy of the master key and one or two derived keys, all of which could be used to decrypt session tickets if stolen. The derived keys could only be used for tickets issued within a certain time frame (by default several hours). The documentation for gnutls_session_ticket_enable_server() already states that the master key should be wiped before releasing it, and the same should apply to internal copies. Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
* | Merge branch 'master' into 'master'Daiki Ueno2020-06-182-18/+22
|\ \ | | | | | | | | | | | | issues #1018- Modied the license to GPLv2.1+ to keep with LICENSE file. See merge request gnutls/gnutls!1285
| * | Modied the license to GPLv2.1+ to keep with LICENSE file.Lei Maohui2020-06-082-18/+22
| | | | | | | | | | | | Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
* | | Merge branch 'tmp-detect-python' into 'master'Dmitry Baryshkov2020-06-175-6/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Detect Python interpreter for tests instead of assuming "python" Closes #1034 See merge request gnutls/gnutls!1292
| * | | Update tlsfuzzer to get Python interpreter detectionFiona Klute2020-06-161-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tlsfuzzer also assumed the Python interpreter would be called "python", this update is necessary to get a fixed version (see https://github.com/tomato42/tlsfuzzer/pull/671). Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
| * | | Detect Python interpreter instead of assuming "python"Fiona Klute2020-06-164-6/+18
|/ / / | | | | | | | | | | | | | | | | | | This makes the extended test suite work one Debian(-ish) systems without Python 2, where the Python 3 interpreter is called "python3". Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
* | | Merge branch 'tmp-mark-gost94-as-broken' into 'master'Dmitry Baryshkov2020-06-1610-12/+56
|\ \ \ | | | | | | | | | | | | | | | | GOSTR341194, RIPEMD160: mark as insecure for digital signatures See merge request gnutls/gnutls!1175
| * \ \ Merge branch 'master' into 'tmp-mark-gost94-as-broken'Dmitry Baryshkov2020-06-15335-21462/+28303
| |\ \ \ | |/ / / |/| | | | | | | # Conflicts: # lib/crypto-selftests-pk.c
* | | | Merge branch 'tmp-enum' into 'master'Dmitry Baryshkov2020-06-1514-22/+61
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | build: minor fixes See merge request gnutls/gnutls!1287
| * | | | .gitlab-ci.yml: bump configure cache versiontmp-enumDaiki Ueno2020-06-151-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Daiki Ueno <ueno@gnu.org>
| * | | | .gitignore: ignore more filesDaiki Ueno2020-06-151-1/+27
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Daiki Ueno <ueno@gnu.org>
| * | | | build: avoid -Wenum-conversion warnings with GCC 10Daiki Ueno2020-06-1512-20/+33
| | |_|/ | |/| | | | | | | | | | Signed-off-by: Daiki Ueno <ueno@gnu.org>
* | | | Merge branch 'better_SSL3.0_tests' into 'master'Dmitry Baryshkov2020-06-142-5/+24
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | refine tests for ancient servers which support both SSL 3.0 and TLS 1.0, but both only with %NO_EXTENSIONS See merge request gnutls/gnutls!1251
| * | | | refine tests for ancient servers which support both SSL 3.0 and TLS 1.0, but ↵Daniel Lenski2020-05-172-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | both only with %NO_EXTENSIONS This is a follow-up to !1221. See #958 and https://gitlab.com/openconnect/openconnect/-/issues/145 for a real-world example of ancient Cisco servers with these deficiencies. With !1221 only, gnutls-cli-debug reports that these ancient servers only support SSL 3.0 (but without extensions). Information after this point is largely erroneous: $ gnutls-cli-debug ***vpn.***.com GnuTLS debug client 3.6.12 Checking ***vpn.***.com:443 whether the server accepts default record size (512 bytes)... no whether %ALLOW_SMALL_RECORDS is required... no for SSL 3.0 (RFC6101) support... yes for SSL 3.0 with extensions... no With this additional change, gnutls-cli-debug correctly reports that such a server also supports TLS 1.0 (but again with extensions disabled). Below I've marked some of the significant fields that have changed: $ gnutls-cli-debug ***vpn.***.com GnuTLS debug client 3.6.12 Checking ***vpn.***.com:443 whether the server accepts default record size (512 bytes)... no whether %ALLOW_SMALL_RECORDS is required... no for SSL 3.0 (RFC6101) support... yes for SSL 3.0 with extensions... no whether we need to disable TLS 1.2... yes whether we need to disable TLS 1.1... yes # This is now correct: whether we need to disable TLS 1.0... no # This is now correct: whether %NO_EXTENSIONS is required... yes # This is now correct: for TLS 1.0 (RFC2246) support... yes for TLS 1.1 (RFC4346) support... no fallback from TLS 1.1 to... failed for TLS 1.2 (RFC5246) support... no # This is now correct: for known TLS or SSL protocols support... yes TLS1.2 neg fallback from TLS 1.6 to... failed (server requires fallback dance) for inappropriate fallback (RFC7507) support... no for HTTPS server name... ****** for certificate chain order... sorted for Safe renegotiation support (SCSV)... no for version rollback bug in RSA PMS... no for version rollback bug in Client Hello... no whether the server ignores the RSA PMS version... no whether small records (512 bytes) are tolerated on handshake... yes whether cipher suites not in SSL 3.0 spec are accepted... yes whether a bogus TLS record version in the client hello is accepted... yes whether the server understands TLS closure alerts... partially whether the server supports session resumption... yes for anonymous authentication support... no for ephemeral Diffie-Hellman support... no for RFC7919 Diffie-Hellman support... no for AES-GCM cipher (RFC5288) support... no for AES-CCM cipher (RFC6655) support... no for AES-CCM-8 cipher (RFC6655) support... no for AES-CBC cipher (RFC3268) support... no for CAMELLIA-GCM cipher (RFC6367) support... no for CAMELLIA-CBC cipher (RFC5932) support... no # This is now correct: for 3DES-CBC cipher (RFC2246) support... yes # This is now correct: for ARCFOUR 128 cipher (RFC2246) support... yes for CHACHA20-POLY1305 cipher (RFC7905) support... no for GOST28147-CNT cipher (draft-smyshlyaev-tls12-gost-suites) support... no for MD5 MAC support... yes for SHA1 MAC support... yes for SHA256 MAC support... no for GOST28147-IMIT MAC (draft-smyshlyaev-tls12-gost-suites) support... no Signed-off-by: Daniel Lenski <dlenski@gmail.com>
* | | | | Merge branch 'tmp-skip-datefudge' into 'master'Dmitry Baryshkov2020-06-1449-66/+78
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tests: improve datefudge usage Closes #1021 See merge request gnutls/gnutls!1288
| * | | | | tests/cert-test/invalid-sig: use datefudge to test expired certstmp-skip-datefudgeDaiki Ueno2020-06-121-18/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suggested by Andreas Metzler in: https://gitlab.com/gnutls/gnutls/-/issues/1021 Signed-off-by: Daiki Ueno <ueno@gnu.org>
| * | | | | tests: check_for_datefudge: don't exit the test programsDaiki Ueno2020-06-1248-48/+53
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes check_for_datefudge not to immediately exit the program, but to return non-zero to allow the tests by themselves to control the behavior when "datefudge" is not found. Signed-off-by: Daiki Ueno <ueno@gnu.org>
* | | | | Merge branch 'tmp-gettext' into 'master'Dmitry Baryshkov2020-06-141-0/+3
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | configure.ac: prefer the latest version of build infrastructure See merge request gnutls/gnutls!1284
| * | | | configure.ac: prefer the latest version of build infrastructuretmp-gettextDaiki Ueno2020-06-081-0/+3
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AM_GNU_GETTEXT_REQUIRE_VERSION tells autopoint to copy the latest possible build infrastructure installed on the system, rather than the fixed version from the archive.dir.tar.xz. This makes the bootstrapping slightly faster and allows us not to stick with the ancient gettext version. Signed-off-by: Daiki Ueno <ueno@gnu.org>
* | | | Merge branch 'nettle_so' into 'master'Anderson Sasaki2020-06-091-3/+12
|\ \ \ \ | |/ / / |/| | | | | | | | | | | configure: improve nettle, gmp, and hogweed soname detection See merge request gnutls/gnutls!1286
| * | | configure: improve nettle, gmp, and hogweed soname detectionVitezslav Cizek2020-06-091-3/+12
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some linkers might optimize away the libraries passed on the command line if they aren't actually needed, such as gnu ld with --as-needed. The ldd output then won't list the shared libraries and the detection will fail. Make sure nettle and others are really used. Signed-off-by: Vitezslav Cizek <vcizek@suse.com>
* | | Merge branch 'fix-vista-ci' into 'master'Dmitry Baryshkov2020-06-071-2/+45
|\ \ \ | | | | | | | | | | | | | | | | Fix Vista CI and add a Vista DLL target See merge request gnutls/gnutls!1279
| * | | CI: fix typo in the Vista targetSteve Lhomme2020-06-071-2/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This resulted in the MinGW64.Vista+ target doing the same thing as the MinGW64 target. Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
* | | | Merge branch 'tmp-iov-memleak' into 'master'Dmitry Baryshkov2020-06-072-40/+29
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | crypto-api: always allocate memory when serializing iovec_t Closes #1017 See merge request gnutls/gnutls!1278
| * | | crypto-api: always allocate memory when serializing iovec_ttmp-iov-memleakDaiki Ueno2020-06-052-40/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AEAD iov interface falls back to serializing the input buffers if the low-level cipher doesn't support scatter/gather encryption. However, there was a bug in the functions used for the serialization, which causes memory leaks under a certain condition (i.e. the number of input buffers is 1). This patch makes the logic of the functions simpler, by removing a micro-optimization that tries to minimize the number of calls to malloc/free. The original problem was reported by Marius Steffen in: https://bugzilla.samba.org/show_bug.cgi?id=14399 and the cause was investigated by Alexander Haase in: https://gitlab.com/gnutls/gnutls/-/merge_requests/1277 Signed-off-by: Daiki Ueno <ueno@gnu.org>
* | | | Merge branch 'gost-split-6' into 'master'Dmitry Baryshkov2020-06-0627-10/+14399
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | MAGMA/KUZNYECHIK CTR-ACPKM and CMAC support See merge request gnutls/gnutls!1161
| * | | | crypto-selftest: add test vectors for MAGMA/KUZNYECHIK-CTR-ACPKMDmitry Eremin-Solenikov2020-06-071-1/+694
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * | | | crypto-api: add _gnutls_cipher_set_key wrapper()Dmitry Eremin-Solenikov2020-06-072-0/+27
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * | | | cipher/mac: enhance handlers with setkey callbackDmitry Eremin-Solenikov2020-06-074-0/+22
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * | | | selftests: add test vectors for MAGMA/KUZNYECHIK-OMACDmitry Eremin-Solenikov2020-06-071-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add test vectors for newly added MAC algorithms. Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * | | | lib: add Magma/Kuznyechik OMAC supportDmitry Eremin-Solenikov2020-06-074-1/+48
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * | | | lib: add Magma/Kuznyechik ciphers supportDmitry Eremin-Solenikov2020-06-074-0/+134
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * | | | nettle/gost: add ACPKM rekeying codeDmitry Eremin-Solenikov2020-06-073-0/+152
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * | | | nettle/gost: add CMAC-64/Magma/Kuznyechik codeDmitry Eremin-Solenikov2020-06-077-7/+269
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * | | | nettle/gost: add Kuznyechik codeDmitry Eremin-Solenikov2020-06-075-1/+12835
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * | | | nettle/gost: add Magma codeDmitry Eremin-Solenikov2020-06-074-0/+179
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
| * | | | nettle/gost: export gost28147_decrypt_simple for magma cipherDmitry Eremin-Solenikov2020-06-072-2/+5
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
* | | | | Merge branch 'merge-mandatory-libs' into 'master'Dmitry Baryshkov2020-06-063-8/+8
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | Merge the extra libraries to link dynamically in GNUTLS_LIBS_PRIVATE Closes #1020 See merge request gnutls/gnutls!1280
| * | | | Merge the extra libraries to link dynamically in GNUTLS_LIBS_PRIVATESteve Lhomme2020-06-063-8/+8
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should fix #1020 where bcrypt is missing from thirdparty_libadd. Ultimately it would be good to add libraries that always need to be linked in one variable that is shared between the Makefile and the pkg-config file. Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
* | | | Merge branch 'master' into 'master'Daiki Ueno2020-06-053-0/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | tests: updated tlsfuzzer tests to latest version See merge request gnutls/gnutls!1276
| * | | | tests: updated tlsfuzzer tests to latest versionKrenzelokFrantisek2020-06-043-0/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | excluded some tests from test-certificate-malformed.py Signed-off-by: KrenzelokFrantisek <krenzelok.frantisek@gmail.com>
* | | | Merge branch 'tmp-aead-init-leak' into 'master'Daiki Ueno2020-06-051-8/+25
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gnutls_aead_cipher_init: fix potential memleak Closes #1010 See merge request gnutls/gnutls!1274
| * | | | gnutls_cipher_init: fix potential memleaktmp-aead-init-leakDaiki Ueno2020-06-021-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upon failure this function returns without freeing memory allocated internally. This makes sure that it is released and do not touch the output handle argument. Signed-off-by: Daiki Ueno <ueno@gnu.org>
| * | | | gnutls_aead_cipher_init: fix potential memleakDaiki Ueno2020-06-021-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When _gnutls_aead_cipher_init() fails, the function returns without freeing the allocted handle. This was once fixed in commit 502be130493e8ce802cdf60fffdbb5f1885352a5 but regressed after a code reorganization in commit 2eef509ce5f2d250f8dcaeffa46444dd2b694e91. Reported by Miroslav Lichvar. Signed-off-by: Daiki Ueno <ueno@gnu.org>
* | | | | Merge branch 'aia' into 'master'Sahana Prasad2020-06-0517-84/+967
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | AIA callback to retrieve missing chain certificates See merge request gnutls/gnutls!1262