/[radius]/radius/radiusd/radck.c
ViewVC logotype

Diff of /radius/radiusd/radck.c

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

revision 1.18 by gray, Wed Jul 16 17:07:49 2003 UTC revision 1.19 by gray, Sun Sep 28 22:17:36 2003 UTC
# Line 22  Line 22 
22  #include <symtab.h>  #include <symtab.h>
23  #include <radiusd.h>  #include <radiusd.h>
24  #include <parser.h>  #include <parser.h>
25    #include <rewrite.h>
26    
27  #ifndef CHAR_BIT  #ifndef CHAR_BIT
28  # define CHAR_BIT 8  # define CHAR_BIT 8
# Line 103  mark_list(struct check_datum *datum, Use Line 104  mark_list(struct check_datum *datum, Use
104          }          }
105  }  }
106    
107    static int
108    compile_pairs(VALUE_PAIR *pair)
109    {
110            for (; pair; pair = pair->next) {
111                    if (pair->eval_type == eval_interpret) {
112                            char *symname = rewrite_compile(pair->avp_strvalue);
113                            if (symname == 0)
114                                    return -1;
115                            pair->eval_type = eval_compiled;
116                            efree(pair->avp_strvalue);
117                            pair->avp_strvalue = symname;
118                            pair->avp_strlength = strlen(symname);
119                    }
120            }
121            return 0;
122    }
123    
124  int  int
125  pass1(struct check_datum *datum, User_symbol *sym)  pass1(struct check_datum *datum, User_symbol *sym)
126  {  {
127            if (compile_pairs(sym->reply)) {
128                    radlog(L_ERR,
129                           _("users:%d: discarding entry %s"),
130                           sym->lineno, sym->name);
131                    symtab_delete(datum->symtab, (Symbol *)sym);
132                    datum->count--;
133            }
134          mark_list(datum, sym, sym->check);          mark_list(datum, sym, sym->check);
135          mark_list(datum, sym, sym->reply);          mark_list(datum, sym, sym->reply);
   
136          return 0;          return 0;
137  }  }
138    

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

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