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

Diff of /radius/radiusd/files.c

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

revision 1.70 by gray, Wed Apr 30 20:12:25 2003 UTC revision 1.71 by gray, Thu May 29 15:40:50 2003 UTC
# Line 592  hints_setup(RADIUS_REQ *req) Line 592  hints_setup(RADIUS_REQ *req)
592  {  {
593          VALUE_PAIR      *request_pairs = req->request;          VALUE_PAIR      *request_pairs = req->request;
594          char            newname[AUTH_STRING_LEN];          char            newname[AUTH_STRING_LEN];
         char            *name;  
595          VALUE_PAIR      *name_pair;          VALUE_PAIR      *name_pair;
596          VALUE_PAIR      *orig_name_pair;          VALUE_PAIR      *orig_name_pair;
597          VALUE_PAIR      *tmp;          VALUE_PAIR      *tmp;
# Line 606  hints_setup(RADIUS_REQ *req) Line 605  hints_setup(RADIUS_REQ *req)
605           *      Check for valid input, zero length names not permitted           *      Check for valid input, zero length names not permitted
606           */           */
607          if ((name_pair = avl_find(request_pairs, DA_USER_NAME)) == NULL) {          if ((name_pair = avl_find(request_pairs, DA_USER_NAME)) == NULL) {
608                  name = NULL;                  name_pair = avp_create(DA_USER_NAME, 0, "", 0);
609                  orig_name_pair = NULL;                  orig_name_pair = NULL;
610          } else {          } else {
                 name = name_pair->avp_strvalue;  
611                  orig_name_pair = avp_dup(name_pair);                  orig_name_pair = avp_dup(name_pair);
612                  orig_name_pair->attribute = DA_ORIG_USER_NAME;                  orig_name_pair->attribute = DA_ORIG_USER_NAME;
613                  orig_name_pair->name = "Orig-User-Name";                  orig_name_pair->name = "Orig-User-Name";
614          }          }
           
         if (name == NULL || name[0] == 0)  
                 /* Will be complained about later. */  
                 return 0;  
615    
616          debug(1, ("called for `%s'", name));          debug(1, ("called for `%s'", name_pair->avp_strvalue));
617                    
618          /* if Framed-Protocol is present but Service-Type is missing, add          /* if Framed-Protocol is present but Service-Type is missing, add
619             Service-Type = Framed-User. */             Service-Type = Framed-User. */
# Line 635  hints_setup(RADIUS_REQ *req) Line 629  hints_setup(RADIUS_REQ *req)
629                  int do_strip;                  int do_strip;
630                  VALUE_PAIR *add;                  VALUE_PAIR *add;
631                                    
632                  name = name_pair->avp_strvalue;                  if (matches(req, name_pair->avp_strvalue, i, newname))
   
                 if (matches(req, name, i, newname))  
633                          continue;                          continue;
634    
635                  matched++;                  matched++;
# Line 680  hints_setup(RADIUS_REQ *req) Line 672  hints_setup(RADIUS_REQ *req)
672                          }                          }
673                  }                  }
674    
675                  debug(1, ("newname is `%s', username is `%s'",                  debug(1, ("new name is `%s'", name_pair->avp_strvalue));
                          newname, name_pair->avp_strvalue));  
676    
677                  /* fix-up the string length */                  /* fix-up the string length */
678                  name_pair->avp_strlength = strlen(name_pair->avp_strvalue);                  name_pair->avp_strlength = strlen(name_pair->avp_strvalue);
# Line 703  hints_setup(RADIUS_REQ *req) Line 694  hints_setup(RADIUS_REQ *req)
694                  break;                  break;
695          }          }
696    
697          if (matched)          if (matched) {
698                  avl_add_pair (&request_pairs, orig_name_pair);                  if (orig_name_pair)
699          else                          avl_add_pair(&request_pairs, orig_name_pair);
700                  avp_free (orig_name_pair);                  else
701                            avl_add_pair(&request_pairs, name_pair);
702            } else {
703                    if (orig_name_pair)
704                            avp_free(orig_name_pair);
705                    else
706                            avp_free(name_pair);
707            }
708                    
709          return 0;          return 0;
710  }  }

Legend:
Removed from v.1.70  
changed lines
  Added in v.1.71

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