Roadmap: Difference between revisions

From SambaWiki
Line 50: Line 50:
=== Unfunded Features ===
=== Unfunded Features ===
* [[Directory Replication Service (DRS)|Samba4/DRS_TODO_List]]
* [[Samba4/DRS_TODO_List|Directory Replication Service (DRS)]]
* Sysvolume Replication
* Sysvolume Replication
* Subdomain support
* Subdomain support

Revision as of 07:50, 21 April 2015


This page describes the bigger next steps in the development of Samba. The purpose is to point out the broader direction into which Samba is heading.

We need resources to achieve that. Manpower for coding, testing and documentation!

Contact the Samba Team and help us!

File Server (smbd)


  • multi-channel - WIP - FUNDED (Michael, Metze)
  • witness notification protocol - WIP - FUNDED (Günther, Metze)
    • prerequisite: asynchronous RPC server. See DCERPC
  • persistent file handles
  • RDMA (SMB direct) - Planning (Metze, Richard, Michael)
  • directory leases
  • clustering - Planning/WIP (Michael)
    • continuously available shares, scale-out shares

Clustering - CTDB

  • integrate CTDB master into samba master:
    • integrate the clustered file server into selftest/autobuild - WIP (Michael)


  • Performance on small-CPU platforms (like ARM)
    • reduce CPU usage
  • Database/TDB-Performance
  • performance in clusters, TDB/CTDB
  • Parallel, small I/O (HyperV) workload

Active Directory Server

Funded Features

Unfunded Features

  • DNS
  • Directory Replication Service (DRS)
  • Sysvolume Replication
  • Subdomain support
  • One way trusts
    • Client changes
    • Merge server implementations
    • Full async support
  • Fully support LSA Netlogon

  • DNS
  • Samba4/DRS_TODO_List
  • sysvol replication (file system replication)
    • FRS / DFSR
    • use source3/winbindd in AD server
    • subdomains
    • forest trusts
  • MIT Kerberos support in AD server (IN_PROGRESS, HELP NEEDED, TESTING NEEDED! Talk to Günther and Andreas to help with resources)
    • Create preloadable wrappers (DONE)
    • Re-test existing MIT KDC glue around the hdb backend (this has been completely rewritten)

Trust support

A lot of DCE/RPC work needs to be done before we can really finish this task.

  • async schannel (NETLOGON) client (Metze)
  • merged crypto handling for samlogon cred validation (Günther/Metze)
  • merged libnetjoin interfaces (Günther/Metze)
  • DCE/RPC client API changes (Günther/Metze)
    • tevent based async infrastructure (new services: witness, replication, snapshot, PAR)
    • client context (get rid of lp_ usage and globals for client details)
    • association group implementation
  • DCE/RPC server API merge and cleanup
  • See DCERPC

Abstract data model

We might want to implement the abstract data model as outlined in MS-ADPS and other specs. This would allow to abstract the existing interfaces (dsdb/passdb) which both are not the best match for trust handling. Once we have that, and we have the common DCE/RPC infrastructure, we can easily plug implementations for trusts (e.g. from s3) into s4 (and vice-versa).


  • We need to find a way to setup multi-trust environments during make test to test more compelx scenarios (e.g. the forst trust test from Sumit Bose).
  • We need to test trust calls on MEMBER and DC configurations.


  • Samba4 lacks support for some LSA and Netlogon calls related to trusts, some of them exist in s3 some are in my master-netlogon branch.

RPC Servers

DCERPC infrastructure

The RPC server is an infrastructure component that is of crucial importance for both the file server and the active directory server. A few tasks in for the RPC server are prerequisites for higher level features in the file server and the active directory server.

  • See DCERPC for details
  • Reconcile source3 source4 server and client implementations (Metze)
  • Make RPC server (and client) implementation fully asynchronuous (Metze)
  • Endpoint_Mapper


File Server

  • SMB2 Leases

Clustering - CTDB

  • integrate CTDB master into samba master:
    • integrate the code under ctdb/ - DONE
    • integrate the build into the top level waf build - DONE

Active Directory Server

DCERPC Infrastructure