diff options
author | venaas <venaas> | 2008-06-02 13:56:29 +0000 |
---|---|---|
committer | venaas <venaas@e88ac4ed-0b26-0410-9574-a7f39faa03bf> | 2008-06-02 13:56:29 +0000 |
commit | 82b55cc05184e96d968788fbbcfc6e9326099ba5 (patch) | |
tree | afb37335a6e1ccd6f34fff6b4e0ecec2df4f9918 | |
parent | 990387e14440d988aab1850e756bdc84626b3a45 (diff) |
checking exit code from dynsrvlookup
git-svn-id: https://svn.testnett.uninett.no/radsecproxy/trunk@272 e88ac4ed-0b26-0410-9574-a7f39faa03bf
-rwxr-xr-x | dynsrv.sh | 1 | ||||
-rw-r--r-- | radsecproxy.c | 9 |
2 files changed, 8 insertions, 2 deletions
@@ -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 {" diff --git a/radsecproxy.c b/radsecproxy.c index 5802b1f..a503439 100644 --- a/radsecproxy.c +++ b/radsecproxy.c @@ -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; |