master4-dcerpc-ok

Stefan (metze) Metzmacher metze at samba.org
Thu May 22 04:30:54 MDT 2014


Hi Andrew,

>> There're some new commits ready in
>> https://git.samba.org/?p=metze/samba/wip.git;a=shortlog;h=refs/heads/master4-dcerpc-ok
> 
> I'm pushing the first few of these, to get the process moving again.
> I'm still a little unclear why we need to avoid using
> dcerpc_unix_socket_path(), so I've just pushed what was really clear to
> me.  
> 
> With some clarification as to the overall plan and goals, I hope to be
> able to push more, but this is at least a start.
> 
> Thank you for your patience on this,

I extended the commit messages a bit more, they include something like
this now:

    The goals are:
    - dcerpc_secondary_connection_* should just use the dcerpc_binding
      information for the first connection and just call
dcerpc_pipe_connect_*
    - Get rid of dcerpc_pipe->transport.* and just use a tstream_context.
      All other details should be maintained only by the higher levels.
    - Hide dcerpc_pipe and dcecli_connection behind dcerpc_binding_handle.
    - Have just one entry point to create a new connection. For
source4/librpc
      this will be dcerpc_pipe_connect_*. For source3/rpc_client we need
      a similar function.
    - We'll have a new dcerpc_connection layer, with also just one
      entry point to create a new connection.
    - Replace dcerpc_pipe and dcecli_connection with the new
dcerpc_connection layer.
    - Replace rpc_pipe_client with the new dcerpc_connection layer.
    - When the client side is unified we can change the server
      as it needs to act as a client in order to register the endpoint
mappings.
    - Then the core of the server will be changed to use the new
dcerpc_connection
      layer.

The first goal is to have just one entry points where everything goes
through,
just providing a struct dcerpc_binding and struct cli_credentials, when
creating a new connection.

I've cleaned up source4/librpc a bit already, but more patches will need
to follow.

In source3 it's more work we currently have:

cli_rpc_pipe_open
cli_rpc_pipe_open_noauth
cli_rpc_pipe_open_noauth_transport
cli_rpc_pipe_open_schannel
cli_rpc_pipe_open_schannel_with_key
cli_rpc_pipe_open_spnego
cli_rpc_pipe_open_generic_auth
rpc_pipe_open_tcp
rpc_pipe_open_tcp_port
rpc_pipe_open_np
rpc_pipe_open_ncalrpc
rpc_pipe_open_internal
rpc_pipe_open_interface

Any maybe some more...

I hope this explains it a bit.

metze

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20140522/f0b70118/attachment.pgp>


More information about the samba-technical mailing list