]> git.ipfire.org Git - thirdparty/gnutls.git/log
thirdparty/gnutls.git
9 years agoAdded _gnutls_idna_email_reverse_map
Nikos Mavrogiannopoulos [Tue, 28 Feb 2017 09:59:28 +0000 (10:59 +0100)] 
Added _gnutls_idna_email_reverse_map

This allows printing the reverse map of an IDNA-encoded email.
Modified x509/output to include this decoding for RFC822Name.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agox509/output: Cleanup in IDNA name printing
Nikos Mavrogiannopoulos [Tue, 28 Feb 2017 09:47:03 +0000 (10:47 +0100)] 
x509/output: Cleanup in IDNA name printing

That also removes the incorrect mapping to IDNA punycode when the
input is not printable.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added test for interactive creation of a request
Nikos Mavrogiannopoulos [Tue, 28 Feb 2017 07:48:24 +0000 (08:48 +0100)] 
tests: added test for interactive creation of a request

Relates #179

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agocerttool: removed limits in interactive input
Nikos Mavrogiannopoulos [Tue, 28 Feb 2017 07:24:30 +0000 (08:24 +0100)] 
certtool: removed limits in interactive input

That removes the limits when reading most of the interactive input.
The read_str() function due to its dependence on static variable remains
with a limit, but will output an error if the input string exceeds size.

Resolves #179

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agocerttool: increased buffer for reading from user
Nikos Mavrogiannopoulos [Tue, 28 Feb 2017 07:00:56 +0000 (08:00 +0100)] 
certtool: increased buffer for reading from user

This allows reading longer than 128-byte fields interactively.
The new limit is 512-bytes.

Relates #179

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added certificate generation with very long DNS and CN name
Nikos Mavrogiannopoulos [Mon, 27 Feb 2017 07:23:47 +0000 (08:23 +0100)] 
tests: added certificate generation with very long DNS and CN name

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls_x509_crt_get_extension_info: fixed function to comply with documented approach
Nikos Mavrogiannopoulos [Mon, 27 Feb 2017 14:58:53 +0000 (15:58 +0100)] 
gnutls_x509_crt_get_extension_info: fixed function to comply with documented approach

That is, do not include the trailing NULL byte size in the
size of the object identifier.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agocerttool: store critical extensions even if no other extension are present
Nikos Mavrogiannopoulos [Mon, 27 Feb 2017 15:47:55 +0000 (16:47 +0100)] 
certtool: store critical extensions even if no other extension are present

That is, fix a bug which prevented critical extensions to be stored
if no other free-form extensions were specified.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agox509/name_constraints: documented return values and corrected return type
Nikos Mavrogiannopoulos [Mon, 27 Feb 2017 14:06:57 +0000 (15:06 +0100)] 
x509/name_constraints: documented return values and corrected return type

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls_ocsp_resp_verify_direct, gnutls_ocsp_resp_verify: defined flags argument
Nikos Mavrogiannopoulos [Fri, 24 Feb 2017 08:24:19 +0000 (09:24 +0100)] 
gnutls_ocsp_resp_verify_direct, gnutls_ocsp_resp_verify: defined flags argument

That was defined to be gnutls_certificate_verify_flags, and
it allows passing verification flags, such as flags to allow
broken algorithms.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agois_level_acceptable: no longer checks for broken algorithms
Nikos Mavrogiannopoulos [Fri, 24 Feb 2017 08:09:10 +0000 (09:09 +0100)] 
is_level_acceptable: no longer checks for broken algorithms

This is done at is_broken_allowed(), and in fact checking them in
is_level_acceptable() creates a conflict when overrides like flag
GNUTLS_VERIFY_ALLOW_BROKEN is used.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls_store_commitment: introduced flag GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN
Nikos Mavrogiannopoulos [Fri, 24 Feb 2017 07:57:27 +0000 (08:57 +0100)] 
gnutls_store_commitment: introduced flag GNUTLS_SCOMMIT_FLAG_ALLOW_BROKEN

This flag allows operation of the function even with broken algorithms.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoverify: is_broken_allowed: account for "new" flag GNUTLS_VERIFY_ALLOW_BROKEN
Nikos Mavrogiannopoulos [Fri, 24 Feb 2017 07:46:01 +0000 (08:46 +0100)] 
verify: is_broken_allowed: account for "new" flag GNUTLS_VERIFY_ALLOW_BROKEN

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodevel/fuzz: added necessary casts for compilation [ci skip]
Nikos Mavrogiannopoulos [Fri, 24 Feb 2017 08:53:26 +0000 (09:53 +0100)] 
devel/fuzz: added necessary casts for compilation [ci skip]

Also added the IDNA targets to makefile's default target.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodevel/fuzz: include string.h for strlen() [ci skip]
Nikos Mavrogiannopoulos [Fri, 24 Feb 2017 06:56:50 +0000 (07:56 +0100)] 
devel/fuzz: include string.h for strlen() [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodevel/fuzz: IDNA fuzzers: removed printf [ci skip]
Nikos Mavrogiannopoulos [Thu, 23 Feb 2017 17:05:09 +0000 (18:05 +0100)] 
devel/fuzz: IDNA fuzzers: removed printf [ci skip]

see request in:
  https://github.com/google/oss-fuzz/issues/417

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agotests: added test case with invalid openpgp cert
Nikos Mavrogiannopoulos [Thu, 23 Feb 2017 10:08:34 +0000 (11:08 +0100)] 
tests: added test case with invalid openpgp cert

This triggers an invalid memory access:
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=391

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoopencdk: read_attribute: account buffer size
Nikos Mavrogiannopoulos [Thu, 23 Feb 2017 10:10:04 +0000 (11:10 +0100)] 
opencdk: read_attribute: account buffer size

That ensures that there is no read past the end of buffer.

Resolves the oss-fuzz found bug:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=391

Relates: #159

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls-cli-debug: fixed protocol to port discovery
Nikos Mavrogiannopoulos [Thu, 23 Feb 2017 12:35:42 +0000 (13:35 +0100)] 
gnutls-cli-debug: fixed protocol to port discovery

That is, if --starttls-proto is provided the default port
selected will be converted to host byte order as expected.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agopk.c: fixed memory leak on DSS signature decoding
Nikos Mavrogiannopoulos [Thu, 23 Feb 2017 12:11:45 +0000 (13:11 +0100)] 
pk.c: fixed memory leak on DSS signature decoding

Detected using oss-fuzz:
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=676

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added client reproducer for memory leak
Nikos Mavrogiannopoulos [Thu, 23 Feb 2017 12:07:47 +0000 (13:07 +0100)] 
tests: added client reproducer for memory leak

That reproduces a memory leak detected in the client code path.
Detected using oss-fuzz:
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=676

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: update to take into account the removal of random art
Nikos Mavrogiannopoulos [Thu, 23 Feb 2017 11:34:28 +0000 (12:34 +0100)] 
tests: update to take into account the removal of random art

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agox509/output: No longer include public key's random art
Nikos Mavrogiannopoulos [Thu, 23 Feb 2017 09:26:04 +0000 (10:26 +0100)] 
x509/output: No longer include public key's random art

That is in order to reduce bloat in the output, which already
contains many identifiers for public key.

See mailing list discussion at:
https://lists.gnupg.org/pipermail/gnutls-devel/2017-February/008324.html
https://lists.gnupg.org/pipermail/gnutls-devel/2017-February/008329.html

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: updated to include the pin-sha256 in output
Nikos Mavrogiannopoulos [Wed, 22 Feb 2017 16:02:33 +0000 (17:02 +0100)] 
tests: updated to include the pin-sha256 in output

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: updated to take into account the pin-sha256 oneline output
Nikos Mavrogiannopoulos [Wed, 22 Feb 2017 15:47:02 +0000 (16:47 +0100)] 
tests: updated to take into account the pin-sha256 oneline output

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agox509/output: print key PIN on oneline output
Nikos Mavrogiannopoulos [Wed, 22 Feb 2017 10:11:06 +0000 (11:11 +0100)] 
x509/output: print key PIN on oneline output

That is, instead of the public key ID. The key PIN due to HPKP
is now more widely used than hex-based key IDs.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agox509/output: print the public key PIN of a certificate
Nikos Mavrogiannopoulos [Wed, 22 Feb 2017 10:06:51 +0000 (11:06 +0100)] 
x509/output: print the public key PIN of a certificate

That is, print the value used by the HPKP protocol as per
RFC7469.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agocerttool: don't warn when 'uri' is specified on template
Nikos Mavrogiannopoulos [Thu, 23 Feb 2017 08:39:28 +0000 (09:39 +0100)] 
certtool: don't warn when 'uri' is specified on template

Reported at:
https://bugzilla.redhat.com/show_bug.cgi?id=1425884

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago.gitlab-ci.yml: ubsan build: fixed artifacts path
Nikos Mavrogiannopoulos [Wed, 22 Feb 2017 20:53:42 +0000 (21:53 +0100)] 
.gitlab-ci.yml: ubsan build: fixed artifacts path

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agotests: split starttls.sh into multiple scripts
Nikos Mavrogiannopoulos [Wed, 22 Feb 2017 20:45:32 +0000 (21:45 +0100)] 
tests: split starttls.sh into multiple scripts

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agotests: pkcs11-import-with-pin: removed invalid conditional macro
Nikos Mavrogiannopoulos [Wed, 22 Feb 2017 20:29:22 +0000 (21:29 +0100)] 
tests: pkcs11-import-with-pin: removed invalid conditional macro

9 years agotests: added PKCS#11 test for pin input
Nikos Mavrogiannopoulos [Wed, 22 Feb 2017 16:38:07 +0000 (17:38 +0100)] 
tests: added PKCS#11 test for pin input

This introduces a test on PIN input to retrieve an object using
pin-value and pin-source (file).

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoSECURITY.md: updated after comments from Daniel Berrange [ci skip]
Nikos Mavrogiannopoulos [Wed, 22 Feb 2017 20:01:30 +0000 (21:01 +0100)] 
SECURITY.md: updated after comments from Daniel Berrange [ci skip]

9 years agoRemoved unnecessary entries in pkix.asn and gnutls.asn
Nikos Mavrogiannopoulos [Tue, 21 Feb 2017 15:50:22 +0000 (16:50 +0100)] 
Removed unnecessary entries in pkix.asn and gnutls.asn

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agonettle/pk: corrected memcpy of Q in DSA params
Nikos Mavrogiannopoulos [Tue, 21 Feb 2017 13:20:17 +0000 (14:20 +0100)] 
nettle/pk: corrected memcpy of Q in DSA params

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agocrypto.h: improved documentation of randomness levels
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 07:02:02 +0000 (08:02 +0100)] 
crypto.h: improved documentation of randomness levels

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agonettle/pk: use the appropriate level of randomness for each operation
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 07:01:09 +0000 (08:01 +0100)] 
nettle/pk: use the appropriate level of randomness for each operation

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agosrp: use nonce level for SRP password randomization
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 07:00:41 +0000 (08:00 +0100)] 
srp: use nonce level for SRP password randomization

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc: document the use of assert()
Nikos Mavrogiannopoulos [Tue, 21 Feb 2017 07:58:16 +0000 (08:58 +0100)] 
doc: document the use of assert()

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc: removed protocol/ directory
Nikos Mavrogiannopoulos [Tue, 21 Feb 2017 07:17:25 +0000 (08:17 +0100)] 
doc: removed protocol/ directory

While it was used during the first years of development, today
it is way more easy to access protocol documents via the IETF
web site.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoAdded SECURITY.md, a description of the security issue handling process
Nikos Mavrogiannopoulos [Tue, 21 Feb 2017 07:13:56 +0000 (08:13 +0100)] 
Added SECURITY.md, a description of the security issue handling process

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago.gitlab-ci.yml: require clang analyzer build to be warning free
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 17:57:56 +0000 (18:57 +0100)] 
.gitlab-ci.yml: require clang analyzer build to be warning free

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoconfigure: no longer use -Wframe-larger-than
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 17:53:01 +0000 (18:53 +0100)] 
configure: no longer use -Wframe-larger-than

We do not require a specific stack size, and there is legacy
code which utilizes large stack sizes. As such remove the
warnings to allow for a warning free compilation.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agopkcs11: avoid calling memcpy will null options
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 17:50:40 +0000 (18:50 +0100)] 
pkcs11: avoid calling memcpy will null options

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agopreinitialize variables to work-around warnings with clang
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 15:41:46 +0000 (16:41 +0100)] 
preinitialize variables to work-around warnings with clang

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoeliminated dead code as indicated by clang scan-build
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 14:05:57 +0000 (15:05 +0100)] 
eliminated dead code as indicated by clang scan-build

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agopkcs7: corrected error checking in write_signer_id
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 14:02:22 +0000 (15:02 +0100)] 
pkcs7: corrected error checking in write_signer_id

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agopreinitialize variables to work-around warnings with clang's scan-build
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 13:18:25 +0000 (14:18 +0100)] 
preinitialize variables to work-around warnings with clang's scan-build

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoeliminated various clang warnings with non-null arguments
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 13:03:40 +0000 (14:03 +0100)] 
eliminated various clang warnings with non-null arguments

That is, use assert() to ensure that known to be non-null
variables will be used as input to functions requiring non-null.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agomake_printable_string: allow operation with null input
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 12:49:55 +0000 (13:49 +0100)] 
make_printable_string: allow operation with null input

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago.gitlab-ci.yml: replaced clang's build with clang analyser's scan-build
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 12:32:37 +0000 (13:32 +0100)] 
.gitlab-ci.yml: replaced clang's build with clang analyser's scan-build

This introduces a static analyser pass in the CI.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago.gitlab-ci.yml: added cppcheck run
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 12:13:19 +0000 (13:13 +0100)] 
.gitlab-ci.yml: added cppcheck run

This adds a basic static analysis of the source code.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoopencdk/read-packet.c: corrected typo in type cast
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 10:14:49 +0000 (11:14 +0100)] 
opencdk/read-packet.c: corrected typo in type cast

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agocdk_pkt_read: enforce packet limits
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 10:13:08 +0000 (11:13 +0100)] 
cdk_pkt_read: enforce packet limits

That ensures that there are no overflows in the subsequent
calculations.

Resolves the oss-fuzz found bug:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=420

Relates: #159

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added test case with invalid openpgp cert
Nikos Mavrogiannopoulos [Mon, 20 Feb 2017 10:01:07 +0000 (11:01 +0100)] 
tests: added test case with invalid openpgp cert

That triggers a heap buffer overflow:
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=420

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoAdd LMTP, POP3, NNTP, Sieve and PostgreSQL support to gnutls-cli
Robert Scheck [Sun, 19 Feb 2017 21:50:30 +0000 (22:50 +0100)] 
Add LMTP, POP3, NNTP, Sieve and PostgreSQL support to gnutls-cli

Add LMTP (RFC 2033), POP3 (RFC 2595), NNTP (RFC 4642), Sieve (RFC 5804) and PostgreSQL support to gnutls-cli ("--starttls-proto").

Signed-off-by: Robert Scheck <robert@fedoraproject.org>
9 years agoREADME.md: added CII best practices badge [ci skip]
Nikos Mavrogiannopoulos [Sun, 19 Feb 2017 16:31:52 +0000 (17:31 +0100)] 
README.md: added CII best practices badge [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: Improve port-checking infrastructure.
Rical Jasan [Sat, 18 Feb 2017 05:22:19 +0000 (21:22 -0800)] 
tests: Improve port-checking infrastructure.

The test suite unnecessarily failed on systems without netstat because
it was assumed to be present.  Instead of simply checking for its
presence and indicating an unsupported test, however, the ss utility
can be used as a drop-in replacement.  When netstat/net-tools is not
present, the ss utility from iproute2 still stands a fair chance of
existing, and they also have similar enough semantics that they can be
used interchangeably in the test suite.

The functions in tests/scripts/common.sh that used netstat
(wait_for_port, wait_for_free_port) now use new functions,
check_if_port_in_use and check_if_port_listening, to abstract the call
to netstat/ss.  The eval'd variable GETPORT also used netstat, and has
been updated accordingly.

The new port-checking functions use another new function,
have_port_finder, which takes care of the details of selecting ss
(preferred) or netstat, or fails otherwise.

Signed-off-by: Rical Jasan <ricaljasan@pacific.net>
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agobuild: doc: install images also into htmldir
Alon Bar-Lev [Sun, 12 Feb 2017 17:48:19 +0000 (19:48 +0200)] 
build: doc: install images also into htmldir

images are required also by the html documentation.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
9 years ago.gitlab-ci.yml: corrected coverage build
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 14:37:42 +0000 (15:37 +0100)] 
.gitlab-ci.yml: corrected coverage build

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago.gitlab-ci.yml: remove submodule update from main build
Nikos Mavrogiannopoulos [Sat, 18 Feb 2017 06:23:18 +0000 (07:23 +0100)] 
.gitlab-ci.yml: remove submodule update from main build

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoupdated auto-generated files
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 16:40:27 +0000 (17:40 +0100)] 
updated auto-generated files

9 years agoMakefile: improved symbols extraction
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 16:38:23 +0000 (17:38 +0100)] 
Makefile: improved symbols extraction

That is, do not include non-function names.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc update
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 14:35:41 +0000 (15:35 +0100)] 
doc update

9 years agotests: ignore sanity checks in broken cert test
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 14:31:02 +0000 (15:31 +0100)] 
tests: ignore sanity checks in broken cert test

This allows the existing reproducers which contain certificates which
are rejected by sanity checks, to still be used to detect regressions.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoAdded gnutls_x509_crt_set_flags()
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 14:26:56 +0000 (15:26 +0100)] 
Added gnutls_x509_crt_set_flags()

This functions allows specifying flags to the certificate object.
In particular it allows the single flag GNUTLS_X509_CRT_FLAG_IGNORE_SANITY
which allows to ignore sanity checks at the import of the certificate.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc update
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 14:20:44 +0000 (15:20 +0100)] 
doc update

9 years agoIntroduced GNUTLS_E_CERTIFICATE_TIME_ERROR error code
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 14:14:38 +0000 (15:14 +0100)] 
Introduced GNUTLS_E_CERTIFICATE_TIME_ERROR error code

This error code indicates an issue in the time fields of certificate.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agox509/output: properly indicate error in Time fields
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 10:49:48 +0000 (11:49 +0100)] 
x509/output: properly indicate error in Time fields

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agox509/time: refuse importing certificates with invalid Time fields
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 10:33:56 +0000 (11:33 +0100)] 
x509/time: refuse importing certificates with invalid Time fields

That will refuse to import certificates which their time field
is not in GMT, or contain fractional seconds.

Resolves: #169

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago_gnutls_x509_generalTime2gtime: refuse to parse fractional seconds
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 10:26:33 +0000 (11:26 +0100)] 
_gnutls_x509_generalTime2gtime: refuse to parse fractional seconds

Fractional seconds in GeneralizedTime are prohibited by RFC5280.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: enhanced test suite to include invalid X509v3 cert
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 10:25:15 +0000 (11:25 +0100)] 
tests: enhanced test suite to include invalid X509v3 cert

That certificate contains a GeneralizedTime with fractional
seconds.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls_x509_crt_list_import: fixed leak on import failure
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 14:10:40 +0000 (15:10 +0100)] 
gnutls_x509_crt_list_import: fixed leak on import failure

9 years agotests: enhanced test suite to include creation of invalid certificates
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 09:39:21 +0000 (10:39 +0100)] 
tests: enhanced test suite to include creation of invalid certificates

That is, check whether the creation of invalid V2 or V1 certificates
will be detected, and that the correct error codes are returned.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls_x509_crt_sign2: refuse to sign invalid X.509 certificates
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 09:06:58 +0000 (10:06 +0100)] 
gnutls_x509_crt_sign2: refuse to sign invalid X.509 certificates

That is, do not sign X.509 certificates which have fields that
shouldn't be present on their corresponding version.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls_x509_crt_import: reject X.509v1 certificates with invalid fields
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 09:04:52 +0000 (10:04 +0100)] 
gnutls_x509_crt_import: reject X.509v1 certificates with invalid fields

Refuse to import X.509v1 certificates which have fields that didn't
exist in X.509v1 specification. That is the issuerUniqueID and
subjectUniqueID fields.

Resolves: #168
Resolves: #167

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: enhanced test suite to include invalid V1 certs
Nikos Mavrogiannopoulos [Fri, 17 Feb 2017 08:56:24 +0000 (09:56 +0100)] 
tests: enhanced test suite to include invalid V1 certs

That is, added X.509v1 certificates with attributes that shouldn't
have been presented (valid for X.509v2 only).

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls.pc: do not include libidn2 in Requires.private
Nikos Mavrogiannopoulos [Wed, 15 Feb 2017 17:42:22 +0000 (18:42 +0100)] 
gnutls.pc: do not include libidn2 in Requires.private

The libidn2 versions available do not include libidn2.pc,
thus the inclusion was causing problems when using pkg-config.
Instead we include -lidn2 in Libs.private.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years ago.gitlab-ci.yml: Re-organized stages
Nikos Mavrogiannopoulos [Sun, 12 Feb 2017 10:01:46 +0000 (11:01 +0100)] 
.gitlab-ci.yml: Re-organized stages

The less CPU intensive tasks were moved to earlier stage, and the
CPU intensive tasks are only spawned only after basic syntax and
ABI checks have succeeded.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agognutls.h: corrected typo [ci skip]
Nikos Mavrogiannopoulos [Sun, 12 Feb 2017 08:42:15 +0000 (09:42 +0100)] 
gnutls.h: corrected typo [ci skip]

9 years ago<alloca.h> only if HAVE_ALLOCA_H
Marcin Cieślak [Thu, 9 Feb 2017 00:26:16 +0000 (00:26 +0000)] 
<alloca.h> only if HAVE_ALLOCA_H

FreeBSD does know alloca() but has no such header

Signed-off-by: Marcin Cieślak <saper@SAPER.INFO>
9 years agodoc: document the intention of the priority string usage [ci skip]
Nikos Mavrogiannopoulos [Sun, 5 Feb 2017 10:41:41 +0000 (11:41 +0100)] 
doc: document the intention of the priority string usage [ci skip]

This documents the gnutls_set_default_priority() function, and
how it is intended to be combined with an application that utilizes
priority strings.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc update
Nikos Mavrogiannopoulos [Sat, 24 Dec 2016 14:51:17 +0000 (15:51 +0100)] 
doc update

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: modified tests for the disablement of 3DES
Nikos Mavrogiannopoulos [Wed, 28 Dec 2016 07:57:16 +0000 (08:57 +0100)] 
tests: modified tests for the disablement of 3DES

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoRemoved support for the 3DES cipher by default
Nikos Mavrogiannopoulos [Sat, 24 Dec 2016 14:50:11 +0000 (15:50 +0100)] 
Removed support for the 3DES cipher by default

That is a legacy cipher that is no longer needed to be
included as backup cipher.

Resolves #120

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agox509: optimize subject alternative name access
Nikos Mavrogiannopoulos [Thu, 2 Feb 2017 21:59:43 +0000 (22:59 +0100)] 
x509: optimize subject alternative name access

That reads SAN and IAN early on import, significantly reducing
the running time of functions which iterate over the alternative
names of a certificate, e.g., gnutls_x509_crt_check_hostname().

Relates #165

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years ago.travis.yml: list all logs on failure
Nikos Mavrogiannopoulos [Sat, 4 Feb 2017 13:28:30 +0000 (14:28 +0100)] 
.travis.yml: list all logs on failure

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: enable all IDNA tests when compiled with libidn2
Nikos Mavrogiannopoulos [Sat, 4 Feb 2017 13:01:36 +0000 (14:01 +0100)] 
tests: enable all IDNA tests when compiled with libidn2

Keep IDNA2003-only tests on the ifdef HAVE_LIBIDN.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago.travis.yml: updated instructions for travis builds
Nikos Mavrogiannopoulos [Sat, 4 Feb 2017 06:50:03 +0000 (07:50 +0100)] 
.travis.yml: updated instructions for travis builds

Removed unbound and other minor fixes.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoextras/hex.h: do not use strlen as variable name
Nikos Mavrogiannopoulos [Fri, 3 Feb 2017 22:28:01 +0000 (23:28 +0100)] 
extras/hex.h: do not use strlen as variable name

That is, do not utilize a standard C function name as variable name.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls_pkcs11_obj_list_import_url4: always return an initialized pointer
Nikos Mavrogiannopoulos [Fri, 3 Feb 2017 22:11:27 +0000 (23:11 +0100)] 
gnutls_pkcs11_obj_list_import_url4: always return an initialized pointer

When returning success, but no elements, gnutls_pkcs11_obj_list_import_url4,
could have returned zero number of elements with a pointer that was uninitialized.
Ensure that an initialized (i.e., null in that case), pointer is always returned.
Reported by Jeremy Harris.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago.gitlab-ci.yml: use libidn2 on windows builds
Nikos Mavrogiannopoulos [Thu, 2 Feb 2017 23:08:19 +0000 (00:08 +0100)] 
.gitlab-ci.yml: use libidn2 on windows builds

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agognutls_heartbeat_allowed: corrected type on dummy wrapper
Nikos Mavrogiannopoulos [Thu, 2 Feb 2017 10:26:18 +0000 (11:26 +0100)] 
gnutls_heartbeat_allowed: corrected type on dummy wrapper

That is, when compiling without heartbeat support, compilation
could fail due to the dummy wrapper not returning the right
type.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoAddress test suite failure due to timezone differences.
Nikos Mavrogiannopoulos [Thu, 2 Feb 2017 07:27:14 +0000 (08:27 +0100)] 
Address test suite failure due to timezone differences.

Reported by Thorsten Glaser and Andreas Metzler.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc update [ci skip]
Nikos Mavrogiannopoulos [Tue, 31 Jan 2017 16:06:16 +0000 (17:06 +0100)] 
doc update [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls_heartbeat_allowed: corrected return type
Nikos Mavrogiannopoulos [Tue, 31 Jan 2017 06:38:50 +0000 (07:38 +0100)] 
gnutls_heartbeat_allowed: corrected return type

This reflects better the fact that this function returns
a boolean.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years ago_idn2_to_unicode_8z8z: do not err on mixed IDNA domains
Nikos Mavrogiannopoulos [Sat, 28 Jan 2017 08:26:05 +0000 (09:26 +0100)] 
_idn2_to_unicode_8z8z: do not err on mixed IDNA domains

That is allow domains of the form 'großes.xn--fa-hia.de'. The
drawback is that we may not err early on invalid formatted
names. We however delegate any such decisions to libidn2.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoREADME.md: added link to travis build for 3.5.x [ci skip]
Nikos Mavrogiannopoulos [Fri, 27 Jan 2017 09:07:28 +0000 (10:07 +0100)] 
README.md: added link to travis build for 3.5.x [ci skip]

In addition to adding a link to travis build for 3.5.x branch removed
link on 3.4.x branch. It is no longer active.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoheartbeat extension: doc update
Nikos Mavrogiannopoulos [Thu, 26 Jan 2017 13:49:33 +0000 (14:49 +0100)] 
heartbeat extension: doc update

Document how to calculate the total TLS data transmitted.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agostr-idna: improved error handling
Nikos Mavrogiannopoulos [Thu, 26 Jan 2017 12:21:39 +0000 (13:21 +0100)] 
str-idna: improved error handling

In addition to detecting input with invalid characters in _idn2_to_unicode_8z8z(),
we also add support for case insensitive punycode header.

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