svn commit: samba r1845 - in branches/SAMBA_4_0/source: build/pidl librpc/rpc

tridge at samba.org tridge at samba.org
Tue Aug 17 23:55:54 GMT 2004


Metze,

 >  	if (dce_call->fault_code != 0) {
 > -		return NT_STATUS_NET_WRITE_FAULT;
 > +		return dcerpc_map_fault2ntstatus(dce_call->fault_code);

I'm a bit concerned about this API change. The way I meant this to
work is that NT_STATUS_NET_WRITE_FAULT from a DCE/RPC call means "you
got a DCE/RPC fault, please look at the fault code in
p->last_fault_code".

With this change, we can no longer do that, and it means that the
caller needs to know that NT_STATUS_ACCESS_DENIED (and any other
status code) could mean that the RPC server at the other end actually
returned that code, or it could mean that the RPC server didn't even
receive the packet and we actually had a DCE/RPC level fault.

I suppose the trouble really started when I overloaded the single
NTSTATUS return value to mean two things. Maybe we should look at that
again? It sure is ugly that we treat RPC functions that return
NTSTATUS specially, and in quite a different fashion from functions
that return WERROR or other error types.

Do you have a plan for these types of things with your recent changes?

Cheers, Tridge


More information about the samba-technical mailing list