diff --git a/CHANGELOG.md b/CHANGELOG.md index ec1b5eeb..a91f5630 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ * Fix: logging ignores not retrievable get_native_id if not supported by OS * Fix: report with enabled expand honors now provided filter proper * Improve: add options [logging] trace_on_debug and trace_filter for supporting trace logging +* Fix: catch case where getpwuid is not returning a username ## 3.5.4 * Improve: item filter enhanced for 3rd level supporting VALARM and honoring TRIGGER (offset or absolute) diff --git a/radicale/utils.py b/radicale/utils.py index b5b42694..1b5a016c 100644 --- a/radicale/utils.py +++ b/radicale/utils.py @@ -225,7 +225,12 @@ def user_groups_as_string(): if sys.platform != "win32": euid = os.geteuid() egid = os.getegid() - username = pwd.getpwuid(euid)[0] + try: + username = pwd.getpwuid(euid)[0] + except Exception: + # name of user not found + s = "user=(%d) group=(%d)" % (euid, egid) + return s gids = os.getgrouplist(username, egid) groups = [] for gid in gids: