1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-02 00:23:50 +03:00
Commit Graph

31 Commits

Author SHA1 Message Date
Jelmer Vernooij
08bb1ef643 r25000: Fix some more C++ compatibility warnings. 2007-10-10 15:05:27 -05:00
Andrew Bartlett
f5ec369741 r24479: Typo fix - this makes 'make test' pass against OpenLDAP again.
The objectCategory canonicalise_fn makes everything a DN, which is
exactly what we need here.

Andrew Bartlett
2007-10-10 15:01:56 -05:00
Andrew Bartlett
b474be9507 r24459: Fix up ldap.js and test_ldb.sh to test the domain_scope control, and
to test the behaviour of objectCategory=user searches.

It turns out (thanks to a hint on
http://blog.joeware.net/2005/12/08/147/) that objectCategory=user maps
into objectCategory=CN=Person,... (by the defaultObjectCategory of
that objectclass).

Simplify the entryUUID module by using the fact that we now set the DN
as the canoncical form of objectCategory.

Andrew Bartlett
2007-10-10 15:01:53 -05:00
Andrew Bartlett
5f08a686a6 r24249: Thse generated attributes should not be pushed this far down the stack
in any cse.

Andrew Bartlett
2007-10-10 15:01:30 -05:00
Andrew Bartlett
dc27a7e41c r23810: Make things static, and remove unsued code.
This includes some of the original ildap ldap client API.  ldb
provides a much easier abstraction on this to use, and doesn't use
these functions.

Andrew Bartlett
2007-10-10 14:59:21 -05:00
Andrew Tridgell
fcf38a38ac r23792: convert Samba4 to GPLv3
There are still a few tidyups of old FSF addresses to come (in both s3
and s4). More commits soon.
2007-10-10 14:59:12 -05:00
Andrew Bartlett
645a8862a3 r23679: invocationID is a GUID too.
Andrew Bartlett
2007-10-10 14:58:59 -05:00
Jelmer Vernooij
74d51579af r22769: Fix include location. 2007-10-10 14:52:16 -05:00
Andrew Bartlett
ef9320ae5b r22531: Fix up OpenLDAP schema map to almost pass 'make test'.
Andrew Bartlett
2007-10-10 14:51:38 -05:00
Andrew Bartlett
a354ec2822 r22521: Don't fail the module load just because we don't have a schema yet.
This code to be replaced by metze's schema loader soon...

Andrew Bartlett
2007-10-10 14:51:37 -05:00
Andrew Bartlett
d7cd4b768a r22497: Support renaming objectclasses and attributes for the LDAP backend.
OpenLDAP is fussy about operational attributes in user-supplied
schema.

Andrew Bartlett
2007-10-10 14:51:33 -05:00
Andrew Bartlett
9908a05ef7 r22476: The OID match is used very oddly in AD, as it is often used for fields
that contain attribute names and objectClasses.  Make it a case
insensitive string for now.

Andrew Bartlett
2007-10-10 14:51:31 -05:00
Andrew Bartlett
600c7f1a68 r20492: Add in instructions/sample LDIF to setup Fedora DS as a backend.
Add a new module entrypoint to handle the new, interesting and
different mappings required for Fedora DS.

Andrew Bartlett
2007-10-10 14:35:59 -05:00
Stefan Metzmacher
b97b8f5dcb r20184: change ldb_attrib_handler into ldb_schema_attribute, which has a pointer
to a ldb_schema_syntax struct.

the default attribute handler is now registered dynamicly as "*"
attribute, instead of having its own code path.

ldb_schema_attribute's can be added to the ldb_schema given a
ldb_schema_syntax struct or the syntax name

we may also need to introduce a ldb_schema_matching_rule,
and add a pointer to a default ldb_schema_matching_rule
in the ldb_schema_syntax.

metze
2007-10-10 14:29:19 -05:00
Simo Sorce
3929c086d5 r19832: better prototypes for the linearization functions:
- ldb_dn_get_linearized
  returns a const string

- ldb_dn_alloc_linearized
  allocs astring with the linearized dn
2007-10-10 14:28:22 -05:00
Simo Sorce
a580c871d3 r19831: Big ldb_dn optimization and interfaces enhancement patch
This patch changes a lot of the code in ldb_dn.c, and also
removes and add a number of manipulation functions around.

The aim is to avoid validating a dn if not necessary as the
validation code is necessarily slow. This is mainly to speed up
internal operations where input is not user generated and so we
can assume the DNs need no validation. The code is designed to
keep the data as a string if possible.

The code is not yet 100% perfect, but pass all the tests so far.
A memleak is certainly present, I'll work on that next.

Simo.
2007-10-10 14:28:22 -05:00
Simo Sorce
d2073c1f7e r19337: never alloc on module unless you mean to attach a context to
it to keep the data around as long as the module lives
2007-10-10 14:21:12 -05:00
Simo Sorce
6fad80bb09 r19299: Fix possible memleaks 2007-10-10 14:21:04 -05:00
Stefan Metzmacher
ed195999c0 r18945: fix compiler warnings and end-of-non-void function bugs
metze
2007-10-10 14:20:23 -05:00
Andrew Bartlett
72858f8594 r18781: Move the usnCreated and usnChanged handling around again.
This moves these attributes from objectguid into an optional backend
(objectguid), used by ltdb.  For OpenLDAP, the entryUUID module
converts entryCSN into usnChanged.

This also changes the sequence number API, and uses 'time based'
sequence numbers, when an LDAP or similar backend is detected.

To assist this, we also store the last modified time in the TDB,
whenever we change a value.

Andrew Bartlett
2007-10-10 14:19:11 -05:00
Andrew Bartlett
81d9a692c1 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
2007-10-10 14:18:40 -05:00
Andrew Bartlett
bc58792b71 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
2007-10-10 14:18:38 -05:00
Andrew Bartlett
3b5354aede 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
2007-10-10 14:18:30 -05:00
Andrew Bartlett
11cc6408c9 r18367: When converting to entryUUID, ensure we don't double-convert a
string-format GUID.

Andrew Bartlett
2007-10-10 14:18:19 -05:00
Andrew Bartlett
1b02c604b2 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
2007-10-10 14:17:53 -05:00
Andrew Bartlett
420d1920a6 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
2007-10-10 14:16:28 -05:00
Andrew Bartlett
3c497405fe r17699: Remove more printf calls.
Try to cope with partital initialisation.

Andrew Bartlett
2007-10-10 14:16:27 -05:00
Andrew Bartlett
9f810ddd14 r17694: Don't use printf() in a module... 2007-10-10 14:16:26 -05:00
Andrew Bartlett
fb085a651f 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
2007-10-10 14:16:25 -05:00
Andrew Bartlett
3b5c973988 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
2007-10-10 14:16:18 -05:00
Andrew Bartlett
af2bece4d3 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.
2007-10-10 14:15:33 -05:00