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