summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordu.net>2011-10-08 15:54:33 +0200
committerLinus Nordberg <linus@nordu.net>2011-10-08 15:54:33 +0200
commita9da84af5738e8eb5b8751cb4d6c00d1beb2810d (patch)
tree78742c153ce1e592318b22dc99d86618c02b2bb8
parentaae44f48c768f74de245efe4ba277d355e2ebbb9 (diff)
A DynamicLookupCommand exiting with 10 is treated like an empty server stanza.
This way a script can signal "not found". The naptr-eduroam.sh and radsec-dynsrv.sh scripts are changed to behave like this. Closes RADSECPROXY-22.
-rw-r--r--radsecproxy.c10
-rwxr-xr-xtools/naptr-eduroam.sh2
-rwxr-xr-xtools/radsec-dynsrv.sh2
3 files changed, 10 insertions, 4 deletions
diff --git a/radsecproxy.c b/radsecproxy.c
index 6554e8d..303aba4 100644
--- a/radsecproxy.c
+++ b/radsecproxy.c
@@ -2273,8 +2273,14 @@ int dynamicconfig(struct server *server) {
}
if (status) {
- debug(DBG_INFO, "dynamicconfig: command exited with status %d", WEXITSTATUS(status));
- goto errexit;
+ if (WEXITSTATUS(status) == 10) {
+ debug(DBG_INFO, "dynamicconfig: command signals empty config");
+ }
+ else {
+ debug(DBG_INFO, "dynamicconfig: command exited with status %d",
+ WEXITSTATUS(status));
+ goto errexit;
+ }
}
if (ok)
diff --git a/tools/naptr-eduroam.sh b/tools/naptr-eduroam.sh
index be722c9..4aa3c4b 100755
--- a/tools/naptr-eduroam.sh
+++ b/tools/naptr-eduroam.sh
@@ -70,4 +70,4 @@ if [ -n "${SERVERS}" ]; then
exit 0
fi
-exit 0
+exit 10 # No server found.
diff --git a/tools/radsec-dynsrv.sh b/tools/radsec-dynsrv.sh
index 7a74b6d..4b9cb3e 100755
--- a/tools/radsec-dynsrv.sh
+++ b/tools/radsec-dynsrv.sh
@@ -48,4 +48,4 @@ if test -n "${SERVERS}" ; then
exit 0
fi
-exit 0
+exit 10 # No server found.