Documentation ¶
Index ¶
- Variables
- func ClaimsServerHandle(ctx context.Context, o ClaimsServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)
- func NewClaimsServerHandle(o ClaimsServer) dcerpc.ServerHandle
- func RegisterClaimsServer(conn dcerpc.Conn, o ClaimsServer, opts ...dcerpc.Option)
- type ClaimEntry
- type ClaimEntry_Values
- type ClaimEntry_Values_ClaimEntryBoolean
- type ClaimEntry_Values_ClaimEntryInt64
- type ClaimEntry_Values_ClaimEntryString
- type ClaimEntry_Values_ClaimEntryUint64
- type ClaimType
- type ClaimsArray
- type ClaimsClient
- type ClaimsCompressionFormat
- type ClaimsMap
- type ClaimsServer
- type ClaimsSet
- type ClaimsSetMetadata
- type ClaimsSourceType
- type Compression
Constants ¶
This section is empty.
Variables ¶
var ( // Syntax UUID ClaimsSyntaxUUID = &uuid.UUID{TimeLow: 0xbba9cb76, TimeMid: 0xeb0c, TimeHiAndVersion: 0x462c, ClockSeqHiAndReserved: 0xaa, ClockSeqLow: 0x1b, Node: [6]uint8{0x5d, 0x8c, 0x34, 0x41, 0x57, 0x1}} // Syntax ID ClaimsSyntaxV1_0 = &dcerpc.SyntaxID{IfUUID: ClaimsSyntaxUUID, IfVersionMajor: 1, IfVersionMinor: 0} )
var (
// import guard
GoPackage = "adts/claims"
)
Functions ¶
func ClaimsServerHandle ¶
func NewClaimsServerHandle ¶
func NewClaimsServerHandle(o ClaimsServer) dcerpc.ServerHandle
func RegisterClaimsServer ¶
func RegisterClaimsServer(conn dcerpc.Conn, o ClaimsServer, opts ...dcerpc.Option)
Types ¶
type ClaimEntry ¶
type ClaimEntry struct { // Id: Specifies the claim identifier. ID string `idl:"name:Id" json:"id"` // Type: Specifies the type of the data in the Values union. Refer to section 2.2.18.2 // for allowed values and their interpretation. Type ClaimType `idl:"name:Type" json:"type"` // Values: A union of arrays of the various types of claim values that a CLAIM_ENTRY // can contain. The actual type of the elements is specified by the Type member. // // ValueCount: Specifies the number of array elements in the Int64Values member. // // Int64Values: An array of LONG64 values of the claim. The array has ValueCount elements. // // ValueCount: Specifies the number of array elements in the Uint64Values member. // // Uint64Values: An array of ULONG64 values of the claim. The array has ValueCount // elements. // // ValueCount: Specifies the number of array elements in the StringValues member. // // StringValues: An array of null-terminated, Unicode string values of the claim. The // array has ValueCount elements. // // ValueCount: Specifies the number of array elements in the BooleanValues member. Values *ClaimEntry_Values `idl:"name:Values;switch_is:Type" json:"values"` }
ClaimEntry structure represents CLAIM_ENTRY RPC structure.
The CLAIM_ENTRY structure specifies a single claim.
func (*ClaimEntry) MarshalNDR ¶
func (*ClaimEntry) UnmarshalNDR ¶
type ClaimEntry_Values ¶
type ClaimEntry_Values struct { // Types that are assignable to Value // // *ClaimEntry_Values_ClaimEntryInt64 // *ClaimEntry_Values_ClaimEntryUint64 // *ClaimEntry_Values_ClaimEntryString // *ClaimEntry_Values_ClaimEntryBoolean Value is_ClaimEntry_Values `json:"value"` }
ClaimEntry_Values structure represents CLAIM_ENTRY union anonymous member.
The CLAIM_ENTRY structure specifies a single claim.
func (*ClaimEntry_Values) GetValue ¶
func (o *ClaimEntry_Values) GetValue() any
func (*ClaimEntry_Values) MarshalUnionNDR ¶
func (*ClaimEntry_Values) NDRSwitchValue ¶
func (o *ClaimEntry_Values) NDRSwitchValue(sw uint16) uint16
func (*ClaimEntry_Values) UnmarshalUnionNDR ¶
type ClaimEntry_Values_ClaimEntryBoolean ¶
type ClaimEntry_Values_ClaimEntryBoolean struct { ValueCount uint32 `idl:"name:ValueCount" json:"value_count"` BooleanValues []uint64 `idl:"name:BooleanValues;size_is:(ValueCount)" json:"boolean_values"` }
ClaimEntry_Values_ClaimEntryBoolean structure represents ClaimEntry_Values RPC union arm.
It has following labels: 6
func (*ClaimEntry_Values_ClaimEntryBoolean) MarshalNDR ¶
func (*ClaimEntry_Values_ClaimEntryBoolean) UnmarshalNDR ¶
type ClaimEntry_Values_ClaimEntryInt64 ¶
type ClaimEntry_Values_ClaimEntryInt64 struct { ValueCount uint32 `idl:"name:ValueCount" json:"value_count"` Int64Values []int64 `idl:"name:Int64Values;size_is:(ValueCount)" json:"int64_values"` }
ClaimEntry_Values_ClaimEntryInt64 structure represents ClaimEntry_Values RPC union arm.
It has following labels: 1
func (*ClaimEntry_Values_ClaimEntryInt64) MarshalNDR ¶
func (*ClaimEntry_Values_ClaimEntryInt64) UnmarshalNDR ¶
type ClaimEntry_Values_ClaimEntryString ¶
type ClaimEntry_Values_ClaimEntryString struct { ValueCount uint32 `idl:"name:ValueCount" json:"value_count"` StringValues []string `idl:"name:StringValues;size_is:(ValueCount);string" json:"string_values"` }
ClaimEntry_Values_ClaimEntryString structure represents ClaimEntry_Values RPC union arm.
It has following labels: 3
func (*ClaimEntry_Values_ClaimEntryString) MarshalNDR ¶
func (*ClaimEntry_Values_ClaimEntryString) UnmarshalNDR ¶
type ClaimEntry_Values_ClaimEntryUint64 ¶
type ClaimEntry_Values_ClaimEntryUint64 struct { ValueCount uint32 `idl:"name:ValueCount" json:"value_count"` Uint64Values []uint64 `idl:"name:Uint64Values;size_is:(ValueCount)" json:"uint64_values"` }
ClaimEntry_Values_ClaimEntryUint64 structure represents ClaimEntry_Values RPC union arm.
It has following labels: 2
func (*ClaimEntry_Values_ClaimEntryUint64) MarshalNDR ¶
func (*ClaimEntry_Values_ClaimEntryUint64) UnmarshalNDR ¶
type ClaimType ¶
type ClaimType uint16
ClaimType type represents CLAIM_TYPE RPC enumeration.
The CLAIM_TYPE enumeration enumerates various value types of a claim.
var ( // CLAIM_TYPE_INT64: The value type of the claim is LONG64. ClaimTypeInt64 ClaimType = 1 // CLAIM_TYPE_UINT64: The value type of the claim is ULONG64. ClaimTypeUint64 ClaimType = 2 // CLAIM_TYPE_STRING: The value type of the claim is a null-terminated string of Unicode // characters. ClaimTypeString ClaimType = 3 // CLAIM_TYPE_BOOLEAN: The value type of the claim is ULONG64; a value is set to 1 // to specify TRUE, or 0 to specify FALSE. ClaimTypeBoolean ClaimType = 6 )
type ClaimsArray ¶
type ClaimsArray struct { // usClaimsSourceType: Specifies the source of the claims. ClaimsSourceType ClaimsSourceType `idl:"name:usClaimsSourceType" json:"claims_source_type"` // ulClaimsCount: Specifies the number of CLAIM_ENTRY elements in the ClaimEntries // member of this structure. ClaimsCount uint32 `idl:"name:ulClaimsCount" json:"claims_count"` // ClaimEntries: An array that contains ulClaimsCount number of CLAIM_ENTRY elements. ClaimEntries []*ClaimEntry `idl:"name:ClaimEntries;size_is:(ulClaimsCount)" json:"claim_entries"` }
ClaimsArray structure represents CLAIMS_ARRAY RPC structure.
The CLAIMS_ARRAY structure specifies an array of CLAIM_ENTRY structures and the associated claims source type.
func (*ClaimsArray) MarshalNDR ¶
func (*ClaimsArray) UnmarshalNDR ¶
type ClaimsClient ¶
type ClaimsClient interface { // AlterContext alters the client context. AlterContext(context.Context, ...dcerpc.Option) error }
Claims interface.
func NewClaimsClient ¶
type ClaimsCompressionFormat ¶
type ClaimsCompressionFormat uint16
ClaimsCompressionFormat type represents CLAIMS_COMPRESSION_FORMAT RPC enumeration.
The CLAIMS_COMPRESSION_FORMAT enumeration specifies the source of the compression algorithm that is used for encoding claims in a CLAIMS_SET_METADATA structure.
var ( // COMPRESSION_FORMAT_NONE: No compression. ClaimsCompressionFormatNone ClaimsCompressionFormat = 0 // COMPRESSION_FORMAT_LZNT1: The LZNT1 compression algorithm is used. For more information, // see [MS-XCA] section 2.5. ClaimsCompressionFormatLZNT1 ClaimsCompressionFormat = 2 // COMPRESSION_FORMAT_XPRESS: The Xpress LZ77 compression algorithm is used. For more // information, see [MS-XCA] sections 2.3 and 2.4. ClaimsCompressionFormatXPress ClaimsCompressionFormat = 3 // COMPRESSION_FORMAT_XPRESS_HUFF: The Xpress LZ77+Huffman compression algorithm is // used. For more details, see [MS-XCA] sections 2.1 and 2.2. ClaimsCompressionFormatXPressHuff ClaimsCompressionFormat = 4 )
func (ClaimsCompressionFormat) String ¶
func (o ClaimsCompressionFormat) String() string
type ClaimsMap ¶ added in v1.0.4
type ClaimsMap struct { SourceType ClaimsSourceType `json:"source_type"` Claims map[string]any `json:"claims"` }
type ClaimsSet ¶
type ClaimsSet struct { // ulClaimsArrayCount: Specifies the number of CLAIMS_ARRAY elements that are in the // ClaimsArrays member. This field MUST be greater than or equal to 1. ClaimsArrayCount uint32 `idl:"name:ulClaimsArrayCount" json:"claims_array_count"` // ClaimsArrays: An array containing ulClaimsArrayCount number of CLAIMS_ARRAY structures. ClaimsArrays []*ClaimsArray `idl:"name:ClaimsArrays;size_is:(ulClaimsArrayCount)" json:"claims_arrays"` // contains filtered or unexported fields }
ClaimsSet structure represents CLAIMS_SET RPC structure.
The CLAIMS_SET structure specifies CLAIMS_ARRAY structures, each from a different claims source.
func ClaimsSetFromClaimsMaps ¶ added in v1.0.4
ClaimsSetFromClaimsMaps function returns a ClaimsSet from a slice of ClaimsMap.
func (*ClaimsSet) ClaimsMaps ¶ added in v1.0.4
Map returns a map of claims.
func (*ClaimsSet) MarshalNDR ¶
type ClaimsSetMetadata ¶
type ClaimsSetMetadata struct { // ulClaimsSetSize: Contains the size, in bytes, of the ClaimsSet member. ClaimsSetSize uint32 `idl:"name:ulClaimsSetSize" json:"claims_set_size"` // ClaimsSet: A byte array of length ulClaimsSetSize bytes. This field contains a CLAIMS_SET // structure that is encoded as described in section 3.1.1.11.2.5. ClaimsSet []byte `idl:"name:ClaimsSet;size_is:(ulClaimsSetSize)" json:"claims_set"` // usCompressionFormat: Specifies the compression algorithm used for encoding a CLAIMS_SET // structure, as specified in section 3.1.1.11.2.5. CompressionFormat ClaimsCompressionFormat `idl:"name:usCompressionFormat" json:"compression_format"` // ulUncompressedClaimsSetSize: Specifies the size of the partially encoded CLAIMS_SET // structure before compression, the fully encoded version of which is stored in the // ClaimsSet member. UncompressedClaimsSetSize uint32 `idl:"name:ulUncompressedClaimsSetSize" json:"uncompressed_claims_set_size"` // contains filtered or unexported fields }
ClaimsSetMetadata structure represents CLAIMS_SET_METADATA RPC structure.
The CLAIMS_SET_METADATA structure specifies an encoded CLAIMS_SET structure with information about the encoding.
func BuildClaimsSetMetadata ¶ added in v1.0.4
func BuildClaimsSetMetadata(claims *ClaimsSet, opts ...any) (*ClaimsSetMetadata, error)
BuildClaimsSetMetadata builds a ClaimsSetMetadata from a ClaimsSet. The ClaimsSet is serialized and optionally compressed based on the provided options.
func (*ClaimsSetMetadata) Claims ¶ added in v1.0.4
func (o *ClaimsSetMetadata) Claims(opts ...any) (*ClaimsSet, error)
Claims function returns the parsed claims set from the ClaimsSetMetadata.
func (*ClaimsSetMetadata) MarshalNDR ¶
func (*ClaimsSetMetadata) UnmarshalNDR ¶
type ClaimsSourceType ¶
type ClaimsSourceType uint16
ClaimsSourceType type represents CLAIMS_SOURCE_TYPE RPC enumeration.
The CLAIMS_SOURCE_TYPE enumeration specifies the source of the claims.
Note No semantics are to be attached to these values other than those specified in section 3.
var ( ClaimsSourceTypeAD ClaimsSourceType = 1 ClaimsSourceTypeCertificate ClaimsSourceType = 2 )
func (ClaimsSourceType) String ¶
func (o ClaimsSourceType) String() string
type Compression ¶ added in v1.0.4
type Compression interface { // Compress compresses a byte slice. Compress([]byte) ([]byte, error) // Decompress decompresses a byte slice. Decompress([]byte) ([]byte, error) // Format returns the compression format. Format() ClaimsCompressionFormat }
Compression is an interface for compressing and decompressing byte slices.