diff --git a/client-py3/full/linux/debian/control b/client-py3/full/linux/debian/control index 28b50733..ae9a6a1b 100644 --- a/client-py3/full/linux/debian/control +++ b/client-py3/full/linux/debian/control @@ -10,6 +10,6 @@ Package: udsclient Section: admin Priority: optional Architecture: all -Depends: python-paramiko (>=0.8.2), python-qt4 (>=4.9), python-six(>=1.1), python (>=2.7), freerdp2-x11 | freerdp-x11, desktop-file-utils, ${misc:Depends} +Depends: python-paramiko (>=0.8.2), python3-crypto, python-qt4 (>=4.9), python-six(>=1.1), python (>=2.7), freerdp2-x11 | freerdp-x11, desktop-file-utils, ${misc:Depends} Description: Client connector for Universal Desktop Services (UDS) Broker This package provides the required components to allow this machine to connect to services provided by UDS Broker. diff --git a/client/full/linux/debian/control b/client/full/linux/debian/control index 28b50733..c14084ae 100644 --- a/client/full/linux/debian/control +++ b/client/full/linux/debian/control @@ -10,6 +10,6 @@ Package: udsclient Section: admin Priority: optional Architecture: all -Depends: python-paramiko (>=0.8.2), python-qt4 (>=4.9), python-six(>=1.1), python (>=2.7), freerdp2-x11 | freerdp-x11, desktop-file-utils, ${misc:Depends} +Depends: python-paramiko (>=0.8.2), python-crypto, python-qt4 (>=4.9), python-six(>=1.1), python (>=2.7), freerdp2-x11 | freerdp-x11, desktop-file-utils, ${misc:Depends} Description: Client connector for Universal Desktop Services (UDS) Broker This package provides the required components to allow this machine to connect to services provided by UDS Broker. diff --git a/client/full/src/UDSClient.py b/client/full/src/UDSClient.py index 4d672e6f..d53f8147 100755 --- a/client/full/src/UDSClient.py +++ b/client/full/src/UDSClient.py @@ -110,7 +110,7 @@ class UDSClient(QtGui.QMainWindow): self.stopAnim() self.ui.info.setText('UDS Plugin Error') # In fact, main window is hidden, so this is not visible... :) self.closeWindow() - QtGui.QMessageBox.critical(None, 'UDS Plugin Error', '{}'.format(e), QtGui.QMessageBox.Ok) + QtGui.QMessageBox.critical(None, 'UDS Plugin Error', '{}'.format(error), QtGui.QMessageBox.Ok) self.withError = True def cancelPushed(self): diff --git a/server/src/uds/core/ui/user_interface.py b/server/src/uds/core/ui/user_interface.py index 4db7c4a9..f88ca3ca 100644 --- a/server/src/uds/core/ui/user_interface.py +++ b/server/src/uds/core/ui/user_interface.py @@ -990,7 +990,7 @@ class UserInterface(metaclass=UserInterfaceType): val = pickle.loads(v[1:]) elif v and v[0] == 4: logger.debug('Unpickling crypted') - val = cryptoManager().AESDecrypt(v[1:], UDSB, True) + val = cryptoManager().AESDecrypt(v[1:], UDSB, True).decode() else: val = v # Ensure "legacy bytes" values are loaded correctly as unicode diff --git a/server/src/uds/transports/RDP/scripts/linux/direct.py b/server/src/uds/transports/RDP/scripts/linux/direct.py index 49155eb2..0781b24a 100644 --- a/server/src/uds/transports/RDP/scripts/linux/direct.py +++ b/server/src/uds/transports/RDP/scripts/linux/direct.py @@ -12,19 +12,19 @@ from uds import tools globals()['sp'] = sp # type: ignore # pylint: disable=undefined-variable def execUdsRdp(udsrdp): - # import subprocess # @Reimport + import subprocess # @Reimport params = [udsrdp] + sp['as_new_xfreerdp_params'] + ['/v:{}'.format(sp['address'])] # @UndefinedVariable tools.addTaskToWait(subprocess.Popen(params)) def execNewXFreeRdp(xfreerdp): - # import subprocess # @Reimport + import subprocess # @Reimport params = [xfreerdp] + sp['as_new_xfreerdp_params'] + ['/v:{}'.format(sp['address'])] # @UndefinedVariable tools.addTaskToWait(subprocess.Popen(params)) def execRdesktop(rdesktop): - # import subprocess # @Reimport + import subprocess # @Reimport params = [rdesktop] + sp['as_rdesktop_params'] + [sp['address']] # @UndefinedVariable p = subprocess.Popen(params, stdin=subprocess.PIPE) if sp['password'] != '': # @UndefinedVariable diff --git a/server/src/uds/transports/RDP/scripts/linux/tunnel.py b/server/src/uds/transports/RDP/scripts/linux/tunnel.py index 63066465..a62d71f3 100644 --- a/server/src/uds/transports/RDP/scripts/linux/tunnel.py +++ b/server/src/uds/transports/RDP/scripts/linux/tunnel.py @@ -13,16 +13,19 @@ from uds import tools # @UnresolvedImport globals()['sp'] = sp # type: ignore # pylint: disable=undefined-variable def execUdsRdp(udsrdp, port): + import subprocess # @Reimport params = [udsrdp] + sp['as_new_xfreerdp_params'] + ['/v:127.0.0.1:{}'.format(port)] # @UndefinedVariable tools.addTaskToWait(subprocess.Popen(params)) def execNewXFreeRdp(xfreerdp, port): + import subprocess # @Reimport params = [xfreerdp] + sp['as_new_xfreerdp_params'] + ['/v:127.0.0.1:{}'.format(port)] # @UndefinedVariable tools.addTaskToWait(subprocess.Popen(params)) def execRdesktop(rdesktop, port): + import subprocess # @Reimport params = [rdesktop] + sp['as_rdesktop_params'] + ['127.0.0.1:{}'.format(port)] # @UndefinedVariable p = subprocess.Popen(params, stdin=subprocess.PIPE) if sp['password'] != '':