| // Licensed to the Apache Software Foundation (ASF) under one | |
| // or more contributor license agreements. See the NOTICE file | |
| // distributed with this work for additional information | |
| // regarding copyright ownership. The ASF licenses this file | |
| // to you under the Apache License, Version 2.0 (the | |
| // "License"); you may not use this file except in compliance | |
| // with the License. You may obtain a copy of the License at | |
| // | |
| // http://www.apache.org/licenses/LICENSE-2.0 | |
| // | |
| // Unless required by applicable law or agreed to in writing, | |
| // software distributed under the License is distributed on an | |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| // KIND, either express or implied. See the License for the | |
| // specific language governing permissions and limitations | |
| // under the License. | |
| package rdpclient.rdp; | |
| import streamer.ByteBuffer; | |
| import streamer.Link; | |
| import streamer.OneTimeSwitch; | |
| /** | |
| * Once the basic server settings data blocks have been processed successfully, the client MUST send the MCS Attach User Request PDU to the server. | |
| * | |
| * @see http://msdn.microsoft.com/en-us/library/cc240682.aspx | |
| */ | |
| public class ServerMCSConnectResponse extends OneTimeSwitch { | |
| public ServerMCSConnectResponse(String id) { | |
| super(id); | |
| } | |
| @Override | |
| protected void handleOneTimeData(ByteBuffer buf, Link link) { | |
| if (buf == null) | |
| return; | |
| if (verbose) | |
| System.out.println("[" + this + "] INFO: Data received: " + buf + "."); | |
| // Ignore packet | |
| buf.unref(); | |
| switchOff(); | |
| } | |
| } | |
| /* | |
| * @formatter:off | |
| * 03 00 00 64 02 F0 80 7F 66 5A 0A 01 00 02 01 00 30 1A 02 01 22 02 01 03 02 01 00 02 01 01 02 01 00 02 01 01 02 03 00 FF F8 02 01 02 04 36 00 05 00 14 7C 00 01 2A 14 76 0A 01 01 00 01 C0 00 4D 63 44 6E 20 01 0C 0C 00 04 00 08 00 01 00 00 00 03 0C 08 00 EB 03 00 00 02 0C 0C 00 00 00 00 00 00 00 00 00 | |
| Frame: Number = 12, Captured Frame Length = 157, MediaType = DecryptedPayloadHeader | |
| + DecryptedPayloadHeader: FrameCount = 1, ErrorStatus = SUCCESS | |
| TLSSSLData: Transport Layer Security (TLS) Payload Data | |
| + TLS: TLS Rec Layer-1 SSL Application Data | |
| ISOTS: TPKTCount = 1 | |
| - TPKT: version: 3, Length: 100 | |
| version: 3 (0x3) | |
| Reserved: 0 (0x0) | |
| PacketLength: 100 (0x64) | |
| - X224: Data | |
| Length: 2 (0x2) | |
| Type: Data | |
| EOT: 128 (0x80) | |
| - T125: MCSConnect Response | |
| - MCSConnectResponse: Result = rt-successful | |
| - ConnectResponseHeader: | |
| - AsnId: Application Constructed Tag (102) | |
| - HighTag: | |
| Class: (01......) Application (1) | |
| Type: (..1.....) Constructed | |
| TagNumber: (...11111) | |
| TagValueEnd: 102 (0x66) | |
| - AsnLen: Length = 90, LengthOfLength = 0 | |
| Length: 90 bytes, LengthOfLength = 0 | |
| - Result: rt-successful | |
| - Value: 0 | |
| - AsnIntegerHeader: | |
| - AsnId: Enumerated type (Universal 10) | |
| - LowTag: | |
| Class: (00......) Universal (0) | |
| Type: (..0.....) Primitive | |
| TagValue: (...01010) 10 | |
| - AsnLen: Length = 1, LengthOfLength = 0 | |
| Length: 1 bytes, LengthOfLength = 0 | |
| AsnInt: 0 (0x0) | |
| - CalledConnectId: 0 | |
| - AsnIntegerHeader: | |
| - AsnId: Integer type (Universal 2) | |
| - LowTag: | |
| Class: (00......) Universal (0) | |
| Type: (..0.....) Primitive | |
| TagValue: (...00010) 2 | |
| - AsnLen: Length = 1, LengthOfLength = 0 | |
| Length: 1 bytes, LengthOfLength = 0 | |
| AsnInt: 0 (0x0) | |
| - DomainParameters: Length = 26, LengthOfLength = 0 | |
| - DomainParametersHeader: 0x1 | |
| - AsnId: Sequence and SequenceOf types (Universal 16) | |
| - LowTag: | |
| Class: (00......) Universal (0) | |
| Type: (..1.....) Constructed | |
| TagValue: (...10000) 16 | |
| - AsnLen: Length = 26, LengthOfLength = 0 | |
| Length: 26 bytes, LengthOfLength = 0 | |
| - ChannelIds: 34 | |
| - AsnIntegerHeader: | |
| - AsnId: Integer type (Universal 2) | |
| - LowTag: | |
| Class: (00......) Universal (0) | |
| Type: (..0.....) Primitive | |
| TagValue: (...00010) 2 | |
| - AsnLen: Length = 1, LengthOfLength = 0 | |
| Length: 1 bytes, LengthOfLength = 0 | |
| AsnInt: 34 (0x22) | |
| - UserIDs: 3 | |
| - AsnIntegerHeader: | |
| - AsnId: Integer type (Universal 2) | |
| - LowTag: | |
| Class: (00......) Universal (0) | |
| Type: (..0.....) Primitive | |
| TagValue: (...00010) 2 | |
| - AsnLen: Length = 1, LengthOfLength = 0 | |
| Length: 1 bytes, LengthOfLength = 0 | |
| AsnInt: 3 (0x3) | |
| - TokenIds: 0 | |
| - AsnIntegerHeader: | |
| - AsnId: Integer type (Universal 2) | |
| - LowTag: | |
| Class: (00......) Universal (0) | |
| Type: (..0.....) Primitive | |
| TagValue: (...00010) 2 | |
| - AsnLen: Length = 1, LengthOfLength = 0 | |
| Length: 1 bytes, LengthOfLength = 0 | |
| AsnInt: 0 (0x0) | |
| - NumPriorities: 1 | |
| - AsnIntegerHeader: | |
| - AsnId: Integer type (Universal 2) | |
| - LowTag: | |
| Class: (00......) Universal (0) | |
| Type: (..0.....) Primitive | |
| TagValue: (...00010) 2 | |
| - AsnLen: Length = 1, LengthOfLength = 0 | |
| Length: 1 bytes, LengthOfLength = 0 | |
| AsnInt: 1 (0x1) | |
| - MinThroughput: 0 | |
| - AsnIntegerHeader: | |
| - AsnId: Integer type (Universal 2) | |
| - LowTag: | |
| Class: (00......) Universal (0) | |
| Type: (..0.....) Primitive | |
| TagValue: (...00010) 2 | |
| - AsnLen: Length = 1, LengthOfLength = 0 | |
| Length: 1 bytes, LengthOfLength = 0 | |
| AsnInt: 0 (0x0) | |
| - Height: 1 | |
| - AsnIntegerHeader: | |
| - AsnId: Integer type (Universal 2) | |
| - LowTag: | |
| Class: (00......) Universal (0) | |
| Type: (..0.....) Primitive | |
| TagValue: (...00010) 2 | |
| - AsnLen: Length = 1, LengthOfLength = 0 | |
| Length: 1 bytes, LengthOfLength = 0 | |
| AsnInt: 1 (0x1) | |
| - MCSPDUsize: 65528 | |
| - AsnIntegerHeader: | |
| - AsnId: Integer type (Universal 2) | |
| - LowTag: | |
| Class: (00......) Universal (0) | |
| Type: (..0.....) Primitive | |
| TagValue: (...00010) 2 | |
| - AsnLen: Length = 3, LengthOfLength = 0 | |
| Length: 3 bytes, LengthOfLength = 0 | |
| AsnInt: 65528 (0xFFF8) | |
| - protocolVersion: 2 | |
| - AsnIntegerHeader: | |
| - AsnId: Integer type (Universal 2) | |
| - LowTag: | |
| Class: (00......) Universal (0) | |
| Type: (..0.....) Primitive | |
| TagValue: (...00010) 2 | |
| - AsnLen: Length = 1, LengthOfLength = 0 | |
| Length: 1 bytes, LengthOfLength = 0 | |
| AsnInt: 2 (0x2) | |
| - UserData: Identifier = Generic Conference Contro (0.0.20.124.0.1) | |
| - UserDataHeader: | |
| - AsnId: OctetString type (Universal 4) | |
| - LowTag: | |
| Class: (00......) Universal (0) | |
| Type: (..0.....) Primitive | |
| TagValue: (...00100) 4 | |
| - AsnLen: Length = 54, LengthOfLength = 0 | |
| Length: 54 bytes, LengthOfLength = 0 | |
| - AsnBerObjectIdentifier: Generic Conference Control (0.0.20.124.0.1) | |
| - AsnObjectIdentifierHeader: | |
| - AsnId: Reserved for use by the encoding rules (Universal 0) | |
| - LowTag: | |
| Class: (00......) Universal (0) | |
| Type: (..0.....) Primitive | |
| TagValue: (...00000) 0 | |
| - AsnLen: Length = 5, LengthOfLength = 0 | |
| Length: 5 bytes, LengthOfLength = 0 | |
| First: 0 (0x0) | |
| Final: 20 (0x14) | |
| Final: 124 (0x7C) | |
| Final: 0 (0x0) | |
| Final: 1 (0x1) | |
| - ConnectPDULength: 42 | |
| Align: No Padding | |
| Length: 42 | |
| - ConnectGCCPDU: conferenceCreateResponse | |
| ExtensionBit: 0 (0x0) | |
| - ChoiceValue: conferenceCreateResponse | |
| Value: (001.....) 0x1 | |
| - conferenceCreateResponse: | |
| ExtensionBit: 0 (0x0) | |
| userDataPresent: 1 (0x1) | |
| - nodeID: 0x79f3 | |
| - UserID: 31219 | |
| - Align: No Padding | |
| Padding2: (00......) 0x0 | |
| Value: 30218 (0x760A) | |
| - tag: 1 (0x1) | |
| - Length: 1 | |
| Align: No Padding | |
| Length: 1 | |
| Value: 1 (0x1) | |
| - result: success | |
| ExtensionBit: 0 (0x0) | |
| - RootIndex: 0 | |
| Value: (000.....) 0x0 | |
| - userData: | |
| - Size: 1 | |
| - Align: No Padding | |
| Padding4: (0000....) 0x0 | |
| Length: 1 | |
| - UserData: 0x4d63446e | |
| valuePresent: 1 (0x1) | |
| - key: h221NonStandard | |
| - ChoiceValue: h221NonStandard | |
| Value: (1.......) 0x1 | |
| - h221NonStandard: | |
| - H221NonStandardIdentifier: length: 4 | |
| - ConstrainedLength: 4 | |
| Value: (00000000) 0x0 | |
| - Align: No Padding | |
| Padding6: (000000..) 0x0 | |
| Value: Binary Large Object (4 Bytes) | |
| - ServerMcsConnectResponsePdu: | |
| - RDPGCCUserDataResponseLength: 32 | |
| Align: No Padding | |
| Length: 32 | |
| - TsUd: SC_CORE | |
| - TsUdHeader: Type = SC_CORE, Length = 12 | |
| Type: SC_CORE | |
| Length: 12 (0xC) | |
| - TsUdScCore: | |
| Version: RDP 5.0, 5.1, 5.2, 6.0, 6.1, and 7.0 | |
| ClientRequestedProtocols: TLS 1.0 | |
| - TsUd: SC_NET | |
| - TsUdHeader: Type = SC_NET, Length = 8 | |
| Type: SC_NET | |
| Length: 8 (0x8) | |
| - TsUdScNet: | |
| MCSChannelID: 1003 (0x3EB) | |
| ChannelCount: 0 (0x0) | |
| Pad: 0 Bytes | |
| - TsUd: SC_SECURITY | |
| - TsUdHeader: Type = SC_SECURITY, Length = 12 | |
| Type: SC_SECURITY | |
| Length: 12 (0xC) | |
| - TsUdSCSec1: | |
| - EncryptionMethod: | |
| Support40Bit: (...............................0) Not Support | |
| Support128Bit: (..............................0.) Not Support 128-bit | |
| Reserved1: (.............................0..) | |
| Support56Bit: (............................0...) Not Support 56-bit | |
| SupportFIPS: (...........................0....) Not Support FIPS Compliant | |
| Reserved2: (000000000000000000000000000.....) | |
| EncryptionLevel: TS_ENCRYPTION_NONE | |
| */ |