125 while(*first && *second) {
140 while(*first && *second && max) {
163 static int hostmatch(
const char *hostname,
const char *pattern)
165 const char *pattern_label_end, *pattern_wildcard, *hostname_label_end;
166 int wildcard_enabled;
167 size_t prefixlen, suffixlen;
168 pattern_wildcard = strchr(pattern,
'*');
169 if(pattern_wildcard == NULL)
175 wildcard_enabled = 1;
176 pattern_label_end = strchr(pattern,
'.');
177 if(pattern_label_end == NULL || strchr(pattern_label_end+1,
'.') == NULL ||
178 pattern_wildcard > pattern_label_end ||
180 wildcard_enabled = 0;
182 if(!wildcard_enabled)
186 hostname_label_end = strchr(hostname,
'.');
187 if(hostname_label_end == NULL ||
194 if(hostname_label_end - hostname < pattern_label_end - pattern)
197 prefixlen = pattern_wildcard - pattern;
198 suffixlen = pattern_label_end - (pattern_wildcard+1);
207 if(!match_pattern || !*match_pattern ||
208 !hostname || !*hostname)
#define CURL_HOST_NOMATCH
int Curl_cert_hostcheck(const char *match_pattern, const char *hostname)
static char Curl_raw_toupper(char in)
static int Curl_raw_equal(const char *first, const char *second)
static int hostmatch(const char *hostname, const char *pattern)
static int Curl_raw_nequal(const char *first, const char *second, size_t max)