bug fixing
This commit is contained in:
@@ -108,7 +108,7 @@ if __name__ == '__main__':
|
|||||||
height = 800
|
height = 800
|
||||||
|
|
||||||
try:
|
try:
|
||||||
opts, args = getopt.getopt(sys.argv[1:], "hu:p:d:w:l")
|
opts, args = getopt.getopt(sys.argv[1:], "hu:p:d:w:l:")
|
||||||
except getopt.GetoptError:
|
except getopt.GetoptError:
|
||||||
help()
|
help()
|
||||||
for opt, arg in opts:
|
for opt, arg in opts:
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ class CapabilityFlags(object):
|
|||||||
RNS_UD_CS_WANT_32BPP_SESSION = 0x0002
|
RNS_UD_CS_WANT_32BPP_SESSION = 0x0002
|
||||||
RNS_UD_CS_SUPPORT_STATUSINFO_PDU = 0x0004
|
RNS_UD_CS_SUPPORT_STATUSINFO_PDU = 0x0004
|
||||||
RNS_UD_CS_STRONG_ASYMMETRIC_KEYS = 0x0008
|
RNS_UD_CS_STRONG_ASYMMETRIC_KEYS = 0x0008
|
||||||
RN_UD_CS_UNUSED = 0x0010
|
RNS_UD_CS_UNUSED = 0x0010
|
||||||
RNS_UD_CS_VALID_CONNECTION_TYPE = 0x0020
|
RNS_UD_CS_VALID_CONNECTION_TYPE = 0x0020
|
||||||
RNS_UD_CS_SUPPORT_MONITOR_LAYOUT_PDU = 0x0040
|
RNS_UD_CS_SUPPORT_MONITOR_LAYOUT_PDU = 0x0040
|
||||||
RNS_UD_CS_SUPPORT_NETCHAR_AUTODETECT = 0x0080
|
RNS_UD_CS_SUPPORT_NETCHAR_AUTODETECT = 0x0080
|
||||||
|
|||||||
@@ -484,7 +484,7 @@ class RDPInfo(CompositeType):
|
|||||||
#code page
|
#code page
|
||||||
self.codePage = UInt32Le()
|
self.codePage = UInt32Le()
|
||||||
#support flag
|
#support flag
|
||||||
self.flag = UInt32Le(InfoFlag.INFO_MOUSE | InfoFlag.INFO_UNICODE | InfoFlag.INFO_LOGONERRORS | InfoFlag.INFO_LOGONNOTIFY | InfoFlag.INFO_ENABLEWINDOWSKEY | InfoFlag.INFO_DISABLECTRLALTDEL | InfoFlag.INFO_AUTOLOGON)
|
self.flag = UInt32Le(InfoFlag.INFO_MOUSE | InfoFlag.INFO_UNICODE | InfoFlag.INFO_AUTOLOGON)
|
||||||
self.cbDomain = UInt16Le(lambda:sizeof(self.domain) - 2)
|
self.cbDomain = UInt16Le(lambda:sizeof(self.domain) - 2)
|
||||||
self.cbUserName = UInt16Le(lambda:sizeof(self.userName) - 2)
|
self.cbUserName = UInt16Le(lambda:sizeof(self.userName) - 2)
|
||||||
self.cbPassword = UInt16Le(lambda:sizeof(self.password) - 2)
|
self.cbPassword = UInt16Le(lambda:sizeof(self.password) - 2)
|
||||||
@@ -524,7 +524,7 @@ class ShareControlHeader(CompositeType):
|
|||||||
def __init__(self, totalLength, pduType, userId):
|
def __init__(self, totalLength, pduType, userId):
|
||||||
"""
|
"""
|
||||||
Set pduType as constant
|
Set pduType as constant
|
||||||
@param totalLength: total length of pdu packet
|
@param totalLength: total length of PDU packet
|
||||||
"""
|
"""
|
||||||
CompositeType.__init__(self)
|
CompositeType.__init__(self)
|
||||||
#share control header
|
#share control header
|
||||||
@@ -577,7 +577,7 @@ class ConfirmActivePDU(CompositeType):
|
|||||||
self.originatorId = UInt16Le(0x03EA, constant = True)
|
self.originatorId = UInt16Le(0x03EA, constant = True)
|
||||||
self.lengthSourceDescriptor = UInt16Le(lambda:sizeof(self.sourceDescriptor))
|
self.lengthSourceDescriptor = UInt16Le(lambda:sizeof(self.sourceDescriptor))
|
||||||
self.lengthCombinedCapabilities = UInt16Le(lambda:(sizeof(self.numberCapabilities) + sizeof(self.pad2Octets) + sizeof(self.capabilitySets)))
|
self.lengthCombinedCapabilities = UInt16Le(lambda:(sizeof(self.numberCapabilities) + sizeof(self.pad2Octets) + sizeof(self.capabilitySets)))
|
||||||
self.sourceDescriptor = String("RDPY", readLen = self.lengthSourceDescriptor)
|
self.sourceDescriptor = String("rdpy", readLen = self.lengthSourceDescriptor)
|
||||||
self.numberCapabilities = UInt16Le(lambda:len(self.capabilitySets._array))
|
self.numberCapabilities = UInt16Le(lambda:len(self.capabilitySets._array))
|
||||||
self.pad2Octets = UInt16Le()
|
self.pad2Octets = UInt16Le()
|
||||||
self.capabilitySets = ArrayType(caps.Capability, readLen = self.numberCapabilities)
|
self.capabilitySets = ArrayType(caps.Capability, readLen = self.numberCapabilities)
|
||||||
@@ -744,10 +744,6 @@ class UpdateDataPDU(CompositeType):
|
|||||||
def UpdateDataFactory():
|
def UpdateDataFactory():
|
||||||
if self.updateType.value == UpdateType.UPDATETYPE_BITMAP:
|
if self.updateType.value == UpdateType.UPDATETYPE_BITMAP:
|
||||||
return BitmapUpdateDataPDU()
|
return BitmapUpdateDataPDU()
|
||||||
|
|
||||||
elif self.updateType.value == UpdateType.UPDATETYPE_SYNCHRONIZE:
|
|
||||||
return SynchronizeUpdatePDU()
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
return String()
|
return String()
|
||||||
|
|
||||||
@@ -1076,9 +1072,8 @@ class PDU(LayerAutomata, tpkt.FastPathListener):
|
|||||||
message = "Unknown code %s"%hex(dataPDU.pduData.errorInfo.value)
|
message = "Unknown code %s"%hex(dataPDU.pduData.errorInfo.value)
|
||||||
if ErrorInfo._MESSAGES_.has_key(dataPDU.pduData.errorInfo):
|
if ErrorInfo._MESSAGES_.has_key(dataPDU.pduData.errorInfo):
|
||||||
message = ErrorInfo._MESSAGES_[dataPDU.pduData.errorInfo]
|
message = ErrorInfo._MESSAGES_[dataPDU.pduData.errorInfo]
|
||||||
|
|
||||||
raise ErrorReportedFromPeer("Receive PDU Error info : %s"%message)
|
|
||||||
|
|
||||||
|
print "Error INFO PDU : %s"%message
|
||||||
|
|
||||||
def recvDemandActivePDU(self, data):
|
def recvDemandActivePDU(self, data):
|
||||||
"""
|
"""
|
||||||
@@ -1147,6 +1142,8 @@ class PDU(LayerAutomata, tpkt.FastPathListener):
|
|||||||
@param data: Stream from transport layer
|
@param data: Stream from transport layer
|
||||||
"""
|
"""
|
||||||
dataPDU = self.readDataPDU(data)
|
dataPDU = self.readDataPDU(data)
|
||||||
|
if dataPDU is None:
|
||||||
|
return
|
||||||
if dataPDU.shareDataHeader.pduType2.value == PDUType2.PDUTYPE2_UPDATE and dataPDU.pduData.updateType.value == UpdateType.UPDATETYPE_BITMAP:
|
if dataPDU.shareDataHeader.pduType2.value == PDUType2.PDUTYPE2_UPDATE and dataPDU.pduData.updateType.value == UpdateType.UPDATETYPE_BITMAP:
|
||||||
self._clientListener.onUpdate(dataPDU.pduData.updateData.rectangles._array)
|
self._clientListener.onUpdate(dataPDU.pduData.updateData.rectangles._array)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user