svn commit: samba r21292 - in branches/SAMBA_4_0/source/libnet: .

metze at samba.org metze at samba.org
Mon Feb 12 09:53:52 GMT 2007


Author: metze
Date: 2007-02-12 09:53:52 +0000 (Mon, 12 Feb 2007)
New Revision: 21292

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21292

Log:
add become_dc:print = yes option to dump out the drsuapi traffic

metze
Modified:
   branches/SAMBA_4_0/source/libnet/libnet_become_dc.c


Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_become_dc.c
===================================================================
--- branches/SAMBA_4_0/source/libnet/libnet_become_dc.c	2007-02-12 09:36:53 UTC (rev 21291)
+++ branches/SAMBA_4_0/source/libnet/libnet_become_dc.c	2007-02-12 09:53:52 UTC (rev 21292)
@@ -864,9 +864,13 @@
 	drsuapi->s = s;
 
 	if (!drsuapi->binding) {
-		binding_str = talloc_asprintf(s, "ncacn_ip_tcp:%s[krb5,seal]", s->source_dsa.dns_name);
-		if (composite_nomem(binding_str, c)) return;
-
+		if (lp_parm_bool(-1, "become_dc", "print", False)) {
+			binding_str = talloc_asprintf(s, "ncacn_ip_tcp:%s[krb5,print,seal]", s->source_dsa.dns_name);
+			if (composite_nomem(binding_str, c)) return;
+		} else {
+			binding_str = talloc_asprintf(s, "ncacn_ip_tcp:%s[krb5,seal]", s->source_dsa.dns_name);
+			if (composite_nomem(binding_str, c)) return;
+		}
 		c->status = dcerpc_parse_binding(s, binding_str, &drsuapi->binding);
 		talloc_free(binding_str);
 		if (!composite_is_ok(c)) return;
@@ -997,9 +1001,19 @@
 	struct composite_context *c = s->creq;
 	WERROR status;
 
+	bool print = false;
+
+	if (req->p->conn->flags & DCERPC_DEBUG_PRINT_OUT) {
+		print = true;
+	}
+
 	c->status = dcerpc_ndr_request_recv(req);
 	if (!composite_is_ok(c)) return;
 
+	if (print) {
+		NDR_PRINT_OUT_DEBUG(drsuapi_DsBind, &s->drsuapi1.bind_r);
+	}
+
 	status = becomeDC_drsuapi_bind_recv(s, &s->drsuapi1);
 	if (!W_ERROR_IS_OK(status)) {
 		composite_error(c, werror_to_ntstatus(status));
@@ -1467,10 +1481,19 @@
 	struct composite_context *c = s->creq;
 	struct drsuapi_DsAddEntry *r = talloc_get_type(req->ndr.struct_ptr,
 				       struct drsuapi_DsAddEntry);
+	bool print = false;
 
+	if (req->p->conn->flags & DCERPC_DEBUG_PRINT_OUT) {
+		print = true;
+	}
+
 	c->status = dcerpc_ndr_request_recv(req);
 	if (!composite_is_ok(c)) return;
 
+	if (print) {
+		NDR_PRINT_OUT_DEBUG(drsuapi_DsAddEntry, r);
+	}
+
 	if (!W_ERROR_IS_OK(r->out.result)) {
 		composite_error(c, werror_to_ntstatus(r->out.result));
 		return;
@@ -1575,9 +1598,19 @@
 	char *binding_str;
 	WERROR status;
 
+	bool print = false;
+
+	if (req->p->conn->flags & DCERPC_DEBUG_PRINT_OUT) {
+		print = true;
+	}
+
 	c->status = dcerpc_ndr_request_recv(req);
 	if (!composite_is_ok(c)) return;
 
+	if (print) {
+		NDR_PRINT_OUT_DEBUG(drsuapi_DsBind, &s->drsuapi2.bind_r);
+	}
+
 	status = becomeDC_drsuapi_bind_recv(s, &s->drsuapi2);
 	if (!W_ERROR_IS_OK(status)) {
 		composite_error(c, werror_to_ntstatus(status));
@@ -1772,9 +1805,19 @@
 					   struct drsuapi_DsGetNCChanges);
 	WERROR status;
 
+	bool print = false;
+
+	if (req->p->conn->flags & DCERPC_DEBUG_PRINT_OUT) {
+		print = true;
+	}
+
 	c->status = dcerpc_ndr_request_recv(req);
 	if (!composite_is_ok(c)) return;
 
+	if (print) {
+		NDR_PRINT_OUT_DEBUG(drsuapi_DsGetNCChanges, r);
+	}
+
 	status = becomeDC_drsuapi_pull_partition_recv(s, &s->schema_part, r);
 	if (!W_ERROR_IS_OK(status)) {
 		composite_error(c, werror_to_ntstatus(status));
@@ -1824,9 +1867,19 @@
 					   struct drsuapi_DsGetNCChanges);
 	WERROR status;
 
+	bool print = false;
+
+	if (req->p->conn->flags & DCERPC_DEBUG_PRINT_OUT) {
+		print = true;
+	}
+
 	c->status = dcerpc_ndr_request_recv(req);
 	if (!composite_is_ok(c)) return;
 
+	if (print) {
+		NDR_PRINT_OUT_DEBUG(drsuapi_DsGetNCChanges, r);
+	}
+
 	status = becomeDC_drsuapi_pull_partition_recv(s, &s->config_part, r);
 	if (!W_ERROR_IS_OK(status)) {
 		composite_error(c, werror_to_ntstatus(status));
@@ -1881,10 +1934,19 @@
 	struct drsuapi_DsGetNCChanges *r = talloc_get_type(req->ndr.struct_ptr,
 					   struct drsuapi_DsGetNCChanges);
 	WERROR status;
+	bool print = false;
 
+	if (req->p->conn->flags & DCERPC_DEBUG_PRINT_OUT) {
+		print = true;
+	}
+
 	c->status = dcerpc_ndr_request_recv(req);
 	if (!composite_is_ok(c)) return;
 
+	if (print) {
+		NDR_PRINT_OUT_DEBUG(drsuapi_DsGetNCChanges, r);
+	}
+
 	status = becomeDC_drsuapi_pull_partition_recv(s, &s->domain_part, r);
 	if (!W_ERROR_IS_OK(status)) {
 		composite_error(c, werror_to_ntstatus(status));
@@ -1947,10 +2009,19 @@
 	struct composite_context *c = s->creq;
 	struct drsuapi_DsReplicaUpdateRefs *r = talloc_get_type(req->ndr.struct_ptr,
 					   struct drsuapi_DsReplicaUpdateRefs);
+	bool print = false;
 
+	if (req->p->conn->flags & DCERPC_DEBUG_PRINT_OUT) {
+		print = true;
+	}
+
 	c->status = dcerpc_ndr_request_recv(req);
 	if (!composite_is_ok(c)) return;
 
+	if (print) {
+		NDR_PRINT_OUT_DEBUG(drsuapi_DsReplicaUpdateRefs, r);
+	}
+
 	if (!W_ERROR_IS_OK(r->out.result)) {
 		composite_error(c, werror_to_ntstatus(r->out.result));
 		return;



More information about the samba-cvs mailing list