1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-13 08:23:49 +03:00
Commit Graph

365 Commits

Author SHA1 Message Date
Andrew Bartlett
d41f34e979 r26140: Add a new test for searches by distinguieshedName and dn, and
implement these in the simple ldap mapping module.

We still don't pass this test, because we must get linked attributes
into OpenLDAP.

Andrew Bartlett
2007-12-21 05:46:20 +01:00
Andrew Bartlett
a7be80766f r26137: Rename the entryUUID module to better match it's purpose: being a
simple ldap mapping (a complex mapping will follow).

Fix the module to handle 'name' better, rather than using the 'name'
attribute built into OpenLDAP, rename to samba4RDN.  We need to see if
this can be handled in the backend.

Also rename the functions and inernal module name to entryuuid for
consistancy.

Andrew Bartlett
2007-12-21 05:46:19 +01:00
Jelmer Vernooij
56dfcb4f2f r26003: Split up DB_WRAP, as first step in an attempt to sanitize dependencies. 2007-12-21 05:45:40 +01:00
Andrew Bartlett
0a44b8e9f3 r25981: Don't create an ldb_request on NULL.
A re-arrangment of the code due to the base DN checking meant that the
ac->down_req array wasn't started, so was NULL

Andrew Bartlett
2007-12-21 05:45:27 +01:00
Andrew Bartlett
f0a0d73f76 r25949: Make error messages clearer and more correct.
Andrew Bartlett
2007-12-21 05:45:13 +01:00
Andrew Bartlett
d3894c90f3 r25942: Make various ldb modules handle an LDB backend that enforces validity
of Base DNs in searches (returning an error of LDB_ERR_NO_SUCH_ENTRY).

We need to handle this if ldb_tdb is to behave correctly compared with
LDAP, as well as if we are using an LDAP backend.

In doing so, I realised that subtree_rename and subtree_delete
(prevention) need rather different wait loops, so it seemed easier to
split it out into it's own module.

I've fixed the licence on both of these modules to be GPLv3.

Andrew Bartlett
2007-12-21 05:45:11 +01:00
Andrew Bartlett
c8d1ab3084 r25941: Use samdb_relative_path() (new function in samdb.c) in the partitions
module.

Andrew Bartlett
2007-12-21 05:45:11 +01:00
Andrew Bartlett
f1ab90c88c r25940: Rework the samldb and templates handling.
Templates just don't belong in the sam.ldb, as they don't obey any of
the other rules.  This moves them to a seperate templates.ldb.

In samldb, this patch reworks the duplicate SID and Name detection
code, to use ldb_search_exp_fmt() rather than gendb_search.  This
returns far more useful errors, which we now handle and report better.

The call to samdb_search_for_parent_domain() has been moved in samldb,
to allow both the account and SID uniqueness checks to be in the same
domain.  This function also returns better errors.

dcesrv_drsuapi.c is updated for the new prototype of
samdb_search_for_parent_domain()

Andrew Bartlett
2007-12-21 05:45:10 +01:00
Stefan Metzmacher
6223c7fddc r25920: ndr: change NTSTAUS into enum ndr_err_code (samba4 callers)
lib/messaging/
lib/registry/
lib/ldb-samba/
librpc/rpc/
auth/auth_winbind.c
auth/gensec/
auth/kerberos/
dsdb/repl/
dsdb/samdb/
dsdb/schema/
torture/
cluster/ctdb/
kdc/
ntvfs/ipc/
torture/rap/
ntvfs/
utils/getntacl.c
ntptr/
smb_server/
libcli/wrepl/
wrepl_server/
libcli/cldap/
libcli/dgram/
libcli/ldap/
libcli/raw/
libcli/nbt/
libnet/
winbind/
rpc_server/

metze
2007-12-21 05:45:02 +01:00
Andrew Bartlett
0377d85bbd r25891: Test that we get the correct return value when we attempt to reference
invalid entries with a linked attribute.

Make Samba4 pass that test, by fixing a silly bug in the
linked_attributes module.  (By passing down the 'original' request
structure, tdb would override our handle, and therefore we would never
be called for the 'wait', which collects the errors).

Fix up the provision templates to handle the newly required
referential integrity.

Andrew Bartlett
2007-12-21 05:44:41 +01:00
Jelmer Vernooij
9d73becbb2 r25887: Build Samba-specific ldb modules as dso's. 2007-12-21 05:44:40 +01:00
Stefan Metzmacher
f8bc6b9ad0 r25839: use nss_wrapper code in samba4 if
--enable-nss-wrapper or --enable-developer is given

metze
2007-12-21 05:44:20 +01:00
Andrew Bartlett
c66e188e67 r25788: Use a single routine to handle the creation of modify requests in the
linked_attributs code.

This drasticly reduces the code duplication here.

Andrew Bartlett
2007-12-21 05:43:59 +01:00
Andrew Bartlett
56d9dd5140 r25781: Handle and test linked attribute renames.
Andrew Bartlett
2007-12-21 05:43:56 +01:00
Stefan Metzmacher
7b77210d3e r25780: fix bool return
metze
2007-12-21 05:43:55 +01:00
Andrew Bartlett
c6a6246fbd r25763: Handle modifies, in the easy case (add/delete of elements), for the
linked attributes.

Andrew Bartlett
2007-12-21 05:43:48 +01:00
Andrew Bartlett
16a292fcb1 r25762: This test belongs best with the other checks for a valid parent, in
the objectclass module.

Andrew Bartlett
2007-12-21 05:43:47 +01:00
Andrew Bartlett
958a92ed0c r25761: Rename to be a DN to be a child of itself wasn't being checked for.
This prevents CN=test,dc=samba,dc=example,dc=com being renamed into
CN=test2,cn=test,dc=samba,dc=example,dc=com

Andrew Bartlett
2007-12-21 05:43:47 +01:00
Andrew Bartlett
2a835d900f r25755: Fix a couple of memory leaks, in particular a new leak onto the NULL
context caused by my objectclass module work.

Andrew Bartlett
2007-12-21 05:43:46 +01:00
Andrew Bartlett
bfc96fff06 r25754: More work on normal forms for ldb input.
This patch is to ensure that all attributes are in the same case as
the schema specifies.  In the process, I ensure that all attributes
are indeed in the schema.

This ensures we use the schema case, not the user supplied case for
future responses, which assists any (incorrect, but possible) case
sensitive processing on a client.

I've also removed more of the subtle 'schema &&' that metze objected
to in the for loops, moving to a much more explicit 'if (schema)'.

Andrew Bartlett
2007-12-21 05:43:45 +01:00
Andrew Bartlett
f3390c9054 r25753: Move cn=rootdse to @ROOTDSE to avoid being caught up in schema restrictions.
Andrew Bartlett
2007-12-21 05:43:45 +01:00
Andrew Bartlett
c0a0c69ac5 r25750: Update the objectclass module to improve consistency in Samba4.
The aim here is to ensure that if we have

CN=Users,DC=samba,DC=example,DC=com

that we cannot have a DN of the form

cn=admin ,cn=useRS,DC=samba,DC=example,DC=com

This module pulls apart the DN, fixes up the relative DN part, and
searches for the parent to copy the base from.

I've used the objectclass module, as I intend to also validate the
placement of child objects, by reading the allowedChildClasses virtual
attribute.

In the future, I'll also force the attribute names to be consistant
(using the case from the schema).

Andrew Bartlett
2007-12-21 05:43:43 +01:00
Andrew Bartlett
388e15a4c1 r25748: Don't segfault if we don't have a schema yet.
Andrew Bartlett
2007-12-21 05:43:41 +01:00
Andrew Bartlett
2ba99d58e9 r25747: Implement linked attributes, for add operations.
Much more work is still required here, particularly to handle this
better during the provision, and to handle modifies and deletes, but
this is a start.

Andrew Bartlett
2007-12-21 05:43:41 +01:00
Andrew Bartlett
7e68051bb7 r25729: Fix silly regression in the subtree_rename - I broke normal renames.
Bug 5041

Andrew Bartlett
2007-12-21 05:43:31 +01:00
Andrew Bartlett
10ba3ae699 r25723: Add a check to prevent deletion of entries with children. Sadly MMC
doesn't trigger it's recursive delete correctly, but the error return
is correct (but perhaps needs a different LDAP wire format).

Andrew Bartlett
2007-12-21 05:43:29 +01:00
Andrew Bartlett
e8cbac1a46 r25710: Finally fix subtree renames. Untested code is broken code and in this
case an oddity of the javascript caused the test to 'pass'.

For the same oddity, we have a failure in ldb's handling of spaces in
DNs.  We need to resolve that too.

Andrew Bartlett
2007-12-21 05:43:24 +01:00
Andrew Bartlett
3434262ad7 r25705: Ensure we return the out value to the caller.
Andrew Bartlett
2007-12-21 05:43:22 +01:00
Andrew Bartlett
f350ef5f19 r25704: Handle the chicken-and-egg problem of setting up the LDB before we get
a schema.  perhaps i need to look into metze's 'load a schema from
ldif' code.

Andrew Bartlett
2007-12-21 05:43:22 +01:00
Andrew Bartlett
ecea817a3e r25702: Clarify comments and make this module more strict on objectclasses.
This is becoming the schema module...

Andrew Bartlett
2007-12-21 05:43:21 +01:00
Andrew Bartlett
cea496d216 r25701: Clarify comment 2007-12-21 05:43:20 +01:00
Andrew Bartlett
daca0cfd2f r25693: Implement the rest of subtree renames, now that tridge waved his magic
over the ldb_tdb part of the problem.

Andrew Bartlett
2007-12-21 05:43:17 +01:00
Jelmer Vernooij
b7371f1a19 r25553: Convert to standard bool type. 2007-10-10 15:07:54 -05:00
Jelmer Vernooij
fd697d77c9 r25430: Add the loadparm context to all parametric options. 2007-10-10 15:07:31 -05:00
Jelmer Vernooij
3fcc960839 r25398: Parse loadparm context to all lp_*() functions. 2007-10-10 15:07:25 -05:00
Andrew Bartlett
aad9545ca1 r25249: Thanks to Andrew Kroeger for pointing out this silly typo (calling
end_transaction in delete_tranaction would be very much the wrong
thing to do) in the update_keytab module.

Andrew Bartlett
2007-10-10 15:06:59 -05:00
Jelmer Vernooij
df9cebcb97 r25035: Fix some more warnings, use service pointer rather than service number in more places. 2007-10-10 15:05:43 -05:00
Jelmer Vernooij
abe8349f9b r25026: Move param/param.h out of includes.h 2007-10-10 15:05:38 -05:00
Jelmer Vernooij
0bcb21ed74 r25001: Fix more C++ and other warnings, fix some of the indentation with ts=4 lines that I accidently added earlier. 2007-10-10 15:05:28 -05:00
Jelmer Vernooij
08bb1ef643 r25000: Fix some more C++ compatibility warnings. 2007-10-10 15:05:27 -05:00
Andrew Bartlett
d17a0058ba r24914: In response to bug #4892 by Matthias Wallnöfer <mwallnoefer@yahoo.de>,
allow the objectclass module to reconstruct the objectclass hierarchy,
rather than using templates.

The issue being fixed in particular is that 'top' was not being set on
containers.

This should ensure we do this right for all objects.

Andrew Bartlett
2007-10-10 15:03:37 -05:00
Andrew Bartlett
64cc31642f r24793: The subtree_rename module is a work of fiction. An resemblance to a
working module, live or dead, is purely co-incidental.

Andrew Bartlett
2007-10-10 15:03:10 -05:00
Jelmer Vernooij
31993cf67b r24780: More work allowing libutil to be used by external users. 2007-10-10 15:03:10 -05:00
Andrew Bartlett
13908a8cb4 r24761: Permit subtree renames in Samba4.
The module is scary: On a rename, it does a search for all entries
under that entry (including itself), and fires off a seperate rename
call for each result.  This will fail miserably on an LDAP backend,
but I'll need to work on using hdb for OpenLDAP, and hope Fedora DS
can implement subtree renames at some point.

Andrew Bartlett
2007-10-10 15:03:05 -05:00
Andrew Bartlett
62320616ff r24731: Remove unused code - if we hit these error conditions, then we are
dead anyway, and a segfault would leave us with more infomation.

Andrew Bartlett
2007-10-10 15:03:00 -05:00
Andrew Bartlett
35ee4aee71 r24696: Fix bug 4918 reported by Matthias Wallnöfer <mwallnoefer@yahoo.de>
with a patch from Andrew Kroeger <andrew@sprocks.gotdns.com>.

The changes to samldb_fill_foreignSecurityPrincipal_object() look much
larger then they are: We just skip all the objectSid generation if the
SID is supplied.

By providing a few more objects, standard dialogs on the clients are
better behaved, for these 'well known' users.

Andrew Bartlett
2007-10-10 15:02:48 -05:00
Andrew Bartlett
d0595e7a3d r24690: Further fix to bug 4919: Ensure we don't supply a NULL URL argument to
ldb_connect_backend().

Andrew Bartlett
2007-10-10 15:02:45 -05:00
Andrew Bartlett
ba82197e30 r24655: Fix bug 4919 reported by Matthias Wallnöfer <mwallnoefer@yahoo.de>:
> When you change to the SAMBA private directory on a shell (default
> /usr/local/samba/private) and start there for example ldbedit with the sam.ldb,
> the application crashes if you don't put the "./" before the filename.

I've adapted Matthias's patch.

Andrew Bartlett
2007-10-10 15:02:33 -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