From a612c11c58dd2528e41fb16cdefec2342d91c9cb Mon Sep 17 00:00:00 2001 From: speyrefitte Date: Thu, 17 Jul 2014 17:43:49 +0200 Subject: [PATCH] update readme --- README.md | 12 ++++++------ rdpy/protocol/rdp/pdu.py | 9 +++------ 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index aa7edb5..a911b58 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@ Remote Desktop Protocol in Twisted Python. -RDPY is full python implementation of RDP and VNC protocol, except the bitmap uncompress for performance. The main goal of RDPY is not to be as faster as freerdp, rdesktop or mstsc, but is made to play with microsoft protocol. There are some limitations essentially due to price of license of some Microsoft products (Packet redirection and License extension in RDP protocol). +RDPY is full python implementation of RDP and VNC protocol, except the bitmap uncompress for performance. The main goal of RDPY is not to be as faster as freerdp, rdesktop or mstsc, but is made to play with protocol. You can use it as twisted library. In library mode build step is not necessary until you want to uncompress bitmap data. You can use it as QWidget in your Qt4 application. Most of GUI library compatibility would be implemented. You can use pre made script (call binaries) for rdp and vnc client, or rdp proxy with admin spy port. ## Requirements -### twisted library requirements +### Twisted library requirements * python2.7 * python-twisted @@ -25,8 +25,8 @@ $ git clone https://github.com/citronneur/rdpy.git rdpy $ scons -C rdpy/lib install ``` -## Library -To create an RDP client: +## Library Mode +To create a RDP client: ``` from rdpy.protocol.rdp import rdp class MyRDPFactory(rdp.ClientFactory): @@ -58,12 +58,12 @@ reactor.run() ``` For more details on client rdp see rdpy/bin/rdpy-rdpclient binaries. -## Binaries +## Binaries Mode RDPY is delivered with 3 binaries : RDP Client ``` -$ rdpy/bin/rdpy-rdpclient XXX.XXX.XXX.XXX 3389 +$ rdpy/bin/rdpy-rdpclient [-u username] [-p password] [-d domain] [...] XXX.XXX.XXX.XXX[:3389] ``` VNC Client diff --git a/rdpy/protocol/rdp/pdu.py b/rdpy/protocol/rdp/pdu.py index 967ad43..f0a9872 100644 --- a/rdpy/protocol/rdp/pdu.py +++ b/rdpy/protocol/rdp/pdu.py @@ -941,6 +941,8 @@ class SlowPathInputEvent(CompositeType): if messageData is None: messageData = FactoryType(SlowPathInputDataFactory) + elif not "_INPUT_MESSAGE_TYPE_" in messageData.__class__.__dict__: + raise InvalidExpectedDataException("try to send an invalid Slow Path Input Event") self.slowPathInputData = messageData @@ -1060,12 +1062,7 @@ class PDULayer(LayerAutomata, tpkt.FastPathListener): caps.CapsType.CAPSTYPE_GLYPHCACHE : caps.Capability(caps.CapsType.CAPSTYPE_GLYPHCACHE, caps.GlyphCapability()), caps.CapsType.CAPSTYPE_OFFSCREENCACHE : caps.Capability(caps.CapsType.CAPSTYPE_OFFSCREENCACHE, caps.OffscreenBitmapCacheCapability()), caps.CapsType.CAPSTYPE_VIRTUALCHANNEL : caps.Capability(caps.CapsType.CAPSTYPE_VIRTUALCHANNEL, caps.VirtualChannelCapability()), - caps.CapsType.CAPSTYPE_SOUND : caps.Capability(caps.CapsType.CAPSTYPE_SOUND, caps.SoundCapability()), - #caps.CapsType.CAPSTYPE_CONTROL : caps.Capability(caps.CapsType.CAPSTYPE_CONTROL, caps.ControlCapability()), - #caps.CapsType.CAPSTYPE_ACTIVATION : caps.Capability(caps.CapsType.CAPSTYPE_ACTIVATION, caps.WindowActivationCapability()), - #caps.CapsType.CAPSTYPE_FONT : caps.Capability(caps.CapsType.CAPSTYPE_FONT, caps.FontCapability()), - #caps.CapsType.CAPSTYPE_COLORCACHE : caps.Capability(caps.CapsType.CAPSTYPE_COLORCACHE, caps.ColorCacheCapability()), - #caps.CapsType.CAPSTYPE_SHARE : caps.Capability(caps.CapsType.CAPSTYPE_SHARE, caps.ShareCapability()) + caps.CapsType.CAPSTYPE_SOUND : caps.Capability(caps.CapsType.CAPSTYPE_SOUND, caps.SoundCapability()) } #share id between client and server self._shareId = 0