mrc0mmand / rpms / openldap

Forked from rpms/openldap 3 years ago
Clone

Blame SOURCES/openldap-support-tlsv1-and-later.patch

93fdd1
Support TLSv1 and later.
93fdd1
93fdd1
Author: Mark Reynolds <mreynolds@redhat.com>
93fdd1
Backported-by: Jan Synacek <jsynacek@redhat.com>
93fdd1
Upstream ITS: #7979
93fdd1
Upstream commit: 7a7d9419432954cac18a582bed85a7c489d90f00
93fdd1
93fdd1
--- openldap-2.4.40/libraries/libldap/tls_m.c	2014-11-14 09:02:39.489493061 +0100
93fdd1
+++ openldap-2.4.40/libraries/libldap/tls_m.c	2014-11-14 09:23:07.239463097 +0100
93fdd1
@@ -790,7 +790,7 @@ tlsm_bad_cert_handler(void *arg, PRFileD
93fdd1
 	case SSL_ERROR_BAD_CERT_DOMAIN:
93fdd1
 		break;
93fdd1
 	default:
93fdd1
-		success = SECFailure;
93fdd1
+ 		success = SECFailure;
93fdd1
 		break;
93fdd1
 	}
93fdd1
 
93fdd1
@@ -1729,6 +1729,8 @@ tlsm_deferred_init( void *arg )
93fdd1
 	NSSInitContext *initctx = NULL;
93fdd1
 	PK11SlotInfo *certdb_slot = NULL;
93fdd1
 #endif
93fdd1
+	SSLVersionRange range;
93fdd1
+	SSLProtocolVariant variant;
93fdd1
 	SECStatus rc;
93fdd1
 	int done = 0;
93fdd1
 
93fdd1
@@ -1911,6 +1913,16 @@ tlsm_deferred_init( void *arg )
93fdd1
 			}
93fdd1
 		}
93fdd1
 
93fdd1
+		/*
93fdd1
+		 * Set the SSL version range.  MozNSS SSL versions are the same as openldap's:
93fdd1
+		 *
93fdd1
+		 * SSL_LIBRARY_VERSION_TLS_1_* are equivalent to LDAP_OPT_X_TLS_PROTOCOL_TLS1_*
93fdd1
+		 */
93fdd1
+		SSL_VersionRangeGetSupported(ssl_variant_stream, &range); /* this sets the max */
93fdd1
+		range.min = lt->lt_protocol_min ? lt->lt_protocol_min : range.min;
93fdd1
+		variant = ssl_variant_stream;
93fdd1
+		SSL_VersionRangeSetDefault(variant, &range);
93fdd1
+
93fdd1
 		NSS_SetDomesticPolicy();
93fdd1
 
93fdd1
 		PK11_SetPasswordFunc( tlsm_pin_prompt );
93fdd1
--- openldap-2.4.40/include/ldap.h	2014-09-19 03:48:49.000000000 +0200
93fdd1
+++ openldap-2.4.40/include/ldap.h	2014-11-14 09:25:54.560801030 +0100
93fdd1
@@ -176,6 +176,7 @@ LDAP_BEGIN_DECL
93fdd1
 #define LDAP_OPT_X_TLS_PROTOCOL_TLS1_0		((3 << 8) + 1)
93fdd1
 #define LDAP_OPT_X_TLS_PROTOCOL_TLS1_1		((3 << 8) + 2)
93fdd1
 #define LDAP_OPT_X_TLS_PROTOCOL_TLS1_2		((3 << 8) + 3)
93fdd1
+#define LDAP_OPT_X_TLS_PROTOCOL_TLS1_3		((3 << 8) + 4)
93fdd1
 
93fdd1
 /* OpenLDAP SASL options */
93fdd1
 #define LDAP_OPT_X_SASL_MECH			0x6100