Difference between revisions of "Roadmap"

m (Clustering - CTDB)
Line 5: Line 5:
 
The purpose is to point out the broader direction into which Samba is heading.
 
The purpose is to point out the broader direction into which Samba is heading.
  
== DCERPC infrastructure ==
+
== File Server (smbd) ==
 +
 
 +
=== SMB2 ===
 +
 
 +
* SMB2 leases
 +
** See [[Samba3/SMB2#SMB_2.1]]
 +
 
 +
=== SMB3 ===
 +
 
 +
* See [[Samba3/SMB2#SMB_3.0]]
 +
* multi-channel
 +
* persistent file handles
 +
* witness notification protocol
 +
** asynchronous RPC server. See [[DCERPC]]
 +
* RDMA (SMB direct)
 +
* directory leases
 +
* clustering
 +
** continuously available shares, scale-out shares
 +
 
 +
=== Clustering - CTDB ===
 +
 
 +
* integrate CTDB master into samba master:
 +
** integrate the code under ctdb/ - DONE
 +
** integrate the build into the top level waf build - WIP ([[User:Amitay|Amitay]])
 +
** integrate the clustered file server into selftest/autobuild - WIP ([[User:Obnox|Obnox]])
  
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
 
* Reconsile source3 source4 server and client implementations
 
* Make RPC server (and client) implementation fully asynchronuous
 
  
 
== Active Directory Server ==
 
== Active Directory Server ==
Line 53: Line 73:
 
* 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.
 
* 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.
  
== File Server (smbd) ==
 
  
=== SMB2 ===
 
  
* SMB2 leases
+
== DCERPC infrastructure ==
** See [[Samba3/SMB2#SMB_2.1]]
 
  
=== SMB3 ===
+
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 [[Samba3/SMB2#SMB_3.0]]
+
* See [[DCERPC]] for details
* multi-channel
+
* Reconsile source3 source4 server and client implementations
* persistent file handles
+
* Make RPC server (and client) implementation fully asynchronuous
* witness notification protocol
 
** asynchronous RPC server. See [[DCERPC]]
 
* RDMA (SMB direct)
 
* directory leases
 
* clustering
 
** continuously available shares, scale-out shares
 
 
 
=== Clustering - CTDB ===
 
 
 
* integrate CTDB master into samba master:
 
** integrate the code under ctdb/ - DONE
 
** integrate the build into the top level waf build - WIP ([[User:Amitay|Amitay]])
 
** integrate the clustered file server into selftest/autobuild - WIP ([[User:Obnox|Obnox]])
 

Revision as of 10:51, 18 June 2014

Introduction

This page describes the bigger next steps in the development of Samba. It is not named roadmap since it does presently not provide a timeline. The purpose is to point out the broader direction into which Samba is heading.

File Server (smbd)

SMB2

SMB3

  • See Samba3/SMB2#SMB_3.0
  • multi-channel
  • persistent file handles
  • witness notification protocol
    • asynchronous RPC server. See DCERPC
  • RDMA (SMB direct)
  • directory leases
  • clustering
    • continuously available shares, scale-out shares

Clustering - CTDB

  • integrate CTDB master into samba master:
    • integrate the code under ctdb/ - DONE
    • integrate the build into the top level waf build - WIP (Amitay)
    • integrate the clustered file server into selftest/autobuild - WIP (Obnox)


Active Directory Server

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).

Testing

  • 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.

LSA/Netlogon

  • 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.


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
  • Reconsile source3 source4 server and client implementations
  • Make RPC server (and client) implementation fully asynchronuous