Development Wishlist

Overview

Below is a list of new features and work items that have been proposed for the Samba project. This list is loosely prioritized with the more important items at the top. Please feel free to add onto this list with requested features.

Ideally entries on this list will gradually be removed as they become implemented features within the Samba project.

Features

  1. SMB2 Implementation
    1. This is quite a high priority for us, as sooner or later Vista will be our major client.
  2. Restructure Common Code
    1. An important subproject of the internal restructuring is to make use of shared libraries. With Samba 3.2 we internally separated out libwbclient, libtalloc and libtdb and link them in as shared objects in all binaries. We will identify more such libraries and make them available to external projects.
    2. Re-work the RPC infrastructure. We will see external named pipe handlers, so that someone who wants to rewrite the SPOOLSS server does not have to understand or even link to the rest of smbd.
  3. Merge Samba 3 and Samba 4 Code Bases
    1. Previously known as Franky, the continuing merge of the Samba 3 and Samba 4 code bases into a single Samba project.
    2. Split Samba's primary features (File Server, AD Server, Auth Server) into separately installable, configurable, and runnable entities.
    3. Much work has already been done via the Franky project.
  4. Scalable File Server
    1. Use less system resources as concurrent connections increase
    2. Provide better operation concurrency across many connections/sessions
    3. Possible re-architecture involving async operations, threads, single process model.
  5. Clustered File Server
    1. CTDB project is underway and actively being developed
  6. Graphical Configuration Tools
    1. Work has been started to do graphical wizards for example to join a domain. This task needs polishing and completing.
    2. The SWAT tool is basically orphaned as none of the core Samba developers is a good web developer.
  7. Encrypted File System
    1. This is a completely new area, but now that the Microsoft protocol documentation is available via [1], it should be possible to implement.
  8. Restructure winbind
    1. Based on the work on asynchronous libraries, winbind will be restructured to become a single, async process
    2. Infrastructure for async RPC calls is done in Samba 3, SMB connection setup is not completed yet.
    3. A truly async ldap client library is required. Options are Samba4's library or a new one based on liblber