[BACK]Return to match.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/match.c between version 1.14 and 1.15

version 1.14, 2001/06/27 04:48:53 version 1.15, 2001/12/05 16:54:51
Line 104 
Line 104 
 }  }
   
 /*  /*
  * Tries to match the host name (which must be in all lowercase) against the   * Tries to match the string against the
  * comma-separated sequence of subpatterns (each possibly preceded by ! to   * comma-separated sequence of subpatterns (each possibly preceded by ! to
  * indicate negation).  Returns -1 if negation matches, 1 if there is   * indicate negation).  Returns -1 if negation matches, 1 if there is
  * a positive match, 0 if there is no match at all.   * a positive match, 0 if there is no match at all.
  */   */
   
 int  int
 match_hostname(const char *host, const char *pattern, u_int len)  match_pattern_list(const char *string, const char *pattern, u_int len,
       int dolower)
 {  {
         char sub[1024];          char sub[1024];
         int negated;          int negated;
Line 134 
Line 135 
                 for (subi = 0;                  for (subi = 0;
                      i < len && subi < sizeof(sub) - 1 && pattern[i] != ',';                       i < len && subi < sizeof(sub) - 1 && pattern[i] != ',';
                      subi++, i++)                       subi++, i++)
                         sub[subi] = isupper(pattern[i]) ? tolower(pattern[i]) : pattern[i];                          sub[subi] = dolower && isupper(pattern[i]) ?
                                tolower(pattern[i]) : pattern[i];
                 /* If subpattern too long, return failure (no match). */                  /* If subpattern too long, return failure (no match). */
                 if (subi >= sizeof(sub) - 1)                  if (subi >= sizeof(sub) - 1)
                         return 0;                          return 0;
Line 146 
Line 148 
                 /* Null-terminate the subpattern. */                  /* Null-terminate the subpattern. */
                 sub[subi] = '\0';                  sub[subi] = '\0';
   
                 /* Try to match the subpattern against the host name. */                  /* Try to match the subpattern against the string. */
                 if (match_pattern(host, sub)) {                  if (match_pattern(string, sub)) {
                         if (negated)                          if (negated)
                                 return -1;              /* Negative */                                  return -1;              /* Negative */
                         else                          else
Line 160 
Line 162 
          * match, we have already returned -1 and never get here.           * match, we have already returned -1 and never get here.
          */           */
         return got_positive;          return got_positive;
   }
   
   /*
    * Tries to match the host name (which must be in all lowercase) against the
    * comma-separated sequence of subpatterns (each possibly preceded by ! to
    * indicate negation).  Returns -1 if negation matches, 1 if there is
    * a positive match, 0 if there is no match at all.
    */
   int
   match_hostname(const char *host, const char *pattern, u_int len)
   {
           return match_pattern_list(host, pattern, len, 1);
 }  }
   
 /*  /*

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15