]> andersk Git - openssh.git/blobdiff - match.c
- (dtucker) [openbsd-compat/xmmap.c] Include stdlib.h for mkstemp prototype.
[openssh.git] / match.c
diff --git a/match.c b/match.c
index e73ed2aa2e81617d8fdfc468b3ff40384f035be8..e3c993073fd80799073a935c667d184c57dcf3b9 100644 (file)
--- 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 <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
  */
 
 #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 <sys/types.h>
+
+#include <ctype.h>
+#include <string.h>
+
 #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;
This page took 0.03448 seconds and 4 git commands to generate.