diff options
author | djm@openbsd.org <djm@openbsd.org> | 2018-06-01 03:33:53 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2018-06-01 13:35:59 +1000 |
commit | 9c935dd9bf05628826ad2495d3e8bdf3d3271c21 (patch) | |
tree | 35ccf63e51d3daf2fa927b843d813295e41e96e6 /auth.c | |
parent | d8748b91d1d6c108c0c260ed41fa55f37b9ef34b (diff) |
upstream: make UID available as a %-expansion everywhere that the
username is available currently. In the client this is via %i, in the server
%U (since %i was already used in the client in some places for this, but used
for something different in the server); bz#2870, ok dtucker@
OpenBSD-Commit-ID: c7e912b0213713316cb55db194b3a6415b3d4b95
Diffstat (limited to 'auth.c')
-rw-r--r-- | auth.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: auth.c,v 1.128 2018/05/25 07:11:01 djm Exp $ */ | 1 | /* $OpenBSD: auth.c,v 1.129 2018/06/01 03:33:53 djm Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 3 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
4 | * | 4 | * |
@@ -422,11 +422,13 @@ auth_root_allowed(struct ssh *ssh, const char *method) | |||
422 | char * | 422 | char * |
423 | expand_authorized_keys(const char *filename, struct passwd *pw) | 423 | expand_authorized_keys(const char *filename, struct passwd *pw) |
424 | { | 424 | { |
425 | char *file, ret[PATH_MAX]; | 425 | char *file, uidstr[32], ret[PATH_MAX]; |
426 | int i; | 426 | int i; |
427 | 427 | ||
428 | snprintf(uidstr, sizeof(uidstr), "%llu", | ||
429 | (unsigned long long)pw->pw_uid); | ||
428 | file = percent_expand(filename, "h", pw->pw_dir, | 430 | file = percent_expand(filename, "h", pw->pw_dir, |
429 | "u", pw->pw_name, (char *)NULL); | 431 | "u", pw->pw_name, "U", uidstr, (char *)NULL); |
430 | 432 | ||
431 | /* | 433 | /* |
432 | * Ensure that filename starts anchored. If not, be backward | 434 | * Ensure that filename starts anchored. If not, be backward |