SoC/2011/smbconf

From SambaWiki
Revision as of 15:03, 21 June 2011 by Obnox (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

RPC support for samba configuration

Student name: Vicentiu Ciorbaru

student git repo: https://gitorious.org/samba-gsoc-development/samba-gsoc-development

intro

Samba has a registry based configuration backend: Configuration data is stored inside the registry key HKEY_LOCAL_MACHINE\Software\Samba\smbconf. A tool for reading and writing this registry stored configuration is "net conf". Access to the registry-stored configuration is performed through a module that makes use of the "reg_api" module which is the backend code for direct local access to the registry database. The reg_api interface is similar to the WINREG rpc interface. The basic goal of this project is to develop a remote variant of the "net conf" tool that allows for configuring a remote samba server with the same convenience as offered by the "net conf" tool.


resources

temp

layering:

net conf --> libsmbconf --> registry backend:reg_api --> registry database

possible for a new "net rpc conf":

net rpc conf --> libsmbconf --> remote registry backend:winreg --> remote server --> registry database

similar: compare "net registry" to "net rpc registry" (source3/utils/net_registry.c and source3/utils/net_rpc_registry.c)


alternative approaches (maybe as a second step):

  • create a wrapper around winreg and reg_api that could be used in libsmbconf and could also be used to unify the logic of net registry and net rpc registry


TODO:

  • get acquainted with net conf, libsmbconf, net registry, net rpc registry
  • compare implementation of net registry and net rpc registry
  • get an idea of how to create a remote registry variant of "net conf"
  • basically: write a remote registry backend for "libsmbconf"

libsmbconf:

  • lib/smbconf/ : general api, text backend
  • source3/lib/smbconf/ : registry backend