From: Lennart Poettering Date: Fri, 3 Apr 2020 20:27:09 +0000 (+0200) Subject: userdbctl: drop redundant user name validity check X-Git-Tag: archive/raspbian/245.4-3+rpi1^2~24 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f953a7c937c0640b8269c2b8134dd4a4261373a0;p=systemd.git userdbctl: drop redundant user name validity check The userdb_by_name() invocation immediately following does the same check anyway, no need to do this twice. (Also, make sure we exit the function early on failure) (cherry picked from commit 2aea5883f1d016ec7304acdb59516c30cae92452) Gbp-Pq: Name userdbctl-drop-redundant-user-name-validity-check.patch --- diff --git a/src/userdb/userdbctl.c b/src/userdb/userdbctl.c index b3ddd9d1..793ef6b0 100644 --- a/src/userdb/userdbctl.c +++ b/src/userdb/userdbctl.c @@ -541,16 +541,15 @@ static int ssh_authorized_keys(int argc, char *argv[], void *userdata) { _cleanup_(user_record_unrefp) UserRecord *ur = NULL; int r; - if (!valid_user_group_name(argv[1])) - return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Invalid user name '%s'.", argv[1]); - r = userdb_by_name(argv[1], arg_userdb_flags, &ur); if (r == -ESRCH) - log_error_errno(r, "User %s does not exist.", argv[1]); + return log_error_errno(r, "User %s does not exist.", argv[1]); else if (r == -EHOSTDOWN) - log_error_errno(r, "Selected user database service is not available for this request."); + return log_error_errno(r, "Selected user database service is not available for this request."); + else if (r == -EINVAL) + return log_error_errno(r, "Failed to find user %s: %m (Invalid user name?)", argv[1]); else if (r < 0) - log_error_errno(r, "Failed to find user %s: %m", argv[1]); + return log_error_errno(r, "Failed to find user %s: %m", argv[1]); if (strv_isempty(ur->ssh_authorized_keys)) log_debug("User record for %s has no public SSH keys.", argv[1]);