iadproxy

package
v1.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// IADProxy interface identifier 4bb8ab1d-9ef9-4100-8eb6-dd4b4e418b72
	IADProxyIID = &dcom.IID{Data1: 0x4bb8ab1d, Data2: 0x9ef9, Data3: 0x4100, Data4: []byte{0x8e, 0xb6, 0xdd, 0x4b, 0x4e, 0x41, 0x8b, 0x72}}
	// Syntax UUID
	IADProxySyntaxUUID = &uuid.UUID{TimeLow: 0x4bb8ab1d, TimeMid: 0x9ef9, TimeHiAndVersion: 0x4100, ClockSeqHiAndReserved: 0x8e, ClockSeqLow: 0xb6, Node: [6]uint8{0xdd, 0x4b, 0x4e, 0x41, 0x8b, 0x72}}
	// Syntax ID
	IADProxySyntaxV0_0 = &dcerpc.SyntaxID{IfUUID: IADProxySyntaxUUID, IfVersionMajor: 0, IfVersionMinor: 0}
)
View Source
var (
	// import guard
	GoPackage = "dcom/dfsrh"
)

Functions

func IADProxyServerHandle

func IADProxyServerHandle(ctx context.Context, o IADProxyServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)

func NewIADProxyServerHandle

func NewIADProxyServerHandle(o IADProxyServer) dcerpc.ServerHandle

func RegisterIADProxyServer

func RegisterIADProxyServer(conn dcerpc.Conn, o IADProxyServer, opts ...dcerpc.Option)

Types

type CreateObjectRequest

type CreateObjectRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// domainControllerName: MUST be the FQDN of the domain controller to which the method
	// sends the LDAP request. The format of the distinguished name MUST be as specified
	// in [RFC2251] section 4.1.3.
	DomainControllerName *oaut.String `idl:"name:domainControllerName" json:"domain_controller_name"`
	// distinguishedName: MUST be the distinguished name of the Active Directory object
	// that is being created. The distinguished name of any object in Active Directory MAY
	// be used. The format of the distinguished name is specified in [RFC2251] section 4.1.3.
	// <53>
	DistinguishedName *oaut.String `idl:"name:distinguishedName" json:"distinguished_name"`
	// attributes: MUST be the safe array of attributes that are to be created for the new
	// object.
	Attributes *oaut.SafeArray `idl:"name:attributes" json:"attributes"`
	// verifyNameDomainControllerName: If the attributes of the object refer to an object
	// in another domain, the client MUST specify the domain controller in that domain that
	// will be used to verify the reference. The LDAP_SERVER_VERIFY_NAME_OID control MUST
	// be added to the LDAP command. The LDAP_SERVER_VERIFY_NAME_OID control is specified
	// in [MS-ADTS] section 3.1.1.3.4.1.16. If this parameter does not specify a domain
	// controller that can be contacted to validate these references, the method MUST fail
	// and return an LDAP protocol failure.
	VerifyNameDomainControllerName *oaut.String `idl:"name:verifyNameDomainControllerName" json:"verify_name_domain_controller_name"`
}

CreateObjectRequest structure represents the CreateObject operation request

func (*CreateObjectRequest) MarshalNDR

func (o *CreateObjectRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CreateObjectRequest) UnmarshalNDR

func (o *CreateObjectRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type CreateObjectResponse

type CreateObjectResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// Return: The CreateObject return value.
	Return int32 `idl:"name:Return" json:"return"`
}

CreateObjectResponse structure represents the CreateObject operation response

func (*CreateObjectResponse) MarshalNDR

func (o *CreateObjectResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*CreateObjectResponse) UnmarshalNDR

func (o *CreateObjectResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeleteObjectRequest

type DeleteObjectRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// domainControllerName: MUST be the FQDN of the domain controller to which the method
	// sends the LDAP command.
	//
	// domainControllerName: MUST be the FQDN of the domain controller to which the method
	// sends the LDAP request.
	DomainControllerName *oaut.String `idl:"name:domainControllerName" json:"domain_controller_name"`
	// distinguishedName: MUST be the distinguished name of the Active Directory object
	// that is being deleted. The distinguished name of any object in Active Directory can
	// be used. The format of the distinguished name is specified in [RFC2251] section 4.1.3.
	//
	// distinguishedName: MUST be the distinguished name of the Active Directory object
	// that is being deleted. The distinguished name of any object in Active Directory MAY
	// be used. The format of the distinguished name is specified in [RFC2251] section 4.1.3.
	// <55>
	DistinguishedName *oaut.String `idl:"name:distinguishedName" json:"distinguished_name"`
}

DeleteObjectRequest structure represents the DeleteObject operation request

func (*DeleteObjectRequest) MarshalNDR

func (o *DeleteObjectRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeleteObjectRequest) UnmarshalNDR

func (o *DeleteObjectRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type DeleteObjectResponse

type DeleteObjectResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// Return: The DeleteObject return value.
	Return int32 `idl:"name:Return" json:"return"`
}

DeleteObjectResponse structure represents the DeleteObject operation response

func (*DeleteObjectResponse) MarshalNDR

func (o *DeleteObjectResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*DeleteObjectResponse) UnmarshalNDR

func (o *DeleteObjectResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type IADProxyClient

type IADProxyClient interface {

	// IUnknown retrieval method.
	Unknown() iunknown.UnknownClient

	// The CreateObject method MUST execute an LDAP command under machine security credentials,
	// or for a cluster, under the specified network name credentials in order to create
	// an Active Directory object that has a specific distinguished name and attributes.<52>
	//
	// Return Values: The method MUST return:
	//
	// * 0 on success.
	//
	// * For LDAP protocol failures:
	//
	// * If the LDAP error is LDAP_OPERATIONS_ERROR, dfsrHelperLdapErrorBase + the server-side
	// error code.
	//
	// * For all other LDAP errors, dfsrHelperLdapErrorBase + the LDAP return code. For
	// more information, see [LDAP-ERR] ( https://go.microsoft.com/fwlink/?LinkId=89933
	// ).
	//
	// * For all other failures, an implementation-specific nonzero HRESULT ( ../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac
	// ) error code, as specified in [MS-ERREF] ( ../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90
	// ) section 2.1 ( ../ms-erref/0642cb2f-2075-4469-918c-4441e69c548a ) , between 0x80000000
	// and 0xFFFFFFFF. For protocol purposes, all nonzero values MUST be treated as equivalent
	// failures.
	CreateObject(context.Context, *CreateObjectRequest, ...dcerpc.CallOption) (*CreateObjectResponse, error)

	// The DeleteObject method MUST execute an LDAP command under machine security credentials
	// to delete an Active Directory object with a specified distinguished name.<46>
	//
	// The DeleteObject method executes an LDAP command to delete an Active Directory object
	// that has a specified distinguished name and attributes. The command MUST be executed
	// under the machine security credentials, or for a cluster, under the specified network
	// name credentials.<54>
	//
	// Return Values: The method MUST return:
	//
	// * A value of 0 when:
	//
	// * The method call is successful.
	//
	// * The LDAP error is LDAP_NO_SUCH_OBJECT.
	//
	// * For other LDAP protocol failures:
	//
	// * A value of dfsrHelperLdapErrorBase + the server-side error code  if the LDAP error
	// is LDAP_OPERATIONS_ERROR.
	//
	// * A value of dfsrHelperLdapErrorBase + the LDAP return code for all other LDAP errors.
	// For more information, see [LDAP-ERR] ( https://go.microsoft.com/fwlink/?LinkId=89933
	// ).
	//
	// * For all other failures, an implementation-specific nonzero HRESULT ( ../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac
	// ) error code, as specified in [MS-ERREF] ( ../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90
	// ) section 2.1 ( ../ms-erref/0642cb2f-2075-4469-918c-4441e69c548a ) , between 0x80000000
	// and 0xFFFFFFFF. For protocol purposes, all nonzero values MUST be treated as equivalent
	// failures.
	DeleteObject(context.Context, *DeleteObjectRequest, ...dcerpc.CallOption) (*DeleteObjectResponse, error)

	// The ModifyObject method executes an LDAP command to add, delete, or modify attributes
	// of a specified Active Directory object. The command MUST be executed under machine
	// security credentials, or for a cluster, under the specified network name credentials
	// in order to modify an Active Directory object that has a specific distinguished name
	// and attributes.<56>
	//
	// The ModifyObject method MUST execute an LDAP command under machine security credentials
	// to add, delete, or modify attributes of an Active Directory object that has a specified
	// distinguished name.<48>
	//
	// Return Values: The method MUST return:
	//
	// * Zero on success.
	//
	// * For LDAP protocol failures:
	//
	// * If the LDAP error is LDAP_OPERATIONS_ERROR, dfsrHelperLdapErrorBase + the server-side
	// error code.
	//
	// * For all other LDAP errors, dfsrHelperLdapErrorBase + the LDAP return code. For
	// more information, see [LDAP-ERR] ( https://go.microsoft.com/fwlink/?LinkId=89933
	// ).
	//
	// * For all other failures, an implementation-specific nonzero HRESULT ( ../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac
	// ) error code, as specified in [MS-ERREF] ( ../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90
	// ) section 2.1 ( ../ms-erref/0642cb2f-2075-4469-918c-4441e69c548a ) , between 0x80000000
	// and 0xFFFFFFFF. For protocol purposes, all nonzero values MUST be treated as equivalent
	// failures.
	ModifyObject(context.Context, *ModifyObjectRequest, ...dcerpc.CallOption) (*ModifyObjectResponse, error)

	// AlterContext alters the client context.
	AlterContext(context.Context, ...dcerpc.Option) error

	// IPID sets the object interface identifier.
	IPID(context.Context, *dcom.IPID) IADProxyClient
}

IADProxy interface.

func NewIADProxyClient

func NewIADProxyClient(ctx context.Context, cc dcerpc.Conn, opts ...dcerpc.Option) (IADProxyClient, error)

type IADProxyServer

type IADProxyServer interface {

	// IUnknown base class.
	iunknown.UnknownServer

	// The CreateObject method MUST execute an LDAP command under machine security credentials,
	// or for a cluster, under the specified network name credentials in order to create
	// an Active Directory object that has a specific distinguished name and attributes.<52>
	//
	// Return Values: The method MUST return:
	//
	// * 0 on success.
	//
	// * For LDAP protocol failures:
	//
	// * If the LDAP error is LDAP_OPERATIONS_ERROR, dfsrHelperLdapErrorBase + the server-side
	// error code.
	//
	// * For all other LDAP errors, dfsrHelperLdapErrorBase + the LDAP return code. For
	// more information, see [LDAP-ERR] ( https://go.microsoft.com/fwlink/?LinkId=89933
	// ).
	//
	// * For all other failures, an implementation-specific nonzero HRESULT ( ../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac
	// ) error code, as specified in [MS-ERREF] ( ../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90
	// ) section 2.1 ( ../ms-erref/0642cb2f-2075-4469-918c-4441e69c548a ) , between 0x80000000
	// and 0xFFFFFFFF. For protocol purposes, all nonzero values MUST be treated as equivalent
	// failures.
	CreateObject(context.Context, *CreateObjectRequest) (*CreateObjectResponse, error)

	// The DeleteObject method MUST execute an LDAP command under machine security credentials
	// to delete an Active Directory object with a specified distinguished name.<46>
	//
	// The DeleteObject method executes an LDAP command to delete an Active Directory object
	// that has a specified distinguished name and attributes. The command MUST be executed
	// under the machine security credentials, or for a cluster, under the specified network
	// name credentials.<54>
	//
	// Return Values: The method MUST return:
	//
	// * A value of 0 when:
	//
	// * The method call is successful.
	//
	// * The LDAP error is LDAP_NO_SUCH_OBJECT.
	//
	// * For other LDAP protocol failures:
	//
	// * A value of dfsrHelperLdapErrorBase + the server-side error code  if the LDAP error
	// is LDAP_OPERATIONS_ERROR.
	//
	// * A value of dfsrHelperLdapErrorBase + the LDAP return code for all other LDAP errors.
	// For more information, see [LDAP-ERR] ( https://go.microsoft.com/fwlink/?LinkId=89933
	// ).
	//
	// * For all other failures, an implementation-specific nonzero HRESULT ( ../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac
	// ) error code, as specified in [MS-ERREF] ( ../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90
	// ) section 2.1 ( ../ms-erref/0642cb2f-2075-4469-918c-4441e69c548a ) , between 0x80000000
	// and 0xFFFFFFFF. For protocol purposes, all nonzero values MUST be treated as equivalent
	// failures.
	DeleteObject(context.Context, *DeleteObjectRequest) (*DeleteObjectResponse, error)

	// The ModifyObject method executes an LDAP command to add, delete, or modify attributes
	// of a specified Active Directory object. The command MUST be executed under machine
	// security credentials, or for a cluster, under the specified network name credentials
	// in order to modify an Active Directory object that has a specific distinguished name
	// and attributes.<56>
	//
	// The ModifyObject method MUST execute an LDAP command under machine security credentials
	// to add, delete, or modify attributes of an Active Directory object that has a specified
	// distinguished name.<48>
	//
	// Return Values: The method MUST return:
	//
	// * Zero on success.
	//
	// * For LDAP protocol failures:
	//
	// * If the LDAP error is LDAP_OPERATIONS_ERROR, dfsrHelperLdapErrorBase + the server-side
	// error code.
	//
	// * For all other LDAP errors, dfsrHelperLdapErrorBase + the LDAP return code. For
	// more information, see [LDAP-ERR] ( https://go.microsoft.com/fwlink/?LinkId=89933
	// ).
	//
	// * For all other failures, an implementation-specific nonzero HRESULT ( ../ms-dtyp/a9046ed2-bfb2-4d56-a719-2824afce59ac
	// ) error code, as specified in [MS-ERREF] ( ../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90
	// ) section 2.1 ( ../ms-erref/0642cb2f-2075-4469-918c-4441e69c548a ) , between 0x80000000
	// and 0xFFFFFFFF. For protocol purposes, all nonzero values MUST be treated as equivalent
	// failures.
	ModifyObject(context.Context, *ModifyObjectRequest) (*ModifyObjectResponse, error)
}

IADProxy server interface.

type ModifyObjectRequest

type ModifyObjectRequest struct {
	// This: ORPCTHIS structure that is used to send ORPC extension data to the server.
	This *dcom.ORPCThis `idl:"name:This" json:"this"`
	// domainControllerName: MUST be the FQDN of the domain controller to which the method
	// sends the LDAP request.
	//
	// domainControllerName: MUST be the FQDN of the domain controller to which the method
	// sends the LDAP request. The format of the distinguished name is specified in [RFC2251]
	// section 4.1.3.
	DomainControllerName *oaut.String `idl:"name:domainControllerName" json:"domain_controller_name"`
	// distinguishedName: MUST be the distinguished name of the Active Directory object
	// that is being modified. The distinguished name of any object in Active Directory
	// MAY be used. The format of the distinguished name is specified in [RFC2251] section
	// 4.1.3.  <57>
	//
	// distinguishedName: MUST be the distinguished name of the Active Directory object
	// being modified. The distinguished name of any object in Active Directory MAY be used.
	// <49>
	DistinguishedName *oaut.String `idl:"name:distinguishedName" json:"distinguished_name"`
	// attributes: MUST be the safe array of attributes that are to be added, modified,
	// or deleted.
	Attributes *oaut.SafeArray `idl:"name:attributes" json:"attributes"`
}

ModifyObjectRequest structure represents the ModifyObject operation request

func (*ModifyObjectRequest) MarshalNDR

func (o *ModifyObjectRequest) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ModifyObjectRequest) UnmarshalNDR

func (o *ModifyObjectRequest) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

type ModifyObjectResponse

type ModifyObjectResponse struct {
	// That: ORPCTHAT structure that is used to return ORPC extension data to the client.
	That *dcom.ORPCThat `idl:"name:That" json:"that"`
	// Return: The ModifyObject return value.
	Return int32 `idl:"name:Return" json:"return"`
}

ModifyObjectResponse structure represents the ModifyObject operation response

func (*ModifyObjectResponse) MarshalNDR

func (o *ModifyObjectResponse) MarshalNDR(ctx context.Context, w ndr.Writer) error

func (*ModifyObjectResponse) UnmarshalNDR

func (o *ModifyObjectResponse) UnmarshalNDR(ctx context.Context, r ndr.Reader) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL