Author: vlendec Date: 2004-06-13 15:11:27 +0000 (Sun, 13 Jun 2004) New Revision: 1120
Modified: trunk/source/nsswitch/wb_client.c trunk/source/nsswitch/wb_common.c trunk/source/nsswitch/winbindd.c trunk/source/nsswitch/winbindd_dual.c Log: This is an incomplete (but non-intrusive, ie it should not break anything existing) prototype of a new winbind architecture. My main problem with winbind is that a single irresponsive DC or a simple timeout connecting to a new DC stalls the complete daemon. A simple "getent group" on a large domain with trusts has a similar effect. I'm checking this into head, hoping for feedback on the architecture before I start to expand it (ADS connects, group stuff) and rewrite winbind_nss_linux.c & friends. The new winbind forks off sub-daemons that listen on /tmp/.winbindd/lsa and /tmp/.winbindd/samr-<sid>. For each socket there's a separate daemon that is only responsible for his particular pipe. The interface on the sockets is a simple text-based one: [EMAIL PROTECTED]:~> tcpcat -e /dev/null -u /tmp/.winbindd/lsa connected to unix:/tmp/.winbindd/lsa. nametosid S-1-5-32-545 ERR sidtoname S-1-5-32-545 OK 00000016 BUILTIN\Users\4 enumtrust OK 00000146 3 W2K3AD\S-1-5-21-1267620612-1234943621-2918876032 NT4DOM\S-1-5-21-2050502974-1793144212-56781596 W2KAD\S-1-5-21-2320293905-4037768432-4033469911 254 bytes transfered in 25.38 seconds (0.01 K/s) [EMAIL PROTECTED]:~> The "00000146" denotes the number of bytes that the response consists of. Comments? Volker WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/&rev=1120&nolog=1