diff options
author | Linus Nordberg <linus@nordu.net> | 2016-11-01 10:25:02 +0100 |
---|---|---|
committer | Linus Nordberg <linus@nordu.net> | 2016-11-01 10:31:22 +0100 |
commit | 47ccc9ff18405caa7554d1880a26b52c9576175b (patch) | |
tree | 8878b1bb3488e7bf3a9a1f4ee1adf0d0fa1486a5 | |
parent | 9d53e6e8f406415ef0b7ead8dd58ba2b6487004b (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-- | ChangeLog | 5 | ||||
-rw-r--r-- | radsecproxy.c | 6 |
2 files changed, 10 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Unreleased 1.6.9 + Bug fixes: + - Avoid creating another dynamic server when we already have one + working (RADSECPROXY-69). Patch by Fabian Mauchle. + 2016-09-21 1.6.8 Bug fixes: - Stop waiting on writable when reading a TCP socket. diff --git a/radsecproxy.c b/radsecproxy.c index 815e927..c478dff 100644 --- a/radsecproxy.c +++ b/radsecproxy.c @@ -777,10 +777,14 @@ int hasdynamicserver(struct list *srvconfs) { for (entry = list_first(srvconfs); entry; entry = list_next(entry)) #if defined ENABLE_EXPERIMENTAL_DYNDISC + /* NOTE: This should probably be servers->dynamiclookuparg, + * like in !ENABLE_EXPERIMENTAL_DYNDISC, but we're not + * touching this code any more. It shouldn't be used and it's + * going away. */ if (((struct clsrvconf *)entry->data)->dynamiclookupcommand || ((struct clsrvconf *)entry->data)->servers->in_use) #else - if (((struct clsrvconf *)entry->data)->dynamiclookupcommand) + if (((struct clsrvconf *)entry->data)->servers->dynamiclookuparg) #endif return 1; return 0; |