rpcinterface_e3d0d746d2af40fd8a7a0d7078bb7092_1_0
import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/e3d0d746-d2af-40fd-8a7a-0d7078bb7092/1.0"
Package rpcinterface_e3d0d746d2af40fd8a7a0d7078bb7092_1_0 is the descriptor for the BitsPeerAuth RPC interface, abstract syntax e3d0d746-d2af-40fd-8a7a-0d7078bb7092 version 1.0 ([MS-BPAU]).
Generated by tools/idlgen (descriptor phase) from the IDL, then reviewed: the PipeName, the status-code table, and doc comments are not derivable from the IDL and must be confirmed by hand (see the TODO markers).
Index
Constants
Status codes returned by this interface. ExchangePublicKeys returns an HRESULT ([MS-ERREF] 2.1); ERROR_SUCCESS (0x00000000) is success and any nonzero value is a failure. The documented failures ([MS-BPAU] 3.2.4.1) are E_ACCESSDENIED, returned when the caller’s Kerberos identity is not in a trusted domain or its certificate subject SID does not match that identity, and CERTSRV_E_TEMPLATE_DENIED-style 0x80040006, returned when the server’s peer-certificate table is full.
const (
StatusSuccess uint32 = 0x00000000 // ERROR_SUCCESS / S_OK
StatusAccessDenied uint32 = 0x80070005 // E_ACCESSDENIED
StatusTableFull uint32 = 0x80040006 // per [MS-BPAU] 3.2.4.1: peer-certificate table limit reached
)
Opnums for the on-the-wire methods.
const (
OpnumExchangePublicKeys uint16 = 0
)
PipeName is retained for descriptor uniformity, but BitsPeerAuth is NOT a named-pipe interface: per [MS-BPAU] 2.1 the protocol is carried over ncacn_ip_tcp on a dynamic endpoint that the client resolves through the endpoint mapper (TCP/135), and the server registers the Kerberos security provider (RPC authentication is mandatory). This constant is not the standard binding for this interface.
const PipeName = `\bpau`
Variables
NameToOpnum is the reverse of OpnumToName, built at init so the two never drift.
var NameToOpnum = func() map[string]uint16 {
m := make(map[string]uint16, len(OpnumToName))
for op, name := range OpnumToName {
m[name] = op
}
return m
}()
OpnumToName maps each on-the-wire opnum to its method name; the single source of truth.
var OpnumToName = map[uint16]string{
OpnumExchangePublicKeys: "ExchangePublicKeys",
}
func StatusString
func StatusString(status uint32) string
StatusString returns a mnemonic for the documented status codes, otherwise the hex value.
func SyntaxID
func SyntaxID() syntax.SyntaxID
SyntaxID returns the BitsPeerAuth abstract syntax identifier: e3d0d746-d2af-40fd-8a7a-0d7078bb7092, version 1.0.