]>
git.ipfire.org Git - thirdparty/gnutls.git/log
Nikos Mavrogiannopoulos [Fri, 15 Sep 2017 06:30:52 +0000 (08:30 +0200)]
constate: added _gnutls_epoch_dup
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Fri, 15 Sep 2017 05:59:21 +0000 (07:59 +0200)]
constate: indentation fixes
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 14 Sep 2017 08:22:36 +0000 (10:22 +0200)]
handshake: added basic support for TLS 1.3 handshake in client side
That does not include support for client certificates as it
requires extension handling improvements in order for extensions
to be context sensitive (now they cannot distinguish whether the
parsing routine is called during client hello or certificate request
reading)
This does not include proper parsing of extensions present in
the certificate message.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 13 Sep 2017 12:19:12 +0000 (14:19 +0200)]
handshake: added parsing of encrypted extensions
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 25 Sep 2017 08:44:43 +0000 (10:44 +0200)]
crypto-api: introduce internal version of AEAD API
This allows to initialize the TLS 1.3 connection state without
additional allocations as required by the external API.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Fri, 11 Aug 2017 13:16:51 +0000 (15:16 +0200)]
record: added TLS 1.3 record parsing and key derivation
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 18 Jul 2017 11:48:13 +0000 (13:48 +0200)]
handshake: introduced TLS 1.3 handshake client state machine outline
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 20 Sep 2017 09:56:28 +0000 (11:56 +0200)]
extensions: separate the hello extensions from others
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 20 Sep 2017 09:51:10 +0000 (11:51 +0200)]
hello_ext.h: removed non-existant function definition
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 20 Sep 2017 09:48:30 +0000 (11:48 +0200)]
extensions: files renamed to hello_ext
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 20 Sep 2017 09:46:55 +0000 (11:46 +0200)]
extensions: renamed hello extension handling functions appropriately
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 20 Sep 2017 09:40:54 +0000 (11:40 +0200)]
extensions: simplified semantics of store and check functions
That is, _gnutls_extension_list_check was made a boolean function,
and both were renamed to more appropriate names such as,
_gnutls_hello_ext_is_present, _gnutls_hello_ext_save.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 20 Sep 2017 09:30:12 +0000 (11:30 +0200)]
extension: renamed functions to reflect purpose
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 20 Sep 2017 08:05:53 +0000 (10:05 +0200)]
extensions: use the low-level extension parsing code for hello parsing
That's a step towards unification of TLS-type extension handling
for TLS 1.3.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 20 Sep 2017 07:46:34 +0000 (09:46 +0200)]
extv: introduced a low-level extension parsing code
This will simplify the parsing and handling of extensions throughout
the TLS 1.3 message contents.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 19 Sep 2017 10:58:56 +0000 (12:58 +0200)]
extensions: simplified the extension tracking
Instead of keep a list of the received TLS extension IDs, use the bits
in a variable to mark the received extensions. That reduces the
overall memory usage due to extension tracking.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 19 Sep 2017 10:48:14 +0000 (12:48 +0200)]
extensions: use an internal extension ID independent of the TLS id
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Fri, 15 Sep 2017 12:46:13 +0000 (14:46 +0200)]
str: rename _gnutls_buffer_pop_prefix to _gnutls_buffer_pop_prefix32
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Fri, 15 Sep 2017 12:45:20 +0000 (14:45 +0200)]
str: rename _gnutls_buffer_pop_datum_prefix to _gnutls_buffer_pop_datum_prefix32
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 14 Sep 2017 12:10:14 +0000 (14:10 +0200)]
security params: store PRF when packing session
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 14 Sep 2017 12:03:43 +0000 (14:03 +0200)]
handshake: simplify by storing a pointer to PRF mac entry
That way, we avoid multiple function calls to obtain information
such as hash size, and other MAC properties.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 14 Sep 2017 10:13:09 +0000 (12:13 +0200)]
ext/signature: improved TLS 1.3 signature algorithm negotiation
That is, we introduce a simpler way to handle multiple versions
of a single signature algorithm.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 14 Sep 2017 09:21:51 +0000 (11:21 +0200)]
str: added helper functions to read prefixed data with 8 or 16-bit headers
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 14 Sep 2017 07:44:58 +0000 (09:44 +0200)]
ecc: do not warn on receiving extension on client side
This extension can be received used under TLS 1.3 on the client side.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 14 Aug 2017 12:30:07 +0000 (14:30 +0200)]
Added TLS 1.3 HKDF key derivation functionality
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 12 Sep 2017 08:30:59 +0000 (10:30 +0200)]
extensions: include extension number in debugging message
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 12 Sep 2017 08:12:41 +0000 (10:12 +0200)]
tests: check behavior on the extension hello flags
That is, verify whether the various combinations of
GNUTLS_EXT_FLAG_CLIENT_HELLO,
GNUTLS_EXT_FLAG_TLS12_SERVER_HELLO,
GNUTLS_EXT_FLAG_TLS13_SERVER_HELLO
work as expected with regards to sending and receiving
extensions.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 11 Sep 2017 08:26:44 +0000 (10:26 +0200)]
extensions: apply extension msg type restrictions
That is, on the extension parsing functions ensure that
no extension which are not valid for the currently
received message are parsed.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Mon, 11 Sep 2017 08:13:07 +0000 (10:13 +0200)]
extensions: mark the message validity of each supported extension
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Mon, 11 Sep 2017 07:50:58 +0000 (09:50 +0200)]
extensions: type renamed to id for clarity
We were previously using the variable named 'type' to indicate the
extension ID. With TLS 1.3, extensions are also given an applicability
type (which message the extension applies to), and thus renamed the
variable for clarity.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Tue, 12 Sep 2017 06:03:59 +0000 (08:03 +0200)]
tests: guile: don't use VERS-TLS-ALL
That is, avoid enabling experimental protocols.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 12 Sep 2017 06:00:00 +0000 (08:00 +0200)]
.gitlab-ci.yml: abi-coverage: include guile logs
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 14 Aug 2017 07:20:25 +0000 (09:20 +0200)]
nettle: added HKDF functions
They are being included conditionally depending on the RSA-PSS feature
(RSA-PSS and HKDF are expected to be introduced at the same version).
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 11 Sep 2017 13:54:40 +0000 (15:54 +0200)]
gnutls-cli-debug: use explicit TLS versions rather than TLS-ALL
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 15 Aug 2017 13:37:04 +0000 (15:37 +0200)]
_gnutls_server_select_suite: don't set auth callbacks for TLS 1.3
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 15 Aug 2017 09:00:27 +0000 (11:00 +0200)]
supported_versions: print negotiated protocol
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 18 Jul 2017 13:35:21 +0000 (15:35 +0200)]
Negotiate draft-TLS1.3
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 18 Jul 2017 12:14:58 +0000 (14:14 +0200)]
handshake: added the TLS 1.3 ciphersuites
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 11 Sep 2017 09:45:39 +0000 (11:45 +0200)]
handshake: print negotiated version after its negotiation (for TLS1.3)
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Mon, 11 Sep 2017 09:33:31 +0000 (11:33 +0200)]
tests: fix TLS version to 1.2 for tests which used VERS-TLS-ALL
This allows the test suite to run, even when TLS1.3 is still
experimental.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Fri, 14 Jul 2017 07:34:05 +0000 (09:34 +0200)]
Added support for key share extension
This enables TLS 1.3 key exchange based on the key share extension.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 18 Jul 2017 07:23:53 +0000 (09:23 +0200)]
handshake: always accept TLS 1.2 in client hello if we have later protocols enabled
That is because after TLS 1.3 there is no negotiation of the version using
the Client Hello field, but with an extension.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 18 Jul 2017 06:23:01 +0000 (08:23 +0200)]
require nettle 3.3 or later
This will simplify handling of the x25519 key exchange.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Fri, 14 Jul 2017 07:10:11 +0000 (09:10 +0200)]
str: added function to append fixed-size MPI
This is used in TLS 1.3 which introduces a new MPI over-the-wire
format.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 13 Jul 2017 09:57:26 +0000 (11:57 +0200)]
tests: resumption tests were restricted to TLS 1.2
TLS 1.3 implements resumption is a different way, so we should
introduce new resumption tests once that support is in place.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 13 Jul 2017 09:52:07 +0000 (11:52 +0200)]
ext/post_handshake: restrict the use of this extension to TLS 1.3 or later
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 13 Jul 2017 09:46:29 +0000 (11:46 +0200)]
handshake: optimizations and enhancements in session version handling
This introduces the following new functions:
const version_entry_st *_gnutls_legacy_version_max(gnutls_session_t session);
const version_entry_st *_gnutls_version_max(gnutls_session_t session);
which replace their previous counterparts.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 13 Jul 2017 09:21:24 +0000 (11:21 +0200)]
tests: check for post-handshake extension in TLS 1.2-only sessions
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 13 Jul 2017 09:14:56 +0000 (11:14 +0200)]
tests: added unit tests for post-handshake-auth extension
These test whether this extension is seen under TLS 1.3 in client
hello, and whether it is not present in server hello.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 13 Jul 2017 08:33:18 +0000 (10:33 +0200)]
handshake: send client and server hellos according to TLS 1.3
That is, when TLS 1.3 is negotiated the compression algorithms and
session ID fields are no longer sent.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 13 Jul 2017 07:44:28 +0000 (09:44 +0200)]
Added support for post handshake auth extension
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 12 Jul 2017 11:40:19 +0000 (13:40 +0200)]
tests: updated for new behavior of disabling protocols on missing signature algorithms
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 12 Jul 2017 11:38:39 +0000 (13:38 +0200)]
tests: verify that no signature algorithms with (D)TLS 1.2 will cause an error
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 12 Jul 2017 11:33:46 +0000 (13:33 +0200)]
priorities: when no signature algorithms eliminate (D)TLS 1.2 or later
If an application intentionally disables all signature algorithms, ensure
that we can operate by eliminating protocol options which require these
signature algorithms to be set.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 12 Jul 2017 11:16:10 +0000 (13:16 +0200)]
tests: safer use of gnutls_bye in _test_cli_serv()
In addition make sure we check gnutls_priority_set() for errors.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 12 Jul 2017 07:40:46 +0000 (09:40 +0200)]
tests: added checks for special signature algorithms
This tests the behavior when signature algorithms only available
under TLS1.3 are present in a TLS 1.2 session.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 12 Jul 2017 07:38:26 +0000 (09:38 +0200)]
tests: verify that +SIGN-ECDSA-SECP256R1-SHA256 has no effect when combined with TLS1.2
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 12 Jul 2017 06:56:18 +0000 (08:56 +0200)]
tests: added signature tests for ECDSA-SECP256R1-SHA256
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 12 Jul 2017 07:19:16 +0000 (09:19 +0200)]
priority: do not include signature algorithms that apply to different TLS version
That is, when a signature algorithm that is only applicable
to specific TLS protocol semantics (e.g., ECDSA-SECP256R1-SHA256)
is enabled, under TLS 1.2, it will result to no code points being
added. That prevents connection errors due to "wrong" code
points being added that do not correspond to a usable signature
algorithm under the protocol.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 11 Jul 2017 12:07:43 +0000 (14:07 +0200)]
tests: updated for the new behavior of handshake
Previously at handshake we would negotiate a ciphersuite and certificate
and later figure out a signature algorithm. Now we negotiate all at once,
so we no longer reach situations where mid-way of handshake we figure we
have no signature algorithm to use. Update the test cases relying on that
behavior to account the new one.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 11 Jul 2017 09:09:51 +0000 (11:09 +0200)]
pubkey: enforce TLS 1.3 signature restrictions on verification
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 10 Jul 2017 14:43:51 +0000 (16:43 +0200)]
ext/signature: added TLS 1.3 signature algorithm negotiation
That patch adds the signature algorithms:
- GNUTLS_SIGN_ECDSA_SECP256R1_SHA256
- GNUTLS_SIGN_ECDSA_SECP384R1_SHA384
- GNUTLS_SIGN_ECDSA_SECP521R1_SHA512
and enables them for the default TLS priority strings.
In addition it allows negotiating signature algorithms sharing
the same TLS IDs, but which have different semantics between TLS
versions (e.g., 6,4 maps to GNUTLS_SIGN_ECDSA_SHA512 under TLS 1.2
but to GNUTLS_SIGN_ECDSA_SECP521R1_SHA512 under TLS 1.3).
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 19 Jun 2017 13:20:00 +0000 (15:20 +0200)]
tests: added unit test for TLS 1.3 version negotiation
This checks whether the Client Hello and Server Hello packets
contain the expected values.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 19 Jun 2017 12:17:40 +0000 (14:17 +0200)]
handshake: added support for negotiating version using extension
That is, introduced the TLS 1.3 supported_versions extension. It is currently
only being used if negotiating TLS 1.3 or later.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 19 Jun 2017 11:30:46 +0000 (13:30 +0200)]
handshake: legacy version negotiation is not used for TLS 1.3
That is, ensure that the functions used for TLS 1.2 and earlier
negotiation cannot be used with TLS 1.3. That is because TLS 1.3
is negotiated using a TLS extension.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 19 Jun 2017 09:57:22 +0000 (11:57 +0200)]
Added TLS 1.3 Hello message random generation
That is, added check for TLS 1.3 random value requirements in client side,
and generation according to TLS 1.3 requirements for server and
client side.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 19 Feb 2018 13:57:55 +0000 (14:57 +0100)]
Revert "priority: disable the enabled by default RSA-PSS signature algorithms"
This reverts commit
ef44477127952c13e93d7ea88f7b549bf36602f5 .
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Sat, 10 Feb 2018 10:13:57 +0000 (11:13 +0100)]
updated auto-generated files
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Mon, 22 Jan 2018 10:52:19 +0000 (11:52 +0100)]
doc update
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 30 Jan 2018 06:41:26 +0000 (07:41 +0100)]
tests: check gnutls_fips140_set_mode operation per thread
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Sun, 21 Jan 2018 14:49:42 +0000 (15:49 +0100)]
tests: added unit test of gnutls_fips140_set_mode
Also ensure that 512-bit keys cannot be generated
in FIPS140-2 mode
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Mon, 22 Jan 2018 10:40:42 +0000 (11:40 +0100)]
tests: gnutls_hmac_fast: explicitly enable MD5 use under FIPS140-2 mode
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Thu, 21 Dec 2017 11:38:29 +0000 (12:38 +0100)]
tests: gc.c -> gnutls_hmac_fast.c
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 22 Jan 2018 08:15:03 +0000 (09:15 +0100)]
doc: documented gnutls_fips140_set_mode and gnutls_fips_mode_t
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Sun, 21 Jan 2018 14:07:00 +0000 (15:07 +0100)]
fips140: added function for applications to switch the FIPS140-2 mode
That would allow FIPS140-2 compliant applications to use forbidden
algorithms by switching to a lax FIPS140-2 mode.
Resolves #352
Resolves #353
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Sun, 21 Jan 2018 13:01:17 +0000 (14:01 +0100)]
fips140: enforcement of allowed ciphers moved to crypto-api.c and cipher_int.c
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Wed, 20 Dec 2017 14:36:59 +0000 (15:36 +0100)]
fips140: enforcement of hash and MACs use moved to crypto-api.c and hash_int.c
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 19 Feb 2018 07:38:35 +0000 (08:38 +0100)]
tests: srp: increased timeout to 40secs [ci skip]
Since we increased the maximum parameters to 8k, ensure
that slower systems have enough time to complete the handshake.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Sun, 18 Feb 2018 19:58:07 +0000 (20:58 +0100)]
doc: updates NEWS entry for 3.6.2 adding ABI changes [ci skip]
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Fri, 16 Feb 2018 07:54:26 +0000 (08:54 +0100)]
latex: introduced functionWarning macro
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Fri, 16 Feb 2018 07:27:56 +0000 (08:27 +0100)]
bumped version
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Tue, 13 Feb 2018 15:34:09 +0000 (16:34 +0100)]
tests: check whether gnutls_credentials_set() can be set in an hsk hook
This is useful when these are set during the handshake process
on the handshake hook before client hello is parsed.
Relates #382
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 13 Feb 2018 15:47:16 +0000 (16:47 +0100)]
doc: documented how to set the credentials late in certain vhost scenarios
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 13 Feb 2018 15:21:52 +0000 (16:21 +0100)]
doc: updated text on gnutls_handshake_set_hook_function
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 13 Feb 2018 10:12:09 +0000 (11:12 +0100)]
doc update [ci skip]
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Mon, 12 Feb 2018 10:18:06 +0000 (11:18 +0100)]
priority: disable the enabled by default RSA-PSS signature algorithms
They have been modified in the latest (yet unsupported) TLS 1.3
drafts, so prevent causes interoperability failures by keeping them
on.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Mon, 12 Feb 2018 08:20:17 +0000 (09:20 +0100)]
tests: cipher-openssl-compat: extend to include CCM tests
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Michael Catanzaro [Fri, 9 Feb 2018 16:22:24 +0000 (10:22 -0600)]
Improve documentation of gnutls_x509_trust_list_iter_get_ca [ci skip]
The documentation is confusing because it implies that
gnutls_x509_trust_list_iter_deinit() should be called after using this
function, but in fact it is generally not necessary.
Also, there was a typo here ("usin").
Signed-off-by: Michael Catanzaro <mcatanzaro@igalia.com>
Nikos Mavrogiannopoulos [Wed, 7 Feb 2018 17:59:39 +0000 (18:59 +0100)]
.gitlab-ci.yml: run the fuzz testsuite under various CPU capabilities
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Wed, 7 Feb 2018 08:24:18 +0000 (09:24 +0100)]
accelerated: make explicit key size check to all accelerated ciphers
That is, do not rely on checks done on asm level, as they vary and
may change over updates. Also handle consistently invalid key sizes
by returning an error, and eliminate calls to abort().
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Vitezslav Cizek [Tue, 6 Feb 2018 15:46:31 +0000 (16:46 +0100)]
accelerated: check keysize in SSSE3 cipher setkey
aes_ssse3_cipher_setkey() accepted any key size,
which could lead to invalid memory access.
Such as with the oss-fuzz corpora file
fuzz/gnutls_pkcs8_key_parser_fuzzer.in/
da59d34eacdf50a0019a457fb7c4916be48c99a5
Signed-off-by: Vitezslav Cizek <vcizek@suse.com>
Nikos Mavrogiannopoulos [Thu, 8 Feb 2018 13:32:42 +0000 (14:32 +0100)]
p11tool: updated documentation [ci skip]
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 7 Feb 2018 10:34:36 +0000 (11:34 +0100)]
nettle: use the nettle_get_secp API when available
Resolves #380
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Wed, 6 Dec 2017 08:46:41 +0000 (09:46 +0100)]
nettle base64_encode_raw: use cast to avoid warnings
Nettle switched prototypes for base64_encode_raw() as follows:
-base64_encode_raw(uint8_t *dst, size_t length, const uint8_t *src);
+base64_encode_raw(char *dst, size_t length, const uint8_t *src);
That means we need to cast fist param to void if we want to avoid
warnings on different platforms.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 6 Feb 2018 13:40:59 +0000 (14:40 +0100)]
accelerated: x86-common: do not use _xgetbv() with clang
Resolves #372
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 6 Feb 2018 13:37:42 +0000 (14:37 +0100)]
configure: treat solaris as ELF system
Resolves #376
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Nikos Mavrogiannopoulos [Tue, 6 Feb 2018 03:03:45 +0000 (04:03 +0100)]
tests: repeat cipher test with multiple keys and nonces
In addition include chacha20-poly1305 into the tests.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Tue, 6 Feb 2018 02:59:17 +0000 (03:59 +0100)]
accelerated: aarch64: fix GCM counter increment
Ensure that we restrict the GCM counter to the 4 bytes assigned to it.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Tue, 6 Feb 2018 03:39:39 +0000 (04:39 +0100)]
accelerated: fix use of SSSE3 vpaes_encrypt
Previously we assumed that the nettle GCM internal functions
will use the provided ECB function for single block encryption.
Newer versions no longer operate that way. Ensure that we
are compatible with them.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Nikos Mavrogiannopoulos [Mon, 5 Feb 2018 19:25:23 +0000 (20:25 +0100)]
accelerated: fix use of aesni_ecb_encrypt()
Previously we assumed that the nettle GCM internal functions
will use the provided ECB function for single block encryption.
Newer versions no longer operate that way. Ensure that we
are compatible with them.
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>