/[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.20 by gray, Tue Oct 14 07:10:42 2003 UTC revision 1.21 by gray, Tue Oct 14 13:49:23 2003 UTC
# Line 104  mark_list(struct check_datum *datum, Use Line 104  mark_list(struct check_datum *datum, Use
104          }          }
105  }  }
106    
 static int  
 compile_pairs(VALUE_PAIR *pair)  
 {  
         for (; pair; pair = pair->next) {  
                 if (pair->eval_type == eval_interpret) {  
                         char *symname = rewrite_compile(pair->avp_strvalue);  
                         if (symname == 0)  
                                 return -1;  
                         pair->eval_type = eval_compiled;  
                         efree(pair->avp_strvalue);  
                         pair->avp_strvalue = symname;  
                         pair->avp_strlength = strlen(symname);  
                 }  
         }  
         return 0;  
 }  
   
107  int  int
108  pass1(struct check_datum *datum, User_symbol *sym)  pass1(struct check_datum *datum, User_symbol *sym)
109  {  {
         if (compile_pairs(sym->reply)) {  
                 radlog_loc(L_ERR, &sym->loc,  
                            _("discarding entry %s"),  
                            sym->name);  
                 symtab_delete(datum->symtab, (Symbol *)sym);  
                 datum->count--;  
         }  
           
110          mark_list(datum, sym, sym->check);          mark_list(datum, sym, sym->check);
111          mark_list(datum, sym, sym->reply);          mark_list(datum, sym, sym->reply);
112          return 0;          return 0;
# Line 207  check_dup_attr(VALUE_PAIR **prev, VALUE_ Line 182  check_dup_attr(VALUE_PAIR **prev, VALUE_
182                  *prev = ptr;                  *prev = ptr;
183  }  }
184    
185    static int
186    compile_pair(VALUE_PAIR *pair)
187    {
188            if (pair->eval_type == eval_interpret) {
189                    char *symname = rewrite_compile(pair->avp_strvalue);
190                    if (symname == 0)
191                            return -1;
192                    pair->eval_type = eval_compiled;
193                    efree(pair->avp_strvalue);
194                    pair->avp_strvalue = symname;
195                    pair->avp_strlength = strlen(symname);
196            }
197            return 0;
198    }
199    
200  /*ARGSUSED*/  /*ARGSUSED*/
201  int  int
202  fix_check_pairs(int cf_file, LOCUS *loc, char *name, VALUE_PAIR **pairs)  fix_check_pairs(int cf_file, LOCUS *loc, char *name, VALUE_PAIR **pairs)
# Line 275  fix_check_pairs(int cf_file, LOCUS *loc, Line 265  fix_check_pairs(int cf_file, LOCUS *loc,
265                          }                          }
266                          break;                          break;
267                  }                  }
                   
268          }          }
269    
270          if (cf_file != CF_USERS)          if (cf_file != CF_USERS)
# Line 405  fix_reply_pairs(int cf_file, LOCUS *loc, Line 394  fix_reply_pairs(int cf_file, LOCUS *loc,
394                  case DA_FALL_THROUGH:                  case DA_FALL_THROUGH:
395                          fall_through++;                          fall_through++;
396                          break;                          break;
397    
398                    case DA_ADD_PORT_TO_IP_ADDRESS:
399                            radlog_loc(L_ERR, loc,
400                                 _("Use of Add-Port-To-IP-Address is deprecated"));
401                            errcnt++;
402                  }                  }
403    
404                    if (compile_pair(p))
405                            errcnt++;
406          }          }
407    
408          if (strncmp(name, "BEGIN", 5) == 0 && fall_through == 0) {          if (strncmp(name, "BEGIN", 5) == 0 && fall_through == 0) {
409                  radlog_loc(L_WARN, loc,                  radlog_loc(L_WARN, loc, "%s", _("BEGIN without Fall-Through"));
                            "%s",  
                            _("BEGIN without Fall-Through"));  
410          }          }
411          return errcnt;          return errcnt;
412  }  }
# Line 465  TC(unsigned *R, int n) Line 460  TC(unsigned *R, int n)
460                  rowi = (unsigned *) ((char *) rowi + rowsize);                  rowi = (unsigned *) ((char *) rowi + rowsize);
461          }          }
462  }  }
   
   

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.21

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