193 |
realm_lookup_name(char *realm) |
realm_lookup_name(char *realm) |
194 |
{ |
{ |
195 |
REALM *p; |
REALM *p; |
196 |
|
ITERATOR *itr = iterator_create(realms); |
197 |
|
|
198 |
for (p = list_first(realms); p; p = list_next(realms)) |
if (!itr) |
199 |
|
return NULL; |
200 |
|
|
201 |
|
for (p = iterator_first(itr); p; p = iterator_next(itr)) |
202 |
if (strcmp(p->realm, realm) == 0) |
if (strcmp(p->realm, realm) == 0) |
203 |
break; |
break; |
204 |
if (!p && strcmp(realm, "NOREALM")) { |
if (!p && strcmp(realm, "NOREALM")) { |
205 |
for (p = list_first(realms); p; p = list_next(realms)) |
for (p = iterator_first(itr); p; p = iterator_next(itr)) |
206 |
if (strcmp(p->realm, "DEFAULT") == 0) |
if (strcmp(p->realm, "DEFAULT") == 0) |
207 |
break; |
break; |
208 |
} |
} |
209 |
|
iterator_destroy(&itr); |
210 |
return p; |
return p; |
211 |
} |
} |
212 |
|
|
214 |
realm_verify_ip(REALM *realm, UINT4 ip) |
realm_verify_ip(REALM *realm, UINT4 ip) |
215 |
{ |
{ |
216 |
RADIUS_SERVER *serv; |
RADIUS_SERVER *serv; |
217 |
|
ITERATOR *itr; |
218 |
if (!realm->queue) |
|
219 |
|
if (!realm->queue |
220 |
|
|| (itr = iterator_create(realm->queue->servers)) == NULL) |
221 |
return 0; |
return 0; |
222 |
for (serv = list_first(realm->queue->servers); |
for (serv = iterator_first(itr); serv; serv = iterator_next(itr)) |
223 |
serv; |
if (serv->addr == ip) |
224 |
serv = list_next(realm->queue->servers)) |
break; |
225 |
if (serv->addr == ip) |
iterator_destroy(&itr); |
226 |
return 1; |
return serv != NULL; |
|
return 0; |
|
227 |
} |
} |
228 |
|
|
229 |
REALM * |
REALM * |
230 |
realm_lookup_ip(UINT4 ip) |
realm_lookup_ip(UINT4 ip) |
231 |
{ |
{ |
232 |
REALM *p; |
REALM *p; |
233 |
|
ITERATOR *itr; |
234 |
|
|
235 |
for (p = list_first(realms); p; p = list_next(realms)) |
if (!(itr = iterator_create(realms))) |
236 |
|
return NULL; |
237 |
|
for (p = iterator_first(itr); p; p = iterator_next(itr)) |
238 |
if (realm_verify_ip(p, ip)) |
if (realm_verify_ip(p, ip)) |
239 |
break; |
break; |
240 |
|
iterator_destroy(&itr); |
241 |
return p; |
return p; |
242 |
} |
} |
243 |
|
|