match_pattern
if (addr != NULL && match_pattern(addr, cp) == 1)
if (match_pattern(type, sc->timeouts[i].type_pattern))
ret = match_pattern(lhost, allowed_open->listen_host);
if (match_pattern(name, options.send_env[j])) {
if (match_pattern(groups_byname[i], groups[j]))
if (match_pattern(string, sub)) {
return match_pattern(user, pattern);
if ((ret = match_pattern(user, pat)) == 1)
match_pattern(s + 1, pattern + 1))
if (match_pattern(s, pattern))
int match_pattern(const char *, const char *);
if (match_pattern(name, options.send_env[i]))
if (match_pattern(host, arg)) {
if (!match_pattern(options->send_env[i], arg + 1)) {
ASSERT_INT_EQ(match_pattern("", ""), 1);
ASSERT_INT_EQ(match_pattern("", "aaa"), 0);
ASSERT_INT_EQ(match_pattern("aaa", ""), 0);
ASSERT_INT_EQ(match_pattern("aaa", "aaaa"), 0);
ASSERT_INT_EQ(match_pattern("aaaa", "aaa"), 0);
ASSERT_INT_EQ(match_pattern("", "*"), 1);
ASSERT_INT_EQ(match_pattern("a", "?"), 1);
ASSERT_INT_EQ(match_pattern("aa", "a?"), 1);
ASSERT_INT_EQ(match_pattern("a", "*"), 1);
ASSERT_INT_EQ(match_pattern("aa", "a*"), 1);
ASSERT_INT_EQ(match_pattern("aa", "?*"), 1);
ASSERT_INT_EQ(match_pattern("aa", "**"), 1);
ASSERT_INT_EQ(match_pattern("aa", "?a"), 1);
ASSERT_INT_EQ(match_pattern("aa", "*a"), 1);
ASSERT_INT_EQ(match_pattern("ba", "a?"), 0);
ASSERT_INT_EQ(match_pattern("ba", "a*"), 0);
ASSERT_INT_EQ(match_pattern("ab", "?a"), 0);
ASSERT_INT_EQ(match_pattern("ab", "*a"), 0);
if (match_pattern(name, options.accept_env[i])) {
!match_pattern(user, d->to.user))
if (match_pattern(k->cert->principals[i],
if (match_pattern(cert->cert->principals[i], cp)) {
union match_pattern pattern;
struct dev_match_pattern match_pattern;
match_pattern.type = DEV_MATCH_DEVICE;
device_pattern = &match_pattern.pattern.device_pattern;
cdm.patterns = &match_pattern;
cdm.pattern_buf_len = sizeof(match_pattern);