[WIP PATCH] DCE/RPC server merge (was: Re: [WIP PATCH] Witness Server with CTDB integration)

Samuel Cabrero scabrero at suse.de
Fri Feb 8 17:41:39 UTC 2019


On Mon, 2019-02-04 at 14:21 +0100, Andreas Schneider wrote:
> On Sunday, February 3, 2019 11:44:41 AM CET Samuel Cabrero via samba-
> technical 
> wrote:
> > JFYI, at FOSDEM this weekend we're presenting a prototype Witness
> > implementation with CTDB integration. The code is available at:
> > 
> > https://gitlab.com/scabrero/samba/tree/witness-srv-v3
> 
> Hi Samuel,
> 
> thanks for the presentation and your work.
>  
> > It's currently based atop the s3 DCE/RPC server, with impersonation
> > (thanks Metze) and async support, as well as Ralf's Persistent
> > Handles
> > changes.
> > 
> > We're in the process of unifying (some components) of the s3 and s4
> > async DCE/RPC implementations and aim to submit something once
> > Witness
> > is working atop that.
> 
> Could you please push this somewhere for inspection? I'm sure metze
> wants to 
> take a look too :-)

Of course, feedback will be really welcomed.

I have been cleaning up what I have so far, there are three branches:

* https://gitlab.com/scabrero/samba/tree/dcerpc-server-merge-s3-prep-v2
- This is preparation for S3
- Rename functions to make the merge easier
- Remove the named_pipe_client struct to make use of general ncacn_conn
- Add the posibility to attach private data to sockets in prefork
"process model", used later to associate the socket with the
dcesrv_endpoint.

* https://gitlab.com/scabrero/samba/tree/dcerpc-server-merge-s4-prep-v2
- This is preparation for S3
- Mainly moves code around
- Hide S4 specific structures like the imessaging context
- Add callbacks for S3 and S4 specific functions, like creating the
gensec_security struct.

* https://gitlab.com/scabrero/samba/tree/dcerpc-server-merge-v2
- This is the tentative merge
- [testing] PIDL Compat server compiler, like S4 one but retrieves
pipes_struct from dcesrv_conn to dispatch the call
- [testing] Registration of endpoint servers in main smbd (for embedded
services) and forking daemons
- [testing] Initialization of "embedded" and "forked" endpoint servers
- [testing] Creating the dcesrv_context for "embedded" services and
"forked" daemons
- [testing] Endpoint initialization from registered endpoint servers.
- [testing] Endpoint registration in epmapper of "external" services.
- [testing] Accept connections on endpoints, create the
dcesrv_connection
- [testing] Run the "core" (was the s4 loop) server loop
- [WIP] rcpint_bh_* rework
- [Next] policy handles

Cheers.




More information about the samba-technical mailing list