Using $GLITE_TMP for JP importer, compute default value (differs from the binary).
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Tue, 4 Mar 2008 20:35:30 +0000 (20:35 +0000)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Tue, 4 Mar 2008 20:35:30 +0000 (20:35 +0000)
Refresh certs in JP importer.
JP PS compilation fix.

org.glite.jp.client/config/startup
org.glite.jp.client/src/jpimporter.c

index 44018a7..b38020d 100755 (executable)
@@ -2,6 +2,7 @@
 
 GLITE_LOCATION=${GLITE_LOCATION:-/opt/glite}
 GLITE_LOCATION_VAR=${GLITE_LOCATION_VAR:-/var/glite}
+GLITE_TMP=${GLITE_TMP:-/tmp}
 
 [ -f /etc/glite.conf ] && . /etc/glite.conf
 [ -f $GLITE_LOCATION/etc/glite-wms.conf ] && . $GLITE_LOCATION/etc/glite-wms.conf
@@ -36,8 +37,10 @@ start()
 
        [ -z "$creds" ] && echo $0: WARNING: No credentials specified. Using default lookup which is dangerous. >&2
 
-       [ -n "$GLITE_LB_EXPORT_JPREG_MAILDIR" ] && jpreg_maildir="--reg-mdir $GLITE_LB_EXPORT_JPREG_MAILDIR "
-       [ -z "$GLITE_LB_EXPORT_JPDUMP_MAILDIR" ] && GLITE_LB_EXPORT_JPDUMP_MAILDIR=/tmp/jpdump
+       [ -z "$GLITE_LB_EXPORT_JPREG_MAILDIR" ] && GLITE_LB_EXPORT_JPREG_MAILDIR=$GLITE_TMP/jpreg
+       jpreg_maildir="--reg-mdir $GLITE_LB_EXPORT_JPREG_MAILDIR "
+       [ -d "$GLITE_LB_EXPORT_JPREG_MAILDIR" ] || mkdir "$GLITE_LB_EXPORT_JPREG_MAILDIR" && chown $GLITE_USER:$GLITE_GROUP "$GLITE_LB_EXPORT_JPREG_MAILDIR"
+       [ -z "$GLITE_LB_EXPORT_JPDUMP_MAILDIR" ] && GLITE_LB_EXPORT_JPDUMP_MAILDIR=$GLITE_TMP/jpdump
        jpdump_maildir="--dump-mdir $GLITE_LB_EXPORT_JPDUMP_MAILDIR "
        [ -d "$GLITE_LB_EXPORT_JPDUMP_MAILDIR" ] || mkdir "$GLITE_LB_EXPORT_JPDUMP_MAILDIR" && chown $GLITE_USER:$GLITE_GROUP "$GLITE_LB_EXPORT_JPDUMP_MAILDIR"
        [ -n "$GLITE_LB_EXPORT_JPPS" ] && jpps="--jpps $GLITE_LB_EXPORT_JPPS "
index acf297c..ffd825c 100644 (file)
@@ -886,8 +886,24 @@ static int gftp_put_file(const char *url, int fhnd)
 
 static int refresh_gsoap(struct soap *soap) {
        struct timeval          to = {JPPS_NO_RESPONSE_TIMEOUT, 0};
+       gss_cred_id_t newcred;
+       edg_wll_GssStatus       gss_code;
+       OM_uint32       min_stat;
 
        glite_gsplugin_set_timeout(glite_gsplugin_get_context(soap), &to);
+
+       switch ( edg_wll_gss_watch_creds(server_cert, &cert_mtime) ) {
+       case 0: break;
+       case 1:
+               if ( !edg_wll_gss_acquire_cred_gsi(server_cert, server_key, &newcred, NULL, &gss_code) ) {
+                       dprintf(("[%s] reloading credentials successful\n", name));
+                       gss_release_cred(&min_stat, &mycred);
+                       mycred = newcred;
+               } else { dprintf(("[%s] reloading credentials failed, using old ones\n", name)); }
+               break;
+       case -1: dprintf(("[%s] edg_wll_gss_watch_creds failed\n", name)); break;
+       }
+
        return 0;
 }