Created attachment 12554 [details] uds.log Версия пакета: openuds-server-3.5.0-alt6 При попытке подключения через транспорт SPICE Tunnel с клиента открывается окно remote-viewer с сообщением "Подключение к графическому серверу" и больше ничего не происходит. Удалённая система: виртуальная машина в OpenNebula. Прикладываю логи uds.log в момент попытки подключения. В логах смущают следующие строки: DEBUG 2023-02-17 14:32:31,337 client get 210 Data:####### {'as_file': '[virt-viewer]\ntype=spice\nhost=127.0.0.1\nport={port}\npassword=\ntls-port={secure_port}\nfullscreen=0\ntitle=UDS Enterprise:%d - Press SHIFT+F12 to Release Cursor\nenable-smartcard=0\nenable-usb-autoshare=0\nenable-usbredir=0\ndelete-this-file=1\nusb-filter=-1,-1,-1,-1,0\ntls-ciphers=DEFAULT\nhost-subject=\nca=\ntoggle-fullscreen=shift+f11\nrelease-cursor=shift+f12\nsecure-attention=ctrl+alt+end\n\n', 'as_file_ns': '[virt-viewer]\ntype=spice\nhost=127.0.0.1\nport={port}\npassword=\ntls-port={secure_port}\nfullscreen=0\ntitle=UDS Enterprise:%d - Press SHIFT+F12 to Release Cursor\nenable-smartcard=0\nenable-usb-autoshare=0\nenable-usbredir=0\ndelete-this-file=1\nusb-filter=-1,-1,-1,-1,0\ntls-ciphers=DEFAULT\nhost-subject=\nca=\ntoggle-fullscreen=shift+f11\nrelease-cursor=shift+f12\nsecure-attention=ctrl+alt+end\n\n', 'tunHost': '10.88.14.95', 'tunPort': '7777', 'tunWait': 30, 'tunChk': False, 'ticket': 'vtmjltdh2f206ctksawoelf4outj5nkqugvcnno8VtCUywCb', 'ticket_secure': '3d6suoluyrjxipxhedcozleppf52o9iywt6tp4fwqio8yDsc'} а именно: [virt-viewer] type=spice host=127.0.0.1 port={port} tls-port={secure_port} И в самом коде: r = RemoteViewerFile( '127.0.0.1', '{port}', '{secure_port}', https://git.altlinux.org/gears/o/openuds-server.git?p=openuds-server.git;a=blob;f=server/src/uds/transports/SPICE/spice_tunnel.py;h=fe2e895a973702fe72fcdd99b3713b90881d4d9d;hb=fc01ff09559cf2f6c1be659a5ecb6505af10b4f5#l144 Примечание: 1. Через транспорт SPICE Direct подключение выполняется успешно. 2. Подключение остальных протоколов (HTML5, RDP, X2GO) через туннель выполняется успешно.
Ошибка не воспроизводится в версии openuds 4.0.0
Версия пакета: openuds-server-4.0.0-alt4 Воспроизводится и чинится так: --- a/spicetunnel.py +++ b/spicetunnel.py @@ -141,9 +141,9 @@ class TSPICETransport(BaseSpiceTransport): ) r = RemoteViewerFile( - '127.0.0.1', - '{port}', - '{secure_port}', + con.address, + str(con.port), + str(con.secure_port), con.ticket.value, # This is secure ticket from kvm, not UDS ticket con.ca or self.server_certificate.value.strip(), con.cert_subject, Преобразование к строковому типу можно вынести перед r = RemoteViewerFile, аналогично исходному коду для прямого SPICE подключения: port: str = str(con.port) or '-1' secure_port: str = str(con.secure_port) or '-1'
(Ответ для Vladislav Glinkin на комментарий #2) > Версия пакета: openuds-server-4.0.0-alt4 > > Воспроизводится и чинится так: > --- a/spicetunnel.py > +++ b/spicetunnel.py > @@ -141,9 +141,9 @@ class TSPICETransport(BaseSpiceTransport): > ) > > r = RemoteViewerFile( > - '127.0.0.1', > - '{port}', > - '{secure_port}', > + con.address, > + str(con.port), > + str(con.secure_port), > con.ticket.value, # This is secure ticket from kvm, not UDS > ticket > con.ca or self.server_certificate.value.strip(), > con.cert_subject, > > Преобразование к строковому типу можно вынести перед r = RemoteViewerFile, > аналогично исходному коду для прямого SPICE подключения: > port: str = str(con.port) or '-1' > secure_port: str = str(con.secure_port) or '-1' Это изменение превращает Tunneled SPICE в Direct SPICE, поэтому все и работает. Для того, чтобы исправить проблему, мне необходимо больше информации. Куницкий Дмитрий писал, что у него данная ошибка не воспроизводится, поэтому, вероятно, вы ошиблись в конфигурации. Дмитрий, что вы использовали в своем сервере для того, чтобы Tunneled SPICE корректно подключался?
(Ответ для Alexander Burmatov на комментарий #3) > Дмитрий, что вы использовали в своем сервере для того, чтобы Tunneled SPICE > корректно подключался? К сожалению полную конфигурацию я сейчас не вспомню, но точно помню что в логах у меня никаких ошибок не было. И подключение выполнялось