summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordu.net>2016-10-31 18:21:35 +0100
committerLinus Nordberg <linus@nordu.net>2016-11-01 10:36:48 +0100
commit98d7bbe9214488d595031257b35bc5abb5a24f43 (patch)
tree8aa7ac16fabc4a78ba1d1d2f457aca129d3fa72d
parent5ccca99b571f8bd948d87eab006612cbc02689dd (diff)
Look at servers->dynamiclookuparg for deciding if a server is dynamic.
The dynamiclookupcommand member of the _config_ of the server is being set to NULL when it's copied in confserver_cb(), resulting in dynamic discovery being done for realms that already have a server. Patch from Fabian Mauchle. Addresses RADSECPROXY-69.
-rw-r--r--develdoc.txt4
-rw-r--r--radsecproxy.c2
2 files changed, 3 insertions, 3 deletions
diff --git a/develdoc.txt b/develdoc.txt
index fb43cd0..d61dab6 100644
--- a/develdoc.txt
+++ b/develdoc.txt
@@ -337,8 +337,8 @@ traverses the list of realms and for each realm:
- same thing for realm->accsrvconfs as for srvconfs
- - if none of the realm->srvconfs nor the realm->accsrvonfs has a
- dynamiclookupcommand:
+ - if none of realm->srvconfs->servers and realm->accsrvonfs->servers
+ have dynamiclookuparg set:
- for each srv in realm->srvconfs: free srv and decrease ref on realm
diff --git a/radsecproxy.c b/radsecproxy.c
index 7efebed..2f21fcb 100644
--- a/radsecproxy.c
+++ b/radsecproxy.c
@@ -706,7 +706,7 @@ int hasdynamicserver(struct list *srvconfs) {
struct list_node *entry;
for (entry = list_first(srvconfs); entry; entry = list_next(entry))
- if (((struct clsrvconf *)entry->data)->dynamiclookupcommand)
+ if (((struct clsrvconf *)entry->data)->servers->dynamiclookuparg)
return 1;
return 0;
}