Merge bug #25932 fix.
authorZdeněk Salvet <salvet@ics.muni.cz>
Fri, 27 Apr 2007 10:00:36 +0000 (10:00 +0000)
committerZdeněk Salvet <salvet@ics.muni.cz>
Fri, 27 Apr 2007 10:00:36 +0000 (10:00 +0000)
org.glite.lb.server/config/startup
org.glite.lb.server/src/bkserverd.c

index 597ddaf..8aae539 100755 (executable)
@@ -48,7 +48,10 @@ start()
                [ -d "$GLITE_LB_EXPORT_JPREG_MAILDIR" ] || mkdir -p "$GLITE_LB_EXPORT_JPREG_MAILDIR" && chown $GLITE_USER:$GLITE_GROUP -R "$GLITE_LB_EXPORT_JPREG_MAILDIR"
                maildir="--jpreg-dir $GLITE_LB_EXPORT_JPREG_MAILDIR"
        fi
-       super="--super-users-file $GLITE_LOCATION/etc/LB-super-users"
+
+       if test -r "$GLITE_LOCATION/etc/LB-super-users"; then
+               super="--super-users-file $GLITE_LOCATION/etc/LB-super-users"
+       fi
 
        [ -z "$creds" ] && echo $0: WARNING: No credentials specified. Using default lookup which is dangerous. >&2
 
index 48a3f96..700bb6e 100644 (file)
@@ -303,6 +303,7 @@ struct clnt_data_t {
 int main(int argc, char *argv[])
 {
        int                                     fd, i;
+       int                     dtablesize;
        struct sockaddr_in      a;
        char                       *mysubj = NULL;
        int                                     opt;
@@ -322,6 +323,9 @@ int main(int argc, char *argv[])
        int                     silent = 0;
 
 
+       /* keep this at start of main() ! */
+       dtablesize = getdtablesize();
+       for (fd=3; fd < dtablesize ; fd++) close(fd);
 
        name = strrchr(argv[0],'/');
        if (name) name++; else name = argv[0];
@@ -437,8 +441,6 @@ int main(int argc, char *argv[])
 
        semkey = ftok(pidfile,0);
 
-       if (!debug) for (fd=3; fd<OPEN_MAX; fd++) close(fd);
-
        if (check_mkdir(dumpStorage)) exit(1);
        if (check_mkdir(purgeStorage)) exit(1);
        if ( jpreg ) {
@@ -1444,9 +1446,8 @@ static int read_roots(const char *file)
                return 0;
        }
 
-       while (!feof(roots)) {
+       while (fgets(buf,sizeof buf,roots) != NULL) {
                char    *nl;
-               fgets(buf,sizeof buf,roots);
                nl = strchr(buf,'\n');
                if (nl) *nl = 0;