summaryrefslogtreecommitdiff
path: root/pidl
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2010-03-27 12:48:21 +0100
committerStefan Metzmacher <metze@samba.org>2010-03-29 15:35:53 +0200
commite230c8dd2441181963c6df678be06cdaaf6cb822 (patch)
tree275f6d3bcafa759ef251c00eb24f79c6fe82aa52 /pidl
parent979c50eff7a7a1611e27f0e26db821416d50110f (diff)
downloadsamba-e230c8dd2441181963c6df678be06cdaaf6cb822.tar.gz
samba-e230c8dd2441181963c6df678be06cdaaf6cb822.tar.bz2
samba-e230c8dd2441181963c6df678be06cdaaf6cb822.zip
pidl:Samba4/Client: don't mix rpc and application NTSTATUS errors anymore for the new bindings
The new dcerpc_binding_handle based client stubs don't mix error codes anymore, while the old dcerpc_pipe based ones still do to keep OpenChange happy for now. metze
Diffstat (limited to 'pidl')
-rw-r--r--pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm17
1 files changed, 16 insertions, 1 deletions
diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm
index aa9dad9d52..43fe61196e 100644
--- a/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm
@@ -280,7 +280,22 @@ sub ParseFunction_r_Sync($$$)
$res .= "\t\tstruct dcerpc_pipe);\n";
$res .= "\n";
- $res .= "\treturn dcerpc_$name(p, mem_ctx, r);\n";
+ $res .= "
+ NTSTATUS status;
+
+ if (p->conn->flags & DCERPC_DEBUG_PRINT_IN) {
+ NDR_PRINT_IN_DEBUG($name, r);
+ }
+
+ status = dcerpc_ndr_request(p, NULL, &ndr_table_$interface->{NAME},
+ NDR_$uname, mem_ctx, r);
+
+ if (NT_STATUS_IS_OK(status) && (p->conn->flags & DCERPC_DEBUG_PRINT_OUT)) {
+ NDR_PRINT_OUT_DEBUG($name, r);
+ }
+ return status;
+";
+
$res .= "}\n";
$res .= "\n";
}