Update startup script due to new GSS mechanisms - pass certificates through environme...
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Tue, 28 Aug 2012 10:53:14 +0000 (10:53 +0000)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Tue, 28 Aug 2012 10:53:14 +0000 (10:53 +0000)
org.glite.lb.logger/config/startup
org.glite.lb.server/config/startup

index 3d4a673..83b14ca 100755 (executable)
@@ -29,6 +29,10 @@ GLITE_LB_LOCATION=${GLITE_LB_LOCATION:-'@glite_prefix@'}
 GLITE_LB_LOCATION_ETC=${GLITE_LB_LOCATION_ETC:-'@glite_etc@'}
 GLITE_LB_LOCATION_VAR=${GLITE_LB_LOCATION_VAR:-'@glite_var@'}
 
+KRB5_KTNAME="FILE:/var/glite/krb5kt_lb"
+KRB5CCNAME="FILE:/var/glite/krb5cc_lb"
+LOG4C_RCPATH="$GLITE_LB_LOCATION_ETC/glite-lb"
+
 [ -f /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
 [ -f /etc/glite.conf ] && . /etc/glite.conf
 [ -f $GLITE_LB_LOCATION_ETC/glite-wms.conf ] && . $GLITE_LB_LOCATION_ETC/glite-wms.conf
@@ -42,9 +46,6 @@ LL_PIDFILE=${LL_PIDFILE:-$GLITE_LB_LOCATION_VAR/glite-lb-logd.pid}
 IL_PIDFILE=${IL_PIDFILE:-$GLITE_LB_LOCATION_VAR/glite-lb-interlogd.pid}
 IL_SOCKFILE=/tmp/interlogger.sock
 
-KRB5_KTNAME=${KRB5_KTNAME:-'FILE:/var/glite/krb5kt_lb'}
-KRB5CCNAME=${KRB5CCNAME:-'FILE:/var/glite/krb5cc_lb'}
-
 lockfile=/var/lock/glite-lb-locallogger
 
 unset creds port env
@@ -123,24 +124,25 @@ start()
                return 1
        fi
 
-       env="LOG4C_RCPATH='$GLITE_LB_LOCATION_ETC/glite-lb'"
+       if [ -n "$LOG4C_RCPATH" ]; then env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"; fi
+       if [ -n "$KRB5_KTNAME" ]; then env="$env KRB5_KTNAME='$KRB5_KTNAME'"; fi
+       if [ -n "$KRB5CCNAME" ]; then env="$env KRB5CCNAME='$KRB5CCNAME'"; fi
 
-       if [ x"$GLITE_GSS_MECH" = x"krb5" ]; then
-               env="$env KRB5_KTNAME='$KRB5_KTNAME' KRB5CCNAME='$KRB5CCNAME'"
-       else
-               [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ] &&
-                       creds="-c $GLITE_HOST_CERT -k $GLITE_HOST_KEY"
-
-               if test -z "$creds"; then
-                       if su - $GLITE_USER -c "test -r /etc/grid-security/hostkey.pem -a -r /etc/grid-security/hostcert.pem"; then
-                               echo "$0: WARNING: /etc/grid-security/hostkey.pem readable by $GLITE_USER"
-                               creds="-c /etc/grid-security/hostcert.pem -k /etc/grid-security/hostkey.pem"
-                       fi
-               fi
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       fi
 
-               [ -z "$creds" ] && echo $0: WARNING: No credentials specified. Using default lookup which is dangerous. >&2
+       if test -z "$creds"; then
+               if su - $GLITE_USER -c "test -r /etc/grid-security/hostkey.pem -a -r /etc/grid-security/hostcert.pem"; then
+                       echo "$0: WARNING: /etc/grid-security/hostkey.pem readable by $GLITE_USER"
+                       env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+                       creds=1
+               fi
        fi
 
+       [ -z "$creds" ] && echo $0: WARNING: No credentials specified. Using default lookup which is dangerous. >&2
+
        [ -n "$GLITE_LB_LOGGER_PORT" ] && port="--port $GLITE_LB_LOGGER_PORT"
        [ -n "$GLITE_LB_IL_SOCK" ] && sock="--socket $GLITE_LB_IL_SOCK"
        [ -n "$GLITE_LB_IL_FPREFIX" ] && fprefix="--file-prefix $GLITE_LB_IL_FPREFIX"
@@ -149,10 +151,10 @@ start()
        chown $GLITE_USER /var/glite/log
         (cd /tmp && ls -f /tmp |grep ^dglogd_sock_ |xargs rm -f)
        start_daemon "glite-lb-logd" "$LL_PIDFILE" "$GLITE_LB_LOCATION/bin/glite-lb-logd \
-               -i $LL_PIDFILE $creds $port $sock $fprefix"
+               -i $LL_PIDFILE $port $sock $fprefix"
 
        start_daemon "glite-lb-interlogd" "$IL_PIDFILE" "$GLITE_LB_LOCATION/bin/glite-lb-interlogd \
-               -i $IL_PIDFILE $creds $sock $fprefix" "$IL_SOCKFILE"
+               -i $IL_PIDFILE $sock $fprefix" "$IL_SOCKFILE"
 }
 
 killwait()
index 3c94508..95d1dbe 100755 (executable)
@@ -30,6 +30,10 @@ GLITE_LB_LOCATION_VAR=${GLITE_LB_LOCATION_VAR:-'@glite_var@'}
 GLITE_LB_LOCATION_ETC=${GLITE_LB_LOCATION_ETC:-'@glite_etc@'}
 GLITE_JP_LOCATION=${GLITE_JP_LOCATION:-$GLITE_LB_LOCATION}
 
+KRB5_KTNAME="FILE:/var/glite/krb5kt_lb"
+KRB5CCNAME="FILE:/var/glite/krb5cc_lb"
+LOG4C_RCPATH="$GLITE_LB_LOCATION_ETC/glite-lb"
+
 [ -f /etc/profile.d/grid-env.sh ] && . /etc/profile.d/grid-env.sh
 [ -f /etc/glite.conf ] && . /etc/glite.conf
 [ -f $GLITE_LB_LOCATION_ETC/glite-wms.conf ] && . $GLITE_LB_LOCATION_ETC/glite-wms.conf
@@ -58,9 +62,6 @@ if [ -f "$msgconf" ]; then
        GLITE_LB_SERVER_OTHER_OPTIONS="$GLITE_LB_SERVER_OTHER_OPTIONS -F $msgconf"
 fi
 
-KRB5_KTNAME=${KRB5_KTNAME:-'FILE:/var/glite/krb5kt_lb'}
-KRB5CCNAME=${KRB5CCNAME:-'FILE:/var/glite/krb5cc_lb'}
-
 lockfile=/var/lock/glite-lb-bkserverd
 
 unset creds port env
@@ -160,24 +161,25 @@ start()
                return 1
        fi
 
-       env="LOG4C_RCPATH='$GLITE_LB_LOCATION_ETC/glite-lb'"
+       if [ -n "$LOG4C_RCPATH" ]; then env="$env LOG4C_RCPATH='$LOG4C_RCPATH'"; fi
+       if [ -n "$KRB5_KTNAME" ]; then env="$env KRB5_KTNAME='$KRB5_KTNAME'"; fi
+       if [ -n "$KRB5CCNAME" ]; then env="$env KRB5CCNAME='$KRB5CCNAME'"; fi
 
-       if [ x"$GLITE_GSS_MECH" = x"krb5" ]; then
-               env="$env KRB5_KTNAME='$KRB5_KTNAME' KRB5CCNAME='$KRB5CCNAME'"
-       else
-               [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ] &&
-                       creds="-c $GLITE_HOST_CERT -k $GLITE_HOST_KEY"
+       if [ -n "$GLITE_HOST_CERT" -a -n "$GLITE_HOST_KEY" ]; then
+               env="$env X509_USER_CERT=$GLITE_HOST_CERT X509_USER_KEY=$GLITE_HOST_KEY"
+               creds=1
+       fi
 
-               if test -z "$creds"; then
-                       if su - $GLITE_USER -c "test -r /etc/grid-security/hostkey.pem -a -r /etc/grid-security/hostcert.pem"; then
-                               echo "$0: WARNING: /etc/grid-security/hostkey.pem readable by $GLITE_USER"
-                               creds="-c /etc/grid-security/hostcert.pem -k /etc/grid-security/hostkey.pem"
-                       fi
+       if test -z "$creds"; then
+               if su - $GLITE_USER -c "test -r /etc/grid-security/hostkey.pem -a -r /etc/grid-security/hostcert.pem"; then
+                       echo "$0: WARNING: /etc/grid-security/hostkey.pem readable by $GLITE_USER"
+                       env="$env X509_USER_CERT=/etc/grid-security/hostcert.pem X509_USER_KEY=/etc/grid-security/hostkey.pem"
+                       creds=1
                fi
-
-               [ -z "$creds" ] && echo $0: WARNING: No credentials specified. Using default lookup which is dangerous. >&2
        fi
 
+       [ -z "$creds" ] && echo $0: WARNING: No credentials specified. Using default lookup which is dangerous. >&2
+
        policy="$GLITE_LB_LOCATION_ETC/glite-lb/glite-lb-authz.conf"
        lcas_log="LCAS_LOG_FILE='/var/log/glite/glite-lb-server-lcas.log' LCAS_ETC_DIR='$GLITE_LB_LOCATION_ETC/glite-lb'"
        if test -f "$policy"; then
@@ -249,14 +251,14 @@ start()
        start_daemon glite-lb-bkserver "$BK_PIDFILE" "$lcas_log $GLITE_LB_LOCATION/bin/glite-lb-bkserverd \
                --notif-il-sock=$GLITE_LB_NOTIF_SOCK \
                --notif-il-fprefix=$GLITE_LB_NOTIF_FPREFIX \
-               $super $creds -i $BK_PIDFILE $port $wport $dumpdir $purgedir $lbreg_maildir $proxy $policy\
+               $super -i $BK_PIDFILE $port $wport $dumpdir $purgedir $lbreg_maildir $proxy $policy\
                $GLITE_LB_SERVER_OTHER_OPTIONS" "/tmp/lb_proxy_serve.sock /tmp/lb_proxy_store.sock"
 
        if test -x $GLITE_LB_LOCATION/bin/glite-lb-notif-interlogd; then
                start_daemon glite-lb-notif-interlogd "$NOTIF_IL_PIDFILE" "$GLITE_LB_LOCATION/bin/glite-lb-notif-interlogd \
                        -f $GLITE_LB_NOTIF_FPREFIX -s $GLITE_LB_NOTIF_SOCK \
                        -i $NOTIF_IL_PIDFILE -M 10485760 \
-                       $creds $GLITE_LB_NOTIF_IL_OTHER_OPTIONS" "$GLITE_LB_NOTIF_SOCK"
+                       $GLITE_LB_NOTIF_IL_OTHER_OPTIONS" "$GLITE_LB_NOTIF_SOCK"
        else
                echo Warning: glite-lb-notif-interlogd not installed, LB notifications will not work
        fi
@@ -266,7 +268,7 @@ start()
                LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GLITE_JP_LOCATION/lib \
                $GLITE_JP_LOCATION/bin/glite-jp-importer \
                        -i $jp_importer_pidfile $jpreg_maildir $jpdump_maildir $sandbox_maildir \
-                       $jpps $creds $GLITE_JP_IMPORTER_ARGS"
+                       $jpps $GLITE_JP_IMPORTER_ARGS"
        fi
 
        if test x"$GLITE_LB_TYPE" = x"proxy" -o x"$GLITE_LB_TYPE" = x"both" ; then
@@ -274,7 +276,7 @@ start()
                        start_daemon "glite-lb-interlog for proxy" "$PROXY_IL_PIDFILE" "$GLITE_LB_LOCATION/bin/glite-lb-interlogd \
                                -f $GLITE_LB_PROXY_FPREFIX -s $GLITE_LB_PROXY_SOCK \
                                -i $PROXY_IL_PIDFILE \
-                               $creds $GLITE_LB_PROXY_IL_OTHER_OPTIONS" "$GLITE_LB_PROXY_SOCK"
+                               $GLITE_LB_PROXY_IL_OTHER_OPTIONS" "$GLITE_LB_PROXY_SOCK"
                else
                        echo Warning: glite-lb-interlogd not installed, logging to LB proxy will not work
                fi