midlc-0.6.0 released / Samba4 Stubs

Michael B Allen mba2000 at ioplex.com
Thu Feb 10 07:18:25 GMT 2005

This was pretty much an academic exercise but here it is...




A MIDL Compatible IDL compiler in C

Wed Feb  9 23:37:35 EST 2005
midlc-0.6.0 released

This release adds support for Samba4 stubs. Only the rpcecho test interface
has  been  demonstrated  to  work  and  the call-glue used to translate the
Samba4  specific  nature  of PIDL stubs is a little goofy so I don't expect
anyone  to  get  a wide variety of interfaces working easily. But this is a
good first step. The important thing is that marshalling routines should be
fairly  solid  (minus proper error checking and other related things). They
were  tested  externally using a driver program to call LsarLookupSids on a
blob of data exported from Ethereal.

To  run  the  rpcecho example you generate the stub, edit the first line of 
the  Makefile  to  point  to  the samba4 directory, compile the stub, build
samba4,  overwrite  samba4/source/librpc/ndr_gen/ndr_echo.o  with  the  new
stub,  and  relink/reinstall the samba4 binaries (or just smbd really). The
command dialog might look like: 

  $ ./midlc -v -t samba -o ndr_echo idl/echo.idl
  <edit first line of Makefile to point to samba4> 
  $ make echo
  <build samba4> 
  $ cp ndr_echo.o <samba4dir>/source/librpc/gen_ndr
  $ cd <samba4dir>/source
  $ make  
  Linking bin/smbtorture
  Linking bin/ndrdump
  Linking bin/smbd
  # cp bin/smbd /usr/local/samba/sbin

Now  run  smbd  and  test the echo interface. I was unable to test the last
operation because the version of samba4 I have has an enum bug (that tridge
knows about and fixed in svn).

To uninstall just delete ndr_echo.o and relink/reinstall the binaries.

IRC - where men are men, women are men, and the boys are FBI agents.

More information about the samba-technical mailing list