ctdb-scripts: Do not export variables if they are not set
authorAmitay Isaacs <amitay@gmail.com>
Tue, 16 Sep 2014 02:33:26 +0000 (12:33 +1000)
committerMartin Schwenke <martins@samba.org>
Wed, 17 Sep 2014 07:55:47 +0000 (09:55 +0200)
Variables that are not set but exported, may return an empty string
for getenv().  Tested on freebsd.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Wed Sep 17 09:55:47 CEST 2014 on sn-devel-104

ctdb/config/ctdbd_wrapper

index ce20e7e52fc4b53cc48696b5241da08676b55444..cbde6bafbaad7731ffcd2cc1c3ffeb0b975b9a6b 100755 (executable)
@@ -20,7 +20,7 @@ action="$2"
 . "${CTDB_BASE}/functions"
 loadconfig "ctdb"
 
-export CTDB_SOCKET
+[ -n "$CTDB_SOCKET" ] && export CTDB_SOCKET
 
 ctdbd="${CTDBD:-/usr/sbin/ctdbd}"
 
@@ -136,7 +136,9 @@ build_ctdb_options ()
 
 export_debug_variables ()
 {
-    export CTDB_DEBUG_HUNG_SCRIPT CTDB_EXTERNAL_TRACE CTDB_DEBUG_LOCKS
+    [ -n "$CTDB_DEBUG_HUNG_SCRIPT" ] && export CTDB_DEBUG_HUNG_SCRIPT
+    [ -n "$CTDB_EXTERNAL_TRACE" ] && export CTDB_EXTERNAL_TRACE
+    [ -n "$CTDB_DEBUG_LOCKS" ] && export CTDB_DEBUG_LOCKS
 }
 
 kill_ctdbd ()