| // 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) | |
| // | |
| } |