mirror of git://anongit.mindrot.org/openssh.git
upstream: make parsing user@host consistently look for the last '@' in
the string rather than the first. This makes it possible to use usernames that contain '@' characters. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prompted by Max Zettlmeißl; feedback/ok millert@ OpenBSD-Commit-ID: 0b16eec246cda15469ebdcf3b1e2479810e394c5
This commit is contained in:
parent
13cc78d016
commit
a8ad7a2952
8
match.c
8
match.c
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: match.c,v 1.44 2023/04/06 03:19:32 djm Exp $ */
|
/* $OpenBSD: match.c,v 1.45 2024/09/06 02:30:44 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
|
@ -241,7 +241,7 @@ match_user(const char *user, const char *host, const char *ipaddr,
|
||||||
|
|
||||||
/* test mode */
|
/* test mode */
|
||||||
if (user == NULL && host == NULL && ipaddr == NULL) {
|
if (user == NULL && host == NULL && ipaddr == NULL) {
|
||||||
if ((p = strchr(pattern, '@')) != NULL &&
|
if ((p = strrchr(pattern, '@')) != NULL &&
|
||||||
match_host_and_ip(NULL, NULL, p + 1) < 0)
|
match_host_and_ip(NULL, NULL, p + 1) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -250,11 +250,11 @@ match_user(const char *user, const char *host, const char *ipaddr,
|
||||||
if (user == NULL)
|
if (user == NULL)
|
||||||
return 0; /* shouldn't happen */
|
return 0; /* shouldn't happen */
|
||||||
|
|
||||||
if ((p = strchr(pattern, '@')) == NULL)
|
if (strrchr(pattern, '@') == NULL)
|
||||||
return match_pattern(user, pattern);
|
return match_pattern(user, pattern);
|
||||||
|
|
||||||
pat = xstrdup(pattern);
|
pat = xstrdup(pattern);
|
||||||
p = strchr(pat, '@');
|
p = strrchr(pat, '@');
|
||||||
*p++ = '\0';
|
*p++ = '\0';
|
||||||
|
|
||||||
if ((ret = match_pattern(user, pat)) == 1)
|
if ((ret = match_pattern(user, pat)) == 1)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: ssh-add.c,v 1.172 2024/01/11 01:45:36 djm Exp $ */
|
/* $OpenBSD: ssh-add.c,v 1.173 2024/09/06 02:30:44 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
|
@ -698,7 +698,7 @@ parse_dest_constraint_hop(const char *s, struct dest_constraint_hop *dch,
|
||||||
|
|
||||||
memset(dch, '\0', sizeof(*dch));
|
memset(dch, '\0', sizeof(*dch));
|
||||||
os = xstrdup(s);
|
os = xstrdup(s);
|
||||||
if ((host = strchr(os, '@')) == NULL)
|
if ((host = strrchr(os, '@')) == NULL)
|
||||||
host = os;
|
host = os;
|
||||||
else {
|
else {
|
||||||
*host++ = '\0';
|
*host++ = '\0';
|
||||||
|
|
Loading…
Reference in New Issue