1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00
Commit Graph

292 Commits

Author SHA1 Message Date
Günther Deschner
8153859fb4 r18636: Excessive testing with pam_winbind within Samba3 revealed a new samr
reject reason code while password changing: SAMR_REJECT_IN_HISTORY which
is different from SAMR_REJECT_COMPLEXITY.

torture test to follow as well.

Guenther
(This used to be commit 7513748208)
2007-10-10 14:18:59 -05:00
Andrew Bartlett
595c141a69 r18504: Handle mappings for RENAME and KEEP attributes better. We don't need
to mess with the values in these cases.

Where we do convert the values, try and convert substrings.  This
isn't going to be perfect, but we should try rather than segfault.

This also avoids using the wrong arm of the union for the attribute
name

The change in the entryUUID module is to correct the case of
sAMAccountName, due to the case sensitive ldap.js test.

Andrew Bartlett
(This used to be commit 81d9a692c1)
2007-10-10 14:18:40 -05:00
Andrew Bartlett
1e4f5a096c r18495: More work on the LDAP backend (which now passes a lot of our tests!)
This adds a list of attributes that are in our wildcard seaches, but
the remote server requires to be explicitly listed.  This also cleans
up the handling of wildcards in ldb_map to be more consistant.

Also fix the partitions module to rebase the search, if on the GC
port, we do a subtree search.  (Otherwise backends can rightly
complain that the search is not in their scope).

Andrew Bartlett
(This used to be commit bc58792b71)
2007-10-10 14:18:38 -05:00
Andrew Bartlett
918db36213 r18441: Allow searching for the high bit in these bitfields, when the client
asks for them as large integers, rather than a negative integer.

Due to an OpenLDAP bug, this only works reliably against OpenLDAP CVS
as of today.  (but mostly works in older versions, depending on a
thread-specific value fo errno in the server).

Andrew Bartlett
(This used to be commit 3b5354aede)
2007-10-10 14:18:30 -05:00
Andrew Bartlett
35d30de095 r18368: Don't list GENSEC mechs that only have client implementations in our
supportedSASLMechanism list.

Andrew Bartlett
(This used to be commit 3e69637b5f)
2007-10-10 14:18:20 -05:00
Andrew Bartlett
a41b696346 r18367: When converting to entryUUID, ensure we don't double-convert a
string-format GUID.

Andrew Bartlett
(This used to be commit 11cc6408c9)
2007-10-10 14:18:19 -05:00
Andrew Tridgell
30ee8beb93 r18301: I discovered how to load the warnings from a build farm build into
emacs compile mode (hint, paste to a file, and compile as "cat
filename").

This allowed me to fix nearly all the warnings for a IA_64 SuSE build
very quickly.
(This used to be commit eba6c84eff)
2007-10-10 14:18:04 -05:00
Andrew Bartlett
704327044d r18240: Make it clearer when we store the plaintext password.
Store the plaintext password in userPassword in the LDAP backend so
that the OpenLDAP server can use DIGEST-MD5.

Andrew Bartlett
(This used to be commit 1b02c604b2)
2007-10-10 14:17:53 -05:00
Jelmer Vernooij
38fdde5d9b r18031: Merge my replace fixes:
* libreplace can now build stand-alone
 * add stub testsuite for libreplace
 * make talloc/tdb/ldb use libreplace
(This used to be commit fe7ca4b145)
2007-10-10 14:17:05 -05:00
Simo Sorce
23e6b27d5c r17998: start working on syntaxes
(This used to be commit b49b8f5cb5)
2007-10-10 14:17:03 -05:00
Andrew Bartlett
fc7f8236bd r17967: Somewhere along the line we lost unixName here, and so lost the
ability for 'administrator' to log in as unix user 'root'.

Andrew Bartlett
(This used to be commit 221efba528)
2007-10-10 14:16:59 -05:00
Andrew Bartlett
25f9e52a5d r17955: Don't search for the dnsDomain attribute, it is invented (not in the
AD schema).

Andrew Bartlett
(This used to be commit fac27e4ddd)
2007-10-10 14:16:56 -05:00
Jelmer Vernooij
0329d755a7 r17930: Merge noinclude branch:
* Move dlinklist.h, smb.h to subsystem-specific directories
 * Clean up ads.h and move what is left of it to dsdb/
   (only place where it's used)
(This used to be commit f7afa1cb77)
2007-10-10 14:16:54 -05:00
Simo Sorce
814582de5a r17898: handle objectcategory and isdefunct for classes
(This used to be commit 7664b52b89)
2007-10-10 14:16:53 -05:00
Simo Sorce
3ddab071eb r17894: better name for the internal syntax type
(This used to be commit 4241a1bb83)
2007-10-10 14:16:53 -05:00
Andrew Bartlett
69ecd9538f r17870: This module (for the moment) handles the modifyTimestamp generation. For that, it needs to hook into the modify operation.
Andrew Bartlett
(This used to be commit d22117a53b)
2007-10-10 14:16:50 -05:00
Simo Sorce
0c34fbe311 r17860: Let's commit the work down up to now on the new schema module.
At the moment it is able to validate an object has no conflicting
objectlasses that it meets the criteria to be inserted as child of
the parent and also sorts and create the objectclass hierarchy so
that the objectclass .c module can be obsoleted.

Not activated by default as we have to completely rework the
current provisioning method. (In my tests I could not activate
it before all other ldif except for the one that create users
were loaded, make test seem to be happy anyway if it is activated
after provisioning).

Next steps will be attribute and attribute syntax checking on add operation.
And then the modify operation will follow.

Simo.
(This used to be commit 0c444ba1ad)
2007-10-10 14:16:49 -05:00
Simo Sorce
88b04ab6e6 r17830: Set the default_basedn (hey, it comes from the "default" naming contex :-)
once at connection time, after modules have been loaded.

Introduce a function to retrieve the value where needed.
(This used to be commit 0caf6a44e0)
2007-10-10 14:16:46 -05:00
Andrew Tridgell
e031bfc41c r17825: I broken cracknames in my last patch - fix it up
(This used to be commit 4ec4f91a43)
2007-10-10 14:16:45 -05:00
Andrew Tridgell
b21b119cbc r17824: add a wrapper for the common partitions_basedn calculation
(This used to be commit 09007b0907)
2007-10-10 14:16:45 -05:00
Andrew Tridgell
0fd9807942 r17823: get rid of most of the samdb_base_dn() calls, as they are no longer
needed in searches
(This used to be commit a5ea749f0a)
2007-10-10 14:16:45 -05:00
Stefan Metzmacher
6268e2f148 r17788: fix compiler warnings
metze
(This used to be commit 00fcc4f16a)
2007-10-10 14:16:42 -05:00
Andrew Bartlett
6ddd5f6e66 r17703: Fixes to enable the entryUUID module to work for it's objectClass ->
OID mappings.

The key point is to 'enable' the partitions in the partitions module
before the init is complete.  That way, the modules can perform
searches that use partitions.

Andrew Bartlett
(This used to be commit 420d1920a6)
2007-10-10 14:16:28 -05:00
Andrew Bartlett
54b5ba20f6 r17699: Remove more printf calls.
Try to cope with partital initialisation.

Andrew Bartlett
(This used to be commit 3c497405fe)
2007-10-10 14:16:27 -05:00
Andrew Bartlett
23557a9f17 r17694: Don't use printf() in a module...
(This used to be commit 9f810ddd14)
2007-10-10 14:16:26 -05:00
Andrew Bartlett
e4759eb0b6 r17690: Demonstrate how we can read the schema to find out details needed for
translation.  I hope to have this reading a schema structure in the
future.

Andrew Bartlett
(This used to be commit fb085a651f)
2007-10-10 14:16:25 -05:00
Andrew Bartlett
acd66674b4 r17639: Martin Kuhl noticed that we loaded an incorrect value for
distinguisedName on templated objects.

In looking how to handle distinguishedName correctly on LDAP, I was
very glad to find it supported entryDN, and this adds another mapping.

Andrew Bartlett
(This used to be commit 3b5c973988)
2007-10-10 14:16:18 -05:00
Andrew Bartlett
4fe22ebe8b r17553: Actually enable the samba3sam module. Should help 'make test'.
Andrew Bartlett
(This used to be commit 0e19d15969)
2007-10-10 14:15:37 -05:00
Andrew Bartlett
4d9b1bda9a r17530: Watching the build farm mails carefully pays off...
This was another declaration before statement bug, in my just-committed code..

Andrew Bartlett
(This used to be commit 1d1bf6b205)
2007-10-10 14:15:34 -05:00
Andrew Bartlett
a993f53d52 r17529: Simo doesn't like the use of the internal ldb_errstring in functions
not used purely as ldb module helper functions.  This now passes these
strings back as explicit parameters.

Andrew Bartlett
(This used to be commit 9c1cd9c2c6)
2007-10-10 14:15:33 -05:00
Andrew Bartlett
8f42f1292c r17526: Move timestamp generation into the objectGUID module. It probably
needs to be renamed (operation_add?).

This allows me to match the behaviour and substitute with the
entryUUID module for remote LDAP connections.

Andrew Bartlett
(This used to be commit af02b4d7c6)
2007-10-10 14:15:33 -05:00
Andrew Bartlett
027583e6de r17525: This is a merge from the Google Summer of Code 2006 project by Martin Kühl
<mkhl@samba.org>.

Martin took over the work done last year by Jelmer, in last year's
SoC.  This was a substanital task, as the the ldb modules API changed
significantly during the past year, with the addition of async calls.

This changeset reimplements and enables the ldb_map ldb module and
adapts the example module and test case, both named samba3sam, to the
implementation.

The ldb_map module supports splitting an ldb database into two parts
(called the "local" and "remote" part) and storing the data in one of
them (the remote database) in a different format while the other acts
as a fallback.
This allows ldb to e.g. store to and load data from a remote LDAP
server and present it according to the Samba4 schema while still
allowing the LDAP to present and modify its data separately.

A complex example of this is the samba3sam module (by Jelmer
Vernooij), which maps data between the samba3 and samba4 schemas.

A simpler example is given by the entryUUID module (by Andrew
Bartlett), which handles some of the differences between AD and
OpenLDAP in operational attributes.  It principally maps objectGUID,
to and from entryUUID elements.  This is also an example of a module
that doesn't use the local backend as fallback storage.

This merge also splits the ldb_map.c file into smaller, more
manageable parts.
(This used to be commit af2bece4d3)
2007-10-10 14:15:33 -05:00
Simo Sorce
a23b63a8e5 r17516: Change helper function names to make more clear what they are meant to do
(This used to be commit ad75cf8695)
2007-10-10 14:15:31 -05:00
Simo Sorce
faed817506 r17514: Simplify the way to set ldb errors and add another
helper function to set them.
(This used to be commit 260868bae5)
2007-10-10 14:15:31 -05:00
Simo Sorce
a9ad616a68 r17513: ldb_set_errstring is an ldb private string, samdb uses DEBUG() statements
(This used to be commit c57b6420aa)
2007-10-10 14:15:31 -05:00
Simo Sorce
8b9e08fe76 r17505: we are setting the timeout with the provide function right after.
(This used to be commit 6520e3c83a)
2007-10-10 14:15:30 -05:00
Simo Sorce
71041a5007 r17504: Do not use the invented unixID but use the rfc2307 uidNumber and gidNumber attributes instead
Do not change unixName right now, we don't have an attribute to use in the posixGroup class,
and I think we should remove its usage altogether and look up users and groups by their uid/gid only.

Simo.
(This used to be commit d57b521aad)
2007-10-10 14:15:30 -05:00
Andrew Bartlett
ecfdd5fc6c r17474: Allow the partitions module to load modules for specific backends.
Andrew Bartlett
(This used to be commit c016db2187)
2007-10-10 14:15:27 -05:00
Andrew Bartlett
c45ac4343c r17331: Oops, how did I commit this empty file...
Andrew Bartlett
(This used to be commit 3b81f21d41)
2007-10-10 14:15:15 -05:00
Andrew Bartlett
5d7b99804a r17303: More testing results: Don't try and call a NULL callback, and use the
correct parameter, as this is called for more than just 'add'.

Andrew Bartlett
(This used to be commit be51b72408)
2007-10-10 14:15:09 -05:00
Andrew Bartlett
cfa762ff87 r17302: Testing!
This confirms that records are replicated into the correct databases,
and that the case insensitive flags really work.

Andrew Bartlett
(This used to be commit ad463c1a52)
2007-10-10 14:15:08 -05:00
Andrew Bartlett
77bb75ead0 r17299: Improve the partition module to replicate attribute records into all
partitions.

Test that we do that correctly.

Andrew Bartlett
(This used to be commit 90c07b8801)
2007-10-10 14:15:08 -05:00
Andrew Bartlett
4317209606 r17298: Fix up the local_password module to the current LDB API, and build it by default.
Andrew Bartlett
(This used to be commit c1ea0a350c)
2007-10-10 14:15:08 -05:00
Andrew Bartlett
e20ed616e4 r17289: Fix the build: I havn't commited this module yet.
Andrew Bartlett
(This used to be commit 8b0f6e637e)
2007-10-10 14:15:07 -05:00
Andrew Bartlett
56b1714e9c r17288: Don't mess with entries in the local password prefix, and fix const
warnings.

Andrew Bartlett
(This used to be commit 4569c58a42)
2007-10-10 14:15:07 -05:00
Andrew Bartlett
0771801911 r17287: Add the local_password module to the tree, so it doesn't get lost in
ldb API changes.

Andrew Bartlett
(This used to be commit 44806c67db)
2007-10-10 14:15:07 -05:00
Simo Sorce
49f68caed2 r17186: "async" word abuse clean-up part 2
(This used to be commit c6aa60c7e6)
2007-10-10 14:10:17 -05:00
Simo Sorce
c93817b36d r17185: Oh, I wanted to do this for sooo long time.
Finally acknowledge that ldb is inherently async and does not have a dual personality anymore
Rename all ldb_async_XXX functions to ldb_XXX except for ldb_async_result, it is now ldb_reply
to reflect the real function of this structure.

Simo.
(This used to be commit 25fc735404)
2007-10-10 14:10:16 -05:00
Andrew Bartlett
37eab82528 r17103: Big updates to the not-yet-enabled partitions module. It now services
the Global Catalog port 'correctly' (in a very simple sense) in that
it should be no worse than what we had before.

We now combine partitions together to search over the whole tree, when
we are marked as 'global catalog'.

Andrew Bartlett
(This used to be commit 0a354a1dde)
2007-10-10 14:10:13 -05:00
Andrew Bartlett
32ab518767 r16972: Replace the sequence_number function pointer in ldb with the ldb flags.
The function pointer was meant to be unused, this patch fixes
partition.c to use ldb_sequence_number().  (No backend provided the
pointer any more).

Set the flags onto the ldb structure, so that all backends opened by
the partitions module inherit the flags.

Set the read-ony flag when accessed as the global catalog

Modify the LDAP server to track that this query is for the global
catalog (by incoming port), and set a opqaue pointer.

Next step is to read that opaque pointer in the partitions module.

Andrew Bartlett
(This used to be commit a1161cb30e)
2007-10-10 14:10:04 -05:00