rpcinterface_50abc2a4574d40b39d66ee4fd5fba076_5_0
import "github.com/TheManticoreProject/Manticore/network/dcerpc/interfaces/50abc2a4-574d-40b3-9d66-ee4fd5fba076/5.0"
Package rpcinterface_50abc2a4574d40b39d66ee4fd5fba076_5_0 is the descriptor for the DnsServer RPC interface, abstract syntax 50abc2a4-574d-40b3-9d66-ee4fd5fba076 version 5.0 ([MS-DNSP]).
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
Opnums for the on-the-wire methods.
const (
OpnumR_DnssrvOperation uint16 = 0
OpnumR_DnssrvQuery uint16 = 1
OpnumR_DnssrvComplexOperation uint16 = 2
OpnumR_DnssrvEnumRecords uint16 = 3
OpnumR_DnssrvUpdateRecord uint16 = 4
OpnumR_DnssrvOperation2 uint16 = 5
OpnumR_DnssrvQuery2 uint16 = 6
OpnumR_DnssrvComplexOperation2 uint16 = 7
OpnumR_DnssrvEnumRecords2 uint16 = 8
OpnumR_DnssrvUpdateRecord2 uint16 = 9
OpnumR_DnssrvUpdateRecord3 uint16 = 10
OpnumR_DnssrvEnumRecords3 uint16 = 11
OpnumR_DnssrvOperation3 uint16 = 12
OpnumR_DnssrvQuery3 uint16 = 13
OpnumR_DnssrvComplexOperation3 uint16 = 14
OpnumR_DnssrvOperation4 uint16 = 15
OpnumR_DnssrvQuery4 uint16 = 16
OpnumR_DnssrvUpdateRecord4 uint16 = 17
OpnumR_DnssrvEnumRecords4 uint16 = 18
)
Status codes. Every method returns a LONG that is a Win32 error code ([MS-ERREF] section 2.2), with success being ERROR_SUCCESS (0). The DNS-specific codes live in the 0x000023xx (9000+) range ([MS-ERREF] section 2.2 and [MS-DNSP]). This is a representative subset; StatusString falls back to the raw hex for the rest.
const (
StatusSuccess uint32 = 0x00000000 // ERROR_SUCCESS
ErrorAccessDenied uint32 = 0x00000005 // ERROR_ACCESS_DENIED (5)
ErrorNotSupported uint32 = 0x00000032 // ERROR_NOT_SUPPORTED (50)
ErrorInvalidParameter uint32 = 0x00000057 // ERROR_INVALID_PARAMETER (87)
DnsErrorRcodeFormatError uint32 = 0x00002329 // DNS_ERROR_RCODE_FORMAT_ERROR (9001)
DnsErrorRcodeServerFailure uint32 = 0x0000232a // DNS_ERROR_RCODE_SERVER_FAILURE (9002)
DnsErrorRcodeNameError uint32 = 0x0000232b // DNS_ERROR_RCODE_NAME_ERROR (9003)
DnsErrorRcodeNotImplemented uint32 = 0x0000232c // DNS_ERROR_RCODE_NOT_IMPLEMENTED (9004)
DnsErrorRcodeRefused uint32 = 0x0000232d // DNS_ERROR_RCODE_REFUSED (9005)
DnsErrorInvalidType uint32 = 0x0000254f // DNS_ERROR_INVALID_TYPE (9551)
DnsErrorInvalidIPAddress uint32 = 0x00002550 // DNS_ERROR_INVALID_IP_ADDRESS (9552)
DnsErrorZoneDoesNotExist uint32 = 0x00002581 // DNS_ERROR_ZONE_DOES_NOT_EXIST (9601)
DnsErrorNoZoneInfo uint32 = 0x00002582 // DNS_ERROR_NO_ZONE_INFO (9602)
DnsErrorInvalidZoneOp uint32 = 0x00002583 // DNS_ERROR_INVALID_ZONE_OPERATION (9603)
DnsErrorZoneConfigError uint32 = 0x00002584 // DNS_ERROR_ZONE_CONFIGURATION_ERROR (9604)
DnsErrorZoneAlreadyExists uint32 = 0x00002589 // DNS_ERROR_ZONE_ALREADY_EXISTS (9609)
DnsErrorInvalidZoneType uint32 = 0x0000258b // DNS_ERROR_INVALID_ZONE_TYPE (9611)
DnsErrorRecordDoesNotExist uint32 = 0x000025e5 // DNS_ERROR_RECORD_DOES_NOT_EXIST (9701)
DnsErrorRecordAlreadyExist uint32 = 0x000025ef // DNS_ERROR_RECORD_ALREADY_EXISTS (9711)
DnsErrorNameDoesNotExist uint32 = 0x000025f2 // DNS_ERROR_NAME_DOES_NOT_EXIST (9714)
DnsErrorDsUnavailable uint32 = 0x000025f5 // DNS_ERROR_DS_UNAVAILABLE (9717)
DnsErrorDpDoesNotExist uint32 = 0x000026ad // DNS_ERROR_DP_DOES_NOT_EXIST (9901)
DnsErrorDpAlreadyExists uint32 = 0x000026ae // DNS_ERROR_DP_ALREADY_EXISTS (9902)
)
PipeName is the IPC$-relative named pipe for the DnsServer interface. All implementations MUST support ncacn_ip_tcp with dynamic endpoints; ncacn_np over \PIPE\DNSSERVER is optional ([MS-DNSP] section 2.1 Transport).
const PipeName = `\DNSSERVER`
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{
OpnumR_DnssrvOperation: "R_DnssrvOperation",
OpnumR_DnssrvQuery: "R_DnssrvQuery",
OpnumR_DnssrvComplexOperation: "R_DnssrvComplexOperation",
OpnumR_DnssrvEnumRecords: "R_DnssrvEnumRecords",
OpnumR_DnssrvUpdateRecord: "R_DnssrvUpdateRecord",
OpnumR_DnssrvOperation2: "R_DnssrvOperation2",
OpnumR_DnssrvQuery2: "R_DnssrvQuery2",
OpnumR_DnssrvComplexOperation2: "R_DnssrvComplexOperation2",
OpnumR_DnssrvEnumRecords2: "R_DnssrvEnumRecords2",
OpnumR_DnssrvUpdateRecord2: "R_DnssrvUpdateRecord2",
OpnumR_DnssrvUpdateRecord3: "R_DnssrvUpdateRecord3",
OpnumR_DnssrvEnumRecords3: "R_DnssrvEnumRecords3",
OpnumR_DnssrvOperation3: "R_DnssrvOperation3",
OpnumR_DnssrvQuery3: "R_DnssrvQuery3",
OpnumR_DnssrvComplexOperation3: "R_DnssrvComplexOperation3",
OpnumR_DnssrvOperation4: "R_DnssrvOperation4",
OpnumR_DnssrvQuery4: "R_DnssrvQuery4",
OpnumR_DnssrvUpdateRecord4: "R_DnssrvUpdateRecord4",
OpnumR_DnssrvEnumRecords4: "R_DnssrvEnumRecords4",
}
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 DnsServer abstract syntax identifier: 50abc2a4-574d-40b3-9d66-ee4fd5fba076, version 5.0.