From ad3be5a04a28fcfb38ac2064acfd669b8ae61ea4 Mon Sep 17 00:00:00 2001 From: Klemens Nanni Date: Tue, 12 Nov 2024 01:58:07 +0300 Subject: [PATCH] Lookup user/group by ID first, then by name to improve error message `-user foo` would fail with an ugly `panic: strconv.Atoi: parsing "foo": invalid syntax` as returned by `user.LookupId()`, whereas `user.Lookup()` nicely says `panic: user: unknown user foo` In chuser() it does not matter whether we check by ID or name first, so flip the order to get sensible logs without `fmt.Errorf()` wrapping. --- cmd/yggdrasil/chuser_unix.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/yggdrasil/chuser_unix.go b/cmd/yggdrasil/chuser_unix.go index ef8166d5..fc3e5c2c 100644 --- a/cmd/yggdrasil/chuser_unix.go +++ b/cmd/yggdrasil/chuser_unix.go @@ -22,8 +22,8 @@ func chuser(input string) error { uid, gid int ) - if usr, err = user.Lookup(givenUser); err != nil { - if usr, err = user.LookupId(givenUser); err != nil { + if usr, err = user.LookupId(givenUser); err != nil { + if usr, err = user.Lookup(givenUser); err != nil { return err } } @@ -32,8 +32,8 @@ func chuser(input string) error { } if givenGroup != "" { - if grp, err = user.LookupGroup(givenGroup); err != nil { - if grp, err = user.LookupGroupId(givenGroup); err != nil { + if grp, err = user.LookupGroupId(givenGroup); err != nil { + if grp, err = user.LookupGroup(givenGroup); err != nil { return err } }