Endpoint Mapper

Andreas Schneider asn at samba.org
Wed Aug 31 09:57:39 MDT 2011


Maybe you know that in Samba 3.6 and Master we have an Endpoint Mapper in
place. The code in master has been improved during the development of the LSA
Service Daemon.

The implementation of the Endpoint Mapper is complete. All functions needed by
Windows clients are supported and fully implemented. In addition we support
epm_Insert and epm_Delete over ncalrpc to be able to register and remove
endpoints as the system user.

We have extended this to be more robust. We try to register endpoints several
times and after a successful registration we keep the connection open and go
into a monitoring loop. This allows us to reregister the endpoints if epmd
dies or gets restarted.
The epmd can detect if a rpc service dies cause of the open connection. If the
service dies and the connection is closed we delete the registered endpoints
of the service form the database.

The goal should be to use the epmd implementation of Samba3 in the future. The
Samba4 epmapper implementation is pretty simple and tied to S4. There is no
easy way to register new endpoints from external. The epm_Map and epm_Lookup
function are incomplete.

To test the implementation and find out how clients react if an Endpoint
Mapper is running, but doesn't provide endpoints over ncacn_ip_tcp we need
some people to enable it.

Please enable epmd and test it!

How to enable epmd in Samba3?

NOTE: This is only available in master right now!

You need to set two values in the smb.conf file:

    rpc_daemon:epmd = fork
    rpc_server:epmapper = external

You can enable tcpip in smbd but it doesn't scale. Only the lsasd can deal
with a lot of tcpip connection cause it uses a preforked model. If you want to
enable it, you can do it with the following configuration option:

    rpc_server:tcpip = yes

If you want to try the LSA Service Daemon you have to set:

    rpc_daemon:lsasd = fork
    rpc_service:lsarpc = external
    rpc_service:samr = external
    rpc_service:netlogon = external

Andreas Schneider                   GPG-ID: F33E3FC6
Samba Team                             asn at samba.org

More information about the samba-technical mailing list