mirror of
https://github.com/samba-team/samba.git
synced 2025-01-28 17:47:29 +03:00
7e6cf43756
1.) We now register endpoint servers add startup via register_backend() and later use the smb.conf 'dcerpc endpoint servers' parameter to setup the dcesrv_context 2.) each endpoint server can register at context creation time as much interfaces as it wants (multiple interfaces on one endpoint are supported!) (NOTE: there's a difference between 'endpoint server' and 'endpoint'! for details look at rpc_server/dcesrv_server.h) 3.) one endpoint can have a security descriptor registered to it self this will be checked in the future when a client wants to connect to an smb pipe endpoint. 4.) we now have a 'remote' endpoint server, which works like the ntvfs_cifs module it takes this options in the [globals] section: dcerpc remote:interfaces = srvsvc, winreg, w32time, epmapper dcerpc remote:binding = ... dcerpc remote:user = ... dcerpc remote:password = ... 5.) we currently have tree endpoint servers: epmapper, rpcecho and remote the default for the 'dcerpc endpiont servers = epmapper, rpcecho' for testing you can also do dcerpc endpoint servers = rpcecho, remote, epmapper dcerpc remote:interfaces = srvsvc, samr, netlogon 6,) please notice the the epmapper now only returns NO_ENTRIES (but I think we'll find a solution for this too:-) 7.) also there're some other stuff left, but step by step :-) This patch also includes updates for the register_subsystem() , ntvfs_init(), and some other funtions to check for duplicate subsystem registration metze (hmmm, my first large commit...I hope it works as supposed :-) (This used to be commit 917e45dafd5be4c2cd90ff425b8d6f8403122349)
This is the base of the new NTVFS subsystem for Samba. The model for NTVFS backends is quite different than for the older style VFS backends, in particular: - the NTVFS backends receive windows style file names, although they are in the unix charset (usually UTF8). This means the backend is responsible for mapping windows filename conventions to unix filename conventions if necessary - the NTVFS backends are responsible for changing effective UID before calling any OS local filesystem operations (if needed). The become_*() functions are provided to make this easier. - the NTVFS backends are responsible for resolving DFS paths - each NTVFS backend handles either disk, printer or IPC$ shares, rather than one backend handling all types - the entry points of the NTVFS backends correspond closely with basic SMB operations, wheres the old VFS was modelled directly on the POSIX filesystem interface. - the NTVFS backends are responsible for all semantic mappings, such as mapping dos file attributes, ACLs, file ownership and file times