diff options
| author | Linus Nordberg <linus@nordu.net> | 2011-10-08 15:54:33 +0200 | 
|---|---|---|
| committer | Linus Nordberg <linus@nordu.net> | 2011-10-08 15:54:33 +0200 | 
| commit | a9da84af5738e8eb5b8751cb4d6c00d1beb2810d (patch) | |
| tree | 78742c153ce1e592318b22dc99d86618c02b2bb8 | |
| parent | aae44f48c768f74de245efe4ba277d355e2ebbb9 (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.c | 10 | ||||
| -rwxr-xr-x | tools/naptr-eduroam.sh | 2 | ||||
| -rwxr-xr-x | tools/radsec-dynsrv.sh | 2 | 
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. | 
