]> git.ipfire.org Git - thirdparty/gnutls.git/log
thirdparty/gnutls.git
9 years agoSimplified the generation of ChangeLog [ci skip]
Nikos Mavrogiannopoulos [Wed, 29 Mar 2017 08:40:31 +0000 (10:40 +0200)] 
Simplified the generation of ChangeLog [ci skip]

Removed the dependency on git2cl and utilize git log directly.
git2cl seems to provide incorrect output.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added global locks on tls-fuzzer tests
Nikos Mavrogiannopoulos [Tue, 28 Mar 2017 07:05:38 +0000 (09:05 +0200)] 
tests: added global locks on tls-fuzzer tests

They both require access to the same port and thus cannot
be run in parallel.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agocert: ensure that there are no leftovers in certificate msg
Nikos Mavrogiannopoulos [Tue, 28 Mar 2017 07:01:25 +0000 (09:01 +0200)] 
cert: ensure that there are no leftovers in certificate msg

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotestsuite: added tlsfuzzer certificate requiring tests
Nikos Mavrogiannopoulos [Tue, 28 Mar 2017 06:58:29 +0000 (08:58 +0200)] 
testsuite: added tlsfuzzer certificate requiring tests

This enhances the testsuite by running all the tlsfuzzer
fuzzer tests which require certificates from server.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoalert: return GNUTLS_A_BAD_CERTIFICATE on GNUTLS_E_PK_SIG_VERIFY_FAILED
Nikos Mavrogiannopoulos [Tue, 28 Mar 2017 06:40:32 +0000 (08:40 +0200)] 
alert: return GNUTLS_A_BAD_CERTIFICATE on GNUTLS_E_PK_SIG_VERIFY_FAILED

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agofuzz: updated pkcs12 corpus
Nikos Mavrogiannopoulos [Tue, 28 Mar 2017 07:28:44 +0000 (09:28 +0200)] 
fuzz: updated pkcs12 corpus

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agofuzz: added PKCS#12 file parser fuzzer
Nikos Mavrogiannopoulos [Mon, 27 Mar 2017 15:40:23 +0000 (17:40 +0200)] 
fuzz: added PKCS#12 file parser fuzzer

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc update
Nikos Mavrogiannopoulos [Mon, 27 Mar 2017 15:28:08 +0000 (17:28 +0200)] 
doc update

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoocsp-test: disable under windows
Nikos Mavrogiannopoulos [Sun, 26 Mar 2017 11:46:45 +0000 (13:46 +0200)] 
ocsp-test: disable under windows

This test was failing because datefudge couldn't run under win32.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoRevert "ocsp-test: disable under windows"
Nikos Mavrogiannopoulos [Sun, 26 Mar 2017 11:45:37 +0000 (13:45 +0200)] 
Revert "ocsp-test: disable under windows"

This reverts commit 90d5ad5a42759957866ba1d9c96f5dccfd3ea1cc.

9 years ago.travis.yml: no longer install pkg-config
Nikos Mavrogiannopoulos [Sun, 26 Mar 2017 08:10:02 +0000 (10:10 +0200)] 
.travis.yml: no longer install pkg-config

Travis build seem to fail for some reason since pkg-config is already
installed.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoocsp-test: disable under windows
Nikos Mavrogiannopoulos [Sun, 26 Mar 2017 08:07:13 +0000 (10:07 +0200)] 
ocsp-test: disable under windows

This test was failing because datefudge couldn't run under win32.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years ago.gitlab-ci.yml: increase time of artifact expiration
Nikos Mavrogiannopoulos [Sat, 25 Mar 2017 20:48:46 +0000 (21:48 +0100)] 
.gitlab-ci.yml: increase time of artifact expiration

This allows to re-run failed builds on the depending stages
during that time.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agognutls.pc: Removed P11_KIT_LIBS from Libs.private
Nikos Mavrogiannopoulos [Sat, 25 Mar 2017 20:44:53 +0000 (21:44 +0100)] 
gnutls.pc: Removed P11_KIT_LIBS from Libs.private

It was already being included in Requires.private. Reported
by Andreas Metzler.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agognutls.pc: don't include zlib twice in private libs
Nikos Mavrogiannopoulos [Thu, 23 Mar 2017 07:03:52 +0000 (08:03 +0100)] 
gnutls.pc: don't include zlib twice in private libs

9 years agotests: create-chain.sh: do not explicitly set serial
Nikos Mavrogiannopoulos [Thu, 23 Mar 2017 10:39:34 +0000 (11:39 +0100)] 
tests: create-chain.sh: do not explicitly set serial

We were previously exporting certificates with serial number being
zero, which is not allowed by RFC5280.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc update
Nikos Mavrogiannopoulos [Thu, 23 Mar 2017 10:34:07 +0000 (11:34 +0100)] 
doc update

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added mini-x509-ipaddr
Nikos Mavrogiannopoulos [Wed, 22 Mar 2017 08:39:12 +0000 (09:39 +0100)] 
tests: added mini-x509-ipaddr

This is a unit test for GNUTLS_DT_IP_ADDRESS as used in
gnutls_certificate_verify_peers().

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoIntroduced GNUTLS_DT_IP_ADDRESS
Nikos Mavrogiannopoulos [Wed, 22 Mar 2017 08:00:09 +0000 (09:00 +0100)] 
Introduced GNUTLS_DT_IP_ADDRESS

This allows verifying an IP address using gnutls_certificate_verify_peers()
or gnutls_x509_trust_list_verify_crt2().

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc update
Nikos Mavrogiannopoulos [Tue, 21 Mar 2017 11:19:35 +0000 (12:19 +0100)] 
doc update

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: check whether we fallback to CN unconditionally
Nikos Mavrogiannopoulos [Fri, 17 Mar 2017 14:04:50 +0000 (15:04 +0100)] 
tests: check whether we fallback to CN unconditionally

This is a unit test for:
"gnutls_x509_crt_check_hostname2: do not fallback to CN unconditionally"

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls_x509_crt_check_hostname2: do not fallback to CN unconditionally
Nikos Mavrogiannopoulos [Fri, 17 Mar 2017 14:01:12 +0000 (15:01 +0100)] 
gnutls_x509_crt_check_hostname2: do not fallback to CN unconditionally

Do not fallback to checking the CN of a certificate for a hostname
if supported names such as IP addresses were found in gnutls_x509_crt_check_hostname2().
This behavioral change is in order to satisfy the RFC6125 requirement
of not falling back to CN in that case. Reported by Suphannee Sivakorn.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added unit test of GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES
Nikos Mavrogiannopoulos [Fri, 17 Mar 2017 13:50:10 +0000 (14:50 +0100)] 
tests: added unit test of GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoIntroduced verification flag GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES
Nikos Mavrogiannopoulos [Fri, 17 Mar 2017 13:43:36 +0000 (14:43 +0100)] 
Introduced verification flag GNUTLS_VERIFY_DO_NOT_ALLOW_IP_MATCHES

This flag when provided to the gnutls_x509_crt_check_hostname2() function
(and its callers), will prevent IP matching of the subject alternative
name. This can be utilized by applications which directly check for
IP addresses using gnutls_x509_crt_check_ip().

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoupdated auto-generated files
Nikos Mavrogiannopoulos [Fri, 17 Mar 2017 13:37:21 +0000 (14:37 +0100)] 
updated auto-generated files

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added unit test for gnutls_x509_crt_check_ip
Nikos Mavrogiannopoulos [Thu, 16 Mar 2017 10:38:19 +0000 (11:38 +0100)] 
tests: added unit test for gnutls_x509_crt_check_ip

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoAdded gnutls_x509_crt_check_ip()
Nikos Mavrogiannopoulos [Thu, 16 Mar 2017 09:07:37 +0000 (10:07 +0100)] 
Added gnutls_x509_crt_check_ip()

This function allows to directly verify IP addresses on a certificate.
That is a first step towards making gnutls_x509_crt_check_hostname2()
not verify IP addresses.

Based on discussion and suggestion by Suphannee Sivakorn. See
https://lists.gnupg.org/pipermail/gnutls-devel/2017-March/008368.html

Relates #185

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added unit test of gnutls_pubkey_verify_data2 override flags
Nikos Mavrogiannopoulos [Tue, 21 Mar 2017 13:07:22 +0000 (14:07 +0100)] 
tests: added unit test of gnutls_pubkey_verify_data2 override flags

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: keygen -> privkey-keygen
Nikos Mavrogiannopoulos [Tue, 21 Mar 2017 12:47:09 +0000 (13:47 +0100)] 
tests: keygen -> privkey-keygen

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago_gnutls_check_key_cert_match: allow broken sigs
Nikos Mavrogiannopoulos [Tue, 21 Mar 2017 12:20:02 +0000 (13:20 +0100)] 
_gnutls_check_key_cert_match: allow broken sigs

That ensures that when loading a certificate pair with SHA1, when
SHA1 is disabled will not cause the server to fail to load.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago.gitignore: more files to ignore
Nikos Mavrogiannopoulos [Tue, 21 Mar 2017 12:14:24 +0000 (13:14 +0100)] 
.gitignore: more files to ignore

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoUse a common function to decide acceptable signatures
Nikos Mavrogiannopoulos [Tue, 21 Mar 2017 12:12:07 +0000 (13:12 +0100)] 
Use a common function to decide acceptable signatures

That is, ensure that results from all verification functions,
including gnutls_pubkey_verify_data2(), will be consistent with
SHA1 and other algorithms deprecation.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agocheck_ocsp_response: utilize the same flags as in certificate verification
Nikos Mavrogiannopoulos [Tue, 21 Mar 2017 12:01:51 +0000 (13:01 +0100)] 
check_ocsp_response: utilize the same flags as in certificate verification

That ensures that overrides like using broken algorithms are considered
in OCSP validation.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoextensions: print the name/type of any unexpected extension
Nikos Mavrogiannopoulos [Tue, 21 Mar 2017 13:34:37 +0000 (14:34 +0100)] 
extensions: print the name/type of any unexpected extension

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added script to check pkg-config operation
Nikos Mavrogiannopoulos [Sat, 18 Mar 2017 17:12:55 +0000 (18:12 +0100)] 
tests: added script to check pkg-config operation

That is, whether the generated gnutls.pc will function for
compiling and linking.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agognutls.pc: don't pass the libtool vars to Libs.private
Nikos Mavrogiannopoulos [Sat, 18 Mar 2017 16:56:42 +0000 (17:56 +0100)] 
gnutls.pc: don't pass the libtool vars to Libs.private

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agotests: improved tls-rehandshake tests
Nikos Mavrogiannopoulos [Tue, 21 Mar 2017 09:11:54 +0000 (10:11 +0100)] 
tests: improved tls-rehandshake tests

Used common definitions from cert-common.h for certificates,
and improved error detection in tls-rehandshake-cert-2.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: check whether a rehandshake without a cert works
Nikos Mavrogiannopoulos [Tue, 21 Mar 2017 08:42:59 +0000 (09:42 +0100)] 
tests: check whether a rehandshake without a cert works

That is, check whether if on initial handshake the server requests
a certificate, but on the following rehandshake he doesn't, whether
the client behaves as expected. This tests:
1f685db853db6e48c77c6dbde0cdf716a7303baa

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agohandshake: reset cert request state on handshake init
Nikos Mavrogiannopoulos [Tue, 21 Mar 2017 08:36:18 +0000 (09:36 +0100)] 
handshake: reset cert request state on handshake init

That addresses a bug which on client side on case of an initial
handshake with a client certificate, we continue to send this
certificate even if on rehandshake we were not requested with on.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoRevert "nettle/rnd: use gettime() instead of gnutls_time()"
Nikos Mavrogiannopoulos [Tue, 21 Mar 2017 06:59:37 +0000 (07:59 +0100)] 
Revert "nettle/rnd: use gettime() instead of gnutls_time()"

This reverts commit c4842a21f65c7fc9a27932eb1792b1fc9e65f722.
The time() syscall is also implemented as syscall() and is in
fact performing better than gettime().

9 years agoREADME.md: corrected typo [ci skip]
Nikos Mavrogiannopoulos [Mon, 20 Mar 2017 22:00:06 +0000 (23:00 +0100)] 
README.md: corrected typo [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agonettle/rnd: use gettime() instead of gnutls_time()
Nikos Mavrogiannopoulos [Mon, 20 Mar 2017 15:31:42 +0000 (16:31 +0100)] 
nettle/rnd: use gettime() instead of gnutls_time()

The gnulib gettime() maps to gettimeofday() or clock_gettime()
which are both implemented as fast system calls - see vdso(7)-
and as such are available without a switch to kernel mode.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc: updated RNG documentation to reflect the previous changes
Nikos Mavrogiannopoulos [Mon, 20 Mar 2017 12:29:42 +0000 (13:29 +0100)] 
doc: updated RNG documentation to reflect the previous changes

9 years agonettle/rnd: re-seed both key and nonce levels based on time
Nikos Mavrogiannopoulos [Mon, 20 Mar 2017 12:23:39 +0000 (13:23 +0100)] 
nettle/rnd: re-seed both key and nonce levels based on time

The time(0) is quite cheap on modern operating systems, and thus we
can rely on it to provide improved assurance in the output randomness.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agonettle/pk: use nonce level for RSA padding
Nikos Mavrogiannopoulos [Mon, 20 Mar 2017 12:13:11 +0000 (13:13 +0100)] 
nettle/pk: use nonce level for RSA padding

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoREADME.md: corrected link for coverage in master [ci skip]
Nikos Mavrogiannopoulos [Sat, 18 Mar 2017 18:26:02 +0000 (19:26 +0100)] 
README.md: corrected link for coverage in master [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoAvoid deprecation warnings when including gnutls/abstract.h
Martin Storsjo [Fri, 17 Mar 2017 21:33:01 +0000 (23:33 +0200)] 
Avoid deprecation warnings when including gnutls/abstract.h

Since ac3de8f5, when all openpgp functionality was deprecated, a
library user including gnutls/abstract.h gets warnings about
deprecated declarations, like this:

gnutls/openpgp.h:328:10: warning: â€˜gnutls_openpgp_recv_key_func’ is deprecated [-Wdeprecated-declarations]
          gnutls_openpgp_recv_key_func func) _GNUTLS_GCC_ATTR_DEPRECATED;

This warning is emitted since the gnutls_openpgp_set_recv_key_function
prototype uses the deprecated typedef gnutls_openpgp_recv_key_func.

By omitting the deprecation attribute from this individual
typedef, we avoid the spurious warnings in calling code which just
includes gnutls/abstract.h without actually using anything related
to openpgp.

Signed-off-by: Martin Storsjo <martin@martin.st>
9 years agognutls.h: added definitions to obtain the maximum element in several enumerations
Nikos Mavrogiannopoulos [Fri, 17 Mar 2017 09:47:33 +0000 (10:47 +0100)] 
gnutls.h: added definitions to obtain the maximum element in several enumerations

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added basic unit tests for several string functions of libs
Nikos Mavrogiannopoulos [Thu, 16 Mar 2017 13:29:10 +0000 (14:29 +0100)] 
tests: added basic unit tests for several string functions of libs

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc update
Nikos Mavrogiannopoulos [Fri, 24 Feb 2017 08:44:55 +0000 (09:44 +0100)] 
doc update

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: certtool-crl-decoding: ignore lines warning about SHA1 deprecation
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 21:51:57 +0000 (22:51 +0100)] 
tests: certtool-crl-decoding: ignore lines warning about SHA1 deprecation

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agotests: check the flag GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 16:17:32 +0000 (17:17 +0100)] 
tests: check the flag GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1

In addition verify whether the GNUTLS_VERIFY_ALLOW_BROKEN flag
works when MD5 is present.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoIntroduced flag GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 16:13:48 +0000 (17:13 +0100)] 
Introduced flag GNUTLS_VERIFY_ALLOW_SIGN_WITH_SHA1

This allows performing a verification with only SHA1 allowed
from the broken algorithms. This can be used to fine-tune
verification in case default verification fails, to detect
whether the failed algorithm was SHA1.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoIntroduced the %VERIFY_ALLOW_BROKEN priority string option
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 16:06:47 +0000 (17:06 +0100)] 
Introduced the %VERIFY_ALLOW_BROKEN priority string option

This allows enabling broken signature algorithms in certificate verification.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoAllow reverting the SHA1 ban as a signature algorithm
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 16:00:22 +0000 (17:00 +0100)] 
Allow reverting the SHA1 ban as a signature algorithm

This allows distributors to decide not to ban SHA1. This
option may be removed in the future.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agop11tool: test-sign operation using SHA256 instead of SHA1
Nikos Mavrogiannopoulos [Fri, 24 Feb 2017 11:36:46 +0000 (12:36 +0100)] 
p11tool: test-sign operation using SHA256 instead of SHA1

This avoids the errors returned from the verification functions due to
SHA1 usage.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: updated to account SHA1 move to broken set
Nikos Mavrogiannopoulos [Fri, 24 Feb 2017 08:42:26 +0000 (09:42 +0100)] 
tests: updated to account SHA1 move to broken set

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoalgorithms: tag SHA1 as insecure algorithm
Nikos Mavrogiannopoulos [Fri, 24 Feb 2017 07:35:34 +0000 (08:35 +0100)] 
algorithms: tag SHA1 as insecure algorithm

Although SHA1 was considered to be risky to use the past few years,
there has been no demonstration of breakage. As of 2017-2-23 there has
been a demonstrated collision in SHA1, and even though the attack was
a costly one, it provided the incentive to should move SHA1 into
the broken hashes list together with MD5 and MD2.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoREADME.md: updated coverage links [ci skip]
Nikos Mavrogiannopoulos [Thu, 16 Mar 2017 13:02:05 +0000 (14:02 +0100)] 
README.md: updated coverage links [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: removed unneeded ifdef in tlsext-decoding.c
Nikos Mavrogiannopoulos [Thu, 16 Mar 2017 07:25:52 +0000 (08:25 +0100)] 
tests: removed unneeded ifdef in tlsext-decoding.c

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc: updated RNG design
Nikos Mavrogiannopoulos [Thu, 16 Mar 2017 08:04:24 +0000 (09:04 +0100)] 
doc: updated RNG design

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agonettle/rnd: introduced time limit for key generator
Nikos Mavrogiannopoulos [Wed, 15 Mar 2017 13:21:43 +0000 (14:21 +0100)] 
nettle/rnd: introduced time limit for key generator

That is, force re-key of the KEY and RANDOM PRNG after 2 hours
of operation, irrespective of the amount of data having been output.
At the same time, increase limits for key and nonce generators,
to prevent a large amount of system calls in busy servers.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago_gnutls_pk_generate_keys: separate between ephemeral and long-term keys
Nikos Mavrogiannopoulos [Wed, 15 Mar 2017 14:11:14 +0000 (15:11 +0100)] 
_gnutls_pk_generate_keys: separate between ephemeral and long-term keys

That allows using the faster generator for ephemeral keys.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agonettle/pk: use the nonce level for digital signatures
Nikos Mavrogiannopoulos [Wed, 15 Mar 2017 13:46:54 +0000 (14:46 +0100)] 
nettle/pk: use the nonce level for digital signatures

That is, we do not really require high quality secret data for the generation
of signatures. A better approach would be to switch to predictable signatures (RFC6979).

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago.gitlab-ci.yml: limit submodule update to avoid fetch
Nikos Mavrogiannopoulos [Wed, 15 Mar 2017 21:06:59 +0000 (22:06 +0100)] 
.gitlab-ci.yml: limit submodule update to avoid fetch

This should reduce both the bandwidth and the time of the fetch.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoFix a typo in a variable name in an m4 script
Martin Storsjo [Wed, 15 Mar 2017 21:32:12 +0000 (23:32 +0200)] 
Fix a typo in a variable name in an m4 script

Signed-off-by: Martin Storsjo <martin@martin.st>
9 years agobuild: disable valgrind tests by default
Alon Bar-Lev [Tue, 14 Mar 2017 17:27:49 +0000 (19:27 +0200)] 
build: disable valgrind tests by default

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
9 years ago.gitlab-ci.yml: ubsan build utilizes -Werror for the library
Nikos Mavrogiannopoulos [Wed, 15 Mar 2017 04:17:37 +0000 (05:17 +0100)] 
.gitlab-ci.yml: ubsan build utilizes -Werror for the library

That brings back the -Werror for building, after its removal from
clang-analyzer build.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years ago.gitlab-ci.yml: remove -Werror compilation from scan-build
Nikos Mavrogiannopoulos [Tue, 14 Mar 2017 15:43:34 +0000 (16:43 +0100)] 
.gitlab-ci.yml: remove -Werror compilation from scan-build

When we pass '--status-bugs' to the command in combination with
'-Werror' in CFLAGS it has the following side effects. In a failed
due to Werror build, scan-build fails to find any issues, and
marks the run as successfully completed. Hence, removes the -Werror
from clang-analyzer.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agobuild: tests: resolve as-needed issue with seccomp
Alon Bar-Lev [Mon, 13 Mar 2017 18:47:02 +0000 (20:47 +0200)] 
build: tests: resolve as-needed issue with seccomp

Incorrect ordering of -lseccomp:
<snip>
-Wl,--as-needed ../lib/.libs/libgnutls.so -lseccomp ./.libs/libutils.a
./.libs/libutils.a(seccomp.o): In function seccomp_init'
seccomp.c:(.text+0x2b): undefined reference to `seccomp_init'
<snip>

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
9 years agofuzz: Corrected default options in fuzz scripts [ci skip]
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 22:27:14 +0000 (23:27 +0100)] 
fuzz: Corrected default options in fuzz scripts [ci skip]

This change assumes that afl-fuzz (and not libfuzzer) will be used
by default.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agognutls_pkcs11_privkey_init: document limitation on created object [ci skip]
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 19:13:49 +0000 (20:13 +0100)] 
gnutls_pkcs11_privkey_init: document limitation on created object [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agopkcs11: re-open privkey session handle on CKR_SESSION_HANDLE_INVALID
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 14:21:40 +0000 (15:21 +0100)] 
pkcs11: re-open privkey session handle on CKR_SESSION_HANDLE_INVALID

When initializing a private key operation, attempt to re-open the key
if CKR_SESSION_HANDLE_INVALID is received.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: pkcs11-mock lib: check object session sanity prior to using it
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 14:15:31 +0000 (15:15 +0100)] 
tests: pkcs11-mock lib: check object session sanity prior to using it

This avoids crashes when the object is used after a fork but prior
to the session being re-established.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added an OCSP response parsing coverage test
Nikos Mavrogiannopoulos [Thu, 9 Mar 2017 10:21:50 +0000 (11:21 +0100)] 
tests: added an OCSP response parsing coverage test

This inputs a large set of valid and invalid OCSP files
in the OCSP parser with the intention to stress test its
error checking, and prevent regressions.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added a certificate parsing coverage test
Nikos Mavrogiannopoulos [Thu, 9 Mar 2017 07:14:32 +0000 (08:14 +0100)] 
tests: added a certificate parsing coverage test

This inputs a large set of valid and invalid certificates in
the certificate parser with the intention to stress test its
error checking, and prevent regressions.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago.gitignore: more files to ignore
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 08:39:03 +0000 (09:39 +0100)] 
.gitignore: more files to ignore

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added unit tests for gnutls_pkcs11_token_get_mechanism
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 08:33:29 +0000 (09:33 +0100)] 
tests: added unit tests for gnutls_pkcs11_token_get_mechanism

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: included unit test for gnutls_pkcs11_obj_export
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 08:28:25 +0000 (09:28 +0100)] 
tests: included unit test for gnutls_pkcs11_obj_export

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added unit test for gnutls_pkcs11_reinit()
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 08:23:37 +0000 (09:23 +0100)] 
tests: added unit test for gnutls_pkcs11_reinit()

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added unit tests for gnutls_pkcs11_obj_get_info
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 08:17:42 +0000 (09:17 +0100)] 
tests: added unit tests for gnutls_pkcs11_obj_get_info

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc update
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 08:17:07 +0000 (09:17 +0100)] 
doc update

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls_pkcs11_obj_get_info: don't include the terminator into output size
Nikos Mavrogiannopoulos [Mon, 13 Mar 2017 08:14:15 +0000 (09:14 +0100)] 
gnutls_pkcs11_obj_get_info: don't include the terminator into output size

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: cert-tests: openpgp-certs: align test redirection
Alon Bar-Lev [Mon, 13 Mar 2017 09:32:07 +0000 (11:32 +0200)] 
tests: cert-tests: openpgp-certs: align test redirection

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
9 years agotests: suppressions.valgrind: supress fillin_rpath
Alon Bar-Lev [Mon, 13 Mar 2017 08:45:08 +0000 (10:45 +0200)] 
tests: suppressions.valgrind: supress fillin_rpath

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
9 years agotests: remove unused suppressions.valgrind
Alon Bar-Lev [Mon, 13 Mar 2017 09:30:41 +0000 (11:30 +0200)] 
tests: remove unused suppressions.valgrind

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
9 years agolib: unconditionally enable the self-check functions
Nikos Mavrogiannopoulos [Sun, 12 Mar 2017 13:48:19 +0000 (14:48 +0100)] 
lib: unconditionally enable the self-check functions

These functions were previously made available only in FIPS140-2
mode. Enabling them unconditionally allows applications to directly
utilize that functionality for testing the gnutls library.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agotests: added unit test for gnutls_pkcs11_get_pin_function
Nikos Mavrogiannopoulos [Sun, 12 Mar 2017 13:43:00 +0000 (14:43 +0100)] 
tests: added unit test for gnutls_pkcs11_get_pin_function

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agotests: moved ocsp-tests to main directory
Nikos Mavrogiannopoulos [Sun, 12 Mar 2017 13:29:14 +0000 (14:29 +0100)] 
tests: moved ocsp-tests to main directory

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agopkcs11: re-open private key session inside a locked section
Nikos Mavrogiannopoulos [Fri, 10 Mar 2017 16:37:10 +0000 (17:37 +0100)] 
pkcs11: re-open private key session inside a locked section

This prevents clashes when the same operation is carried in other
threads.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agopkcs11: introduced locks to PKCS#11 private key structure
Nikos Mavrogiannopoulos [Fri, 10 Mar 2017 16:12:50 +0000 (17:12 +0100)] 
pkcs11: introduced locks to PKCS#11 private key structure

This allows to run PKCS#11 private key operations such as signing
and decryption in parallel.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: introduced check for parallel operation (signatures) in PKCS#11 mode
Nikos Mavrogiannopoulos [Fri, 10 Mar 2017 16:04:20 +0000 (17:04 +0100)] 
tests: introduced check for parallel operation (signatures) in PKCS#11 mode

That is, verify that parallel signatures using a single gnutls_pkcs11_privkey_t
context work.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: scripts: suppress which errors
Alon Bar-Lev [Sun, 12 Mar 2017 13:05:41 +0000 (15:05 +0200)] 
tests: scripts: suppress which errors

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
9 years agopkcs11: during scan, leave the provider loop asap
Nikos Mavrogiannopoulos [Sat, 11 Mar 2017 11:08:21 +0000 (12:08 +0100)] 
pkcs11: during scan, leave the provider loop asap

This optimizes access when multiple provider modules are available,
by avoiding scanning irrelevant ones.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoDo not attempt to parse a 32-bit integer if a packet is not 4 bytes.
Alex Gaynor [Sat, 11 Mar 2017 15:28:50 +0000 (10:28 -0500)] 
Do not attempt to parse a 32-bit integer if a packet is not 4 bytes.

This addresses:
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=824

Signed-off-by: Alex Gaynor <alex.gaynor@gmail.com>
9 years agofuzz: document how to run AFL [ci skip]
Nikos Mavrogiannopoulos [Thu, 9 Mar 2017 14:50:24 +0000 (15:50 +0100)] 
fuzz: document how to run AFL [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agofuzz: added initial corpus for the OCSP request parser
Nikos Mavrogiannopoulos [Thu, 9 Mar 2017 09:57:28 +0000 (10:57 +0100)] 
fuzz: added initial corpus for the OCSP request parser

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agofuzz: added initial corpus for OCSP response parser
Nikos Mavrogiannopoulos [Wed, 8 Mar 2017 16:09:59 +0000 (17:09 +0100)] 
fuzz: added initial corpus for OCSP response parser

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agofuzz: added OCSP structure parsers
Nikos Mavrogiannopoulos [Wed, 8 Mar 2017 16:01:59 +0000 (17:01 +0100)] 
fuzz: added OCSP structure parsers

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agofuzz: increased minimized set of X.509 certificates
Nikos Mavrogiannopoulos [Wed, 8 Mar 2017 15:51:39 +0000 (16:51 +0100)] 
fuzz: increased minimized set of X.509 certificates

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>