diff options
author | Ben Lindstrom <mouring@eviladmin.org> | 2001-07-04 04:56:44 +0000 |
---|---|---|
committer | Ben Lindstrom <mouring@eviladmin.org> | 2001-07-04 04:56:44 +0000 |
commit | 60260022eeb9ca1a1e0f25eb51e354433c3566a4 (patch) | |
tree | 77f1141b045650ca4540dd8561bd474c918792cb /match.c | |
parent | bddd551e1143ba2b7bf0cd453c15b97817bc917d (diff) |
- markus@cvs.openbsd.org 2001/06/27 04:48:53
[auth.c match.c sshd.8]
tridge@samba.org
Diffstat (limited to 'match.c')
-rw-r--r-- | match.c | 26 |
1 files changed, 25 insertions, 1 deletions
@@ -35,7 +35,7 @@ | |||
35 | */ | 35 | */ |
36 | 36 | ||
37 | #include "includes.h" | 37 | #include "includes.h" |
38 | RCSID("$OpenBSD: match.c,v 1.13 2001/06/24 05:25:10 markus Exp $"); | 38 | RCSID("$OpenBSD: match.c,v 1.14 2001/06/27 04:48:53 markus Exp $"); |
39 | 39 | ||
40 | #include "match.h" | 40 | #include "match.h" |
41 | #include "xmalloc.h" | 41 | #include "xmalloc.h" |
@@ -185,6 +185,30 @@ match_host_and_ip(const char *host, const char *ipaddr, | |||
185 | } | 185 | } |
186 | 186 | ||
187 | /* | 187 | /* |
188 | * match user, user@host_or_ip, user@host_or_ip_list against pattern | ||
189 | */ | ||
190 | int | ||
191 | match_user(const char *user, const char *host, const char *ipaddr, | ||
192 | const char *pattern) | ||
193 | { | ||
194 | char *p, *pat; | ||
195 | int ret; | ||
196 | |||
197 | if ((p = strchr(pattern,'@')) == NULL) | ||
198 | return match_pattern(user, pattern); | ||
199 | |||
200 | pat = xstrdup(pattern); | ||
201 | p = strchr(pat, '@'); | ||
202 | *p++ = '\0'; | ||
203 | |||
204 | if ((ret = match_pattern(user, pat)) == 1) | ||
205 | ret = match_host_and_ip(host, ipaddr, p); | ||
206 | xfree(pat); | ||
207 | |||
208 | return ret; | ||
209 | } | ||
210 | |||
211 | /* | ||
188 | * Returns first item from client-list that is also supported by server-list, | 212 | * Returns first item from client-list that is also supported by server-list, |
189 | * caller must xfree() returned string. | 213 | * caller must xfree() returned string. |
190 | */ | 214 | */ |