svn commit: samba r2938 - in branches/SAMBA_4_0/source: librpc/idl librpc/rpc rpc_server/epmapper torture/rpc

tridge at samba.org tridge at samba.org
Tue Oct 12 23:28:11 GMT 2004


Jelmer,

 > Log:
 > Use IDL to dissect the RHS of floors in protocol towers
 > 
 > Modified:
 >    branches/SAMBA_4_0/source/librpc/idl/epmapper.idl
 >    branches/SAMBA_4_0/source/librpc/rpc/dcerpc_util.c
 >    branches/SAMBA_4_0/source/rpc_server/epmapper/rpc_epmapper.c
 >    branches/SAMBA_4_0/source/torture/rpc/epmapper.c

Is there any reason why you did this?

 	typedef struct {
-		[value(ndr_size_epm_towers(&r->towers))] uint32  tower_length;
+		uint32 tower_length;
 		[subcontext(4)] epm_towers towers;
 	} epm_twr_t;

that change completely breaks DCERPC over TCP in all our client code,
as it means we send epm_twr_t structures with the tower_length not
filled in when querying the servers endpoint mapper.

I think instead you need to fix ndr_size_epm_floor() to handle the new
breakdown of the RHS structures.

Cheers, Tridge

PS: I like the idea behind the new RHS code, just not the fact that it
breaks everything :)


More information about the samba-technical mailing list