]> sjero.net Git - wget/commitdiff
[svn] Document the code that decides whether "*" matches ".".
authorhniksic <devnull@localhost>
Fri, 13 May 2005 11:54:53 +0000 (04:54 -0700)
committerhniksic <devnull@localhost>
Fri, 13 May 2005 11:54:53 +0000 (04:54 -0700)
src/ChangeLog
src/openssl.c

index eeff74842b7db26ccd5ceab171260a71faf88544..1ed3c003d5439a50406dbe86a885aa943bb80953 100644 (file)
@@ -1,3 +1,8 @@
+2005-05-13  Hrvoje Niksic  <hniksic@xemacs.org>
+
+       * openssl.c (pattern_match): Document the code that decides
+       whether "*" matches ".".
+
 2005-05-12  Hrvoje Niksic  <hniksic@xemacs.org>
 
        * ftp-ls.c (ftp_index): Use %d to print the port number, which is
index 7a29167d5ca10ec543c272f3b672ceb430140fdb..70e10731c13e7de40debe6ba158938b13a377255 100644 (file)
@@ -346,6 +346,8 @@ ssl_connect (int fd)
   return 0;
 }
 
+#define ASTERISK_EXCLUDES_DOT  /* mandated by rfc2818 */
+
 /* Return 1 is STRING (case-insensitively) matches PATTERN, 0
    otherwise.  The recognized wildcard character is "*", which matches
    any character in STRING except ".".  Any number of the "*" wildcard
@@ -355,7 +357,10 @@ ssl_connect (int fd)
    contain the wildcard character * which is considered to match any
    single domain name component or component fragment. E.g., *.a.com
    matches foo.a.com but not bar.foo.a.com. f*.com matches foo.com but
-   not bar.com."  */
+   not bar.com [or foo.bar.com]."
+
+   If the pattern contain no wildcards, pattern_match(a, b) is
+   equivalent to !strcasecmp(a, b).  */
 
 static int
 pattern_match (const char *pattern, const char *string)
@@ -370,8 +375,10 @@ pattern_match (const char *pattern, const char *string)
        for (; *n != '\0'; n++)
          if (TOLOWER (*n) == c && pattern_match (p, n))
            return 1;
+#ifdef ASTERISK_EXCLUDES_DOT
          else if (*n == '.')
            return 0;
+#endif
        return c == '\0';
       }
     else