From e9db7d720f6ee3c9b87d3a1228b3deda0dd1f11c Mon Sep 17 00:00:00 2001 From: speyrefitte Date: Fri, 6 Feb 2015 15:23:44 +0100 Subject: [PATCH] fix issue 16 --- rdpy/protocol/rdp/mcs.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/rdpy/protocol/rdp/mcs.py b/rdpy/protocol/rdp/mcs.py index a004dda..b108879 100644 --- a/rdpy/protocol/rdp/mcs.py +++ b/rdpy/protocol/rdp/mcs.py @@ -515,15 +515,16 @@ class Server(MCSLayer): self.readDomainParams(data) self.readDomainParams(data) self._clientSettings = gcc.readConferenceCreateRequest(Stream(ber.readOctetString(data))) - - i = 1 - for channelDef in self._clientSettings.getBlock(gcc.MessageType.CS_NET).channelDefArray._array: - self._serverSettings.getBlock(gcc.MessageType.SC_NET).channelIdArray._array.append(UInt16Le(i + Channel.MCS_GLOBAL_CHANNEL)) - #if channel can be handle by serve add it - for serverChannelDef, layer in self._virtualChannels: - if channelDef.name == serverChannelDef.name: - self._channels[i + Channel.MCS_GLOBAL_CHANNEL] = layer - i += 1 + + if not self._clientSettings.CS_NET is None: + i = 1 + for channelDef in self._clientSettings.CS_NET.channelDefArray._array: + self._serverSettings.SC_NET.channelIdArray._array.append(UInt16Le(i + Channel.MCS_GLOBAL_CHANNEL)) + #if channel can be handle by serve add it + for serverChannelDef, layer in self._virtualChannels: + if channelDef.name == serverChannelDef.name: + self._channels[i + Channel.MCS_GLOBAL_CHANNEL] = layer + i += 1 self.sendConnectResponse() self.setNextState(self.recvErectDomainRequest)