diff options
Diffstat (limited to 'radsecproxy.c')
-rw-r--r-- | radsecproxy.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/radsecproxy.c b/radsecproxy.c index 831b5a2..d9f560e 100644 --- a/radsecproxy.c +++ b/radsecproxy.c @@ -132,13 +132,13 @@ int prefixmatch(void *a1, void *a2, uint8_t len) { } /* returns next config with matching address, or NULL */ -struct clsrvconf *find_conf(uint8_t type, struct sockaddr *addr, struct list *confs, struct list_node **cur) { +struct clsrvconf *find_conf(uint8_t type, struct sockaddr *addr, struct list *confs, struct list_node **cur, uint8_t server_p) { struct list_node *entry; struct clsrvconf *conf; for (entry = (cur && *cur ? list_next(*cur) : list_first(confs)); entry; entry = list_next(entry)) { conf = (struct clsrvconf *)entry->data; - if (conf->type == type && addressmatches(conf->hostports, addr)) { + if (conf->type == type && addressmatches(conf->hostports, addr, server_p)) { if (cur) *cur = entry; return conf; @@ -148,11 +148,11 @@ struct clsrvconf *find_conf(uint8_t type, struct sockaddr *addr, struct list *co } struct clsrvconf *find_clconf(uint8_t type, struct sockaddr *addr, struct list_node **cur) { - return find_conf(type, addr, clconfs, cur); + return find_conf(type, addr, clconfs, cur, 0); } struct clsrvconf *find_srvconf(uint8_t type, struct sockaddr *addr, struct list_node **cur) { - return find_conf(type, addr, srvconfs, cur); + return find_conf(type, addr, srvconfs, cur, 1); } /* returns next config of given type, or NULL */ |