*/
+#include "librpc/rpc/dcerpc.h"
+
/*
* struct definition for connecting to a dcerpc inferface
*/
name to a pdc address before connecting) */
LIBNET_RPC_CONNECT_DC, /* connect to any DC (resolves domain
name to a DC address before connecting) */
- LIBNET_RPC_CONNECT_BINDING /* specified binding string */
+ LIBNET_RPC_CONNECT_BINDING, /* specified binding string */
+ LIBNET_RPC_CONNECT_DC_INFO /* connect to a DC and provide basic domain
+ information (name, realm, sid, guid) */
};
struct libnet_RpcConnect {
} in;
struct {
struct dcerpc_pipe *dcerpc_pipe;
+
+ /* parameters provided in LIBNET_RPC_CONNECT_DC_INFO level, null otherwise */
+ const char *domain_name;
+ struct dom_sid *domain_sid;
+ const char *realm; /* these parameters are only present if */
+ struct GUID *guid; /* the remote server is known to be AD */
+
const char *error_string;
} out;
};
-struct libnet_RpcConnectDCInfo {
- enum libnet_RpcConnect_level level;
- struct {
- const char *name;
- const char *binding;
- const struct dcerpc_interface_table *dcerpc_iface;
- } in;
- struct {
- struct dcerpc_pipe *dcerpc_pipe;
- struct dom_sid *domain_sid;
- const char *domain_name;
+/*
+ * Monitor messages sent from libnet_rpc.c functions
+ */
- /* These parameters only present if the remote server is known to be AD */
- const char *realm;
- struct GUID *guid;
+struct msg_net_lookup_dc {
+ const char *domain_name;
+ const char *hostname;
+ const char *address;
+};
- const char *error_string;
- } out;
+
+struct msg_net_pipe_connected {
+ const char *host;
+ const char *endpoint;
+ enum dcerpc_transport_t transport;
};