mirror of
https://github.com/dkmstr/openuds.git
synced 2025-03-13 08:58:35 +03:00
Removed support of tunnel for proxied SPICE connection (not supported)
This commit is contained in:
parent
cf0f6a0cce
commit
5907985719
@ -100,7 +100,6 @@ class TSPICETransport(BaseSpiceTransport):
|
||||
autoNewUsbShare = BaseSpiceTransport.autoNewUsbShare
|
||||
smartCardRedirect = BaseSpiceTransport.smartCardRedirect
|
||||
sslConnection = BaseSpiceTransport.SSLConnection
|
||||
overridedProxy = BaseSpiceTransport.overridedProxy
|
||||
|
||||
def initialize(self, values: 'Module.ValuesType'):
|
||||
if values:
|
||||
@ -119,10 +118,12 @@ class TSPICETransport(BaseSpiceTransport):
|
||||
password: str,
|
||||
request: 'HttpRequest',
|
||||
) -> typing.Tuple[str, str, typing.Mapping[str, typing.Any]]:
|
||||
|
||||
|
||||
try:
|
||||
userServiceInstance: typing.Any = userService.getInstance()
|
||||
con: typing.Dict[str, typing.Any] = userServiceInstance.getConsoleConnection()
|
||||
con: typing.Dict[
|
||||
str, typing.Any
|
||||
] = userServiceInstance.getConsoleConnection()
|
||||
except Exception:
|
||||
logger.exception('Error getting console connection data')
|
||||
raise
|
||||
@ -131,52 +132,36 @@ class TSPICETransport(BaseSpiceTransport):
|
||||
# We MAY need two tickets, one for 'insecure' port an one for secure
|
||||
ticket = ''
|
||||
ticket_secure = ''
|
||||
if 'proxy' not in con:
|
||||
if con['port']:
|
||||
ticket = TicketStore.create_for_tunnel(
|
||||
userService=userService,
|
||||
port=int(con['port']),
|
||||
validity=self.tunnelWait.num() + 60, # Ticket overtime
|
||||
)
|
||||
|
||||
if con['secure_port']:
|
||||
ticket_secure = TicketStore.create_for_tunnel(
|
||||
userService=userService,
|
||||
port=int(con['secure_port']),
|
||||
validity=self.tunnelWait.num() + 60, # Ticket overtime
|
||||
)
|
||||
|
||||
r = RemoteViewerFile(
|
||||
'127.0.0.1',
|
||||
'{port}',
|
||||
'{secure_port}',
|
||||
con['ticket']['value'], # This is secure ticket from kvm, not UDS ticket
|
||||
con.get('ca', self.serverCertificate.value.strip()),
|
||||
con['cert_subject'],
|
||||
fullscreen=self.fullScreen.isTrue(),
|
||||
if 'proxy' in con:
|
||||
logger.exception('Proxied SPICE tunnels are not suppoorted')
|
||||
return super().getUDSTransportScript(
|
||||
userService, transport, ip, os, user, password, request
|
||||
)
|
||||
else:
|
||||
con['proxy'] = self.overridedProxy.value.strip() or con['proxy']
|
||||
# extract host and port from proxy url
|
||||
host, port = con['proxy'].split('://')[1].split(':')[0:2]
|
||||
|
||||
if con['port']:
|
||||
ticket = TicketStore.create_for_tunnel(
|
||||
userService=userService,
|
||||
host=host,
|
||||
port=int(port),
|
||||
port=int(con['port']),
|
||||
validity=self.tunnelWait.num() + 60, # Ticket overtime
|
||||
)
|
||||
|
||||
r = RemoteViewerFile(
|
||||
con.get('address', ''),
|
||||
con.get('port', ''),
|
||||
con.get('secure_port', ''),
|
||||
con['ticket']['value'], # password
|
||||
con.get('ca', self.serverCertificate.value.strip()),
|
||||
con['cert_subject'],
|
||||
fullscreen=self.fullScreen.isTrue(),
|
||||
if con['secure_port']:
|
||||
ticket_secure = TicketStore.create_for_tunnel(
|
||||
userService=userService,
|
||||
port=int(con['secure_port']),
|
||||
validity=self.tunnelWait.num() + 60, # Ticket overtime
|
||||
)
|
||||
# Set proxy to 127.0.0.1:{port}
|
||||
r.proxy = con['proxy'].split('://')[0] + '://127.0.0.1:{port}'
|
||||
|
||||
r = RemoteViewerFile(
|
||||
'127.0.0.1',
|
||||
'{port}',
|
||||
'{secure_port}',
|
||||
con['ticket']['value'], # This is secure ticket from kvm, not UDS ticket
|
||||
con.get('ca', self.serverCertificate.value.strip()),
|
||||
con['cert_subject'],
|
||||
fullscreen=self.fullScreen.isTrue(),
|
||||
)
|
||||
|
||||
r.usb_auto_share = self.usbShare.isTrue()
|
||||
r.new_usb_auto_share = self.autoNewUsbShare.isTrue()
|
||||
|
Loading…
x
Reference in New Issue
Block a user