]> git.ipfire.org Git - thirdparty/gnutls.git/log
thirdparty/gnutls.git
7 years agobuild: fix srcdir detection when VPATH build
Daiki Ueno [Sat, 24 Nov 2018 14:57:11 +0000 (15:57 +0100)] 
build: fix srcdir detection when VPATH build

Unlike the ".c.c.bak:" and ".h.h.bak:" rules, ".def.stamp:" needs this
adjustment because the source files (*.bak) are not provided as $<.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agotests: remove unnecessary session creation in tls13/anti_replay
Daiki Ueno [Sat, 24 Nov 2018 15:00:48 +0000 (16:00 +0100)] 
tests: remove unnecessary session creation in tls13/anti_replay

This test only checks the behavior of _gnutls_anti_replay_check, thus
session is not needed at all.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agodoc: corrected typos [ci skip]
Nikos Mavrogiannopoulos [Wed, 21 Nov 2018 20:09:55 +0000 (21:09 +0100)] 
doc: corrected typos [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agotests: added test for RSA decryption under gnutls_privkey_import_ext4
Nikos Mavrogiannopoulos [Mon, 19 Nov 2018 13:16:50 +0000 (14:16 +0100)] 
tests: added test for RSA decryption under gnutls_privkey_import_ext4

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agocrypto-self-tests-pk: added RSA-PSS sign/verify tests
Nikos Mavrogiannopoulos [Mon, 19 Nov 2018 13:07:39 +0000 (14:07 +0100)] 
crypto-self-tests-pk: added RSA-PSS sign/verify tests

This also corrects the GOST R 34.10-2012-512-TC26-512-A self
test.

Relates: #597

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agoMerge branch 'tmp-eddsa-pkcs11' into 'master'
Nikos Mavrogiannopoulos [Mon, 19 Nov 2018 17:11:01 +0000 (17:11 +0000)] 
Merge branch 'tmp-eddsa-pkcs11' into 'master'

Added support for Ed25519 keys under PKCS#11

Closes #417

See merge request gnutls/gnutls!812

7 years agotests: added TLS1.3 tests for PKCS#11 and external key types
Nikos Mavrogiannopoulos [Fri, 16 Nov 2018 20:04:49 +0000 (21:04 +0100)] 
tests: added TLS1.3 tests for PKCS#11 and external key types

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agoAdd support for EDDSA/Ed25519 object support via PKCS#11
Simo Sorce [Thu, 25 Oct 2018 14:03:01 +0000 (10:03 -0400)] 
Add support for EDDSA/Ed25519 object support via PKCS#11

Tested with softHSM 2.5.0

Resolves #417

Signed-off-by: Simo Sorce <simo@redhat.com>
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agoMerge branch 'tmp-fix-certificate-type' into 'master'
Nikos Mavrogiannopoulos [Mon, 19 Nov 2018 12:55:41 +0000 (12:55 +0000)] 
Merge branch 'tmp-fix-certificate-type' into 'master'

gnutls_certificate_type_get*: ensure that the default type is returned

See merge request gnutls/gnutls!806

7 years agoFix RSA-PSS tests to properly return skip value
Simo Sorce [Thu, 25 Oct 2018 14:44:14 +0000 (10:44 -0400)] 
Fix RSA-PSS tests to properly return skip value

Signed-off-by: Simo Sorce <simo@redhat.com>
7 years agoMerge branch 'tmp-fix-max-early-data-size' into 'master'
Nikos Mavrogiannopoulos [Mon, 19 Nov 2018 11:44:58 +0000 (11:44 +0000)] 
Merge branch 'tmp-fix-max-early-data-size' into 'master'

Fix max_early_data_size handling

See merge request gnutls/gnutls!811

7 years agognutls_certificate_type_get*: updated documentation to list limitations
Nikos Mavrogiannopoulos [Sun, 18 Nov 2018 19:22:08 +0000 (20:22 +0100)] 
gnutls_certificate_type_get*: updated documentation to list limitations

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agotests: resume: use spaces around '?' and ':' according to coding style
Nikos Mavrogiannopoulos [Mon, 19 Nov 2018 05:50:55 +0000 (06:50 +0100)] 
tests: resume: use spaces around '?' and ':' according to coding style

Also set a link to the kernel coding style in CONTRIBUTIONS.md

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agognutls_certificate_type_get*: ensure that the default type is returned
Nikos Mavrogiannopoulos [Wed, 14 Nov 2018 14:20:08 +0000 (15:20 +0100)] 
gnutls_certificate_type_get*: ensure that the default type is returned

That is, ensure that unless we negotiate something else than
X509, the default certificate type is returned to applications.
Previously we wouldn't do that for TLS1.3 resumed sessions, and
we would return zero (invalid type) instead.

That addresses issues with applications checking explicitly
for X509 certificate type being present.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agotests/tls13-early-data: check if max_early_data_size is advertised
Daiki Ueno [Fri, 16 Nov 2018 15:13:31 +0000 (16:13 +0100)] 
tests/tls13-early-data: check if max_early_data_size is advertised

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agoserv: add --maxearlydata option
Daiki Ueno [Fri, 16 Nov 2018 13:25:49 +0000 (14:25 +0100)] 
serv: add --maxearlydata option

Also exercise this in testcompat-tls13-openssl.sh.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agorecord: gnutls_record_send_early_data: check the upper limit
Daiki Ueno [Sun, 18 Nov 2018 04:47:08 +0000 (05:47 +0100)] 
record: gnutls_record_send_early_data: check the upper limit

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agotls13/session_ticket: fix "max_early_data_size" extension handling
Daiki Ueno [Fri, 16 Nov 2018 15:12:13 +0000 (16:12 +0100)] 
tls13/session_ticket: fix "max_early_data_size" extension handling

session->security_parameters.max_early_data_size is initially set to 0.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agoupdate documentation on GNUTLS_AUTO_REAUTH and gnutls_record_get_direction [ci skip]
Nikos Mavrogiannopoulos [Sat, 17 Nov 2018 18:30:20 +0000 (19:30 +0100)] 
update documentation on GNUTLS_AUTO_REAUTH and gnutls_record_get_direction [ci skip]

That clarifiesthe intention, and adds warning of using this flag when
multiple threads are involved. Based on suggestion by Michael Catanzaro.

Relates: #615

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years ago.gitlab-ci.yml: run coverage build over fedora
Nikos Mavrogiannopoulos [Fri, 16 Nov 2018 20:16:33 +0000 (21:16 +0100)] 
.gitlab-ci.yml: run coverage build over fedora

This will include the TPM subsystem in the coverage report.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agoMerge branch 'tpm12_testing' into 'master'
Nikos Mavrogiannopoulos [Fri, 16 Nov 2018 20:12:17 +0000 (20:12 +0000)] 
Merge branch 'tpm12_testing' into 'master'

tests: tpm: Add a test case for tpmtool

See merge request gnutls/gnutls!807

7 years agotests: tpm: Extend test case to not use --register
Stefan Berger [Fri, 16 Nov 2018 15:47:23 +0000 (10:47 -0500)] 
tests: tpm: Extend test case to not use --register

Extend the tpmtool test case to also test without the --register
parameter.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
7 years agotests: tpm: Add a test case for tpmtool
Stefan Berger [Wed, 14 Nov 2018 15:07:08 +0000 (10:07 -0500)] 
tests: tpm: Add a test case for tpmtool

This test case exercises tpmtool and uses certtool to create a
self-signed certificate with the TPM. It uses swtpm as TPM emulator and
configures tcsd to talk to swtpm.

Extend the Readme.md with the packages needed for TPM support and TPM test
support.

This test case needs to be run as root since tcsd needs to be started
as root.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
7 years ago.gitlab-ci.yml: copy the log files of minimal.Fedora to the gitlab server
Stefan Berger [Fri, 16 Nov 2018 11:48:01 +0000 (06:48 -0500)] 
.gitlab-ci.yml: copy the log files of minimal.Fedora to the gitlab server

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
7 years agoMerge branch 'gost-raw-privkeys' into 'master'
Nikos Mavrogiannopoulos [Fri, 16 Nov 2018 08:04:36 +0000 (08:04 +0000)] 
Merge branch 'gost-raw-privkeys' into 'master'

Improve support of GOST private keys parsing

See merge request gnutls/gnutls!802

7 years agoMerge branch 'tmp-anti-replay-updates' into 'master'
Nikos Mavrogiannopoulos [Fri, 16 Nov 2018 08:02:27 +0000 (08:02 +0000)] 
Merge branch 'tmp-anti-replay-updates' into 'master'

updates in anti-replay subsystem

Closes #610

See merge request gnutls/gnutls!805

7 years agolib: tpm: Fix a memory leak
Stefan Berger [Fri, 16 Nov 2018 00:55:02 +0000 (19:55 -0500)] 
lib: tpm: Fix a memory leak

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
7 years agodoc: mention GOST private key unmasking and additional format support
Dmitry Eremin-Solenikov [Fri, 16 Nov 2018 00:38:38 +0000 (03:38 +0300)] 
doc: mention GOST private key unmasking and additional format support

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agocert-tests: test parsing and decoding of GOST private keys
Dmitry Eremin-Solenikov [Tue, 13 Nov 2018 08:25:17 +0000 (11:25 +0300)] 
cert-tests: test parsing and decoding of GOST private keys

Add a test for parsing and decoding GOST private keys in different
formats, incuding encrypted keys.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agocerttool: support --pkcs-cipher none
Dmitry Eremin-Solenikov [Tue, 13 Nov 2018 08:23:37 +0000 (11:23 +0300)] 
certtool: support --pkcs-cipher none

If password is specified on command line currently certtool will always
output encrypted pkcs8 file. Add `--pkcs-cipher none' allowing one to
force certtool to output unencrypted private keys.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agonettle/gost: gostdsa: use size_t instead of mp_limb_t
Dmitry Eremin-Solenikov [Tue, 13 Nov 2018 00:02:35 +0000 (03:02 +0300)] 
nettle/gost: gostdsa: use size_t instead of mp_limb_t

Use size_t for size variables instead of mp_limb_t (data type rather
than size type).

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agopkcs8: support GOST keys without encapsulation
Dmitry Eremin-Solenikov [Mon, 12 Nov 2018 23:48:05 +0000 (02:48 +0300)] 
pkcs8: support GOST keys without encapsulation

Add support for yet another representation of GOST private keys:
LE-formatted number encoded into pkcs-8-PrivateKeyInfo.privateKey
without any additional encapsulation.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agonettle: unmaks GOST private keys if necessary
Dmitry Eremin-Solenikov [Mon, 12 Nov 2018 23:47:39 +0000 (02:47 +0300)] 
nettle: unmaks GOST private keys if necessary

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agonettle/gost: support GOST key unmasking
Dmitry Eremin-Solenikov [Mon, 12 Nov 2018 23:45:18 +0000 (02:45 +0300)] 
nettle/gost: support GOST key unmasking

New Russian reccomendation defines 'key masking' in the form of
several concatenated numbers, which must be multiplied modulo Q to get
private key.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agotpmtool: Fix a memory leak related to TPM key list
Stefan Berger [Thu, 15 Nov 2018 17:43:01 +0000 (12:43 -0500)] 
tpmtool: Fix a memory leak related to TPM key list

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
7 years agoMerge branch 'tmp-cert-status' into 'master'
Dmitry Eremin-Solenikov [Thu, 15 Nov 2018 16:29:23 +0000 (16:29 +0000)] 
Merge branch 'tmp-cert-status' into 'master'

tests: improve testsuite and ECC related minor fixes

See merge request gnutls/gnutls!799

7 years agoupdated auto-generated-files
Nikos Mavrogiannopoulos [Thu, 15 Nov 2018 15:03:38 +0000 (16:03 +0100)] 
updated auto-generated-files

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agoanti_replay: moved new add function into anti_replay structure
Nikos Mavrogiannopoulos [Wed, 14 Nov 2018 12:56:52 +0000 (13:56 +0100)] 
anti_replay: moved new add function into anti_replay structure

The new function was not sharing anything with the existing
gnutls_db_* backend, and moving it to anti_replay structure
is more clean and allows for deviations from the old API
conventions (e.g., now we can pass pointers for efficiency
and pass the expiration time as part of the call).

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years ago_gnutls_x509_read_eddsa_pubkey(): sanity check the input values
Nikos Mavrogiannopoulos [Tue, 13 Nov 2018 21:49:26 +0000 (22:49 +0100)] 
_gnutls_x509_read_eddsa_pubkey(): sanity check the input values

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agognutls_x509_privkey_import_ecc_raw(): fail on invalid sizes
Nikos Mavrogiannopoulos [Tue, 13 Nov 2018 08:24:06 +0000 (09:24 +0100)] 
gnutls_x509_privkey_import_ecc_raw(): fail on invalid sizes

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agotests: verify whether certificate request levels behave consistently
Nikos Mavrogiannopoulos [Sun, 11 Nov 2018 07:25:56 +0000 (08:25 +0100)] 
tests: verify whether certificate request levels behave consistently

This verifies whether the behavior of GNUTLS_CERT_IGNORE, GNUTLS_CERT_REQUEST
and GNUTLS_CERT_REQUIRE is consistent accross protocols.

Relates #615

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agodoc: minor updates in elliptic curve documentation
Nikos Mavrogiannopoulos [Sun, 11 Nov 2018 07:52:13 +0000 (08:52 +0100)] 
doc: minor updates in elliptic curve documentation

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agotests: added a test for detecting duplicate early data
Nikos Mavrogiannopoulos [Wed, 14 Nov 2018 12:42:01 +0000 (13:42 +0100)] 
tests: added a test for detecting duplicate early data

Resolves #610

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
7 years agoMerge branch 'pkcs7-ber' into 'master'
Dmitry Eremin-Solenikov [Wed, 14 Nov 2018 14:04:56 +0000 (14:04 +0000)] 
Merge branch 'pkcs7-ber' into 'master'

pkcs7: allow BER encoding when parsing encapContentInfo.eContent

See merge request gnutls/gnutls!803

7 years agotests: add testfile from RFC4134 Section 4.5
Dmitry Eremin-Solenikov [Tue, 13 Nov 2018 22:43:05 +0000 (01:43 +0300)] 
tests: add testfile from RFC4134 Section 4.5

Add test example demonstrating indefinite-length BER encoding of PKCS#7
data.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agopkcs7: allow BER encoding when parsing encapContentInfo.eContent
Dmitry Eremin-Solenikov [Mon, 12 Nov 2018 00:34:31 +0000 (03:34 +0300)] 
pkcs7: allow BER encoding when parsing encapContentInfo.eContent

CMS specification explicitly allows BER encoding in CMS files. RFC 4134
example 4.5 uses BER indefinite encoding.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agoMerge branch 'tmp-autogen-bak' into 'master'
Nikos Mavrogiannopoulos [Wed, 14 Nov 2018 08:29:17 +0000 (08:29 +0000)] 
Merge branch 'tmp-autogen-bak' into 'master'

build: remove autogen .bak files from repository

See merge request gnutls/gnutls!801

7 years agoMerge branch 'no-session-ticket' into 'master'
Nikos Mavrogiannopoulos [Wed, 14 Nov 2018 08:16:19 +0000 (08:16 +0000)] 
Merge branch 'no-session-ticket' into 'master'

configure.ac: drop obsolete info line

Closes #616

See merge request gnutls/gnutls!804

7 years agoconfigure.ac: drop obsolete info line
Dmitry Eremin-Solenikov [Tue, 13 Nov 2018 22:49:08 +0000 (01:49 +0300)] 
configure.ac: drop obsolete info line

Since 4b567871 there is no `ac_enable_session_tickets` variable, so
let's drop obsolete remnants.

Closes #616

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Noted-by: Dilyan Palauzov
7 years agobuild: minor cleanup of mech-list.h generation
Daiki Ueno [Tue, 13 Nov 2018 09:07:09 +0000 (10:07 +0100)] 
build: minor cleanup of mech-list.h generation

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agoREADME-ci.freebsd.md: require autogen
Daiki Ueno [Tue, 13 Nov 2018 09:02:17 +0000 (10:02 +0100)] 
README-ci.freebsd.md: require autogen

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agobuild: remove autogen .bak files from the repository
Daiki Ueno [Mon, 12 Nov 2018 12:41:19 +0000 (13:41 +0100)] 
build: remove autogen .bak files from the repository

While the .bak files are necessary for not requiring autogen on
deployment environment, they are not needed for development and may
cause conflict when other developers use different version of
autogen. This removes those files from the repository and require
autogen at make dist time.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agobuild: use suffix rules for generating .bak files
Daiki Ueno [Mon, 12 Nov 2018 14:48:44 +0000 (15:48 +0100)] 
build: use suffix rules for generating .bak files

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agobuild: use AM_MISSING_PROG for autogen
Daiki Ueno [Mon, 12 Nov 2018 14:48:14 +0000 (15:48 +0100)] 
build: use AM_MISSING_PROG for autogen

That makes error message more friendly when autogen is not installed
on developing environment.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agoMerge branch 'tpm12_fix_memory_leak' into 'master'
Nikos Mavrogiannopoulos [Tue, 13 Nov 2018 05:07:01 +0000 (05:07 +0000)] 
Merge branch 'tpm12_fix_memory_leak' into 'master'

tpm: Fix memory leak in encode_tpmkey_url

See merge request gnutls/gnutls!800

7 years agotpm: Fix memory leak in encode_tpmkey_url
Stefan Berger [Mon, 12 Nov 2018 14:20:44 +0000 (09:20 -0500)] 
tpm: Fix memory leak in encode_tpmkey_url

When returning the key URL in encode_tpm_key_url we do not need to allocate
a separate buffer for the URL since we return the allocated buffer from
_gnutls_buffer_to_datum().

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
7 years agoMerge branch 'tmp-0rtt' into 'master'
Daiki Ueno [Mon, 12 Nov 2018 15:54:01 +0000 (15:54 +0000)] 
Merge branch 'tmp-0rtt' into 'master'

add support for 0-RTT

Closes #127

See merge request gnutls/gnutls!775

7 years agoMerge branch 'tmp-f29' into 'master'
Dmitry Eremin-Solenikov [Mon, 12 Nov 2018 15:41:47 +0000 (15:41 +0000)] 
Merge branch 'tmp-f29' into 'master'

.gitlab-ci.yml: move to fedora29 for CI

Closes #607

See merge request gnutls/gnutls!794

7 years agodoc: mention 0-RTT
Daiki Ueno [Mon, 15 Oct 2018 11:35:43 +0000 (13:35 +0200)] 
doc: mention 0-RTT

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agoserv: enable anti-replay when early data is used
Daiki Ueno [Sun, 21 Oct 2018 05:34:07 +0000 (07:34 +0200)] 
serv: enable anti-replay when early data is used

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agoTLS 1.3: implement anti-replay measure using ClientHello recording
Daiki Ueno [Fri, 19 Oct 2018 15:52:48 +0000 (17:52 +0200)] 
TLS 1.3: implement anti-replay measure using ClientHello recording

This implements ClientHello recording outlined in section 8.2 of RFC
8446.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agodb: introduce gnutls_db_set_add_function
Daiki Ueno [Thu, 1 Nov 2018 14:37:42 +0000 (15:37 +0100)] 
db: introduce gnutls_db_set_add_function

This adds a way to store an entry if it is not found in the database,
so that the implementation can provide atomic test-and-set.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agodb: introduce gnutls_db_check_entry_expire_time
Daiki Ueno [Thu, 8 Nov 2018 16:54:11 +0000 (17:54 +0100)] 
db: introduce gnutls_db_check_entry_expire_time

This would be particularly useful when the same database is used to
store long-lived TLS 1.2 session data and short-lived TLS 1.3
anti-replay entries.  Note that the existing gnutls_db_check_entry
doesn't fit in this use-case, as it takes gnutls_session_t as the
argument.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agotls13/session_ticket: record timestamp in ticket
Daiki Ueno [Mon, 22 Oct 2018 13:26:07 +0000 (15:26 +0200)] 
tls13/session_ticket: record timestamp in ticket

This is needed for implementing freshness checks outlined in 8.3 of
RFC 8446.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agostr: suppress compiler warning when time_t is 32-bit
Daiki Ueno [Thu, 8 Nov 2018 14:46:42 +0000 (15:46 +0100)] 
str: suppress compiler warning when time_t is 32-bit

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agotestcompat-tls13-openssl: exercise early data transmission
Daiki Ueno [Mon, 22 Oct 2018 09:12:02 +0000 (11:12 +0200)] 
testcompat-tls13-openssl: exercise early data transmission

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agotests: add tests for early data
Daiki Ueno [Mon, 15 Oct 2018 09:29:56 +0000 (11:29 +0200)] 
tests: add tests for early data

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agocli: add --earlydata option
Daiki Ueno [Fri, 12 Oct 2018 11:33:13 +0000 (13:33 +0200)] 
cli: add --earlydata option

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agoserv: add --earlydata option
Daiki Ueno [Fri, 12 Oct 2018 11:33:00 +0000 (13:33 +0200)] 
serv: add --earlydata option

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agorecord: introduce new API functions for early data
Daiki Ueno [Fri, 12 Oct 2018 11:34:21 +0000 (13:34 +0200)] 
record: introduce new API functions for early data

This introduces gnutls_record_get_max_early_data_size(),
gnutls_record_send_early_data(), and gnutls_record_recv_early_data()
functions.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agohandshake: handle early data
Daiki Ueno [Fri, 12 Oct 2018 09:45:59 +0000 (11:45 +0200)] 
handshake: handle early data

This plumbers early data handling in the handshake processes, which
consists of:
- traffic key updates taking into account of client_early_traffic_secret
- early data buffering in both server and client
- the EndOfEarlyData message handling
- making use of max_early_data_size extension in NewSessionTicket

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agosession_pack: record max_early_data_size in session data
Daiki Ueno [Sun, 28 Oct 2018 06:57:34 +0000 (07:57 +0100)] 
session_pack: record max_early_data_size in session data

max_early_data_size sent as part of NST should be recorded and
restored when the session data is set back on the session.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agorecord: fix memleak when rejecting early data
Daiki Ueno [Sun, 28 Oct 2018 06:57:57 +0000 (07:57 +0100)] 
record: fix memleak when rejecting early data

The "discard" label previously used assumes that the decrypted record
is already added to record_recv_buffer.  It is not the case when
rejecting early data.  Release the allocated memory manually and
return early.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agoconstate: add epoch_rel argument to _gnutls_epoch_dup
Daiki Ueno [Fri, 12 Oct 2018 15:10:51 +0000 (17:10 +0200)] 
constate: add epoch_rel argument to _gnutls_epoch_dup

This is necessary for handling early data.  Previously,
_gnutls_epoch_dup() copied the parameters from EPOCH_READ_CURRENT,
while the client only sets EPOCH_WRITE_CURRENT when sending early
data.  This allows caller to specify from which epoch the parameters
are copied.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agohandshake: refactor early secret derivation
Daiki Ueno [Fri, 12 Oct 2018 09:29:57 +0000 (11:29 +0200)] 
handshake: refactor early secret derivation

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agohandshake: record transcript hash for ClientHello
Daiki Ueno [Fri, 5 Oct 2018 08:41:23 +0000 (10:41 +0200)] 
handshake: record transcript hash for ClientHello

This is necessary to compute client_early_traffic_secret and
early_exporter_master_secret in TLS 1.3.

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agoext/pre_shared_key: use predefined macros for secret labels
Daiki Ueno [Fri, 5 Oct 2018 09:13:24 +0000 (11:13 +0200)] 
ext/pre_shared_key: use predefined macros for secret labels

Signed-off-by: Daiki Ueno <dueno@redhat.com>
7 years agoMerge branch 'args-std-def' into 'master'
Tim Rühsen [Sat, 10 Nov 2018 19:13:44 +0000 (19:13 +0000)] 
Merge branch 'args-std-def' into 'master'

src: args-std.def: substitute variables using configure

Closes #567

See merge request gnutls/gnutls!793

7 years agoMerge branch 'tmp-remove-gl-memxor' into 'master'
Nikos Mavrogiannopoulos [Sat, 10 Nov 2018 16:09:28 +0000 (16:09 +0000)] 
Merge branch 'tmp-remove-gl-memxor' into 'master'

Unconditionally include nettle/memxor.h

Closes #605

See merge request gnutls/gnutls!797

7 years agoUnconditionally include nettle/memxor.h
Tim Rühsen [Tue, 6 Nov 2018 08:38:43 +0000 (09:38 +0100)] 
Unconditionally include nettle/memxor.h

Signed-off-by: Tim Rühsen <tim.ruehsen@gmx.de>
7 years agognutls-cli: use assert to mark impossible path
Nikos Mavrogiannopoulos [Sat, 10 Nov 2018 09:54:32 +0000 (10:54 +0100)] 
gnutls-cli: use assert to mark impossible path

This avoids static analyzers from complaining.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agopkcs12: cleanups, and two memory leak fixes
Nikos Mavrogiannopoulos [Sat, 10 Nov 2018 06:46:24 +0000 (07:46 +0100)] 
pkcs12: cleanups, and two memory leak fixes

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agotls13: use system's openssl for interop testing
Nikos Mavrogiannopoulos [Fri, 9 Nov 2018 06:44:02 +0000 (07:44 +0100)] 
tls13: use system's openssl for interop testing

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agoAdded checks to avoid false negatives reported by static analyzers
Nikos Mavrogiannopoulos [Fri, 9 Nov 2018 19:11:42 +0000 (20:11 +0100)] 
Added checks to avoid false negatives reported by static analyzers

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agosrc: update autogenerated .bak files 793/head
Dmitry Eremin-Solenikov [Tue, 6 Nov 2018 11:47:41 +0000 (14:47 +0300)] 
src: update autogenerated .bak files

Update files to include proper year, version, etc.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agosrc: include .bak files in EXTRA_DIST
Dmitry Eremin-Solenikov [Tue, 6 Nov 2018 11:42:56 +0000 (14:42 +0300)] 
src: include .bak files in EXTRA_DIST

Including .bak files in EXTRA_DIST allows us to stop hand-generating
these files in distribution. Instead they are directly copied from the
source tree.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agosrc: update .bak files during -args.c/.h regeneration
Dmitry Eremin-Solenikov [Tue, 6 Nov 2018 11:34:18 +0000 (14:34 +0300)] 
src: update .bak files during -args.c/.h regeneration

To ease updating of .bak files, update them when regenerating
Autogen'erated source files.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agodoc: fix texi generation in out-of-tree builds
Dmitry Eremin-Solenikov [Tue, 6 Nov 2018 09:01:49 +0000 (12:01 +0300)] 
doc: fix texi generation in out-of-tree builds

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agosrc: mark autogen'ed sources as nodist_
Dmitry Eremin-Solenikov [Tue, 6 Nov 2018 07:52:47 +0000 (10:52 +0300)] 
src: mark autogen'ed sources as nodist_

Mark autogenerated sources as not distributable. We are distributing
.bak files instead.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agoMakefile.am: drop manpages regeneration from dist-hook
Dmitry Eremin-Solenikov [Mon, 5 Nov 2018 13:37:02 +0000 (16:37 +0300)] 
Makefile.am: drop manpages regeneration from dist-hook

There is no need anymore to regenerate tools manpages, they will be
generated automatically from doc/manpages/Makefile.am.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agomanpages: fix manpages distribution
Dmitry Eremin-Solenikov [Mon, 5 Nov 2018 13:22:25 +0000 (16:22 +0300)] 
manpages: fix manpages distribution

It seems that dist_man_MANS does not work properly with Automake
conditionals. Automake will not distribute files which are conditionally
disabled at this make run. As released tarballs include all manpages
already, let's include them unconditionally.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agomanpages: fix tools manpages generation
Dmitry Eremin-Solenikov [Mon, 5 Nov 2018 12:02:50 +0000 (15:02 +0300)] 
manpages: fix tools manpages generation

Pass additional include path to let autogen find common arguments
template.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agomanpages: un-unroll the loop
Dmitry Eremin-Solenikov [Mon, 5 Nov 2018 11:53:46 +0000 (14:53 +0300)] 
manpages: un-unroll the loop

Replace unrolled loop over header files with for-loop to simplify
Makefile.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agoconfigure.ac: merge autogen/libopts checks
Dmitry Eremin-Solenikov [Mon, 5 Nov 2018 11:30:53 +0000 (14:30 +0300)] 
configure.ac: merge autogen/libopts checks

Move handling of autogen/libopts to a single place. Enforce usage of
local libopts if autogen is not found.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agodoc: fix documentation generation in out-of-tree builds
Dmitry Eremin-Solenikov [Mon, 5 Nov 2018 10:12:51 +0000 (13:12 +0300)] 
doc: fix documentation generation in out-of-tree builds

gtk-doc will not process gnutls.h.in file, so we need to point it to
generated gnutls.h file, found inside builddir.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agocfg.mk: fix ChangeLog generation on out-of-tree builds
Dmitry Eremin-Solenikov [Sun, 4 Nov 2018 21:43:55 +0000 (00:43 +0300)] 
cfg.mk: fix ChangeLog generation on out-of-tree builds

ChangeLog regeneration does not work for out-of-tree build, so let's fix
that.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agosrc: args-std.def: substitute variables using configure
Dmitry Eremin-Solenikov [Sun, 4 Nov 2018 11:29:11 +0000 (14:29 +0300)] 
src: args-std.def: substitute variables using configure

Use standard way (configure script) to substiture variables in
args-std.def file, instead of manually replacing them in dist-hook.

Fixes #567

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
7 years agoInitialize output var to avoid false negative from static analyzers
Nikos Mavrogiannopoulos [Fri, 9 Nov 2018 19:07:24 +0000 (20:07 +0100)] 
Initialize output var to avoid false negative from static analyzers

This was identified by clang analyzer's on _gnutls_x509_dn_to_string
and _gnutls_x509_decode_string.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years ago.gitlab-ci.yml: move to fedora29 for CI
Nikos Mavrogiannopoulos [Mon, 5 Nov 2018 19:51:33 +0000 (20:51 +0100)] 
.gitlab-ci.yml: move to fedora29 for CI

This also moves the x86 CI builds to the debian cross infrastructure
as we have a more reliable way of generating a 32-bit image.

Resolves #607

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
7 years agotpmtool: Support --srk-well-known for SRK with 20 zero bytes password
Stefan Berger [Fri, 2 Nov 2018 22:33:32 +0000 (18:33 -0400)] 
tpmtool: Support --srk-well-known for SRK with 20 zero bytes password

Implement --srk-well-known for SRK with 20 zero bytes password.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>