diff --git a/server/src/uds/transports/RDP/BaseRDPTransport.py b/server/src/uds/transports/RDP/BaseRDPTransport.py index e8d0dfb3b..2c3409539 100644 --- a/server/src/uds/transports/RDP/BaseRDPTransport.py +++ b/server/src/uds/transports/RDP/BaseRDPTransport.py @@ -42,7 +42,7 @@ from uds.core.util import connection import logging import os -__updated__ = '2017-02-13' +__updated__ = '2017-03-20' logger = logging.getLogger(__name__) @@ -71,6 +71,7 @@ class BaseRDPTransport(Transport): multimon = gui.CheckBoxField(label=_('Multiple monitors'), order=21, tooltip=_('If checked, all client monitors will be used for displaying (only works on windows clients)'), tab=gui.PARAMETERS_TAB) aero = gui.CheckBoxField(label=_('Allow Desk.Comp.'), order=22, tooltip=_('If checked, desktop composition will be allowed'), tab=gui.PARAMETERS_TAB) smooth = gui.CheckBoxField(label=_('Font Smoothing'), order=23, tooltip=_('If checked, fonts smoothing will be allowed (windows clients only)'), tab=gui.PARAMETERS_TAB) + credssp = gui.CheckBoxField(label=_('Credssp Support'), order=24, tooltip=_('If checked, will enalbe Credentials Provider Support)'), tab=gui.PARAMETERS_TAB) multimedia = gui.CheckBoxField(label=_('Multimedia sync'), order=25, tooltip=_('If checked. Linux client will use multimedia parameter for xfreerdp'), tab='Linux Client') alsa = gui.CheckBoxField(label=_('Use Alsa'), order=26, tooltip=_('If checked, Linux client will try to use ALSA, otherwise Pulse will be used'), tab='Linux Client') printerString = gui.TextField(label=_('Printer string'), order=27, tooltip=_('If printer is checked, the printer string used with xfreerdp client'), tab='Linux Client') diff --git a/server/src/uds/transports/RDP/RDPFile.py b/server/src/uds/transports/RDP/RDPFile.py index 2fdf1d988..895aac346 100644 --- a/server/src/uds/transports/RDP/RDPFile.py +++ b/server/src/uds/transports/RDP/RDPFile.py @@ -40,7 +40,7 @@ from uds.core.util import OsDetector import six import os -__updated__ = '2017-03-17' +__updated__ = '2017-03-20' class RDPFile(object): @@ -67,6 +67,7 @@ class RDPFile(object): smoothFonts = True printerString = None smartcardString = None + enablecredsspsupport = False def __init__(self, fullScreen, width, height, bpp, target=OsDetector.Windows): self.width = six.text_type(width) @@ -242,7 +243,6 @@ class RDPFile(object): res += 'disable themes:i:' + disableWallpaper + '\n' res += 'bitmapcachepersistenable:i:1' + '\n' res += 'authentication level:i:0' + '\n' - res += 'enablecredsspsupport:i:0' + '\n' res += 'prompt for credentials:i:0' + '\n' res += 'negotiate security layer:i:1\n' res += 'videoplaybackmode:i:1\n' @@ -254,6 +254,8 @@ class RDPFile(object): if self.redirectAudio is True: res += 'audiocapturemode:i:1\n' + res += 'enablecredsspsupport:i:{}\n'.format(0 if self.enablecredsspsupport is False else 1) + return res def getMacOsX(self): diff --git a/server/src/uds/transports/RDP/RDPTransport.py b/server/src/uds/transports/RDP/RDPTransport.py index 6cb285496..7612a4413 100644 --- a/server/src/uds/transports/RDP/RDPTransport.py +++ b/server/src/uds/transports/RDP/RDPTransport.py @@ -44,7 +44,7 @@ logger = logging.getLogger(__name__) READY_CACHE_TIMEOUT = 30 -__updated__ = '2017-02-13' +__updated__ = '2017-03-20' class RDPTransport(BaseRDPTransport): @@ -69,6 +69,7 @@ class RDPTransport(BaseRDPTransport): multimon = BaseRDPTransport.multimon aero = BaseRDPTransport.aero smooth = BaseRDPTransport.smooth + credssp = BaseRDPTransport.credssp multimedia = BaseRDPTransport.multimedia alsa = BaseRDPTransport.alsa printerString = BaseRDPTransport.printerString @@ -97,6 +98,7 @@ class RDPTransport(BaseRDPTransport): r.multimon = self.multimon.isTrue() r.desktopComposition = self.aero.isTrue() r.smoothFonts = self.smooth.isTrue() + r.enablecredsspsupport = self.credssp.isTrue() r.multimedia = self.multimedia.isTrue() r.alsa = self.alsa.isTrue() r.smartcardString = self.smartcardString.value diff --git a/server/src/uds/transports/RDP/TRDPTransport.py b/server/src/uds/transports/RDP/TRDPTransport.py index 32aae9799..5ecb8f65f 100644 --- a/server/src/uds/transports/RDP/TRDPTransport.py +++ b/server/src/uds/transports/RDP/TRDPTransport.py @@ -48,7 +48,7 @@ import logging import random import string -__updated__ = '2017-02-13' +__updated__ = '2017-03-20' logger = logging.getLogger(__name__) @@ -87,6 +87,7 @@ class TRDPTransport(BaseRDPTransport): multimon = BaseRDPTransport.multimon aero = BaseRDPTransport.aero smooth = BaseRDPTransport.smooth + credssp = BaseRDPTransport.credssp multimedia = BaseRDPTransport.multimedia alsa = BaseRDPTransport.alsa printerString = BaseRDPTransport.printerString @@ -127,6 +128,7 @@ class TRDPTransport(BaseRDPTransport): r.multimon = self.multimon.isTrue() r.desktopComposition = self.aero.isTrue() r.smoothFonts = self.smooth.isTrue() + r.enablecredsspsupport = self.credssp.isTrue() r.multimedia = self.multimedia.isTrue() r.alsa = self.alsa.isTrue() r.smartcardString = self.smartcardString.value