You get this traceback and a dead agent if any user contains any non-ascii characters: > Traceback (most recent call last): > File "/opt/thinlinc/sbin/vsmagent", line 20, in <module> > VSMAgent ( sys . argv ) > File "/opt/thinlinc/modules/thinlinc/vsm/vsmagent.py", line 148, in __init__ > self . housekeeping ( ) > File "/opt/thinlinc/modules/thinlinc/vsm/vsmagent.py", line 180, in housekeeping > self . update_sshd_permitopen ( ) > File "/opt/thinlinc/modules/thinlinc/vsm/vsmagent.py", line 405, in update_sshd_permitopen > OOoo = locale_encode ( pwd . getpwuid ( iIiIiIiI ) . pw_name ) > File "/opt/thinlinc/modules/thinlinc/ctccommon.py", line 411, in locale_encode > return s . encode ( OOooo0oOO0O ) > UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1: ordinal not in range(128)
Note that this is a *decode* error, which indicates makes this entire thing suspect. The return value in pw_name should already be encoded in the system character set. Probably needs a general review.
It can be worth checking if this is fixed as of the Python 3 conversion.
This has been fixed with the Python 3 conversion (Bug 4586). Tested tl-4.13.0 on Ubuntu 20.04 with a user named "test€r". PermitOpen function works just fine and I don't get any traceback in the logs.