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-----
> 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
- - 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
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
More information about the samba-technical