]> git.ipfire.org Git - thirdparty/gnutls.git/log
thirdparty/gnutls.git
7 years agoallow no certificates to be reported by the gnutls_certificate_retrieve_function...
Nikos Mavrogiannopoulos [Tue, 24 Jul 2018 14:38:08 +0000 (16:38 +0200)] 
allow no certificates to be reported by the gnutls_certificate_retrieve_function callbacks

In 9829ef9a we introduced a wrapper over the older callback functions
which didn't handle this case.

Resolves #528

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agoMerge branch 'fix-cert-callbacks' into 'master'
Nikos Mavrogiannopoulos [Tue, 24 Jul 2018 10:13:48 +0000 (10:13 +0000)] 
Merge branch 'fix-cert-callbacks' into 'master'

cert-cred: fix possible segfault when resetting cert retrieval function

Closes #528

See merge request gnutls/gnutls!714

7 years agocert-cred: fix possible segfault when resetting cert retrieval function
Dmitry Eremin-Solenikov [Fri, 20 Jul 2018 17:49:28 +0000 (20:49 +0300)] 
cert-cred: fix possible segfault when resetting cert retrieval function

Reset get_cert_callback3 callback to NULL if provided callback is NULL.
Otherwise after the certificate request call_legacy_cert_cb1 /
call_legacy_cert_cb2 will try to unconditionally call legacy_cert_cb1 /
legacy_cert_cb2 callback (set to NULL) leading to segfault.

Fixes: 9829ef9a3ca06d60472599df7c74ebb9a53f1fe2
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agoMerge branch 'misc-fixes' into 'master'
Tim Rühsen [Mon, 23 Jul 2018 20:33:17 +0000 (20:33 +0000)] 
Merge branch 'misc-fixes' into 'master'

Few small patches

See merge request gnutls/gnutls!715

7 years agokx: for uniformity print master secret size
Dmitry Eremin-Solenikov [Sun, 22 Jul 2018 17:31:36 +0000 (20:31 +0300)] 
kx: for uniformity print master secret size

During keys setup phase debug log will contain sizes of all keys and
secrets, except master secret. Dump MS length (48) to log for
uniformity.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agoconstate: dump full key block to log
Dmitry Eremin-Solenikov [Sun, 22 Jul 2018 17:31:09 +0000 (20:31 +0300)] 
constate: dump full key block to log

Include full key block to the debug log.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agoconstate: dump MAC keys to debug log
Dmitry Eremin-Solenikov [Sun, 22 Jul 2018 17:30:04 +0000 (20:30 +0300)] 
constate: dump MAC keys to debug log

_gnutls_set_keys() can dump client/server write keys/ivs to debug log,
but it skips MAC keys. Add MAC keys to log.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agoconstate: drop unused variable in _gnutls_set_keys
Dmitry Eremin-Solenikov [Sun, 22 Jul 2018 17:25:35 +0000 (20:25 +0300)] 
constate: drop unused variable in _gnutls_set_keys

_gnutls_set_keys() creates rrnd as client random + server random, but
does not use it (it was used before for export key generation, but was
not removed when dropping support for export cipher suites).

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Fixes: 8bdb8d53aa5b4c5d04255b6c9b5f2dac8b23d51b
7 years agocert auth: simplify certificate selection code
Dmitry Eremin-Solenikov [Sat, 21 Jul 2018 10:23:42 +0000 (13:23 +0300)] 
cert auth: simplify certificate selection code

Merge pubkey_is_compat_with_cs() and select_sign_algorithm() functions
to ease extension of certificate selection code.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agoMerge branch 'tmp-fix-521' into 'master'
Nikos Mavrogiannopoulos [Sun, 22 Jul 2018 12:17:26 +0000 (12:17 +0000)] 
Merge branch 'tmp-fix-521' into 'master'

Remove trailing dot from hostname input

See merge request gnutls/gnutls!709

7 years agoRemove trailing dot from hostname input
Tim Rühsen [Thu, 19 Jul 2018 10:50:13 +0000 (12:50 +0200)] 
Remove trailing dot from hostname input

Fixes #532

Signed-off-by: Tim Rühsen <tim.ruehsen@gmx.de>
7 years agoMerge branch 'tmp-fix-pkcs8-export' into 'master'
Nikos Mavrogiannopoulos [Fri, 20 Jul 2018 20:12:39 +0000 (20:12 +0000)] 
Merge branch 'tmp-fix-pkcs8-export' into 'master'

Addressed issue with ECDSA key export under PKCS#8

Closes #516

See merge request gnutls/gnutls!707

7 years agognutls_x509_privkey_import_ecc_raw: encode parameters on import
Nikos Mavrogiannopoulos [Tue, 17 Jul 2018 07:03:38 +0000 (09:03 +0200)] 
gnutls_x509_privkey_import_ecc_raw: encode parameters on import

That makes the structure fully usable after import. In _encode_privkey()
use the lower-level _gnutls_x509_export_int2() for key encoding as the
call to higher gnutls_x509_privkey_export2() could result to an infinite
recursion when keys are incomplete.

Introduced additional tests for PKCS#8 key import and export.

Resolves: #516

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agoMerge branch 'certtool-gost-paramset' into 'master'
Nikos Mavrogiannopoulos [Fri, 20 Jul 2018 14:34:16 +0000 (14:34 +0000)] 
Merge branch 'certtool-gost-paramset' into 'master'

certtool: use gnutls_gost_paramset_get_name

See merge request gnutls/gnutls!710

7 years agocerttool: use gnutls_gost_paramset_get_name
Dmitry Eremin-Solenikov [Thu, 19 Jul 2018 11:19:07 +0000 (14:19 +0300)] 
certtool: use gnutls_gost_paramset_get_name

gost_param_name() predates gnutls_gost_paramset_get_name() and
gnutls_gost_paramset_t. Use current API functions instead of hand-coding
new functions.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agognutls-cli: do not fail if CKA_ID is too long
Nikos Mavrogiannopoulos [Thu, 19 Jul 2018 09:24:04 +0000 (11:24 +0200)] 
gnutls-cli: do not fail if CKA_ID is too long

Increased the buffer needed to read reasonable-sized CKA_IDs
and avoid failure when the CKA_ID is too long.

Resolves #520

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years ago.gitlab-ci.yml: combined abi-check and TLS1.3 check runs
Nikos Mavrogiannopoulos [Thu, 19 Jul 2018 05:47:40 +0000 (07:47 +0200)] 
.gitlab-ci.yml: combined abi-check and TLS1.3 check runs

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agotests: handshake-timeout: reverted virt-time.h usage
Nikos Mavrogiannopoulos [Thu, 19 Jul 2018 04:06:34 +0000 (06:06 +0200)] 
tests: handshake-timeout: reverted virt-time.h usage

The tests nature (waiting on a socket) didn't fit well with the virt-time
implementation. Reverted to original real-time wait and improved error
detection in child process.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agognutls_priority_init: fix err_pos on invalid strings
Nikos Mavrogiannopoulos [Mon, 16 Jul 2018 12:04:01 +0000 (14:04 +0200)] 
gnutls_priority_init: fix err_pos on invalid strings

When the provided string would be resolved (e.g., due to a @ priority
being used), to a different string, then do not attempt to
detect the right location of the error. It will not be useful to the caller.

This addresses the issue of test suite failure when --with-system-priority-file
and --with-default-priority-string are provided. It also enhances the test suite
with these options being active.

Resolves #517

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agoexamples: tlsproxy: use snprintf instead of strncpy
Nikos Mavrogiannopoulos [Tue, 17 Jul 2018 19:55:33 +0000 (21:55 +0200)] 
examples: tlsproxy: use snprintf instead of strncpy

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agodoc: simplified documentation on threads
Nikos Mavrogiannopoulos [Tue, 17 Jul 2018 06:17:13 +0000 (08:17 +0200)] 
doc: simplified documentation on threads

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agoexamples: tlsproxy: eliminated warnings
Nikos Mavrogiannopoulos [Tue, 17 Jul 2018 11:53:02 +0000 (13:53 +0200)] 
examples: tlsproxy: eliminated warnings

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years ago.gitlab-ci.yml: updated win32 targets gnutls_3_6_3
Nikos Mavrogiannopoulos [Mon, 16 Jul 2018 07:10:21 +0000 (09:10 +0200)] 
.gitlab-ci.yml: updated win32 targets

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agodoc update
Nikos Mavrogiannopoulos [Mon, 16 Jul 2018 06:27:54 +0000 (08:27 +0200)] 
doc update

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agognutls-cli: mark legacy options as deprecated
Nikos Mavrogiannopoulos [Sun, 15 Jul 2018 16:38:40 +0000 (18:38 +0200)] 
gnutls-cli: mark legacy options as deprecated

This removes the --ranges and --disable-extensions options from
the default listing of options. They are disfunctional and may
be removed in the future.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years ago.travis.yml: update brew and use nettle 3.4 703/head
Nikos Mavrogiannopoulos [Sat, 14 Jul 2018 15:39:03 +0000 (17:39 +0200)] 
.travis.yml: update brew and use nettle 3.4

Resolves #480

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years ago.gitlab-ci.yml: Werror build runs with -std=c99
Nikos Mavrogiannopoulos [Sat, 14 Jul 2018 06:39:52 +0000 (08:39 +0200)] 
.gitlab-ci.yml: Werror build runs with -std=c99

This ensures that the errors reported will be relevant
for the required version of the standard.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agobumped versions
Nikos Mavrogiannopoulos [Sat, 14 Jul 2018 15:30:49 +0000 (17:30 +0200)] 
bumped versions

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years ago_gnutls_resolve_priorities: avoid gnu extension for ?: construct
Nikos Mavrogiannopoulos [Sat, 14 Jul 2018 06:27:26 +0000 (08:27 +0200)] 
_gnutls_resolve_priorities: avoid gnu extension for ?: construct

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agoNEWS: doc update
Nikos Mavrogiannopoulos [Fri, 13 Jul 2018 14:11:16 +0000 (16:11 +0200)] 
NEWS: doc update

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agonettle/rnd-fips: updated documentation
Nikos Mavrogiannopoulos [Fri, 13 Jul 2018 12:23:28 +0000 (14:23 +0200)] 
nettle/rnd-fips: updated documentation

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agognutls-cli: improve error reporting with -l --priority option
Nikos Mavrogiannopoulos [Fri, 13 Jul 2018 12:01:44 +0000 (14:01 +0200)] 
gnutls-cli: improve error reporting with -l --priority option

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agocipher-listings: use the sed found by configure script and make it portable
Nikos Mavrogiannopoulos [Fri, 13 Jul 2018 09:18:21 +0000 (11:18 +0200)] 
cipher-listings: use the sed found by configure script and make it portable

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agotests: tls-fuzzer: separated SSL3.0 from TLS1.x tests
Nikos Mavrogiannopoulos [Fri, 13 Jul 2018 07:04:42 +0000 (09:04 +0200)] 
tests: tls-fuzzer: separated SSL3.0 from TLS1.x tests

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agognutls-cli-debug: do not attempt SSL3.0 negotiation when not enabled
Nikos Mavrogiannopoulos [Thu, 12 Jul 2018 14:17:02 +0000 (16:17 +0200)] 
gnutls-cli-debug: do not attempt SSL3.0 negotiation when not enabled

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agopriorities: ensure that SSL3.0 enablement fails early when disabled
Nikos Mavrogiannopoulos [Thu, 12 Jul 2018 13:41:21 +0000 (15:41 +0200)] 
priorities: ensure that SSL3.0 enablement fails early when disabled

That is, that a priority string with only SSL3.0 present is discarded as
invalid.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agoThe SSL 3.0 protocol is disabled on compile time by default
Nikos Mavrogiannopoulos [Thu, 12 Jul 2018 13:14:39 +0000 (15:14 +0200)] 
The SSL 3.0 protocol is disabled on compile time by default

It can be re-enabled by specifying --enable-ssl3-support on configure script.
This is the first step before removing support for the protocol completely.

Relates #103

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agotests: gnutls-cli-debug.sh: corrected run under FIPS mode
Nikos Mavrogiannopoulos [Fri, 13 Jul 2018 06:45:49 +0000 (08:45 +0200)] 
tests: gnutls-cli-debug.sh: corrected run under FIPS mode

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agodoc: minor text updates
Nikos Mavrogiannopoulos [Fri, 13 Jul 2018 05:10:11 +0000 (07:10 +0200)] 
doc: minor text updates

Updated text for gnutls_session_ext_master_secret_status and for
GNUTLS_NO_EXTENSIONS flag which is defunc.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agognutls-cli-debug: fix EtM and extended master secret discovery
Nikos Mavrogiannopoulos [Fri, 13 Jul 2018 05:08:42 +0000 (07:08 +0200)] 
gnutls-cli-debug: fix EtM and extended master secret discovery

In particular do not set the GNUTLS_NO_EXTENSIONS flag by default,
and only enable block ciphers for the EtM check.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agotests: improved unit test of gnutls-cli-debug
Nikos Mavrogiannopoulos [Fri, 13 Jul 2018 04:40:08 +0000 (06:40 +0200)] 
tests: improved unit test of gnutls-cli-debug

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agognutls-cli-debug: generalized cipher tests
Nikos Mavrogiannopoulos [Thu, 12 Jul 2018 07:20:57 +0000 (09:20 +0200)] 
gnutls-cli-debug: generalized cipher tests

That is, tests now check for either the 128-bit or the 256-bit
of the cipher consistently.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agognutls-cli-debug: removed legacy tests no longer applicable
Nikos Mavrogiannopoulos [Thu, 12 Jul 2018 07:19:13 +0000 (09:19 +0200)] 
gnutls-cli-debug: removed legacy tests no longer applicable

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agognutls-cli-debug: detect TLS1.3 support
Nikos Mavrogiannopoulos [Thu, 12 Jul 2018 07:17:11 +0000 (09:17 +0200)] 
gnutls-cli-debug: detect TLS1.3 support

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agognutls-cli-debug: when testing servers enable all ciphers
Nikos Mavrogiannopoulos [Wed, 11 Jul 2018 19:26:05 +0000 (21:26 +0200)] 
gnutls-cli-debug: when testing servers enable all ciphers

Resolves #515

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agodoc: update for TLS 1.3
Daiki Ueno [Tue, 3 Jul 2018 09:33:21 +0000 (11:33 +0200)] 
doc: update for TLS 1.3

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agoMerge branch 'tmp-fix-multi-async-msg' into 'master'
Nikos Mavrogiannopoulos [Thu, 12 Jul 2018 12:57:21 +0000 (12:57 +0000)] 
Merge branch 'tmp-fix-multi-async-msg' into 'master'

Fix issue preventing the parsing of certain async messages

Closes #510 and #504

See merge request gnutls/gnutls!694

7 years ago_gnutls13_recv_async_handshake: process multiple and split handshake messages
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 07:56:35 +0000 (09:56 +0200)] 
_gnutls13_recv_async_handshake: process multiple and split handshake messages

It is permitted to concatenate multiple async handshake messages in a single
record message as well as split large messages (NST) into multiple records.
Modified _gnutls13_recv_async_handshake() to process them correctly, instead
of assuming that they are formatted as one message per record.

Resolves #510
Resolves #504

Relates #511

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agotests: check whether multiple tickets can be sent/received
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 08:18:23 +0000 (10:18 +0200)] 
tests: check whether multiple tickets can be sent/received

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agognutls_session_ticket_send: allow sending multiple tickets in one go
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 08:11:41 +0000 (10:11 +0200)] 
gnutls_session_ticket_send: allow sending multiple tickets in one go

This allows combining the tickets in a single record message when
possible.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agoMerge branch 'tmp-limit-ticket-age' into 'master'
Nikos Mavrogiannopoulos [Wed, 11 Jul 2018 17:55:28 +0000 (17:55 +0000)] 
Merge branch 'tmp-limit-ticket-age' into 'master'

limit the age of session tickets

Closes #476

See merge request gnutls/gnutls!697

7 years agotests: handshake-timeout: use virt_sec_sleep() to avoid long delays in test
Nikos Mavrogiannopoulos [Wed, 4 Jul 2018 05:42:44 +0000 (07:42 +0200)] 
tests: handshake-timeout: use virt_sec_sleep() to avoid long delays in test

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agogenerate_session_ticket: tickets cannot extend the original session time
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 14:28:28 +0000 (16:28 +0200)] 
generate_session_ticket: tickets cannot extend the original session time

That is, on a resumed session the server would not issue new tickets
that would have extended the lifetime of the originally issued ticket.

Resolves #476

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agopre_shared_key: do not send extension when no identities are present
Nikos Mavrogiannopoulos [Tue, 3 Jul 2018 16:42:01 +0000 (18:42 +0200)] 
pre_shared_key: do not send extension when no identities are present

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agotests: corrected priority strings in session-tickets-ok and other cleanups
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 18:25:40 +0000 (20:25 +0200)] 
tests: corrected priority strings in session-tickets-ok and other cleanups

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agodoc: mention session ticket behavior under TLS1.3
Nikos Mavrogiannopoulos [Tue, 3 Jul 2018 08:22:04 +0000 (10:22 +0200)] 
doc: mention session ticket behavior under TLS1.3

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agogenerate_session_ticket: use a 4-byte nonce by default
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 14:29:04 +0000 (16:29 +0200)] 
generate_session_ticket: use a 4-byte nonce by default

It is not necessary to use large nonces.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agopre_shared_key: use time_t type for ticket_age variable
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 14:22:04 +0000 (16:22 +0200)] 
pre_shared_key: use time_t type for ticket_age variable

This is guarranteed to allow negative values, and also be 32-bits.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agogenerate_session_ticket: fixed comment
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 14:19:35 +0000 (16:19 +0200)] 
generate_session_ticket: fixed comment

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agolib: document digest and paramset in gost key import functions
Dmitry Eremin-Solenikov [Mon, 9 Jul 2018 15:21:20 +0000 (18:21 +0300)] 
lib: document digest and paramset in gost key import functions

Document behaviour of gnutls_pubkey_import_gost_raw,
gnutls_privkey_import_gost_raw and gnutls_x509_privkey_import_gost_raw.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agolib/x509: use new function to deduce default GOST paramset
Dmitry Eremin-Solenikov [Mon, 9 Jul 2018 11:22:34 +0000 (14:22 +0300)] 
lib/x509: use new function to deduce default GOST paramset

Use new _gnutls_gost_paramset_default() function to deduce default GOST
paramset, instead of hardcoding if/else in several places.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agolib: remove undefined behaviour when handling GOST paramset
Dmitry Eremin-Solenikov [Mon, 9 Jul 2018 11:02:14 +0000 (14:02 +0300)] 
lib: remove undefined behaviour when handling GOST paramset

Initial version of GOST patchset used param < 0 to represent unknown
value. Later special enum entry GNUTLS_GOST_PARAMSET_UNKNOWN was
introduced. Fix several leftovers comparing params to 0 directly.

Closes #505.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agoMerge branch 'tmp-def-priority2' into 'master'
Nikos Mavrogiannopoulos [Mon, 9 Jul 2018 17:09:11 +0000 (17:09 +0000)] 
Merge branch 'tmp-def-priority2' into 'master'

gnutls_set_default_priority2: introduced

See merge request gnutls/gnutls!680

7 years agoupdated auto-generated files
Nikos Mavrogiannopoulos [Mon, 9 Jul 2018 10:40:59 +0000 (12:40 +0200)] 
updated auto-generated files

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agognutls_priority_init2,gnutls_set_default_priority_append: introduced
Nikos Mavrogiannopoulos [Mon, 25 Jun 2018 08:36:18 +0000 (10:36 +0200)] 
gnutls_priority_init2,gnutls_set_default_priority_append: introduced

This allows enhancing the default priority with additional
options, allowing an application to introduce stricter (or weaker)
settings without requiring it to override all settings.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agodoc update [ci skip]
Nikos Mavrogiannopoulos [Sat, 7 Jul 2018 17:52:04 +0000 (19:52 +0200)] 
doc update [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agodoc update [ci skip]
Nikos Mavrogiannopoulos [Sat, 7 Jul 2018 17:48:14 +0000 (19:48 +0200)] 
doc update [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agoconfigure: Fix progress message for --enable-tls13-support
Andreas Metzler [Sat, 7 Jul 2018 12:20:01 +0000 (14:20 +0200)] 
configure: Fix progress message for --enable-tls13-support

Signed-off-by: Andreas Metzler <ametzler@bebt.de>
7 years agotests: tls-fuzzer-alpn: operate on random port
Nikos Mavrogiannopoulos [Sat, 7 Jul 2018 08:21:51 +0000 (10:21 +0200)] 
tests: tls-fuzzer-alpn: operate on random port

This allows parallel run of the test with other tlsfuzzer tests.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agoconfigure: added option --enable-tls13-support
Nikos Mavrogiannopoulos [Tue, 3 Jul 2018 06:49:06 +0000 (08:49 +0200)] 
configure: added option --enable-tls13-support

The new option enables TLS1.3 draft-28 support unconditionally.
Updated the test suite to run when TLS1.3 is enabled by default,
and added a CI run with TLS1.3 enabled.

Resolves #424

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years ago_gnutls_figure_common_ciphersuite: apply rfc7919 requirements only under TLS1.2
Nikos Mavrogiannopoulos [Tue, 3 Jul 2018 09:45:31 +0000 (11:45 +0200)] 
_gnutls_figure_common_ciphersuite: apply rfc7919 requirements only under TLS1.2

Under TLS1.3 there is no requirement to return insufficient security depending
on the FFDHE group negotiation.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agosupported_versions: do not parse in server side when TLS1.3 is disabled
Nikos Mavrogiannopoulos [Tue, 3 Jul 2018 07:06:27 +0000 (09:06 +0200)] 
supported_versions: do not parse in server side when TLS1.3 is disabled

This allows a server to negotiate older versions using the previous TLS
negotiation scheme.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agoprotocols: bumped TLS1.3 protocol to draft-28
Nikos Mavrogiannopoulos [Tue, 3 Jul 2018 06:31:13 +0000 (08:31 +0200)] 
protocols: bumped TLS1.3 protocol to draft-28

Resolves #506

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agotests: mini-record-timing: avoid warning for too large stack usage
Nikos Mavrogiannopoulos [Wed, 4 Jul 2018 08:08:06 +0000 (10:08 +0200)] 
tests: mini-record-timing: avoid warning for too large stack usage

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agoMerge branch 'tmp-fix-rsae-negotiation' into 'master'
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 19:17:11 +0000 (19:17 +0000)] 
Merge branch 'tmp-fix-rsae-negotiation' into 'master'

sign_supports_cert_pk_algorithm: corrected check for RSAE-PSS

Closes #500

See merge request gnutls/gnutls!693

7 years agotlsfuzzer: updated to include RSA and RSA-PSS related tests
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 09:47:34 +0000 (11:47 +0200)] 
tlsfuzzer: updated to include RSA and RSA-PSS related tests

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agosign_supports_cert_pk_algorithm: corrected check for RSAE-PSS
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 06:32:52 +0000 (08:32 +0200)] 
sign_supports_cert_pk_algorithm: corrected check for RSAE-PSS

If the signature algorithm sets the `cert_pk` field, ignore the
`pk` field completely. Not doing that would make the RSAE signature
algorithms with RSA-PSS certificates which is against the intended
use of `cert_pk`.

Resolves #500

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agotlsproxy: included but not as submodule
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 12:12:48 +0000 (14:12 +0200)] 
tlsproxy: included but not as submodule

This allows updating the example when necessary within the repository
and reduces the amount of external dependencies for CI.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agotlsproxy: removed submodule
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 12:12:15 +0000 (14:12 +0200)] 
tlsproxy: removed submodule

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agotests: introduced tests about crypto API failures on illegal use
Nikos Mavrogiannopoulos [Sun, 1 Jul 2018 19:03:28 +0000 (21:03 +0200)] 
tests: introduced tests about crypto API failures on illegal use

This ensures that any mistakes in using the crypto API are propagated
to the higher level calls, or result to an abort().

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agognutls_aead_cipher_encryptv: eliminate signed/unsigned warnings under x86
Nikos Mavrogiannopoulos [Sun, 1 Jul 2018 10:49:55 +0000 (12:49 +0200)] 
gnutls_aead_cipher_encryptv: eliminate signed/unsigned warnings under x86

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agoaccelerated: error on the cases where the nettle API would have errored
Nikos Mavrogiannopoulos [Sun, 1 Jul 2018 20:00:09 +0000 (22:00 +0200)] 
accelerated: error on the cases where the nettle API would have errored

This ensures that illegal uses of the API would be propagated to
the higher levels.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agognutls_cipher_add_auth: propagate error codes
Nikos Mavrogiannopoulos [Sun, 1 Jul 2018 20:08:16 +0000 (22:08 +0200)] 
gnutls_cipher_add_auth: propagate error codes

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agoMerge branch 'tmp-32-bit-time_t' into 'master'
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 12:09:57 +0000 (12:09 +0000)] 
Merge branch 'tmp-32-bit-time_t' into 'master'

tests: verify that certtool will fail with a 32-bit time_t

Closes #370

See merge request gnutls/gnutls!691

7 years agocerttool: properly print an int64_t value
Nikos Mavrogiannopoulos [Sun, 1 Jul 2018 09:27:48 +0000 (11:27 +0200)] 
certtool: properly print an int64_t value

Also included the gnulib inttype module for portability.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agocerttool: print information on time_t restrictions on failure
Nikos Mavrogiannopoulos [Sun, 1 Jul 2018 09:24:16 +0000 (11:24 +0200)] 
certtool: print information on time_t restrictions on failure

This informs the user of the tool why dates after 2038 cannot
be expressed on systems with a 32-bit time_t.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agotests: verify that certtool operates as expected with dates after 2038
Nikos Mavrogiannopoulos [Sat, 30 Jun 2018 14:49:53 +0000 (16:49 +0200)] 
tests: verify that certtool operates as expected with dates after 2038

That is, whether it works with a time_t of 64-bit size, and fails
with a time_t of 32-bit size.

Resolves #370

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agotests: check explicitly the size of time_t
Nikos Mavrogiannopoulos [Sun, 1 Jul 2018 10:39:28 +0000 (12:39 +0200)] 
tests: check explicitly the size of time_t

Previously we were disabling the 2038 tests on 32-bit systems,
but there can be 32-bit systems with a 64-bit time_t. Ensure
that we run the right tests.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agotests: better guarding of variable SKIP_DATEFUDGE_CHECK
Nikos Mavrogiannopoulos [Sat, 30 Jun 2018 14:48:54 +0000 (16:48 +0200)] 
tests: better guarding of variable SKIP_DATEFUDGE_CHECK

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agoMerge branch 'tmp-post-handshake-auth' into 'master'
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 10:07:21 +0000 (10:07 +0000)] 
Merge branch 'tmp-post-handshake-auth' into 'master'

post-handshake authentication improvements

Closes #490 and #489

See merge request gnutls/gnutls!687

7 years agotests: ignore PIPE signal on TLS1.3-related tests
Nikos Mavrogiannopoulos [Wed, 27 Jun 2018 19:31:43 +0000 (21:31 +0200)] 
tests: ignore PIPE signal on TLS1.3-related tests

This was inadvertently omitted and that could cause unexpected
issues when one of the peers would close the connection earlier
than expected.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agotests: check for GNUTLS_E_GOT_APPLICATION_DATA on post-handshake auth
Nikos Mavrogiannopoulos [Wed, 27 Jun 2018 13:00:13 +0000 (15:00 +0200)] 
tests: check for GNUTLS_E_GOT_APPLICATION_DATA on post-handshake auth

That is, check whether GNUTLS_E_GOT_APPLICATION_DATA is received as
documented, and whether post-handshake auth can complete while this
is being sent.

Resolves #490

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agopost-handshake: return GNUTLS_E_GOT_APPLICATION_DATA as documented to
Nikos Mavrogiannopoulos [Wed, 27 Jun 2018 12:38:40 +0000 (14:38 +0200)] 
post-handshake: return GNUTLS_E_GOT_APPLICATION_DATA as documented to

Relates #490

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agotests: introduced test for post-handshake auth + PSK
Nikos Mavrogiannopoulos [Wed, 27 Jun 2018 11:57:11 +0000 (13:57 +0200)] 
tests: introduced test for post-handshake auth + PSK

Relates #489

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agotls13 handshake: allow certificate messages after handshake
Nikos Mavrogiannopoulos [Wed, 27 Jun 2018 12:19:02 +0000 (14:19 +0200)] 
tls13 handshake: allow certificate messages after handshake

This allows post-handshake authentication even when PSK
is negotiated.

Resolves #489

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agognutls_session_get_flags: introduced GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH
Nikos Mavrogiannopoulos [Wed, 27 Jun 2018 11:41:13 +0000 (13:41 +0200)] 
gnutls_session_get_flags: introduced GNUTLS_SFLAGS_POST_HANDSHAKE_AUTH

This allows a server application to detect whether the client
would support post handshake authentication or not without initiating
via gnutls_reauth().

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agognutls-serv: make --disable-client-cert and --require-client-cert options incompatible
Nikos Mavrogiannopoulos [Mon, 2 Jul 2018 06:10:45 +0000 (08:10 +0200)] 
gnutls-serv: make --disable-client-cert and --require-client-cert options incompatible

That is refuse to run when both options are specified.

Resolves #502

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agotests: verify whether GNUTLS_TLS_VERSION_MAX is negotiated on default mode
Nikos Mavrogiannopoulos [Fri, 29 Jun 2018 20:40:27 +0000 (22:40 +0200)] 
tests: verify whether GNUTLS_TLS_VERSION_MAX is negotiated on default mode

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agoMerge branch 'tmp-ci-cleanups' into 'master'
Nikos Mavrogiannopoulos [Fri, 29 Jun 2018 14:48:06 +0000 (14:48 +0000)] 
Merge branch 'tmp-ci-cleanups' into 'master'

Fixes + cleanups for .gitlab-ci.yml

See merge request gnutls/gnutls!690

7 years agoFixes + cleanups for .gitlab-ci.yml
Tim Rühsen [Fri, 29 Jun 2018 08:33:18 +0000 (10:33 +0200)] 
Fixes + cleanups for .gitlab-ci.yml