diff --git a/CHANGELOG.md b/CHANGELOG.md index 8211bb3a..0ea3d6cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## v1.0.5 + +FIX: `zrok enable` now handles the case where the user ID does not resolve to a username when generating the default environment description (https://github.com/openziti/zrok/issues/959) + ## v1.0.4 FIX: `zrok admin bootstrap` and `zrok enable` functionality were broken in `v1.0.3`. A bad combination of dependencies caused issues with marshalling data from the associated controller endpoints diff --git a/cmd/zrok/enable.go b/cmd/zrok/enable.go index 3a0de186..f9476f9d 100644 --- a/cmd/zrok/enable.go +++ b/cmd/zrok/enable.go @@ -56,14 +56,16 @@ func (cmd *enableCommand) run(_ *cobra.Command, args []string) { panic(err) } var username string - user, err := user2.Current() - if err != nil { - username := os.Getenv("USER") - if username == "" { - logrus.Panicf("unable to determine the current user: %v", err) - } + userObj, err := user2.Current() + if err == nil && userObj.Username != "" { + username = userObj.Username } else { - username = user.Username + username = os.Getenv("USER") + if username == "" { + euid := os.Geteuid() + username = fmt.Sprintf("user-%d", euid) + logrus.Warnf("unable to determine the current user, using effective UID: %v", euid) + } } hostDetail = fmt.Sprintf("%v; %v", username, hostDetail) if cmd.description == "@" {