Lines Matching refs:pat
76 static void check_daemon(char *pat);
77 static void check_user(char *pat);
78 static int check_host(char *pat);
79 static int reserved_name(char *pat);
342 static void check_daemon(char *pat) in check_daemon() argument
344 if (pat[0] == '@') { in check_daemon()
345 tcpd_warn("%s: daemon name begins with \"@\"", pat); in check_daemon()
346 } else if (pat[0] == '/') { in check_daemon()
347 tcpd_warn("%s: daemon name begins with \"/\"", pat); in check_daemon()
348 } else if (pat[0] == '.') { in check_daemon()
349 tcpd_warn("%s: daemon name begins with dot", pat); in check_daemon()
350 } else if (pat[strlen(pat) - 1] == '.') { in check_daemon()
351 tcpd_warn("%s: daemon name ends in dot", pat); in check_daemon()
352 } else if (STR_EQ(pat, "ALL") || STR_EQ(pat, unknown)) { in check_daemon()
354 } else if (STR_EQ(pat, "FAIL")) { /* obsolete */ in check_daemon()
357 } else if (reserved_name(pat)) { in check_daemon()
358 tcpd_warn("%s: daemon name may be reserved word", pat); in check_daemon()
360 switch (inet_get(pat)) { in check_daemon()
362 tcpd_warn("%s: no such process name in %s", pat, inetcf); in check_daemon()
363 inet_set(pat, WR_YES); /* shut up next time */ in check_daemon()
366 tcpd_warn("%s: service possibly not wrapped", pat); in check_daemon()
367 inet_set(pat, WR_YES); in check_daemon()
375 static void check_user(char *pat) in check_user() argument
377 if (pat[0] == '@') { /* @netgroup */ in check_user()
378 tcpd_warn("%s: user name begins with \"@\"", pat); in check_user()
379 } else if (pat[0] == '/') { in check_user()
380 tcpd_warn("%s: user name begins with \"/\"", pat); in check_user()
381 } else if (pat[0] == '.') { in check_user()
382 tcpd_warn("%s: user name begins with dot", pat); in check_user()
383 } else if (pat[strlen(pat) - 1] == '.') { in check_user()
384 tcpd_warn("%s: user name ends in dot", pat); in check_user()
385 } else if (STR_EQ(pat, "ALL") || STR_EQ(pat, unknown) in check_user()
386 || STR_EQ(pat, "KNOWN")) { in check_user()
388 } else if (STR_EQ(pat, "FAIL")) { /* obsolete */ in check_user()
391 } else if (reserved_name(pat)) { in check_user()
392 tcpd_warn("%s: user name may be reserved word", pat); in check_user()
397 static int is_inet6_addr(char *pat) in is_inet6_addr() argument
403 if (*pat != '[') in is_inet6_addr()
405 len = strlen(pat); in is_inet6_addr()
406 if ((ch = pat[len - 1]) != ']') in is_inet6_addr()
408 pat[len - 1] = '\0'; in is_inet6_addr()
413 if ((ret = getaddrinfo(pat + 1, NULL, &hints, &res)) == 0) in is_inet6_addr()
415 pat[len - 1] = ch; in is_inet6_addr()
422 static int check_host(char *pat) in check_host() argument
432 if (pat[0] == '@') { /* @netgroup */ in check_host()
441 setnetgrent(pat + 1); in check_host()
443 tcpd_warn("%s: unknown or empty netgroup", pat + 1); in check_host()
449 } else if (pat[0] == '/') { /* /path/name */ in check_host()
450 if ((fp = fopen(pat, "r")) != 0) { in check_host()
452 tcpd_context.file = pat; in check_host()
462 tcpd_warn("open %s: %m", pat); in check_host()
464 } else if (mask = split_at(pat, '/')) { /* network/netmask */ in check_host()
468 if ((dot_quad_addr(pat) == INADDR_NONE in check_host()
470 && (!is_inet6_addr(pat) in check_host()
473 if (dot_quad_addr(pat) == INADDR_NONE in check_host()
476 tcpd_warn("%s/%s: bad net/mask pattern", pat, mask); in check_host()
477 } else if (STR_EQ(pat, "FAIL")) { /* obsolete */ in check_host()
480 } else if (reserved_name(pat)) { /* other reserved */ in check_host()
483 } else if (is_inet6_addr(pat)) { /* IPv6 address */ in check_host()
486 } else if (NOT_INADDR(pat)) { /* internet name */ in check_host()
487 if (pat[strlen(pat) - 1] == '.') { in check_host()
488 tcpd_warn("%s: domain or host name ends in dot", pat); in check_host()
489 } else if (pat[0] != '.') { in check_host()
490 addr_count = check_dns(pat); in check_host()
493 if (STR_EQ(pat, "0.0.0.0") || STR_EQ(pat, "255.255.255.255")) { in check_host()
495 } else if (pat[0] == '.') { in check_host()
496 tcpd_warn("%s: network number begins with dot", pat); in check_host()
497 } else if (pat[strlen(pat) - 1] != '.') { in check_host()
498 check_dns(pat); in check_host()
506 static int reserved_name(char *pat) in reserved_name() argument
508 return (STR_EQ(pat, unknown) in reserved_name()
509 || STR_EQ(pat, "KNOWN") in reserved_name()
510 || STR_EQ(pat, paranoid) in reserved_name()
511 || STR_EQ(pat, "ALL") in reserved_name()
512 || STR_EQ(pat, "LOCAL")); in reserved_name()