Blame SOURCES/perl-ldap-0.56-Do-not-set-SSL_ciphers-to-ALL-by-default.patch

befaba
From 9a0188335ea83a5e0078d21624e8bb134ef21687 Mon Sep 17 00:00:00 2001
befaba
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
befaba
Date: Thu, 24 Apr 2014 15:51:01 +0200
befaba
Subject: [PATCH 1/2] Do not set SSL_ciphers to ALL by default
befaba
MIME-Version: 1.0
befaba
Content-Type: text/plain; charset=UTF-8
befaba
Content-Transfer-Encoding: 8bit
befaba
befaba
'ALL' cipher list is not the same as OpenSSL default. The 'ALL'
befaba
contains more ciphers. Some of them are too weak, some of them
befaba
prevents from using SSLv3 protocol. Then used SSLv2 protocol does not
befaba
support elliptic curve parameter negotion which can cause
befaba
interoperability issues when server picks a curve not supported by the
befaba
client.
befaba
befaba
IO-Socket-SSL-1.955 supports special value '' (empty string) to
befaba
designed the OpenSSL default. However older IO-Socket-SSL recommends
befaba
not to set the option at all.
befaba
befaba
Thus this patch sets SSL_ciphers only if Net::LDAP application passes
befaba
the ciphers option.
befaba
befaba
Signed-off-by: Petr Písař <ppisar@redhat.com>
befaba
---
befaba
 lib/Net/LDAP.pm  | 3 ++-
befaba
 lib/Net/LDAP.pod | 4 ++--
befaba
 2 files changed, 4 insertions(+), 3 deletions(-)
befaba
befaba
diff --git a/lib/Net/LDAP.pm b/lib/Net/LDAP.pm
befaba
index 03eb23f..99d227a 100644
befaba
--- a/lib/Net/LDAP.pm
befaba
+++ b/lib/Net/LDAP.pm
befaba
@@ -243,7 +243,8 @@ sub _SSL_context_init_args {
befaba
   }
befaba
 
befaba
   (
befaba
-    SSL_cipher_list     => defined $arg->{ciphers} ? $arg->{ciphers} : 'ALL',
befaba
+    defined $arg->{ciphers} ?
befaba
+        ( SSL_cipher_list     => defined $arg->{ciphers}) : (),
befaba
     SSL_ca_file         => exists  $arg->{cafile}  ? $arg->{cafile}  : '',
befaba
     SSL_ca_path         => exists  $arg->{capath}  ? $arg->{capath}  : '',
befaba
     SSL_key_file        => $clientcert ? $clientkey : undef,
befaba
diff --git a/lib/Net/LDAP.pod b/lib/Net/LDAP.pod
befaba
index 77a8400..c35508a 100644
befaba
--- a/lib/Net/LDAP.pod
befaba
+++ b/lib/Net/LDAP.pod
befaba
@@ -779,8 +779,8 @@ B<'tlsv1'>.
befaba
 
befaba
 Specify which subset of cipher suites are permissible for this
befaba
 connection, using the standard OpenSSL string format. The default
befaba
-value is B<'ALL'>, which permits all ciphers, even those that don't
befaba
-encrypt.
befaba
+behavior is to keep the decision on the underlying cryptographic
befaba
+library.
befaba
 
befaba
 =item clientcert =E<gt> '/path/to/cert.pem'
befaba
 
befaba
-- 
befaba
1.9.3
befaba