Port winbindd child dispatch table split up to v3-2-test

Stefan (metze) Metzmacher metze at samba.org
Tue Oct 16 08:48:23 GMT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Jerry,

> Metze,  I actually don't like this patch.  It's not the patch
> per say.  I just see no real benefit from all the code movingand having
> now to maintain three dispatch tables.  But maybe if you could help
> me understand why this change is necessary in your long term plans,
> that would turn my opinion.

While I'm trying to understand the current winbindd, I got very confused
about what code belongs to which runtime process.

I'm currently trying this:
- - Understand the current struct based protocol
  (between client and parent winbindd) in a detailed
  way I would explore any wire protocol. That means
  writing torture tests which demonstrate what a call
  should return with given input parameters. And all
  from the view of a naive user of the protocol without much
  knowledge of the internals.
- - Understand the current internal communication between the winbindd
  parent and the children. I figured out that there're 3 kinds of
  children: multiple domain children, one idmap child and one locator
  child. But it's very hard to tell what operations are supposed to be
  provided by each of this children. And splitting the child dispatch
  table into logical groups, makes this more clear and helped me to
  understand this topic much better (and I think it might be helpful for
  others too). I assume this patches are purely cosmetic and didn't
  change the behavior, but I'm not totally sure I split up the table
  correctly. So I at least need some feedback, if this patches would
  introduce problems, which I'm not aware of.
- - Convert all internal communication to a NDR-based protocol.
  And the different dispatch tables would allow be to convert
  each on its own to the new protocol. While this also trims down
  the test matrix, so I can be sure I don't need to test e.g.
  the WINBINDD_DSGETDCNAME operation in a domain or idmap child.
  For me it makes it much easier to understand the scope of
  the operations.
- - Provide an NDR based protocol to the clients and make the
  implementation of the operations independent from the protocol,
  so the NDR based and struct based protocols are both provided,
  and the used protocol is autodetected per call.
  I've already started with this in here
  http://gitweb.samba.org/?p=metze/samba/wb-ndr.git;a=summary

metze
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org

iD8DBQFHFHrXm70gjA5TCD8RAtbeAKCp/QQhMZ55qtGVSPKxiB5b+0NfnQCgojg5
cPmppVQvKDIjJ69RTRkx1kY=
=tcoM
-----END PGP SIGNATURE-----


More information about the samba-technical mailing list