Merge from the 31 branch.
authorFrantišek Dvořák <valtri@civ.zcu.cz>
Thu, 22 May 2008 15:08:05 +0000 (15:08 +0000)
committerFrantišek Dvořák <valtri@civ.zcu.cz>
Thu, 22 May 2008 15:08:05 +0000 (15:08 +0000)
org.glite.lb.client/Makefile
org.glite.lb.client/examples/purge_test
org.glite.lb.client/project/ChangeLog
org.glite.lb.client/project/version.properties
org.glite.lb.client/src/Event.cpp.T
org.glite.lb.client/src/JobStatus.cpp.T
org.glite.lb.client/src/export.sh
org.glite.lb.client/src/notification.c

index 522a961..2de8600 100644 (file)
@@ -298,6 +298,16 @@ olddoc: generate
        doxygen C.dox
        doxygen CPP.dox
 
+Event.cpp: EventAttrNames.pl
+
+JobStatus.cpp: StatusAttrNames.pl
+
+EventAttrNames.pl StatusAttrNames.pl:
+       rm -f $@
+       ln -s ${stagedir}/share/${lbprefix}/at3/$@ $@
+
+dist: distsrc distbin
+
 install:
        mkdir -p ${PREFIX}/bin
        mkdir -p ${PREFIX}/sbin
@@ -346,6 +356,7 @@ clean:
        rm -rvf *.o *.lo .libs lib* *.c *.cpp *.h *.dox producer_test notify C/ CPP/
        rm -rvf ${LIB} ${THRLIB} ${TOOLS} logevent ${PLUSLIB} ${THRPLUSLIB} ${MAN_GZ} ${MAN8_GZ}
        rm -rvf ${EXAMPLES} ${EXAMPLES_CL} ${EXAMPLES_CL_THR} ${sh_PROGS}
+       rm -f EventAttrNames.pl StatusAttrNames.pl
        rm -vf ${globalprefix} ${lbprefix}
        rm -rvf log.xml project/ rpmbuild/ RPMS/ tgz/
 
index c9f05c1..0018cdf 100644 (file)
@@ -8,7 +8,7 @@ $inst = "/opt/glite" unless $inst;
 $sbin = "$inst/sbin";
 $bin = "$inst/bin";
 $test = "$inst/examples";
-$purge = "$sbin/glite-lb-purge";
+$purge = "$bin/glite-lb-purge";
 $status = "$test/glite-lb-job_status";
 $log = "$test/glite-lb-job_log";
 $prefix = "/tmp/purge_test_$$";
@@ -147,6 +147,7 @@ $dump = <DUMP>; chomp $dump; $dump =~ s/Server dump: //;
 close DUMP;
 
 die "!! no dump file reported\n" unless $dump;
+#print "DEBUG: dump file: '$dump'\n";
 @list = glob "${prefix}_old*";
 system "cat @list | sort >${prefix}_old_all";
 system "cat $dump | sed -e s/^.*DATE/DATE/ | sort >${prefix}_old_dump";
@@ -165,6 +166,7 @@ $dump = <DUMP>; chomp $dump; $dump =~ s/Server dump: //;
 close DUMP;
 
 die "!! no dump file reported\n" unless $dump;
+#print "DEBUG: dump file: '$dump'\n";
 @list = glob "${prefix}_new*";
 system "cat @list | sort >${prefix}_new_all";
 system "cat $dump | sed -e s/^.*DATE/DATE/ | sort >${prefix}_new_dump";
index 8691429..b07c67e 100644 (file)
   GLITE_LB_DUMP_EXPORTER_OTHER_OPTIONS
 - pass errors from credential loading to upper layers properly
 
+3.1.2-2 (lb-1.7.4-1)
+- rebuild wrt. downgraded security 3.1.57-1
+
+3.1.3-1 (lb-1.7.5-1)
+- align attr_names[] (used in getAttrName methods) in Event and JobStatus
+  to definitions in *.h from lb.client-interface 
+
+3.1.4-1
+- do the previous quick fix thoroughly -- don't smash name_with_underscores
+  and nameWithUppercaseLetters
+
+3.2.0-1 (lb-1.8.0-1)
+- added ui_host to jobstat
+- store purge files (to be uploaded to JP) in GLITE_LOCATION_VAR rahter then GLITE_TMP 
index 03bd29b..1ff517d 100644 (file)
@@ -23,6 +23,9 @@ EWL_BEGIN_NAMESPACE;
 #define CLASS_PREFIX "glite::lb::Event::"
 
 @@@{
+
+require 'EventAttrNames.pl';
+
 sub typeswitch {
        my $ftype = shift;
        my $resc = shift;
@@ -296,7 +299,7 @@ Event::getValJobId(Attr attr) const
 
 
 static std::string const names[Event::TYPE_MAX] = {
-  "undefined",
+       "undefined",
 @@@{
   for (sort { $event->{order}->{$a} <=> $event->{order}->{$b} }
         $event->getTypes)
@@ -317,12 +320,19 @@ Event::name(void) const
 }
 
 
-/* FIXME: this will not work with the current frozen assignment of constants in Event.h */
 static 
 std::string const attr_names[Event::ATTR_MAX] = {
 @@@{
-       for (sort {$a cmp $b} getAllFields $event) {
-               gen "\t\"$_\",\n";
+       my %s;
+
+       for (getAllFields $event) {
+               my $id = $_;
+               $id =~ s/([a-z])([A-Z])/$1_$2/g;
+               $s{uc($id)} = $_;
+               $s{uc($_)} = $_;
+       }
+       for (@main::EventAttrNames) {
+               gen "\t\"$s{$_}\",\n";
        }
 @@@}
 };
index 104cc44..4ba683c 100644 (file)
@@ -16,6 +16,9 @@ EWL_BEGIN_NAMESPACE;
 #define CLASS_PREFIX "glite::lb::JobStatus::"
 
 @@@{
+
+require 'StatusAttrNames.pl';
+
 sub typeswitch {
         my ($ftype,$ctype,$resc) = @_;
         local $_;
@@ -408,10 +411,16 @@ JobStatus::getValJobStatusList(Attr attr) const
 
 static std::string const attr_names[JobStatus::ATTR_MAX] = {
 @@@{
-       require '../src/StatusAttrNames.pl';
+       my %s;
+
+       for (getAllFields $status) {
+               my $id = $_;
+               $id =~ s/([a-z])([A-Z])/$1_$2/g;
+               $s{uc($id)} = $_;
+               $s{uc($_)} = $_;
+       }
        for (@main::StatusAttrNames) {
-               my $fn = lc $_;
-               gen "\t\"$fn\",\n";
+               gen "\t\"$s{$_}\",\n";
        }
 @@@}
 };
index 58503df..43221d2 100644 (file)
@@ -30,21 +30,21 @@ fi
 
 
 # dump directory of bkserver
-GLITE_LB_EXPORT_PURGEDIR=${GLITE_LB_EXPORT_PURGEDIR:-/tmp/purge}
-GLITE_LB_EXPORT_DUMPDIR=${GLITE_LB_EXPORT_DUMPDIR:-/tmp/dump}
+GLITE_LB_EXPORT_PURGEDIR=${GLITE_LB_EXPORT_PURGEDIR:-$GLITE_LOCATION_VAR/purge}
+GLITE_LB_EXPORT_DUMPDIR=${GLITE_LB_EXPORT_DUMPDIR:-$GLITE_LOCATION_VAR/dump}
 GLITE_LB_EXPORT_PURGEDIR_KEEP=${GLITE_LB_EXPORT_PURGEDIR_KEEP:-""}
 GLITE_LB_EXPORT_DUMPDIR_KEEP=${GLITE_LB_EXPORT_DUMPDIR_KEEP:-""}
 # maildir dump directory for jp importer
-GLITE_LB_EXPORT_JPDUMP_MAILDIR=${GLITE_LB_EXPORT_JPDUMP_MAILDIR:-/tmp/jpdump}
+GLITE_LB_EXPORT_JPDUMP_MAILDIR=${GLITE_LB_EXPORT_JPDUMP_MAILDIR:-$GLITE_LOCATION_VAR/jpdump}
 # directory with exported data (file per job)
-GLITE_LB_EXPORT_JOBSDIR=${GLITE_LB_EXPORT_JOBSDIR:-/tmp/lbexport}
+GLITE_LB_EXPORT_JOBSDIR=${GLITE_LB_EXPORT_JOBSDIR:-$GLITE_LOCATION_VAR/lbexport}
 # purge args (timeouts)
 GLITE_LB_EXPORT_PURGE_ARGS=${GLITE_LB_EXPORT_PURGE_ARGS:---cleared 2d --aborted 2w --cancelled 2w --other 60d}
 # Book Keeping Server
 GLITE_LB_SERVER_PORT=${GLITE_LB_SERVER_PORT:-9000}
 GLITE_LB_EXPORT_BKSERVER=${GLITE_LB_EXPORT_BKSERVER:-localhost:$GLITE_LB_SERVER_PORT}
 GLITE_LB_PURGE_ENABLED=${GLITE_LB_PURGE_ENABLED:-true}
-GLITE_LB_EXPORT_ENABLED=${GLITE_LB_EXPORT_ENABLED:-true}
+GLITE_LB_EXPORT_ENABLED=${GLITE_LB_EXPORT_ENABLED:-false}
 
 [ -d $GLITE_LB_EXPORT_JPDUMP_MAILDIR ] || mkdir -p $GLITE_LB_EXPORT_JPDUMP_MAILDIR
 [ -d $GLITE_LB_EXPORT_DUMPDIR ] || mkdir -p $GLITE_LB_EXPORT_DUMPDIR
@@ -53,15 +53,21 @@ GLITE_LB_EXPORT_ENABLED=${GLITE_LB_EXPORT_ENABLED:-true}
 [ -d $GLITE_LB_EXPORT_PURGEDIR_KEEP ] || mkdir -p $GLITE_LB_EXPORT_PURGEDIR_KEEP
 [ -d $GLITE_LB_EXPORT_JOBSDIR ] || mkdir -p $GLITE_LB_EXPORT_JOBSDIR
 
+if [ x"$GLITE_LB_EXPORT_ENABLED" = x"true"  -o -d "$GLITE_LB_EXPORT_PURGEDIR_KEEP" ]
+then
+       GLITE_LB_EXPORT_PURGE_ARGS="$GLITE_LB_EXPORT_PURGE_ARGS -s"
+fi
+
 if [ x"$GLITE_LB_PURGE_ENABLED" = x"true" ]; then
-       X509_USER_CERT="$X509_USER_CERT" X509_USER_KEY="$X509_USER_KEY" $PREFIX/bin/glite-lb-purge $GLITE_LB_EXPORT_PURGE_ARGS -l -m $GLITE_LB_EXPORT_BKSERVER -s $GLITE_LB_PURGE_OTHER_OPTIONS
+       X509_USER_CERT="$X509_USER_CERT" X509_USER_KEY="$X509_USER_KEY" $PREFIX/bin/glite-lb-purge $GLITE_LB_EXPORT_PURGE_ARGS -l -m $GLITE_LB_EXPORT_BKSERVER $GLITE_LB_PURGE_OTHER_OPTIONS
 fi
 
-if [ x"$GLITE_LB_EXPORT_ENABLED" = x"true" ]; then
   list=`ls $GLITE_LB_EXPORT_PURGEDIR/* 2>/dev/null`
   for file in $list; do
     if [ -s $file ]; then
-      $PREFIX/bin/glite-lb-dump_exporter -d $file -s $GLITE_LB_EXPORT_JOBSDIR -m $GLITE_LB_EXPORT_JPDUMP_MAILDIR $GLITE_LB_DUMP_EXPORTER_OTHER_OPTIONS
+       if [ x"$GLITE_LB_EXPORT_ENABLED" = x"true" ]; then
+               $PREFIX/bin/glite-lb-dump_exporter -d $file -s $GLITE_LB_EXPORT_JOBSDIR -m $GLITE_LB_EXPORT_JPDUMP_MAILDIR $GLITE_LB_DUMP_EXPORTER_OTHER_OPTIONS
+       fi
       if [ -n "$GLITE_LB_EXPORT_PURGEDIR_KEEP" ]; then
         mv $file $GLITE_LB_EXPORT_PURGEDIR_KEEP
       else
@@ -72,6 +78,7 @@ if [ x"$GLITE_LB_EXPORT_ENABLED" = x"true" ]; then
     fi
   done
 
+if [ x"$GLITE_LB_EXPORT_ENABLED" = x"true" ]; then
   if [ -n "$GLITE_LB_EXPORT_DUMPDIR_KEEP" ]; then
     ls $GLITE_LB_EXPORT_DUMPDIR | xargs  -i'{}' cp $GLITE_LB_EXPORT_DUMPDIR/'{}' $GLITE_LB_EXPORT_DUMPDIR_KEEP;
   else
index 1017e9e..2c6a489 100644 (file)
@@ -799,11 +799,27 @@ select:
 
                ret = edg_wll_gss_accept(ctx->connPoolNotif[0].gsiCred, recv_sock,
                                &tv, &ctx->connPoolNotif[0].gss,&gss_code);
-               if (ret) {
-                       edg_wll_SetError(ctx, errno, "GSS authentication failed.");
-                       goto err;       
+
+               switch (ret) {
+                       case EDG_WLL_GSS_OK:
+                               break;
+                       case EDG_WLL_GSS_ERROR_ERRNO:
+                               edg_wll_SetError(ctx,errno,"failed to receive notification");
+                               goto err;
+                       case EDG_WLL_GSS_ERROR_GSS:
+                               edg_wll_SetErrorGss(ctx, "failed to authenticate sender", &gss_code);
+                               goto err;
+                       case EDG_WLL_GSS_ERROR_EOF:
+                               edg_wll_SetError(ctx,ECONNREFUSED,"sender closed the connection");
+                               goto err;
+                       case EDG_WLL_GSS_ERROR_TIMEOUT:
+                               edg_wll_SetError(ctx,ETIMEDOUT,"accepting notification");
+                               goto err;
+                       default:
+                               edg_wll_SetError(ctx, ENOTCONN, "failed to accept notification");
+                               goto err;
                }
-               
+
                /* check time */
                gettimeofday(&check_time,0);
                if (decrement_timeout(&tv, start_time, check_time)) {