X-Git-Url: http://andersk.mit.edu/gitweb/openssh.git/blobdiff_plain/cd9a7017c2d10a42ef304a91250d136ed0c0acac..e91a8c3ff65ba7bc91d65940ed7c6cc7d6700f5f:/match.c diff --git a/match.c b/match.c index e73ed2aa..e3c99307 100644 --- a/match.c +++ b/match.c @@ -1,3 +1,4 @@ +/* $OpenBSD: match.c,v 1.26 2006/08/03 03:34:42 deraadt Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -35,11 +36,14 @@ */ #include "includes.h" -RCSID("$OpenBSD: match.c,v 1.18 2002/02/28 19:36:28 stevesk Exp $"); -#include "match.h" -#include "canohost.h" +#include + +#include +#include + #include "xmalloc.h" +#include "match.h" /* * Returns true if the given string matches the pattern (which may contain ? @@ -137,7 +141,7 @@ match_pattern_list(const char *string, const char *pattern, u_int len, i < len && subi < sizeof(sub) - 1 && pattern[i] != ','; subi++, i++) sub[subi] = dolower && isupper(pattern[i]) ? - tolower(pattern[i]) : pattern[i]; + (char)tolower(pattern[i]) : pattern[i]; /* If subpattern too long, return failure (no match). */ if (subi >= sizeof(sub) - 1) return 0; @@ -203,7 +207,7 @@ match_host_and_ip(const char *host, const char *ipaddr, * match user, user@host_or_ip, user@host_or_ip_list against pattern */ int -match_user(const char *user, int verify_reverse_mapping, +match_user(const char *user, const char *host, const char *ipaddr, const char *pattern) { char *p, *pat; @@ -217,9 +221,7 @@ match_user(const char *user, int verify_reverse_mapping, *p++ = '\0'; if ((ret = match_pattern(user, pat)) == 1) - ret = match_host_and_ip( - get_canonical_hostname(verify_reverse_mapping), - get_remote_ipaddr(), p); + ret = match_host_and_ip(host, ipaddr, p); xfree(pat); return ret; @@ -257,7 +259,7 @@ match_list(const char *client, const char *server, u_int *next) ret = xstrdup(p); if (next != NULL) *next = (cp == NULL) ? - strlen(c) : cp - c; + strlen(c) : (u_int)(cp - c); xfree(c); xfree(s); return ret;