Generated from Manticore v1.1.6 • 388 packages. View on pkg.go.dev

mstsgu

import "github.com/TheManticoreProject/Manticore/windows/protocols/ms-tsgu"

Index

type PCHANNEL\_CONTEXT\_HANDLE\_NOSERIALIZE

PCHANNEL_CONTEXT_HANDLE_NOSERIALIZE is an RPC context handle: 20 bytes ([MS-RPCE] 2.3.2.2, [MS-TSGU]).

type PCHANNEL_CONTEXT_HANDLE_NOSERIALIZE [20]byte

type PCHANNEL\_CONTEXT\_HANDLE\_SERIALIZE

PCHANNEL_CONTEXT_HANDLE_SERIALIZE is an alias for PCHANNEL_CONTEXT_HANDLE_NOSERIALIZE ([MS-TSGU]).

type PCHANNEL_CONTEXT_HANDLE_SERIALIZE = PCHANNEL_CONTEXT_HANDLE_NOSERIALIZE

type PTUNNEL\_CONTEXT\_HANDLE\_NOSERIALIZE

PTUNNEL_CONTEXT_HANDLE_NOSERIALIZE is an RPC context handle: 20 bytes ([MS-RPCE] 2.3.2.2, [MS-TSGU]).

type PTUNNEL_CONTEXT_HANDLE_NOSERIALIZE [20]byte

type PTUNNEL\_CONTEXT\_HANDLE\_SERIALIZE

PTUNNEL_CONTEXT_HANDLE_SERIALIZE is an alias for PTUNNEL_CONTEXT_HANDLE_NOSERIALIZE ([MS-TSGU]).

type PTUNNEL_CONTEXT_HANDLE_SERIALIZE = PTUNNEL_CONTEXT_HANDLE_NOSERIALIZE

type TSENDPOINTINFO

TSENDPOINTINFO ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSENDPOINTINFO struct {
    ResourceName              []*ndr.WSTR `ndr:"elem=unique,unique,size_is=NumResourceNames"`
    NumResourceNames          ndr.DWORD
    AlternateResourceNames    []*ndr.WSTR `ndr:"elem=unique,unique,size_is=NumAlternateResourceNames"`
    NumAlternateResourceNames uint16
    Port                      ndr.DWORD
}

type TSG\_CAPABILITIES\_UNION

TSG_CAPABILITIES_UNION is the [switch_type(unsigned long)] union of capability structures ([MS-TSGU] 2.2.9.2.1.1). Tag carries the discriminant (capabilityType) inline, followed by the selected arm ([C706] 14.3.8). The single defined arm is a value (not a pointer), as declared in the IDL.

type TSG_CAPABILITIES_UNION struct {
    Tag ndr.DWORD `ndr:"switch"`
    // case TSG_CAPABILITY_TYPE_NAP (0x00000001)
    TSGCapNap TSG_CAPABILITY_NAP `ndr:"case=0x00000001"`
}

type TSG\_CAPABILITY\_NAP

TSG_CAPABILITY_NAP ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_CAPABILITY_NAP struct {
    Capabilities ndr.DWORD
}

type TSG\_INITIAL\_PACKET\_TYPE\_UNION

TSG_INITIAL_PACKET_TYPE_UNION is the [switch_type(unsigned long)] union of the packets a reauthentication may carry ([MS-TSGU] 2.2.9.2.1.7). Tag carries the discriminant (packetId) inline, followed by the selected arm ([C706] 14.3.8). Each arm is a unique pointer to its packet structure, as declared in the IDL.

type TSG_INITIAL_PACKET_TYPE_UNION struct {
    Tag ndr.DWORD `ndr:"switch"`
    // case TSG_PACKET_TYPE_VERSIONCAPS (0x00005643)
    PacketVersionCaps *TSG_PACKET_VERSIONCAPS `ndr:"case=0x00005643,unique"`
    // case TSG_PACKET_TYPE_AUTH (0x00004054)
    PacketAuth *TSG_PACKET_AUTH `ndr:"case=0x00004054,unique"`
}

type TSG\_PACKET

TSG_PACKET ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_PACKET struct {
    PacketId  ndr.DWORD
    TSGPacket TSG_PACKET_TYPE_UNION
}

type TSG\_PACKET\_AUTH

TSG_PACKET_AUTH ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_PACKET_AUTH struct {
    TSGVersionCaps TSG_PACKET_VERSIONCAPS
    CookieLen      ndr.DWORD
    Cookie         []uint8 `ndr:"unique,size_is=CookieLen"`
}

type TSG\_PACKET\_CAPABILITIES

TSG_PACKET_CAPABILITIES ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_PACKET_CAPABILITIES struct {
    CapabilityType ndr.DWORD
    TSGPacket      TSG_CAPABILITIES_UNION
}

type TSG\_PACKET\_CAPS\_RESPONSE

TSG_PACKET_CAPS_RESPONSE is the capabilities response returned by the RDG server ([MS-TSGU] 2.2.9.2.1.6): the quarantine-encapsulated response followed by the consent/service message response.

Wire-order caveat: PktQuarEncResponse carries unique pointers (CertChainData, VersionCaps) whose referent bodies are deferred to the end of this struct, while PktConsentMessage embeds a union (TSG_PACKET_TYPE_MESSAGE_UNION) whose pointer arm is flushed locally by the codec (network/dcerpc/ndr/union.go). When both the QUARENC pointers and the message-union arm are populated at once, the arm body is emitted ahead of the QUARENC referent bodies rather than in strict field order. This is a shared-codec deferral limitation for a union nested beside sibling pointers, not a modeling error here; round-trips are self-consistent, but this specific mix is not wire-validated against a live RDG server.

type TSG_PACKET_CAPS_RESPONSE struct {
    PktQuarEncResponse TSG_PACKET_QUARENC_RESPONSE
    PktConsentMessage  TSG_PACKET_MSG_RESPONSE
}

type TSG\_PACKET\_HEADER

TSG_PACKET_HEADER ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_PACKET_HEADER struct {
    ComponentId uint16
    PacketId    uint16
}

type TSG\_PACKET\_MSG\_REQUEST

TSG_PACKET_MSG_REQUEST ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_PACKET_MSG_REQUEST struct {
    MaxMessagesPerBatch ndr.DWORD
}

type TSG\_PACKET\_MSG\_RESPONSE

TSG_PACKET_MSG_RESPONSE ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_PACKET_MSG_RESPONSE struct {
    MsgID         ndr.DWORD
    MsgType       ndr.DWORD
    IsMsgPresent  int32
    MessagePacket TSG_PACKET_TYPE_MESSAGE_UNION
}

type TSG\_PACKET\_QUARCONFIGREQUEST

TSG_PACKET_QUARCONFIGREQUEST ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_PACKET_QUARCONFIGREQUEST struct {
    Flags ndr.DWORD
}

type TSG\_PACKET\_QUARENC\_RESPONSE

TSG_PACKET_QUARENC_RESPONSE is the quarantine-encapsulated response ([MS-TSGU] 2.2.9.2.1.5). CertChainData is a [string] (conformant-varying) wide-char array sized by CertChainLen; VersionCaps is a unique pointer to the server’s version caps.

Nonce is msdtyp.GUID, the 16-octet NDR GUID (Data1/2/3 + Data4[8]). windows/guid.GUID must NOT be used on the wire: its uint64 tail over-aligns the struct and marshals to 24 octets under NDR. Convert with msdtyp.NewGUID / (msdtyp.GUID).GUID().

type TSG_PACKET_QUARENC_RESPONSE struct {
    Flags         ndr.DWORD
    CertChainLen  ndr.DWORD
    CertChainData []uint16 `ndr:"unique,varying,size_is=CertChainLen"`
    Nonce         msdtyp.GUID
    VersionCaps   *TSG_PACKET_VERSIONCAPS `ndr:"unique"`
}

type TSG\_PACKET\_QUARREQUEST

TSG_PACKET_QUARREQUEST is the health/quarantine request packet ([MS-TSGU] 2.2.9.2.1.4). MachineName is a [string] (conformant-varying) wide-char array sized by NameLength; Data is a unique conformant byte blob sized by DataLen.

type TSG_PACKET_QUARREQUEST struct {
    Flags       ndr.DWORD
    MachineName []uint16 `ndr:"unique,varying,size_is=NameLength"`
    NameLength  ndr.DWORD
    Data        []uint8 `ndr:"unique,size_is=DataLen"`
    DataLen     ndr.DWORD
}

type TSG\_PACKET\_REAUTH

TSG_PACKET_REAUTH ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_PACKET_REAUTH struct {
    TunnelContext    uint64
    PacketId         ndr.DWORD
    TSGInitialPacket TSG_INITIAL_PACKET_TYPE_UNION
}

type TSG\_PACKET\_REAUTH\_MESSAGE

TSG_PACKET_REAUTH_MESSAGE ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_PACKET_REAUTH_MESSAGE struct {
    TunnelContext uint64
}

type TSG\_PACKET\_RESPONSE

TSG_PACKET_RESPONSE ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_PACKET_RESPONSE struct {
    Flags            ndr.DWORD
    Reserved         ndr.DWORD
    ResponseData     []uint8 `ndr:"unique,size_is=ResponseDataLen"`
    ResponseDataLen  ndr.DWORD
    RedirectionFlags TSG_REDIRECTION_FLAGS
}

type TSG\_PACKET\_STRING\_MESSAGE

TSG_PACKET_STRING_MESSAGE ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_PACKET_STRING_MESSAGE struct {
    IsDisplayMandatory int32
    IsConsentMandatory int32
    MsgBytes           ndr.DWORD
    MsgBuffer          []uint16 `ndr:"unique,size_is=MsgBytes"`
}

type TSG\_PACKET\_TYPE\_MESSAGE\_UNION

TSG_PACKET_TYPE_MESSAGE_UNION is the [switch_type(unsigned long)] union of administrative-message packets ([MS-TSGU] 2.2.9.2.1.8). Tag carries the discriminant (msgType) inline, followed by the selected arm ([C706] 14.3.8). Each arm is a unique pointer to its message structure, as declared in the IDL.

type TSG_PACKET_TYPE_MESSAGE_UNION struct {
    Tag ndr.DWORD `ndr:"switch"`
    // case TSG_ASYNC_MESSAGE_CONSENT_MESSAGE (0x00000001)
    ConsentMessage *TSG_PACKET_STRING_MESSAGE `ndr:"case=0x00000001,unique"`
    // case TSG_ASYNC_MESSAGE_SERVICE_MESSAGE (0x00000002)
    ServiceMessage *TSG_PACKET_STRING_MESSAGE `ndr:"case=0x00000002,unique"`
    // case TSG_ASYNC_MESSAGE_REAUTH (0x00000003)
    ReauthMessage *TSG_PACKET_REAUTH_MESSAGE `ndr:"case=0x00000003,unique"`
}

type TSG\_PACKET\_TYPE\_UNION

TSG_PACKET_TYPE_UNION is the [switch_type(unsigned long)] union that carries the body of a TSG_PACKET ([MS-TSGU] 2.2.9.2.1.9). Tag carries the discriminant (packetId) inline, followed by the selected arm ([C706] 14.3.8). Each arm is a unique pointer to its packet structure, as declared in the IDL.

type TSG_PACKET_TYPE_UNION struct {
    Tag ndr.DWORD `ndr:"switch"`
    // case TSG_PACKET_TYPE_HEADER (0x00004844)
    PacketHeader *TSG_PACKET_HEADER `ndr:"case=0x00004844,unique"`
    // case TSG_PACKET_TYPE_VERSIONCAPS (0x00005643)
    PacketVersionCaps *TSG_PACKET_VERSIONCAPS `ndr:"case=0x00005643,unique"`
    // case TSG_PACKET_TYPE_QUARCONFIGREQUEST (0x00005143)
    PacketQuarConfigRequest *TSG_PACKET_QUARCONFIGREQUEST `ndr:"case=0x00005143,unique"`
    // case TSG_PACKET_TYPE_QUARREQUEST (0x00005152)
    PacketQuarRequest *TSG_PACKET_QUARREQUEST `ndr:"case=0x00005152,unique"`
    // case TSG_PACKET_TYPE_RESPONSE (0x00005052)
    PacketResponse *TSG_PACKET_RESPONSE `ndr:"case=0x00005052,unique"`
    // case TSG_PACKET_TYPE_QUARENC_RESPONSE (0x00004552)
    PacketQuarEncResponse *TSG_PACKET_QUARENC_RESPONSE `ndr:"case=0x00004552,unique"`
    // case TSG_PACKET_TYPE_CAPS_RESPONSE (0x00004350)
    PacketCapsResponse *TSG_PACKET_CAPS_RESPONSE `ndr:"case=0x00004350,unique"`
    // case TSG_PACKET_TYPE_MSGREQUEST_PACKET (0x00004752)
    PacketMsgRequest *TSG_PACKET_MSG_REQUEST `ndr:"case=0x00004752,unique"`
    // case TSG_PACKET_TYPE_MESSAGE_PACKET (0x00004750)
    PacketMsgResponse *TSG_PACKET_MSG_RESPONSE `ndr:"case=0x00004750,unique"`
    // case TSG_PACKET_TYPE_AUTH (0x00004054)
    PacketAuth *TSG_PACKET_AUTH `ndr:"case=0x00004054,unique"`
    // case TSG_PACKET_TYPE_REAUTH (0x00005250)
    PacketReauth *TSG_PACKET_REAUTH `ndr:"case=0x00005250,unique"`
}

type TSG\_PACKET\_VERSIONCAPS

TSG_PACKET_VERSIONCAPS ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_PACKET_VERSIONCAPS struct {
    TsgHeader              TSG_PACKET_HEADER
    TSGCaps                []TSG_PACKET_CAPABILITIES `ndr:"unique,size_is=NumCapabilities"`
    NumCapabilities        ndr.DWORD
    MajorVersion           uint16
    MinorVersion           uint16
    QuarantineCapabilities uint16
}

type TSG\_REDIRECTION\_FLAGS

TSG_REDIRECTION_FLAGS ([MS-TSGU]). Generated by tools/idlgen; verify pointer/array tags.

type TSG_REDIRECTION_FLAGS struct {
    EnableAllRedirections        ndr.BOOL
    DisableAllRedirections       ndr.BOOL
    DriveRedirectionDisabled     ndr.BOOL
    PrinterRedirectionDisabled   ndr.BOOL
    PortRedirectionDisabled      ndr.BOOL
    Reserved                     ndr.BOOL
    ClipboardRedirectionDisabled ndr.BOOL
    PnpRedirectionDisabled       ndr.BOOL
}