Updated to 3.6.4
This commit is contained in:
parent
bb2c5903d1
commit
1d95a2eb84
2
.gitignore
vendored
2
.gitignore
vendored
@ -98,3 +98,5 @@ gnutls-2.10.1-nosrp.tar.bz2
|
||||
/gpgkey-1F42418905D8206AA754CCDC29EE58B996865171.gpg
|
||||
/gnutls-3.6.3.tar.xz.sig
|
||||
/gnutls-3.6.3.tar.xz
|
||||
/gnutls-3.6.4.tar.xz
|
||||
/gnutls-3.6.4.tar.xz.sig
|
||||
|
@ -1,55 +0,0 @@
|
||||
diff --git a/lib/cert-cred.c b/lib/cert-cred.c
|
||||
index d3777e51f..2150e903f 100644
|
||||
--- a/lib/cert-cred.c
|
||||
+++ b/lib/cert-cred.c
|
||||
@@ -387,6 +387,13 @@ static int call_legacy_cert_cb1(gnutls_session_t session,
|
||||
if (ret < 0)
|
||||
return gnutls_assert_val(ret);
|
||||
|
||||
+ if (st2.ncerts == 0) {
|
||||
+ *pcert_length = 0;
|
||||
+ *ocsp_length = 0;
|
||||
+ *privkey = NULL;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
if (st2.cert_type != GNUTLS_CRT_X509) {
|
||||
gnutls_assert();
|
||||
ret = GNUTLS_E_INVALID_REQUEST;
|
||||
@@ -503,7 +510,10 @@ void gnutls_certificate_set_retrieve_function
|
||||
gnutls_certificate_retrieve_function * func)
|
||||
{
|
||||
cred->legacy_cert_cb1 = func;
|
||||
- cred->get_cert_callback3 = call_legacy_cert_cb1;
|
||||
+ if (!func)
|
||||
+ cred->get_cert_callback3 = NULL;
|
||||
+ else
|
||||
+ cred->get_cert_callback3 = call_legacy_cert_cb1;
|
||||
}
|
||||
|
||||
static int call_legacy_cert_cb2(gnutls_session_t session,
|
||||
@@ -578,7 +588,10 @@ void gnutls_certificate_set_retrieve_function2
|
||||
gnutls_certificate_retrieve_function2 * func)
|
||||
{
|
||||
cred->legacy_cert_cb2 = func;
|
||||
- cred->get_cert_callback3 = call_legacy_cert_cb2;
|
||||
+ if (!func)
|
||||
+ cred->get_cert_callback3 = NULL;
|
||||
+ else
|
||||
+ cred->get_cert_callback3 = call_legacy_cert_cb2;
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/lib/hello_ext.c b/lib/hello_ext.c
|
||||
index a3027130a..f72afe77f 100644
|
||||
--- a/lib/hello_ext.c
|
||||
+++ b/lib/hello_ext.c
|
||||
@@ -208,7 +208,7 @@ int hello_ext_parse(void *_ctx, unsigned tls_id, const uint8_t *data, unsigned d
|
||||
|
||||
if (tls_id == PRE_SHARED_KEY_TLS_ID) {
|
||||
ctx->seen_pre_shared_key = 1;
|
||||
- } else if (ctx->seen_pre_shared_key) {
|
||||
+ } else if (ctx->seen_pre_shared_key && session->security_parameters.entity == GNUTLS_SERVER) {
|
||||
/* the pre-shared key extension must always be the last one,
|
||||
* draft-ietf-tls-tls13-28: 4.2.11 */
|
||||
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
|
@ -1,27 +0,0 @@
|
||||
diff --git a/lib/pubkey.c b/lib/pubkey.c
|
||||
index 162ceaa4a..8fc42b95a 100644
|
||||
--- a/lib/pubkey.c
|
||||
+++ b/lib/pubkey.c
|
||||
@@ -1072,7 +1072,6 @@ gnutls_pubkey_import(gnutls_pubkey_t key,
|
||||
int result = 0, need_free = 0;
|
||||
gnutls_datum_t _data;
|
||||
ASN1_TYPE spk;
|
||||
- gnutls_ecc_curve_t curve;
|
||||
|
||||
if (key == NULL) {
|
||||
gnutls_assert();
|
||||
@@ -1119,14 +1118,7 @@ gnutls_pubkey_import(gnutls_pubkey_t key,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
- /* this has already been called by get_asn_mpis() thus it cannot
|
||||
- * fail.
|
||||
- */
|
||||
- key->params.algo = _gnutls_x509_get_pk_algorithm(spk, "", &curve, NULL);
|
||||
-
|
||||
- key->params.curve = curve;
|
||||
key->bits = pubkey_to_bits(&key->params);
|
||||
-
|
||||
result = 0;
|
||||
|
||||
cleanup:
|
@ -1,12 +0,0 @@
|
||||
diff --git a/src/cli.c b/src/cli.c
|
||||
index 21be015dc..42d027736 100644
|
||||
--- a/src/cli.c
|
||||
+++ b/src/cli.c
|
||||
@@ -1273,7 +1273,6 @@ int main(int argc, char **argv)
|
||||
}
|
||||
continue;
|
||||
}
|
||||
- bytes=strlen(buffer);
|
||||
buffer[bytes] = 0;
|
||||
|
||||
if (crlf != 0) {
|
@ -1,65 +0,0 @@
|
||||
diff --git a/lib/handshake.c b/lib/handshake.c
|
||||
index ebea926aa..8dce170fe 100644
|
||||
--- a/lib/handshake.c
|
||||
+++ b/lib/handshake.c
|
||||
@@ -248,6 +248,7 @@ int _gnutls_set_server_random(gnutls_session_t session, const version_entry_st *
|
||||
memcpy(session->security_parameters.server_random, rnd,
|
||||
GNUTLS_RANDOM_SIZE);
|
||||
|
||||
+#if 0 /* This was not supposed to be checked in draft-versions */
|
||||
/* check whether the server random value is set according to
|
||||
* to TLS 1.3. p4.1.3 requirements */
|
||||
if (!IS_DTLS(session) && vers->id <= GNUTLS_TLS1_2 && have_creds_for_tls13(session)) {
|
||||
@@ -272,6 +273,7 @@ int _gnutls_set_server_random(gnutls_session_t session, const version_entry_st *
|
||||
return gnutls_assert_val(GNUTLS_E_RECEIVED_ILLEGAL_PARAMETER);
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -291,6 +293,7 @@ int _gnutls_gen_server_random(gnutls_session_t session, int version)
|
||||
|
||||
max = _gnutls_version_max(session);
|
||||
|
||||
+#if 0
|
||||
if (!IS_DTLS(session) && max->id >= GNUTLS_TLS1_3 &&
|
||||
version <= GNUTLS_TLS1_2) {
|
||||
if (version == GNUTLS_TLS1_2) {
|
||||
@@ -303,7 +306,9 @@ int _gnutls_gen_server_random(gnutls_session_t session, int version)
|
||||
ret =
|
||||
gnutls_rnd(GNUTLS_RND_NONCE, session->security_parameters.server_random, GNUTLS_RANDOM_SIZE-8);
|
||||
|
||||
- } else {
|
||||
+ } else
|
||||
+#endif
|
||||
+ {
|
||||
ret =
|
||||
gnutls_rnd(GNUTLS_RND_NONCE, session->security_parameters.server_random, GNUTLS_RANDOM_SIZE);
|
||||
}
|
||||
diff --git a/tests/tls13/rnd-check-rollback-val.c b/tests/tls13/rnd-check-rollback-val.c
|
||||
index f573596c5..6934b2507 100644
|
||||
--- a/tests/tls13/rnd-check-rollback-val.c
|
||||
+++ b/tests/tls13/rnd-check-rollback-val.c
|
||||
@@ -222,6 +222,8 @@ void doit(void)
|
||||
int ret;
|
||||
pid_t child;
|
||||
|
||||
+ exit(77);
|
||||
+
|
||||
signal(SIGCHLD, ch_handler);
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
|
||||
diff --git a/tests/tls13/rnd-rollback-detection.c b/tests/tls13/rnd-rollback-detection.c
|
||||
index 0d1ef0149..8cbb658cf 100644
|
||||
--- a/tests/tls13/rnd-rollback-detection.c
|
||||
+++ b/tests/tls13/rnd-rollback-detection.c
|
||||
@@ -206,6 +206,8 @@ void doit(void)
|
||||
int ret;
|
||||
pid_t child;
|
||||
|
||||
+ exit(77);
|
||||
+
|
||||
signal(SIGCHLD, ch_handler);
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
|
@ -1,30 +0,0 @@
|
||||
diff --git a/tests/priority-init2.c b/tests/priority-init2.c
|
||||
index 850a6d9..d6b7659 100644
|
||||
--- a/tests/priority-init2.c
|
||||
+++ b/tests/priority-init2.c
|
||||
@@ -91,8 +91,8 @@ static void start(struct test_st *test)
|
||||
if (test->exp_err == ret) {
|
||||
if (ep-test->add_prio != test->err_pos) {
|
||||
fprintf(stderr, "diff: %d\n", (int)(ep-test->add_prio));
|
||||
- fail("error expected error on different position[%d]: %s\n",
|
||||
- test->err_pos, test->add_prio);
|
||||
+// fail("error expected error on different position[%d]: %s\n",
|
||||
+// test->err_pos, test->add_prio);
|
||||
}
|
||||
goto cleanup;
|
||||
}
|
||||
diff --git a/tests/set-default-prio.c b/tests/set-default-prio.c
|
||||
index 48e8bf1..16235f8 100644
|
||||
--- a/tests/set-default-prio.c
|
||||
+++ b/tests/set-default-prio.c
|
||||
@@ -90,8 +90,8 @@ static void start(struct test_st *test)
|
||||
if (test->exp_err == ret) {
|
||||
if (ep-test->add_prio != test->err_pos) {
|
||||
fprintf(stderr, "diff: %d\n", (int)(ep-test->add_prio));
|
||||
- fail("error expected error on different position[%d]: %s\n",
|
||||
- test->err_pos, test->add_prio);
|
||||
+// fail("error expected error on different position[%d]: %s\n",
|
||||
+// test->err_pos, test->add_prio);
|
||||
}
|
||||
goto cleanup;
|
||||
}
|
@ -1,7 +1,8 @@
|
||||
diff -up gnutls-3.4.2/guile/src/Makefile.in.jx gnutls-3.4.2/guile/src/Makefile.in
|
||||
--- gnutls-3.4.2/guile/src/Makefile.in.jx 2015-06-16 12:23:31.000000000 -0400
|
||||
+++ gnutls-3.4.2/guile/src/Makefile.in 2015-07-02 14:01:19.415060204 -0400
|
||||
@@ -1316,7 +1316,7 @@ guileextension_LTLIBRARIES = guile-gnutl
|
||||
diff --git a/guile/src/Makefile.in b/guile/src/Makefile.in
|
||||
index 3e4f547..6ffec0e 100644
|
||||
--- a/guile/src/Makefile.in
|
||||
+++ b/guile/src/Makefile.in
|
||||
@@ -1430,7 +1430,7 @@ guileextension_LTLIBRARIES = guile-gnutls-v-2.la
|
||||
# Use '-module' to build a "dlopenable module", in Libtool terms.
|
||||
# Use '-undefined' to placate Libtool on Windows; see
|
||||
# <http://lists.gnutls.org/pipermail/gnutls-devel/2014-December/007294.html>.
|
35
gnutls.spec
35
gnutls.spec
@ -1,13 +1,8 @@
|
||||
# This spec file has been automatically updated
|
||||
Version: 3.6.3
|
||||
Release: 4%{?dist}
|
||||
Version: 3.6.4
|
||||
Release: 1%{?dist}
|
||||
Patch1: gnutls-3.2.7-rpath.patch
|
||||
Patch2: gnutls-3.4.2-no-now-guile.patch
|
||||
Patch3: gnutls-3.6.3-skip-new-priority-funcs-err-pos.patch
|
||||
Patch4: gnutls-3.6.3-backport-upstream-fixes.patch
|
||||
Patch5: gnutls-3.6.3-fix-ecdsa.patch
|
||||
Patch6: gnutls-3.6.3-gnutls-cli-fix.patch
|
||||
Patch7: gnutls-3.6.3-rollback-fix.patch
|
||||
Patch2: gnutls-3.6.4-no-now-guile.patch
|
||||
%bcond_without dane
|
||||
%if 0%{?rhel}
|
||||
%bcond_with guile
|
||||
@ -152,14 +147,7 @@ This package contains Guile bindings for the library.
|
||||
%prep
|
||||
gpgv2 --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0}
|
||||
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%autosetup -p1
|
||||
|
||||
sed -i -e 's|sys_lib_dlsearch_path_spec="/lib /usr/lib|sys_lib_dlsearch_path_spec="/lib /usr/lib %{_libdir}|g' configure
|
||||
rm -f lib/minitasn1/*.c lib/minitasn1/*.h
|
||||
@ -167,16 +155,15 @@ rm -f src/libopts/*.c src/libopts/*.h src/libopts/compat/*.c src/libopts/compat/
|
||||
|
||||
echo "SYSTEM=NORMAL" >> tests/system.prio
|
||||
|
||||
# Note that we explicitly enable SHA1, as SHA1 deprecation is handled
|
||||
# via the crypto policies
|
||||
|
||||
%build
|
||||
%configure --with-libtasn1-prefix=%{_prefix} \
|
||||
%if (0%{?fedora} <= 28)
|
||||
--enable-ssl3-support \
|
||||
%else
|
||||
--enable-tls13-support \
|
||||
%endif
|
||||
%if %{with fips}
|
||||
--enable-fips140-mode \
|
||||
%endif
|
||||
--enable-sha1-support \
|
||||
--disable-static \
|
||||
--disable-openssl-compatibility \
|
||||
--disable-non-suiteb-curves \
|
||||
@ -315,6 +302,12 @@ fi
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Sep 25 2018 Nikos Mavrogiannopoulos <nmav@redhat.com> - 3.6.4-1
|
||||
- Updated to upstream 3.6.4 release
|
||||
- Added support for the latest version of the TLS1.3 protocol
|
||||
- Enabled SHA1 support as SHA1 deprecation is handled via the
|
||||
fedora crypto policies.
|
||||
|
||||
* Thu Aug 16 2018 Nikos Mavrogiannopoulos <nmav@redhat.com> - 3.6.3-4
|
||||
- Fixed gnutls-cli input reading
|
||||
- Ensure that we do not cause issues with version rollback detection
|
||||
|
5
sources
5
sources
@ -1,3 +1,2 @@
|
||||
SHA512 (gpgkey-1F42418905D8206AA754CCDC29EE58B996865171.gpg) = 3b1989dc6a64d1140f83a2af0773da2adb03c50d97b6da7357cf09525050651aafa21131f1e3180baa540a8af922119a256f5ff5bcd6602996a806e8e1816bad
|
||||
SHA512 (gnutls-3.6.3.tar.xz.sig) = 5377352aa239a4458b0ac6aaada438dce0336b989c4f65949fec3e469531dfb2397bb36dbe69dbc6f479f6944999937ebb4a5cb40e806d0bd4062c5647aa397b
|
||||
SHA512 (gnutls-3.6.3.tar.xz) = 6238502464d229a9777e3076f4c745d16deaada83c9da756ecdcd370947576e0446bda3a7f85d5a099b745bbf8c0134ebdf6632e4b26d61daf170792fb4f5abe
|
||||
SHA512 (gnutls-3.6.4.tar.xz) = f39ac09b48ebf230653cbf82b29ded39a1403313067135495b23f428b35783f9ef073993157d1f284678abedd19e2cf1fd01af843001b88320ca17b346b219ab
|
||||
SHA512 (gnutls-3.6.4.tar.xz.sig) = 3f96dd3bb6f12f677b3106e6d46e93e56c501b9c4072c94f45235c35b9242ba2bddc71a22736bafe2b6532bcc498dac30869861beb8d705345b1197d3526da0e
|
||||
|
Loading…
Reference in New Issue
Block a user