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

Diff of /radius/lib/nas.c

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

revision 1.9 by gray, Sat Nov 8 09:48:09 2003 UTC revision 1.10 by gray, Sun Nov 23 19:18:44 2003 UTC
# Line 62  read_naslist_entry(void *unused ARG_UNUS Line 62  read_naslist_entry(void *unused ARG_UNUS
62    
63          bzero(&nas, sizeof(nas));          bzero(&nas, sizeof(nas));
64          STRING_COPY(nas.shortname, fv[1]);          STRING_COPY(nas.shortname, fv[1]);
65          if (fv[2][0] == 0)          if (!fv[2])
66                  STRING_COPY(nas.nastype, "true");                  STRING_COPY(nas.nastype, "true");
67          else          else
68                  STRING_COPY(nas.nastype, fv[2]);                  STRING_COPY(nas.nastype, fv[2]);
69          if (strcmp(fv[0], "DEFAULT") == 0) {          if (strcmp(fv[0], "DEFAULT") == 0) {
70                  nas.ipaddr = 0;                  nas.netdef.ipaddr = nas.netdef.netmask = 0;
71                  STRING_COPY(nas.longname, fv[0]);                  STRING_COPY(nas.longname, fv[0]);
72          } else {          } else {
73                  nas.ipaddr = ip_gethostaddr(fv[0]);                  ip_getnetaddr(fv[0], &nas.netdef);
74                  ip_gethostname(nas.ipaddr, nas.longname, sizeof(nas.longname));                  /*FIXME: Do we still need that? */
75                    ip_gethostname(nas.netdef.ipaddr,
76                                   nas.longname, sizeof(nas.longname));
77                    if (nas.longname[0])
78                            STRING_COPY(nas.longname, fv[0]);
79          }          }
80          if (fc >= 4)          if (fc >= 4)
81                  nas.args = envar_parse_argcv(fc-3, &fv[3]);                  nas.args = envar_parse_argcv(fc-3, &fv[3]);
# Line 109  nas_lookup_name(char *name) Line 113  nas_lookup_name(char *name)
113          NAS *defnas = NULL;          NAS *defnas = NULL;
114                    
115          for (nas = naslist; nas; nas = nas->next) {          for (nas = naslist; nas; nas = nas->next) {
116                  if (nas->ipaddr == 0)                  if (nas->netdef.ipaddr == 0 && nas->netdef.netmask == 0)
117                          defnas = nas;                          defnas = nas;
118                  else if (strcmp(nas->shortname, name) == 0                  else if (strcmp(nas->shortname, name) == 0
119                           || strcmp(nas->longname, name) == 0)                           || strcmp(nas->longname, name) == 0)
# Line 126  nas_lookup_ip(UINT4 ipaddr) Line 130  nas_lookup_ip(UINT4 ipaddr)
130          NAS *defnas = NULL;          NAS *defnas = NULL;
131                    
132          for (nas = naslist; nas; nas = nas->next) {          for (nas = naslist; nas; nas = nas->next) {
133                  if (nas->ipaddr == 0)                  if (ip_addr_in_net_p(&nas->netdef, ipaddr))
                         defnas = nas;  
                 else if (nas->ipaddr == ipaddr)  
134                          break;                          break;
135          }          }
136          return nas ? nas : defnas;          return nas ? nas : defnas;

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

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