diff options
author | Emmanuel Dreyfus <manu@netbsd.org> | 2014-09-26 02:13:57 +0200 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2014-09-26 05:24:20 -0700 |
commit | 61353a428903047d800b572637ab1df6f2b04a42 (patch) | |
tree | 9ca81e58453a1b9e70dc90d904c445defa5d0ef9 | |
parent | e78ad0c426c31264651b13d6138b70fa53c4af86 (diff) |
Use sane OS-dependent defaults for SSL configuration
Current code assumes /etc/ssl exists, which may not be the case.
Attempt to guess sane default for a few OS.
Backport of I0f3168f79b8f4275636581041740dfcaf25f3edd
BUG: 1138897
Change-Id: I972c26236cbf070f15c3846add059bd33d60216d
Signed-off-by: Emmanuel Dreyfus <manu@netbsd.org>
Reviewed-on: http://review.gluster.org/8861
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
-rw-r--r-- | rpc/rpc-transport/socket/src/socket.c | 20 | ||||
-rwxr-xr-x | tests/features/ssl-authz.t | 10 |
2 files changed, 25 insertions, 5 deletions
diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c index e1c542530a9..b9554cc0ed4 100644 --- a/rpc/rpc-transport/socket/src/socket.c +++ b/rpc/rpc-transport/socket/src/socket.c @@ -46,14 +46,28 @@ #define OWN_THREAD_OPT "transport.socket.own-thread" /* TBD: do automake substitutions etc. (ick) to set these. */ +#if !defined(DEFAULT_ETC_SSL) +# ifdef GF_LINUX_HOST_OS +# define DEFAULT_ETC_SSL "/etc/ssl" +# endif +# ifdef GF_BSD_HOST_OS +# define DEFAULT_ETC_SSL "/etc/openssl" +# endif +# ifdef GF_DARWIN_HOST_OS +# define DEFAULT_ETC_SSL "/opt/local/etc/openssl" +# endif +# if !defined(DEFAULT_ETC_SSL) +# define DEFAULT_ETC_SSL "/etc/ssl" +# endif +#endif #if !defined(DEFAULT_CERT_PATH) -#define DEFAULT_CERT_PATH "/etc/ssl/glusterfs.pem" +#define DEFAULT_CERT_PATH DEFAULT_ETC_SSL "/glusterfs.pem" #endif #if !defined(DEFAULT_KEY_PATH) -#define DEFAULT_KEY_PATH "/etc/ssl/glusterfs.key" +#define DEFAULT_KEY_PATH DEFAULT_ETC_SSL "/glusterfs.key" #endif #if !defined(DEFAULT_CA_PATH) -#define DEFAULT_CA_PATH "/etc/ssl/glusterfs.ca" +#define DEFAULT_CA_PATH DEFAULT_ETC_SSL "/glusterfs.ca" #endif #define POLL_MASK_INPUT (POLLIN | POLLPRI) diff --git a/tests/features/ssl-authz.t b/tests/features/ssl-authz.t index f6c56bcaa53..e4ea268b53b 100755 --- a/tests/features/ssl-authz.t +++ b/tests/features/ssl-authz.t @@ -1,12 +1,18 @@ #!/bin/bash . $(dirname $0)/../include.rc +. $(dirname $0)/../volume.rc ping_file () { echo hello > $1 2> /dev/null } -SSL_BASE=/etc/ssl +for d in /etc/ssl /etc/openssl /opt/local/etc/openssl ; do + if test -d $d ; then + SSL_BASE=$d + break + fi +done SSL_KEY=$SSL_BASE/glusterfs.key SSL_CERT=$SSL_BASE/glusterfs.pem SSL_CA=$SSL_BASE/glusterfs.ca @@ -33,7 +39,7 @@ TEST $CLI volume start $V0 # This mount should WORK. TEST glusterfs --volfile-server=$H0 --volfile-id=$V0 $M0 TEST ping_file $M0/before -TEST umount $M0 +EXPECT_WITHIN $UMOUNT_TIMEOUT "Y" force_umount $M0 # Change the authorized user name. Note that servers don't pick up changes # automagically like clients do, so we have to stop/start ourselves. |