/[radius]/radius/lib/realms.c
ViewVC logotype

Diff of /radius/lib/realms.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.5 by gray, Tue Apr 29 13:59:14 2003 UTC revision 1.6 by gray, Wed Apr 30 20:12:24 2003 UTC
# Line 193  REALM * Line 193  REALM *
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    
# Line 209  int Line 214  int
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    

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26