Add the "SMBD" rpc transport
authorVolker Lendecke <vl@samba.org>
Thu, 29 Jan 2009 21:54:55 +0000 (22:54 +0100)
committerVolker Lendecke <vl@samba.org>
Fri, 30 Jan 2009 11:48:00 +0000 (12:48 +0100)
commit22e3004829fe742efdbf750611749b9aaf585515
treed35089002df57ce272d99d6a7c68f6f4ed8da166
parentb873ede89d3155438f7f9938d9a027cb4e3791e7
Add the "SMBD" rpc transport

The idea of this is that all client utils like smbpasswd and also for example
"net join" do not access our internal databases like passdb and secrets.tdb
directly anymore but pass everything throught the well-established RPC
interfaces.

The way you use this is the following: With rpc_cli_smbd_conn_init() or its
async variant you initialize a "struct rpc_cli_smbd_conn". This structure is
the link to a freshly forked smbd, ready to be used for RPC services. You
should only ever have one such structure in your program. More don't hurt, but
are plainly unnecessary.

If you want to use the SAMR pipe to change a passwort, you connect to that pipe
with rpc_pipe_open_local. Do you normal rpccli_samr calls on that and your
locally forked smbd will connect to passdb for you.

GD, this might make the distinction between the _l and _r calls in libnetapi
mostly unnecessary. At least it is intended to do so... :-)
source3/Makefile.in
source3/include/proto.h
source3/include/smb.h
source3/rpc_client/cli_pipe.c
source3/rpc_client/rpc_transport_smbd.c [new file with mode: 0644]