[Samba4] [Patch] Fixes and Improvements to samba3sam

Martin Kühl kuehl at univention.de
Thu Nov 16 12:01:43 GMT 2006


Hi,

I've made a few improvements (I think) and modifications to the 
samba3sam
module while trying to link samba4 to an existing filled LDAP server 
with the
samba3 and samba4 schemas loaded.

Find attached the series of patches to samba3sam.c I generated from this 
work,
the purpose of each summarized below:

- samba3sam-01-val_copy.patch:
  The `convert_uid_samaccount' function has the same purpose as 
`val_copy'
  from entryUUID, so I reused the code.  This is an example of a 
function that
  might be added to a hypothetical `ldb_map_convenience' file so it can 
be
  reused in mapping modules.

- samba3sam-02-sid-dont-talloc.patch:
  Removes unnecessary allocing (which wasn't error checked either) from
  the encode_sid and decode_sid functions.

- samba3sam-03-passwd-convert.patch:
  Changes the mappings for the NT and LM password hash.  Experiments 
suggested
  that samba4 stored these as a sequence of 16 bytes while openldap 
stored
  them as a string of 32 hex digits.  These functions might not be 
terribly
  efficient but should be straightforward to read.

- samba3sam-04-unixName-generate.patch:
  The current ldb_map doesn't support multiple mappings from a local 
name to
  different remote names; this patch changes the "unixName -> uid, 
uidNumber
  etc." mappings to a single generator that should work as intended.

- samba3sam-05-whitespace-cleanup.patch:
  The effect of M-x whitespace-cleanup RET: removes trailing whitespace 
and
  fixes mixed spaces and tabs in indentations.

- samba3sam-06-reorder-functions.patch:
  Reorders the mapping functions so we have parse-tree converters first, 
value
  converters next and generators last.  I found this order easier to 
navigate.

- samba3sam-07-reorder-attributes.patch:
  Reorders the attributes so we have ignored ones first, then kept ones,
  and the rest roughly ordered by "topic" (passwords, posix info, 
rid/sid).
  Further suggestions very welcome. :-)

- samba3sam-08-copyright.patch:
  Adds a copyright line for me.

The last four patches are concerned with the changes required to 
eliminate the
need for a fallback partition and might be less interesting for now.

- samba3sam-09-unixName-generate-keep.patch:
- samba3sam-10-groupType-generate.patch:
- samba3sam-11-objectSid-generate.patch:
  The unixName, groupType and objectSid attributes are required due to
  objectclass constraints for samba4 objects; these patches modify their
  mappings so they will be kept in the remote partition as-is.  The 
parse-tree
  conversion function in fact relies on this behaviour and just leaves 
trees
  checking for the local attributes as-is as well.
  The parse-tree converter and `copy_element' function are again 
  convenience functions.

- samba3sam-12-dont-fallback.patch:
  Removes all ignored attributes from the attribute list and adds a 
wildcard
  mapping instead.  Also changes the call to ldb_map_init so we don't 
require
  a fallback partition.  *Also* removes the objectClass mappings from 
the same
  call, as they lead to a number of additional problems I haven't found 
a nice
  (or, in fact, any) solution to yet.

Please review the ones you're interested in.

Thanks,
Martin

-- 
Martin Kühl		Entwicklung		 <kuehl at univention.de>
Univention GmbH		Linux for Your Business	 fon: +49 421 22 232-0
Mary-Somerville-Str. 1	28359 Bremen		 fax: +49 421 22 232-99
						 http://www.univention.de/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: samba3sam-01-val_copy.patch
Type: text/x-diff
Size: 627 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20061116/5760a96a/samba3sam-01-val_copy.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: samba3sam-04-unixName-generate.patch
Type: text/x-diff
Size: 6119 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20061116/5760a96a/samba3sam-04-unixName-generate.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: samba3sam-03-passwd-convert.patch
Type: text/x-diff
Size: 2343 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20061116/5760a96a/samba3sam-03-passwd-convert.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: samba3sam-05-whitespace-cleanup.patch
Type: text/x-diff
Size: 5072 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20061116/5760a96a/samba3sam-05-whitespace-cleanup.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: samba3sam-02-sid-dont-talloc.patch
Type: text/x-diff
Size: 2020 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20061116/5760a96a/samba3sam-02-sid-dont-talloc.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: samba3sam-06-reorder-functions.patch
Type: text/x-diff
Size: 10025 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20061116/5760a96a/samba3sam-06-reorder-functions.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: samba3sam-07-reorder-attributes.patch
Type: text/x-diff
Size: 7373 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20061116/5760a96a/samba3sam-07-reorder-attributes.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: samba3sam-08-copyright.patch
Type: text/x-diff
Size: 368 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20061116/5760a96a/samba3sam-08-copyright.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: samba3sam-09-unixName-generate-keep.patch
Type: text/x-diff
Size: 1721 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20061116/5760a96a/samba3sam-09-unixName-generate-keep.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: samba3sam-10-groupType-generate.patch
Type: text/x-diff
Size: 2059 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20061116/5760a96a/samba3sam-10-groupType-generate.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: samba3sam-11-objectSid-generate.patch
Type: text/x-diff
Size: 2509 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20061116/5760a96a/samba3sam-11-objectSid-generate.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: samba3sam-12-dont-fallback.patch
Type: text/x-diff
Size: 6803 bytes
Desc: not available
Url : http://lists.samba.org/archive/samba-technical/attachments/20061116/5760a96a/samba3sam-12-dont-fallback.bin


More information about the samba-technical mailing list