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

226 Commits

Author SHA1 Message Date
Stefan Metzmacher
045ddfe1ec r20522: make a copy of the objectguid ldb module because:
- I'll add handling of replication meta data to it
  for orginating changes
- I'll pass replication meta data via a ldb control
  for applying replicated changes
- It will also update the replUpToDateVector attribute in
  in root object of the partition
- It will handle deleted records by adding the isDeleted=TRUE attribute
  and move them to the CN=Deleted Objects container of the partition
- I make a copy to play with the code without breaking
  the LDAP backend setup

metze
2007-10-10 14:36:47 -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
Andrew Bartlett
2959b4ba8b r20460: Simplfy the handling of password hashes in the samba3sam module.
Andrew Bartlett
2007-10-10 14:35:51 -05:00
Andrew Bartlett
14e2c877a8 r20455: Apply some of the patches from Martin Kuehl <kuehl@univention.de> to
better handle the Samba3 backend.

I've refactored the password format patch to use the routines in
lib/samba3/smbpasswd.c, which has required me to move this into a
seperate subsystem, due to recursive dependencies.

Andrew Bartlett
2007-10-10 14:35:49 -05:00
Andrew Bartlett
2eb9e6445c r20315: Implement the server side of DsGetDomainControllerInfo. This is a
supprisingly complex call...

It turns out that the in/out parameter 'level' is not in/out, but set
seperatly by the server-side code from r->req.req1.level.

This commit also breaks out some common code from samldb into samdb.

Andrew Bartlett
2007-10-10 14:29:38 -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
4f07542143 r20034: Start using ldb_search_exp_fmt() 2007-10-10 14:28:51 -05:00
Simo Sorce
3a662a2d98 r19869: fix memleaks 2007-10-10 14:28:28 -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
Andrew Bartlett
c4bf9cc09b r19757: Don't do the strrchr twice. Pointed out by Martin Kuhl.
Andrew Bartlett
2007-10-10 14:28:19 -05:00
Andrew Bartlett
9890af534d r19732: The 'res' from ldb_search is only valid if the call returns LDB_SUCCESS.
This seems to show up (as an abort() from talloc) particularly under
ldb_ildap.

Andrew Bartlett
2007-10-10 14:28:15 -05:00
Andrew Bartlett
186766e309 r19731: Modify the ldb_map infrustructure to always map from requested
attributes to backend (remote) attributes.

We can't do a reverse mapping safely where the remote attribute may be
a source for multiple local attributes.  (We end up with the wrong
attributes returned).

In doing this, I've modified the samba3sam.js test to be more
realistic, and fixed some failures in the handling of primaryGroupID.

I've added a new (private) helper function ldb_msg_remove_element() to
avoid a double lookup of the element name.

I've also re-formatted many of the function headers, to fit into
standard editor widths.

Andrew Bartlett
2007-10-10 14:28:15 -05:00
Stefan Metzmacher
62aa73f3d5 r19726: when a client explicit asks for the 'netlogon' attriubute on LDAP
the result entry is skipped!

metze
2007-10-10 14:28:14 -05:00
Simo Sorce
889fb983ba r19531: Make struct ldb_dn opaque and local to ldb_dn.c 2007-10-10 14:24:44 -05:00
Andrew Bartlett
379da475e2 r19522: Remove gensec and credentials dependency from the rootdse module (less
dependency loops).

This moves the evaluation of the SASL mechansim list to display in the
rootDSE to the ldap server.

Andrew Bartlett
2007-10-10 14:24:44 -05:00
Jelmer Vernooij
7a01235067 r19507: Merge my DSO fixes branch. Building Samba's libraries as shared libraries
works again now, by specifying --enable-dso to configure.
2007-10-10 14:24:41 -05:00
Simo Sorce
0fa5d4bc22 r19489: Change ldb_msg_add_value and ldb_msg_add_empty to take a foruth argument.
This is a pointer to an element pointer. If it is not null it will be
filled with the pointer of the manipulated element.
Will avoid double searches on the elements list in some cases.
2007-10-10 14:24:38 -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
524ec78086 r19333: commit module changes I made some time ago before I loose them 2007-10-10 14:21:11 -05:00
Simo Sorce
3e0e2787c1 r19332: ldb_parse_tree leaks 2007-10-10 14:21:11 -05:00
Simo Sorce
f163f422e3 r19330: Fix memleaks 2007-10-10 14:21:10 -05:00
Andrew Tridgell
3f48bcb058 r19329: fixed a leak in the password hash module 2007-10-10 14:21:10 -05:00
Andrew Tridgell
f57535b9c2 r19328: another leak plugged .... 2007-10-10 14:21:10 -05:00
Andrew Bartlett
1d4d2271c9 r19321: Merge from release branch:
Always set the krb5key from the ntPwdHash, even if we don't have the
cleartext password in sambaPassword.  This fixes kerberos after a
vampire.

Andrew Bartlett
2007-10-10 14:21:08 -05:00
Simo Sorce
e3b7e91299 r19313: Don't mess with hierarchies!!
There is a reason why we use them :-)
2007-10-10 14:21:07 -05:00
Andrew Bartlett
3310032399 r19308: Merge samsync fixes from SAMBA_4_0_RELEASE
Andrew Bartlett
2007-10-10 14:21:06 -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
Simo Sorce
ca8827d8f9 r18908: Store the schema structure into an opaque pointer so that it can be reused by multiple connections 2007-10-10 14:20:19 -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
3e69637b5f r18368: Don't list GENSEC mechs that only have client implementations in our
supportedSASLMechanism list.

Andrew Bartlett
2007-10-10 14:18:20 -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 Tridgell
eba6c84eff 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.
2007-10-10 14:18:04 -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
Jelmer Vernooij
fe7ca4b145 r18031: Merge my replace fixes:
* libreplace can now build stand-alone
 * add stub testsuite for libreplace
 * make talloc/tdb/ldb use libreplace
2007-10-10 14:17:05 -05:00
Simo Sorce
b49b8f5cb5 r17998: start working on syntaxes 2007-10-10 14:17:03 -05:00
Andrew Bartlett
fac27e4ddd r17955: Don't search for the dnsDomain attribute, it is invented (not in the
AD schema).

Andrew Bartlett
2007-10-10 14:16:56 -05:00
Jelmer Vernooij
f7afa1cb77 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)
2007-10-10 14:16:54 -05:00
Simo Sorce
7664b52b89 r17898: handle objectcategory and isdefunct for classes 2007-10-10 14:16:53 -05:00
Simo Sorce
4241a1bb83 r17894: better name for the internal syntax type 2007-10-10 14:16:53 -05:00
Andrew Bartlett
d22117a53b r17870: This module (for the moment) handles the modifyTimestamp generation. For that, it needs to hook into the modify operation.
Andrew Bartlett
2007-10-10 14:16:50 -05:00
Simo Sorce
0c444ba1ad 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.
2007-10-10 14:16:49 -05:00
Simo Sorce
0caf6a44e0 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.
2007-10-10 14:16:46 -05:00
Andrew Tridgell
09007b0907 r17824: add a wrapper for the common partitions_basedn calculation 2007-10-10 14:16:45 -05:00
Andrew Tridgell
a5ea749f0a r17823: get rid of most of the samdb_base_dn() calls, as they are no longer
needed in searches
2007-10-10 14:16:45 -05:00
Stefan Metzmacher
00fcc4f16a r17788: fix compiler warnings
metze
2007-10-10 14:16:42 -05:00