checking exit code from dynsrvlookup
authorvenaas <venaas>
Mon, 2 Jun 2008 13:56:29 +0000 (13:56 +0000)
committervenaas <venaas@e88ac4ed-0b26-0410-9574-a7f39faa03bf>
Mon, 2 Jun 2008 13:56:29 +0000 (13:56 +0000)
git-svn-id: https://svn.testnett.uninett.no/radsecproxy/trunk@272 e88ac4ed-0b26-0410-9574-a7f39faa03bf

dynsrv.sh
radsecproxy.c

index 7adcbe0..d0810d6 100755 (executable)
--- a/dynsrv.sh
+++ b/dynsrv.sh
@@ -1,5 +1,6 @@
 #! /bin/sh
 srv=`host -t srv _radsec._tcp.$1`
+# should do exit 1 or something if host command fails
 host=`echo $srv|cut -d\  -f8`
 port=`echo $srv|cut -d\  -f7`
 echo "server $1-$host {"
index 5802b1f..a503439 100644 (file)
@@ -2901,7 +2901,7 @@ void adddynamicrealmserver(struct realm *realm, struct clsrvconf *conf, char *id
 }
 
 void dynamicconfig(struct server *server) {
-    int ok, fd[2];
+    int ok, fd[2], status;
     pid_t pid;
     struct clsrvconf *conf = server->conf;
     struct gconffile *cf = NULL;
@@ -2937,10 +2937,15 @@ void dynamicconfig(struct server *server) {
                          );
     freegconf(&cf);
        
-    if (waitpid(pid, NULL, 0) < 0) {
+    if (waitpid(pid, &status, 0) < 0) {
        debug(DBG_ERR, "dynamicconfig: wait error");
        goto errexit;
     }
+    
+    if (status) {
+       debug(DBG_INFO, "dynamicconfig: command exited with status %d", WEXITSTATUS(status));
+       goto errexit;
+    }
 
     if (ok)
        return;