19#ifndef FREERDP_CHANNEL_RDPEAR_COMMON_H 
   20#define FREERDP_CHANNEL_RDPEAR_COMMON_H 
   22#include <winpr/stream.h> 
   23#include <winpr/asn1.h> 
   24#include <winpr/wlog.h> 
   25#include <winpr/sspi.h> 
   27#include <freerdp/api.h> 
   29#include <rdpear-common/ndr.h> 
   33  RDPEAR_PACKAGE_KERBEROS,
 
   35  RDPEAR_PACKAGE_UNKNOWN
 
   42  RemoteCallKerbMinimum = 0x100,
 
   43  RemoteCallKerbNegotiateVersion = 0x100,
 
   44  RemoteCallKerbBuildAsReqAuthenticator,
 
   45  RemoteCallKerbVerifyServiceTicket,
 
   46  RemoteCallKerbCreateApReqAuthenticator,
 
   47  RemoteCallKerbDecryptApReply,
 
   48  RemoteCallKerbUnpackKdcReplyBody,
 
   49  RemoteCallKerbComputeTgsChecksum,
 
   50  RemoteCallKerbBuildEncryptedAuthData,
 
   51  RemoteCallKerbPackApReply,
 
   52  RemoteCallKerbHashS4UPreauth,
 
   53  RemoteCallKerbSignS4UPreauthData,
 
   54  RemoteCallKerbVerifyChecksum,
 
   55  RemoteCallKerbReserved1,
 
   56  RemoteCallKerbReserved2,
 
   57  RemoteCallKerbReserved3,
 
   58  RemoteCallKerbReserved4,
 
   59  RemoteCallKerbReserved5,
 
   60  RemoteCallKerbReserved6,
 
   61  RemoteCallKerbReserved7,
 
   62  RemoteCallKerbDecryptPacCredentials,
 
   63  RemoteCallKerbCreateECDHKeyAgreement,
 
   64  RemoteCallKerbCreateDHKeyAgreement,
 
   65  RemoteCallKerbDestroyKeyAgreement,
 
   66  RemoteCallKerbKeyAgreementGenerateNonce,
 
   67  RemoteCallKerbFinalizeKeyAgreement,
 
   68  RemoteCallKerbMaximum = 0x1ff,
 
   72  RemoteCallNtlmMinimum = 0x200,
 
   73  RemoteCallNtlmNegotiateVersion = 0x200,
 
   74  RemoteCallNtlmLm20GetNtlm3ChallengeResponse,
 
   75  RemoteCallNtlmCalculateNtResponse,
 
   76  RemoteCallNtlmCalculateUserSessionKeyNt,
 
   77  RemoteCallNtlmCompareCredentials,
 
   78  RemoteCallNtlmMaximum = 0x2ff,
 
   83FREERDP_LOCAL 
wStream* rdpear_encodePayload(RdpEarPackageType packageType, 
wStream* payload);
 
   85#define RDPEAR_COMMON_MESSAGE_DECL(V)                                                            \ 
   86  FREERDP_LOCAL BOOL ndr_read_##V(NdrContext* context, wStream* s, const void* hints, V* obj); \ 
   87  FREERDP_LOCAL BOOL ndr_write_##V(NdrContext* context, wStream* s, const void* hints,         \ 
   89  FREERDP_LOCAL void ndr_destroy_##V(NdrContext* context, const void* hints, V* obj);          \ 
   90  FREERDP_LOCAL void ndr_dump_##V(wLog* logger, UINT32 lvl, size_t indentLevel, const V* obj); \ 
   91  FREERDP_LOCAL NdrMessageType ndr_##V##_descr(void) 
  166  ULONG SequenceNumber;
 
  169  PLARGE_INTEGER SkewTime;
 
 
  183  LONG KerbProtocolError;
 
 
  203  LONG KerbProtocolError;
 
 
  234#undef RDPEAR_COMMON_MESSAGE_DECL 
2.2.2.1.8 BuildEncryptedAuthData
 
2.2.2.1.7 ComputeTgsChecksum
 
2.2.2.1.4 CreateApReqAuthenticator
 
2.2.2.1.4 CreateApReqAuthenticator
 
2.2.1.2.8 KERB_RPC_ENCRYPTION_KEY
 
2.2.1.2.3 KERB_RPC_INTERNAL_NAME
 
2.2.1.2.2 KERB_RPC_OCTET_STRING
 
hints for a conformant array
 
hints for a varying conformant array
 
2.3.10 RPC_UNICODE_STRING (MS-DTYP)
 
2.2.2.1.6 UnpackKdcReplyBody
 
2.2.2.1.6 UnpackKdcReplyBody