Posts tagged 'soc' – Page 2

Starting on LDIF output

Next on my list is the generation of the LDIF’s for the one-way upgrade path. These will be generated by internally building ldb_ldif structs and then dumping them using the LDB helper functions. This would easily allow us to later on directly write to LDB database.

I’ll need to generate the following LDIF files:

  • hklm / hkcu / etc.ldif: from samba3_regdb
  • wins.ldif: from samba3_winsdb
  • sam.ldif: from samba3_secrets, samba3_policy, samba3_privileges, samba3_samdb
  • winbind.ldif: from samba3_winbind

I’ll also make a start on the smb.conf output.

comments.

ldb_map done

Finally got the ldb_map code done. This is a simple skeleton module that takes a mapping table of LDAP attributes and objectclasses and then maps between two different schema’s. Also got the initial part of ldb_samba3 compiling, which is the first module that actually uses ldb_map.

Yesterday evening, I also added support for reading smb.conf files and share_info.tdb files to the lib/samba3/ directory. Looks like my TODO-list is now down to:

  • testing (writing a couple of smbtorture tests, preferably)
  • code for generating new smb.conf and for generating LDIF from the various TDB’s

comments.

TDB reading done

I’ve now finished the ability to read the various TDB files. I’ve also started on the “mapping” LDB module that will allow a simple mapping from one objectclass to another. We’ll need this for the backwards compatible LDAP backend for Samba3.

This backend will never be used itself but instead have other backends based on it (e.g. ldb_samba3 for a Samba3-LDAP-to-samdb backend)

Each backend that uses this skeleton has to specify an array of struct objectclass_mapping’s (see ldb_map.h).

If no mappings are defined for an objectclass, it will be kept as is.

Will also keep cache of mapped dn’s so we don’t have to traverse the tree each time

So, TODO left:

  • finish ldb_map
  • fill ldb_samba3’s mapping table
  • support smb.conf parsing in lib/samba3/
  • support generating LDIF’s

comments.

Status Update

My Summer of Code project is coming along nicely (although I haven’t been very actively blogging about it). I’ll be working on full-time until the deadline, I guess, but I think I’ll make it.

So far I’ve got the following done:

  • Reading of tdbsam
  • Reading of policy database (still need to add privilege support)
  • Reading of idmap database
  • Reading of registry file (still needs some work)
  • Reading of old smb.conf files
  • Reading of group mapping database
  • Initial work on ldb_map backend

The major lump of work now is the ldb_map backend and the conversion of the smb.conf.

comments.

Participating in the Google Summer of Code!

This summer, I will be participating in the Google Summer of Code. The project I will be working on is the Samba3->Samba4 upgrade path.

In my original proposal, I split this project up into the following subtasks:

  • Each of the various password database backends (tdb, ldap, smbpaswd) available in Samba3 need to be accessible and converted to the SAM database in Samba4.
  • Printer database needs to be read from the Samba3 TDB and added to the apprioprate LDAP subtree.
  • The WINS database needs to be converted from both plain text file and TDB file to LDAP/LDB.
  • The account policy database needs to be read in from a TDB and applied to the data in LDAP/LDB.
  • The privilege database needs to be read from a TDB and added to the SAM database in LDB.
  • Group mappings need to be read from the TDB and added to the SAM database.
  • The share info database and the configuration file from Samba3 need to be read and converted to either xattrs or a TDB in Samba4
  • Secrets.tdb, containing the domain formation, needs to be merged into the SAM database.
  • Last, but not least, a Samba3 configuration file should be parsable in Samba4. This file can be used for producing a Samba4 smb.conf file as well as for updating the various databases mentioned above.

I will probably have to change this later on, but it’s a good list to start with.

comments.