| // 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; |
| |
| public class ServerLicenseErrorPDUValidClient extends OneTimeSwitch { |
| |
| public ServerLicenseErrorPDUValidClient(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 */ |
| // * Server Error alert |
| // |
| //03 00 00 22 02 F0 80 68 00 01 03 EB 70 14 80 00 F1 BC FF 03 10 00 07 00 00 00 02 00 00 00 04 00 00 00 |
| // |
| // |
| // Frame: Number = 30, Captured Frame Length = 91, 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: 34 |
| // version: 3 (0x3) |
| // Reserved: 0 (0x0) |
| // PacketLength: 34 (0x22) |
| //- X224: Data |
| // Length: 2 (0x2) |
| // Type: Data |
| // EOT: 128 (0x80) |
| //- T125: Data Packet |
| // - MCSHeader: Type=Send Data Indication, UserID=1002, ChannelID=1003 |
| // - Type: Send Data Indication |
| // - RootIndex: 26 |
| // Value: (011010..) 0x1a |
| // - UserID: 0x3ea |
| // - UserID: 0x3ea |
| // - ChannelId: 1002 |
| // - Align: No Padding |
| // Padding2: (00......) 0x0 |
| // Value: 1 (0x1) |
| // - Channel: 0x3eb |
| // - ChannelId: 1003 |
| // Align: No Padding |
| // Value: 1003 (0x3EB) |
| // - DataPriority: high |
| // - DataPriority: high |
| // - RootIndex: 1 |
| // Value: (01......) 0x1 |
| // - Segmentation: Begin End |
| // Begin: (1.......) Begin |
| // End: (.1......) End |
| // - Length: 20 |
| // - Align: No Padding |
| // Padding4: (0000....) 0x0 |
| // Length: 20 |
| // RDP: RDPBCGR |
| //- RDPBCGR: RDPELE |
| // - SecurityHeader: License Packet |
| // - Flags: 128 (0x80) |
| // SecurityExchange: (...............0) Not Security Exchange PDU |
| // Reserved1: (.............00.) Reserved |
| // Encrypted: (............0...) Not Encrypted packet |
| // ResetSeqNumber: (...........0....) MUST be ignored. |
| // IgnoreSeqNumber: (..........0.....) MUST be ignored. |
| // InfoPacket: (.........0......) Not Client Info PDU |
| // LicensePacket: (........1.......) License Packet |
| // Reserved2: (.......0........) Reserved |
| // LicensePacketEncryption: (......0.........) Not License Packet Encryption |
| // ServerRedirectionPacket: (.....0..........) Not Standard Security Server Redirection PDU |
| // ImprovedChecksumForMACG: (....0...........) Not Improved Checksum for MAC Generation |
| // Reserved3: (.000............) Reserved |
| // FlagsHiValid: (0...............) FlagsHi should be ignored |
| // FlagsHi: Should be ignored |
| //- RDPELE: GM_ERROR_ALERT |
| // - TsPreambleHeader: Type = GM_ERROR_ALERT |
| // MsgType: GM_ERROR_ALERT |
| // - Flags: 3 (0x3) |
| // LicenseProtocolVersionMask: (....0011) RDP 5.0, 5.1, 5.2, 6.0, 6.1, and 7.0 |
| // Unused: (.000....) |
| // ExtendedErrorMSGsupported: (0.......) that extended error information using the License Error Message is NOT supported. |
| // MsgSize: 16 (0x10) |
| // - TsLicenseErrorMessage: ErrorCode = STATUS_VALID_CLIENT |
| // ErrorCode: STATUS_VALID_CLIENT |
| // StateTransition: ST_NO_TRANSITION |
| // - LiceseBinaryBlob: Type = Not Available |
| // RandomData: This value should be ignored |
| // BlobLen: 0 (0x0) |
| // |
| |
| } |