]>
git.ipfire.org Git - thirdparty/gnutls.git/log
Nikos Mavrogiannopoulos [Wed, 28 Dec 2016 08:58:20 +0000 (09:58 +0100)]
fuzz: Added initial values for DN, PKCS8 and X.509 tests
Alex Gaynor [Mon, 26 Dec 2016 15:59:03 +0000 (15:59 +0000)]
Added a parser for PKCS7 importing and printing
Nikos Mavrogiannopoulos [Mon, 19 Dec 2016 07:38:41 +0000 (08:38 +0100)]
fuzz: added X.509 DN parser
Nikos Mavrogiannopoulos [Mon, 19 Dec 2016 07:35:45 +0000 (08:35 +0100)]
fuzz: added PKCS#8 private key parser
Nikos Mavrogiannopoulos [Wed, 21 Dec 2016 07:18:24 +0000 (08:18 +0100)]
configure: introduced --with-priority-string option
This allows specifying the priority string to be used with
gnutls_set_default_priority() on configure time.
Nikos Mavrogiannopoulos [Mon, 19 Dec 2016 20:35:53 +0000 (21:35 +0100)]
priorities: reset the profile flags when appending new flags
That is, to avoid causing issues to applications calling gnutls_*priority_set()
multiple times with different parameters. In that case if multiple profiles are
used the outcome could be undefined. Now, the last call will prevail.
Nikos Mavrogiannopoulos [Mon, 19 Dec 2016 20:39:02 +0000 (21:39 +0100)]
gnutls_session_set_verify_cert: doc update
Nikos Mavrogiannopoulos [Mon, 19 Dec 2016 20:26:09 +0000 (21:26 +0100)]
Revert "priorities: set the additional verify flags instead of appending them"
This reverts commit
aaf49747f981f6c17cdc9ea7495a8948a5015ae2 .
Nikos Mavrogiannopoulos [Mon, 19 Dec 2016 20:19:05 +0000 (21:19 +0100)]
doc update [ci skip]
Nikos Mavrogiannopoulos [Mon, 19 Dec 2016 19:31:27 +0000 (19:31 +0000)]
Merge branch 'tmp-cert-updates' into 'master'
Updates in certificate handling on certtool
See merge request !181
Nikos Mavrogiannopoulos [Mon, 19 Dec 2016 18:01:31 +0000 (19:01 +0100)]
tests: added check for certtool loading CA certificates from PKCS#11
Nikos Mavrogiannopoulos [Fri, 9 Dec 2016 14:52:49 +0000 (15:52 +0100)]
certtool: document that --load-ca-certificate can be used with PKCS#11 URLs
Nikos Mavrogiannopoulos [Fri, 9 Dec 2016 14:44:20 +0000 (15:44 +0100)]
certtool: load_ca_cert() can load a CA from URLs
Nikos Mavrogiannopoulos [Fri, 9 Dec 2016 10:36:13 +0000 (11:36 +0100)]
certtool: unified the CA certificate loading process
That is, combined how CA certificates are loaded for --verify-chain,
--verify and --p7-verify. It is based on the trust list high level
functions, something that allows PKCS#11 URLs to be specified in
--load-ca-certificate.
Nikos Mavrogiannopoulos [Mon, 19 Dec 2016 15:15:50 +0000 (16:15 +0100)]
doc update [ci skip]
Nikos Mavrogiannopoulos [Fri, 9 Dec 2016 15:21:30 +0000 (16:21 +0100)]
.gitlab-ci.yml: changed buildroot to fedora25
Nikos Mavrogiannopoulos [Mon, 19 Dec 2016 11:09:41 +0000 (11:09 +0000)]
Merge branch 'tmp-priority-fix' into 'master'
Fix issue with multiple calls to priority functions
See merge request !195
Nikos Mavrogiannopoulos [Mon, 19 Dec 2016 10:01:10 +0000 (11:01 +0100)]
tests: added check for multiple calls to gnutls_priority_set_direct()
Nikos Mavrogiannopoulos [Mon, 19 Dec 2016 09:49:34 +0000 (10:49 +0100)]
priorities: set the additional verify flags instead of appending them
That is, to avoid causing issues to applications calling gnutls_*priority_set()
multiple times with different parameters. In that case if multiple profiles are
used the combo could be undefined.
Nikos Mavrogiannopoulos [Mon, 19 Dec 2016 09:36:01 +0000 (10:36 +0100)]
verify: print certificate on sec param failure
Nikos Mavrogiannopoulos [Fri, 16 Dec 2016 16:19:29 +0000 (16:19 +0000)]
Merge branch 'tmp-x509-print-fix' into 'master'
Updates in X.509 certificate handling
Relates to #156
See merge request !192
Nikos Mavrogiannopoulos [Thu, 15 Dec 2016 14:08:31 +0000 (15:08 +0100)]
x509: corrected leak in certificate printing
The leak could be triggered if the certificate policies to be imported are
invalid.
Nikos Mavrogiannopoulos [Thu, 15 Dec 2016 14:02:18 +0000 (15:02 +0100)]
gnutls_x509_ext_import_proxy: fix issue reading the policy language
If the language was set but the policy wasn't, that could lead to
a double free, as the value returned to the user was freed.
Nikos Mavrogiannopoulos [Thu, 15 Dec 2016 13:50:36 +0000 (14:50 +0100)]
tests: added certificate which was causing issues in gnutls_x509_crt_print()
Nikos Mavrogiannopoulos [Thu, 15 Dec 2016 13:47:13 +0000 (14:47 +0100)]
tests: improved certder to easily load certificates from a directory
That allows to place certificates in certs-interesting/ and these
will be loaded and checked upon the new "cert" test case.
Nikos Mavrogiannopoulos [Thu, 15 Dec 2016 13:06:06 +0000 (14:06 +0100)]
doc update
Nikos Mavrogiannopoulos [Fri, 16 Dec 2016 13:42:36 +0000 (13:42 +0000)]
Merge branch 'tmp-src-fixes' into 'master'
Do not add cli-args.h to cli-args.stamp Makefile target
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
See merge request !190
Alexander Kanavin [Wed, 14 Dec 2016 15:42:45 +0000 (17:42 +0200)]
Do not add cli-args.h to cli-args.stamp Makefile target
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Nikos Mavrogiannopoulos [Thu, 15 Dec 2016 14:47:25 +0000 (14:47 +0000)]
Merge branch 'fuzzers' into 'master'
Migrated fuzzers from the oss-repo to here.
Also added a new private_key_parser fuzzer.
See merge request !184
Alex Gaynor [Thu, 15 Dec 2016 13:08:45 +0000 (08:08 -0500)]
Describe the integration
Alex Gaynor [Thu, 15 Dec 2016 12:27:47 +0000 (07:27 -0500)]
Move to the devel dir
Alex Gaynor [Wed, 14 Dec 2016 01:14:33 +0000 (20:14 -0500)]
Added a server fuzzer
Alex Gaynor [Mon, 12 Dec 2016 13:09:49 +0000 (08:09 -0500)]
Migrated fuzzers from the oss-repo to here.
Also added a new private_key_parser fuzzer.
Dmitry Eremin-Solenikov [Wed, 14 Dec 2016 15:07:05 +0000 (18:07 +0300)]
Drop _gnutls_epoch_get_compression
This function is unused since long ago, let's drop it.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Dmitry Eremin-Solenikov [Wed, 14 Dec 2016 14:51:56 +0000 (17:51 +0300)]
Rework setting next compression method
Only update compression method if all internal check succeed and next
epoch will use this it. Also while we are at at, actually check for
_gnutls_set_compression() return value.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Dmitry Eremin-Solenikov [Wed, 14 Dec 2016 14:51:56 +0000 (17:51 +0300)]
Rework setting next cipher suite
Only update cipher_suite if all internal check succeed and next epoch
will use this ciphe suite. Also while we are at at, actually check for
_gnutls_set_cipher_suite() return value.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Dmitry Eremin-Solenikov [Mon, 28 Nov 2016 10:16:13 +0000 (13:16 +0300)]
Cache MAC algorithm used for PRF function
Instead of spreading checks all over the GnuTLS, cache used PRF after
setting the cipher suite and reference the value later. Like in
_gnutls_PRF_raw the GNUTLS_MAC_MD5_SHA1 means MD5+SHA1 combo.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Dmitry Eremin-Solenikov [Wed, 14 Dec 2016 01:11:11 +0000 (04:11 +0300)]
Use MAC_MD5_SHA1 instead of MAC_UNKNOWN to specify TLS 1.0 PRF
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Dmitry Eremin-Solenikov [Wed, 14 Dec 2016 00:52:06 +0000 (03:52 +0300)]
Rewrite SSL/TLS signature verification to use combined MD5+SHA1 digest
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Dmitry Eremin-Solenikov [Wed, 14 Dec 2016 00:52:06 +0000 (03:52 +0300)]
Rewrite SSL/TLS signing code to use combined MD5+SHA1 digest
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Dmitry Eremin-Solenikov [Wed, 14 Dec 2016 00:15:49 +0000 (03:15 +0300)]
Add special MD5+SHA1 digest to simplify TLS signature code
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Nikos Mavrogiannopoulos [Wed, 14 Dec 2016 09:52:27 +0000 (10:52 +0100)]
_gnutls_pkcs_raw_decrypt_data: merge all errors during decryption to GNUTLS_E_DECRYPTION_FAILED
This makes the function's return values simpler to handle.
Dmitry Eremin-Solenikov [Tue, 13 Dec 2016 21:46:16 +0000 (00:46 +0300)]
configure.ac: remove autogen'erated files only if necessary
Currently autogen'erated files will be removed on each call to
configure. However this would break the build if one of previous
make invocations have created corresponding stamp files.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Nikos Mavrogiannopoulos [Wed, 14 Dec 2016 08:50:24 +0000 (09:50 +0100)]
bumped versions and added news entry for 3.6.0 [ci skip]
Nikos Mavrogiannopoulos [Wed, 14 Dec 2016 08:46:18 +0000 (09:46 +0100)]
README.md: added information on the 3.5.x builds
Nikos Mavrogiannopoulos [Tue, 13 Dec 2016 10:41:12 +0000 (11:41 +0100)]
tests: added test for PKCS#8 encrypted key decoding
This also verifies that the return value when attempting to
decrypt without a password is GNUTLS_E_DECRYPTION_FAILED.
Nikos Mavrogiannopoulos [Tue, 13 Dec 2016 10:27:38 +0000 (11:27 +0100)]
pkcs8: ensure that the correct error code is returned on decryption failure
Nikos Mavrogiannopoulos [Sat, 10 Dec 2016 12:15:16 +0000 (13:15 +0100)]
doc update [ci skip]
Nikos Mavrogiannopoulos [Fri, 9 Dec 2016 14:44:47 +0000 (15:44 +0100)]
doc: updated to documentation of certtool [ci skip]
This corrects options which incorrectly mentioned they support URLs.
Nikos Mavrogiannopoulos [Fri, 9 Dec 2016 10:54:30 +0000 (11:54 +0100)]
x509: better documented gnutls_trust_list_flags_t
Nikos Mavrogiannopoulos [Fri, 9 Dec 2016 14:06:55 +0000 (15:06 +0100)]
tests: disable ASAN leak checks on suite tests
These detect memory leaks in the tools in src/ which are
not critical nor there is serious reason to address.
Nikos Mavrogiannopoulos [Fri, 9 Dec 2016 11:03:33 +0000 (12:03 +0100)]
tests: disable ASAN leak checks on certificate tests
These detect memory leaks in the tools in src/ which are
not critical nor there is serious reason to address.
Nikos Mavrogiannopoulos [Fri, 9 Dec 2016 08:54:14 +0000 (09:54 +0100)]
tests: enhanced long-session-id test
This ensures that no leaks exist during exit (to avoid asan failures),
and that we test for the specific error code that gnutls_handshake()
is expected to return.
Nikos Mavrogiannopoulos [Fri, 9 Dec 2016 08:52:20 +0000 (09:52 +0100)]
handshake: return GNUTLS_E_ILLEGAL_PARAMETER on invalid ID size
This is a more sensible error code to return on invalid packet.
Nikos Mavrogiannopoulos [Fri, 9 Dec 2016 08:15:59 +0000 (09:15 +0100)]
tests: eliminate compilation warning in crq-basic [ci skip]
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 14:41:40 +0000 (15:41 +0100)]
.gitlab-ci.yml: do not enable IDN support in minimal build
Nikos Mavrogiannopoulos [Fri, 2 Dec 2016 13:57:41 +0000 (14:57 +0100)]
configure.ac: use AC_CONFIG_LINKS to copy autogenerated files
Nikos Mavrogiannopoulos [Fri, 2 Dec 2016 08:22:38 +0000 (09:22 +0100)]
Added autogen pre-generated files into repository
This allows building gnutls from git in systems without using
autogen.
Nikos Mavrogiannopoulos [Wed, 7 Dec 2016 13:28:46 +0000 (14:28 +0100)]
configure: added option to enable maintainer mode
That makes normal builds, not regenerate Makefiles or configure,
allowing for faster CI builds on second stage.
Nikos Mavrogiannopoulos [Tue, 15 Nov 2016 08:03:59 +0000 (09:03 +0100)]
.gitlab-ci.yml: split the CI run into stages
In addition avoid re-generating images for operating systems
on every build and use pre-built images, which are generated in
the gnutls-build-images sub-project. That allows for faster and
more reliable (independent of network) CI runs.
Nikos Mavrogiannopoulos [Thu, 1 Dec 2016 20:40:14 +0000 (21:40 +0100)]
.gitlab-ci.yml: use local libopts on x86
This works around autogen failures on x86-64 centos7 CI hosts.
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 15:35:24 +0000 (16:35 +0100)]
doc: updated documentation on multithreading [ci skip]
Resolves #154
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 15:27:36 +0000 (16:27 +0100)]
doc: list gnutls_init_flags_t [ci skip]
Suggested by Tyler Burns.
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 14:54:07 +0000 (15:54 +0100)]
tests: make conditional (to HAVE_LIBIDN) any IDN related checks
This allows the test suite to successfully complete even when compiled
without libidn.
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 14:44:28 +0000 (15:44 +0100)]
str: do not call gnutls_assert in inline function
This allows the build to succeed when compiled without libidn.
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 12:09:35 +0000 (13:09 +0100)]
tests: disable leak checks in rsa-md5-collision.sh
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 13:04:07 +0000 (14:04 +0100)]
tests: split and enhanced UTF-8 name checks from hostname-check
That is, added checks to ensure that non-ASCII DNS names in certificates
fail, and that properly encoded IDNA2003 names, succeed.
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 12:54:53 +0000 (13:54 +0100)]
tests: added check with failed verification on invalid UTF-8
That is, check whether raw UTF-8 in the certificate will fail
verification. Raw UTF-8 is prohibited by IETF PKIX (RFC5280) on a
certificate.
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 12:40:41 +0000 (13:40 +0100)]
tests: updated cert with UTF8 names to contain proper IDNA2003 encoded names
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 12:28:00 +0000 (13:28 +0100)]
gnutls_x509_crt_check_email type changed to unsigned
This reflects the documented returned value type (bool), and
allows the compiler to warn on accidental checks for negative
value.
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 12:20:05 +0000 (13:20 +0100)]
x509: do not attempt to ACE encode values stored in certificates
The email and hostname values are required to be in ASCII form by PKIX.
We instead ignore these names, if their values are outside the ASCII
printable character set.
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 07:08:28 +0000 (08:08 +0100)]
.gitlab-ci.yml: removed libintl references
They are no longer shipped in the build systems.
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 06:32:18 +0000 (07:32 +0100)]
tests: added missing test in dist
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 06:23:18 +0000 (07:23 +0100)]
tests: corrected typos in starttls.sh
This allows to detect chat in most systems.
Nikos Mavrogiannopoulos [Thu, 8 Dec 2016 06:17:34 +0000 (07:17 +0100)]
bumped version
Nikos Mavrogiannopoulos [Wed, 7 Dec 2016 14:43:21 +0000 (15:43 +0100)]
tests: reduced the intermediate steps in rsa-md5-collision
Nikos Mavrogiannopoulos [Wed, 7 Dec 2016 12:24:34 +0000 (13:24 +0100)]
configure: break after finding the first libtspi
It may happen that multiple versions are available on a system,
and by using the first one we ensure, that we are using the
64-bit version on 64-bit system, instead of falling back to
the 32-bit.
Nikos Mavrogiannopoulos [Wed, 7 Dec 2016 12:20:08 +0000 (13:20 +0100)]
doc update
Nikos Mavrogiannopoulos [Wed, 7 Dec 2016 09:56:30 +0000 (10:56 +0100)]
tests: added operational -sign/verify- tests in keygen app
This will check that a generated key is immediately usable for
operations.
Nikos Mavrogiannopoulos [Wed, 7 Dec 2016 09:27:01 +0000 (10:27 +0100)]
gnutls_x509_privkey_cpy: use _gnutls_pk_params_copy
This ensures that all fields of parameters are copied. Inspired
by patch of Dmitry Eremin-Solenikov.
Nikos Mavrogiannopoulos [Wed, 7 Dec 2016 09:30:13 +0000 (10:30 +0100)]
tests: enhanced keygen to include check of gnutls_x509_privkey_cpy
Nikos Mavrogiannopoulos [Wed, 7 Dec 2016 07:58:30 +0000 (08:58 +0100)]
tests: added tests for CRL generation APIs
Nikos Mavrogiannopoulos [Wed, 7 Dec 2016 08:05:01 +0000 (09:05 +0100)]
x509 crl: document the nextUpdate field limitation
Dmitry Eremin-Solenikov [Tue, 6 Dec 2016 19:41:28 +0000 (22:41 +0300)]
Don't trash DER CRQ output with text data
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Nikos Mavrogiannopoulos [Wed, 7 Dec 2016 07:59:03 +0000 (08:59 +0100)]
x509 crl: Allow generation of CRLs not to specify a nextUpdate
Nikos Mavrogiannopoulos [Tue, 6 Dec 2016 19:03:31 +0000 (20:03 +0100)]
doc update [ci skip]
Nikos Mavrogiannopoulos [Tue, 6 Dec 2016 12:07:57 +0000 (13:07 +0100)]
tests: updated overhead calculation for new code
Nikos Mavrogiannopoulos [Wed, 30 Nov 2016 10:57:56 +0000 (11:57 +0100)]
DTLS: more precise overhead calculation
That takes into account space available due to padding, and
allows it to be included for use in the gnutls_get_data_mtu().
Resolves #140
Nikos Mavrogiannopoulos [Wed, 30 Nov 2016 08:54:45 +0000 (09:54 +0100)]
tests: added check for MTU calculation on DTLS 1.2
Nikos Mavrogiannopoulos [Mon, 5 Dec 2016 09:36:04 +0000 (10:36 +0100)]
src: clean all stamp files on 'make clean'
Nikos Mavrogiannopoulos [Mon, 5 Dec 2016 09:33:07 +0000 (10:33 +0100)]
configure: search 64-bit paths for libtspi before 32-bit paths
That is, because 64-bit systems may have both 64-bit and 32-bit paths
while 32-bit systems only the latter.
James Bottomley [Sat, 3 Dec 2016 22:36:40 +0000 (14:36 -0800)]
tpm: fix handling of keys requiring authorization
There are several problems with the key handling in the tpm code.
The first, and most serious, is that we should make sure we understand
the authorization requirements of a key *before* using it. The reason
for this is that the TPM has a dictionary attack defence and is
programmed to lock up after a certain number of authorization failures
(which can be very small). If we try first without authorization, we
may lock up the TPM. The fix for this is to check whether
authorization is required and supply it before using the key.
Secondly, if the key does require authorization but no password is
supplied we should return immediately, since we know the TPM will give
us an authorization error anyway.
Thirdly, we should unconditionally read the policy of the key rather
than checking if a policy exists: Policies are tied to key objects, so
if there is an old policy in s->tpm_key_policy, but we're creating a
new key, the key it belonged to will be closed, meaning the policy
will be invalid. Fix this by always setting the policy each time we
get a new key object.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Nikos Mavrogiannopoulos [Sun, 4 Dec 2016 08:56:13 +0000 (09:56 +0100)]
In import_tpm_key_cb() fix the wrong password loop
When calling import_tpm_key() once it initializes the key, but
a second call fails due to the key being already initialized. Ensure
that failure of import_tpm_key() leaves the key on a clear state.
Reported by James Bottomley <James.Bottomley@HansenPartnership.com>.
Nikos Mavrogiannopoulos [Sun, 4 Dec 2016 17:48:55 +0000 (18:48 +0100)]
src gl: updated
Nikos Mavrogiannopoulos [Fri, 2 Dec 2016 14:59:17 +0000 (15:59 +0100)]
gl: removed iconv module
It is no longer used by the library.
Nikos Mavrogiannopoulos [Sun, 4 Dec 2016 09:11:19 +0000 (10:11 +0100)]
configure.ac: detect trousers library on debian
Andreas Metzler [Sat, 3 Dec 2016 13:29:51 +0000 (14:29 +0100)]
Prevent unwanted linkage to -lhogweed
Specify action-if-found for AC_CHECK_LIB when checking for !SuiteB
curves to keep autoconf from adding -lhogweed to LIBS. This caused
linkage of e.g. openssl wrapper and C++ library to -lhogweed. The issue
only shows up if --disable-libdane is specified, since the dane autoconf
test resets LIBS.
James Bottomley [Fri, 2 Dec 2016 23:28:08 +0000 (15:28 -0800)]
Fix inability to find libtspi (trousers) on openSUSE
For distro reasons, the path on openSUSE is /lib[64]/libtspi.so.1
which the current code doesn't find. Fix this by having it search all
viable system library locations (/lib /lib64 /usr/lib and
/usr/lib/lib64)
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Nikos Mavrogiannopoulos [Fri, 2 Dec 2016 15:27:58 +0000 (16:27 +0100)]
x509: fixed output of pubkey
Nikos Mavrogiannopoulos [Thu, 1 Dec 2016 15:41:55 +0000 (16:41 +0100)]
doc: document the fact that certificates and CRLs are unusable after generation
They must be exported and re-imported if intended to be used for
signing or verification.