If I configure "LongName_60characters_1234567890_1234567890_1234567890_12345" as a hostname then I get this crash for vsmserver:
> Traceback (most recent call last):
> File "/opt/thinlinc/sbin/vsmserver", line 18, in <module>
> OOoOoo000O00 ( )
> File "/opt/thinlinc/sbin/vsmserver", line 15, in OOoOoo000O00
> VSMServer ( sys . argv )
> File "/opt/thinlinc/modules/thinlinc/vsm/vsmserver.py", line 168, in __init__
> self . loop ( )
> File "/opt/thinlinc/modules/thinlinc/vsm/asyncbase.py", line 426, in loop
> OooO0O00o0 = self . run_delayed_calls ( )
> File "/opt/thinlinc/modules/thinlinc/vsm/asyncbase.py", line 384, in run_delayed_calls
> I1I1IIi1IIIi . func ( * I1I1IIi1IIIi . args , ** I1I1IIi1IIIi . kw )
> File "/opt/thinlinc/modules/thinlinc/vsm/loadbalancer.py", line 196, in periodic_update
> GetLoadCall ( OO00OOooO , ii , self . periodic_update ,
> File "/opt/thinlinc/modules/thinlinc/vsm/call_getload.py", line 25, in __init__
> self . xmlrpc_call ( 'get_load' )
> File "/opt/thinlinc/modules/thinlinc/vsm/xmlrpc.py", line 335, in xmlrpc_call
> self . create_xmlrpc_call ( methodname , params )
> File "/opt/thinlinc/modules/thinlinc/vsm/xmlrpc.py", line 363, in create_xmlrpc_call
> oO0 += b"Host: " + self . url [ 1 ] . encode ( "idna" ) + b"\r\n"
> UnicodeError: encoding with 'idna' codec failed (UnicodeError: label too long)
This should of course be handled better. It is also extra concerning that it brings down the entire vsmserver and not just fails to communicate with that agent.
Hopefully this rarely happens in practice as this limit is a DNS thing and not imposed by ThinLinc or Python. As such there should be no machines configured this way.
Seen while testing 4.14.0post on Ubuntu 20.04.