Revision Summary Date Revision History Revision Class Comments 2/22/2007 0.01 New Version 0.01 release 6/1/2007 1.0 Major Updated and revised the technical content. 7/3/2007 1.0.1 Editorial Changed language and formatting in the technical content. 7/20/2007 1.1 Minor Clarified the meaning of the technical content. 8/10/2007 2.0 Major Updated and revised the technical content. 9/28/2007 3.0 Major Updated and revised the technical content. 10/23/2007 4.0 Updated and revised the technical content. 11/30/2007 4.0.1 Editorial Changed language and formatting in the technical content. 1/25/2008 5.0 Major Updated and revised the technical content. 3/14/2008 6.0 Major Updated and revised the
technical content. 5/16/2008 6.0.1 Editorial Changed language and formatting in the technical content. 6/20/2008 6.0.2 Editorial Changed language and formatting in the technical content. 7/25/2008 6.0.3 Editorial Changed language and formatting in the technical content. 8/29/2008 7.0 Major Updated and revised the technical content. 10/24/2008 8.0 Major Updated and revised the technical content. 12/5/2008 9.0 Updated and revised the technical content. 1/16/2009 10.0 Major Updated and revised the technical content. 2/27/2009 11.0 Major Updated and revised the technical content. 4/10/2009 12.0 Major Updated and revised the technical content.
the technical content. 8/27/2010 24.0 Major Updated and revised the technical content. 10/8/2010 25.0 Major Updated and revised the technical content. 11/19/2010 25.0 None No changes to the meaning, language, or formatting of the technical content. 1/7/2011 25.0 None No changes to the meaning, language, or formatting of the technical content. 2/11/2011 26.0 Major Updated and revised the technical content. 3/25/2011 27.0 Updated and revised the technical content. 5/6/2011 27.0 None No changes to the meaning, language, or formatting of the technical content. 6/17/2011 28.0 Major Updated and revised the
2/13/2014 33.0 Major Updated and revised the technical content. 5/15/2014 34.0 Major Updated and revised the technical content. 6/30/2015 35.0 Significantly changed the technical content. 10/16/2015 35.0 None No changes to the meaning, language, or formatting of the technical content. 7/14/2016 36.0 Major Significantly changed the technical content. 6/1/2017 37.0 Major Significantly changed the technical content.
HTTP_PACKET_TYPE Enumeration Constant/value Description PKT_TYPE_HANDSHAKE_REQUEST 0x1 This constant represents that the packet type is . PKT_TYPE_HANDSHAKE_RESPONSE 0x2 This constant represents that the packet type is . PKT_TYPE_EXTENDED_AUTH_MSG 0x3 This constant represents that the packet type is an message. PKT_TYPE_TUNNEL_CREATE 0x4 This constant represents that the packet type is a create request. PKT_TYPE_TUNNEL_RESPONSE 0x5 This constant represents that the packet type is a tunnel (2) create response. PKT_TYPE_TUNNEL_AUTH 0x6 This constant represents that the packet type is a tunnel (2) authorization request. PKT_TYPE_TUNNEL_AUTH_RESPONSE 0x7 This constant represents that the packet type is a tunnel (2) authorization response.
HTTP_TUNNEL_PACKET_OPTIONAL Structure This packet is optionally used in a RDG creation request. 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 reauthTunnelContext ... PAACookie (variable) ... reauthTunnelContext (8 bytes): An unsigned long representing the tunnel (2) that is being . PAACookie (variable): An structure representing the cookie for . HTTP_TUNNEL_RESPONSE Structure The RDG server uses this structure to send a creation response to the RDG client. 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 hdr ... serverVersion statusCode ... fieldsPresent reserved hdr (8 bytes): An structure. Its packetType field is set to PKT_TYPE_TUNNEL_RESPONSE. serverVersion (2 bytes): An unsigned integer representing the version of the RDGHTTP Protocol. statusCode (4 bytes): An unsigned integer representing errors that are detected by the RDG server in the process of creating a tunnel (2). fieldsPresent (2 bytes): An unsigned short representing the flags that specify the optional fields that are present in the defined in an . reserved (2 bytes): Reserved for future use. HTTP_TUNNEL_RESPONSE_OPTIONAL Structure This structure is optionally sent by the RDG server in response to a creation request. 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1
tunnelId capsFlags nonce (20 bytes) ... ... serverCert (variable) ... consentMsg (variable) ... tunnelId (4 bytes): An unsigned integer representing the Tunnel Id ADM element of the corresponding tunnel. capsFlags (4 bytes): An unsigned integer representing the capabilities negotiated by the RDG server. It's specified in the form of an HTTP_CAPABILITY_TYPE Enumeration. (20 bytes): A defined in . It represents the nonce for the . serverCert (variable): An that is used for SoH encryption. consentMsg (variable): An HTTP_UNICODE_STRING (section 2.2.10.22). It contains the consent message set by the on the RDG server, that is delivered to the RDG client prior to allowing the connection. HTTP_UNICODE_STRING Structure This structure describes a Unicode string. 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 cbLen str (variable) ... cbLen (2 bytes): An unsigned short representing the length of the str field. str (variable): String of length HTTP_CLOSE_PACKET Structure This packet is used to end a session.
Pending state. contains The RDG client MUST end the protocol when this error is received. HRESULT_CODE(E_PROXY_REAUTH_CAP_FAILED) (0x000059FB) The connection MUST transition to Tunnel Close Pending state. Returned when a reauthentication attempt by the client has failed because the user is not authorized to connect through the RDG server anymore and the ADM element Negotiated Capabilities contains The RDG client MUST end the protocol when this error is received. HRESULT_CODE(E_PROXY_REAUTH_RAP_FAILED) (0x000059FC) The connection MUST transition to Tunnel Close Pending state. Returned when a reauthentication attempt by the client has failed because the user is not authorized to connect to the given end resource anymore and the ADM element Negotiated Capabilities contains The RDG client MUST end the protocol when this error is received. HRESULT_CODE(E_PROXY_CONNECTIONABORTED) (0x000004D4) The connection MUST transition to Tunnel Close Pending state. Returned when the following happens: The RDG server administrator forcefully disconnects the connection. Or when the ADM element Negotiated Capabilities doesn't contain and any one of the following happens: Session timeout occurs and disconnect on session timeout is configured at the RDG server. Reauthentication attempt by the client has failed because the user credentials are no longer valid. Reauthentication attempt by the client has failed because the user is not authorized to
Index A 71 72 Abstract data model 121 77 81 27 74 C 27 165 Client 121 123 122 124 121 124 122 123 30 72 73 15 D Data model - abstract 121 77 81 Data representation 127 127 17 Data types 30 31 32 31 32 31 73 74 E Examples 136 143 146 F 28 153 G 59 58 9 H 61 41 41 41 41 41 41 61 61 62 38 38 38 62 71 63 38 38 63 38 64 65 64 64 65 66 40 66 67 67 40 40 40 68 HTTP_TUNNEL_PACKET packet ( 68, 69) 40 40 40 40 40 40 40 40 40 69 41 41 41 41 70 70 I
153 152 152 14 Initialization 123 83 9 L Local events 122 80 109 M 34 Message processing 124 server 84 104 Messages 30 30 31 32 31 32 31 42 30 N 136 13 O Overview 15 17 15 18 14 14 P 152 31 32 39 39 39 39 42 42 39 42 39 39 39 39 42 39 39 39 39 39 39 143 26 26 158 Protocol Details 77 46 49 46 57 49 54 48 55 55 50 54 50 57 57 51 56 48 52 31 32 R 60 60 60 146 13 14 13 26 31 51 42 15 S Security 152 152 152 Sequencing rules 124 server 84 104 Server
77 81 83 80 109 message processing 84 104 81 sequencing rules 84 104 timer events 108 108 107 timers 83 79 18 28 T Timer events 122 server 108 108 107 Timers 123 server 83 79 165 30 46 36 36 36 49 35 37 38 38 37 37 46 57 49 54 48 55 55 50 54 50 57 57 51 56 36 35 34 35 35 34 35 34 36 34 34 48 52 37 37 88 104 105 95 85 91 127 97 127 128 127 98 129 128 129 U 75 74 V 28 27