SoC/2011/smbconf: Difference between revisions

From SambaWiki
(Created page with "= RPC support for samba configuration = Student name: Vicentiu Ciorbaru")
 
 
(12 intermediate revisions by 2 users not shown)
Line 2: Line 2:


Student name: Vicentiu Ciorbaru
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 ==

* man smb.conf
* man net
* http://www.samba.org/~obnox/presentations/linux-kongress-2008/lk2008-obnox.pdf
* http://www.samba.org/~obnox/presentations/sambaXP-2009/samba-and-ctdb.pdf

== 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 [DONE]
* compare implementation of net registry and net rpc registry [IN PROCESS]
* get an idea of how to create a remote registry variant of "net conf" [IN PROCESS]
* basically: write a remote registry backend for "libsmbconf"


libsmbconf:
* lib/smbconf/ : general api, text backend
* source3/lib/smbconf/ : registry backend

STEP 1:
* create net_rpc_conf.c (.h)
* implement basic command (HINT: Have a look at other commands to see how others fit in)
-* get net rpc conf list using something like net rpc registry

Latest revision as of 14:56, 29 June 2011

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 [DONE]
  • compare implementation of net registry and net rpc registry [IN PROCESS]
  • get an idea of how to create a remote registry variant of "net conf" [IN PROCESS]
  • basically: write a remote registry backend for "libsmbconf"


libsmbconf:

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

STEP 1:

  • create net_rpc_conf.c (.h)
  • implement basic command (HINT: Have a look at other commands to see how others fit in)

-* get net rpc conf list using something like net rpc registry