1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-15 05:57:49 +03:00

70 Commits

Author SHA1 Message Date
Stefan Metzmacher
b3486f4e1a s4:dsdb/descriptor: remove support for unused LDB_CONTROL_RECALCULATE_SD_OID
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2012-11-30 17:17:20 +01:00
Stefan Metzmacher
74e3f0ea0a s4:dsdb/descriptor: move special dn check to the start of descriptor_{add,modify,rename}
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2012-11-30 17:17:20 +01:00
Stefan Metzmacher
7a3e4d04c7 s4:dsdb/descriptor: if the caller specifies no DACL/SACL the objects gets a default one
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2012-11-30 17:17:20 +01:00
Stefan Metzmacher
c2c715f9c9 s4:dsdb/descriptor: give SYSTEM the correct default owner (group) sid
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2012-11-30 17:17:20 +01:00
Stefan Metzmacher
42898590bb s4:dsdb/descriptor: make it clear that the SD Flags are ignored on add
See [MS-ADTS] 6.1.3.2 SD Flags Control:
  ...
  When performing an LDAP add operation, the client can supply an SD flags control
  with the operation; however, it will be ignored by the server.
  ...

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2012-11-30 17:17:20 +01:00
Stefan Metzmacher
f018772e0c s4:dsdb/descriptor: make use of dsdb_request_sd_flags()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2012-11-30 17:17:20 +01:00
Stefan Metzmacher
67045fafe8 s4:dsdb/descriptor: always use descriptor_search_callback if we return nTSecurityDescriptor
If the nTSecurityDescriptor is explicitly specified
without the SD Flags control we should go through descriptor_search_callback().

This is not strictly needed at the moment, but makes the code clearer
and might avoid surprises in the future.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2012-11-30 17:17:20 +01:00
Stefan Metzmacher
690b5e1161 s4:dsdb/descriptor: do searches for nTSecurityDescriptor AS_SYSTEM and with SHOW_RECYCLED
Note that SHOW_RECYCLED implies SHOW_DELETED.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2012-11-30 17:17:20 +01:00
Matthieu Patou
1d53e57bbf s4-dsdb: allow modification of some deleted object if the show-deleted control is presented
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Sat May 19 20:28:01 CEST 2012 on sn-devel-104
2012-05-19 20:28:00 +02:00
Matthias Dieter Wallnöfer
0c44d46f24 s4:dsdb/samdb/ldb_modules/schema.c - move "get_last_structural_class()" into "util.c"
And remove this helper module - it does not have much sense keeping it.

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Wed Apr 11 06:31:51 CEST 2012 on sn-devel-104
2012-04-11 06:31:51 +02:00
Matthias Dieter Wallnöfer
3fa5f84d2f s4:dsdb - introduce a only constant-time "get_last_structural_class()" call
With the redesign of the previous patches this has become possible.
2012-04-11 12:50:16 +10:00
Andrew Bartlett
7290a62284 s4-dsdb: use constant-time search for descriptor -> get_last_structural_class()
The objectClass list is sorted at this point, as we are called below
the objectclass module here, or are working from a search result.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Mon Mar 26 05:38:13 CEST 2012 on sn-devel-104
2012-03-26 05:38:13 +02:00
Matthias Dieter Wallnöfer
206421c8fd s4:dsdb - enhance "get_last_structural_class()" for optimisations
If the objectclass entry has been sorted before we are able to determine
the (last) structural or 88 object class in constant time.

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2012-03-26 00:57:29 +02:00
Matthieu Patou
b91dd516b5 s4-dsdb: rework the NC detection for the descriptor calculation
This checks if instanceType attribute is available, and if
INSTANCE_TYPE_IS_NC_HEAD bit is set. If the bit is set, then
the DN is NC root and security descriptor is not inherited
from parent SD.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
2011-11-16 17:16:30 +11:00
Andrew Bartlett
d40fe50a67 build: avoid util.h as a public header name due to conflict with MacOS 2011-09-23 09:24:03 +02:00
Jelmer Vernooij
8b271e4328 source4/dsdb/samdb: Fix prototypes for all functions. 2011-03-19 03:20:05 +01:00
Nadezhda Ivanova
0b93902349 s4-descriptor: Fixed a typo in a comment and clarified it a bit.
Autobuild-User: Nadezhda Ivanova <nivanova@samba.org>
Autobuild-Date: Tue Feb 22 12:39:23 CET 2011 on sn-devel-104
2011-02-22 12:39:23 +01:00
Nadezhda Ivanova
be36596f4e s4-descriptor: Fixed some missing curly braces. 2011-02-22 12:46:44 +02:00
Nadezhda Ivanova
a69f634de4 s4-descriptor: Fixed some compiler warnings.
Autobuild-User: Nadezhda Ivanova <nivanova@samba.org>
Autobuild-Date: Mon Feb 21 18:02:21 CET 2011 on sn-devel-104
2011-02-21 18:02:21 +01:00
Nadezhda Ivanova
3b9f3755b0 s4-descriptor: Removed unnecessary descriptor_change function and unused callbacks. 2011-02-21 17:14:12 +02:00
Nadezhda Ivanova
a0a52b3423 s4-descriptor: Replaced the async descriptor_change with synchronous descriptor_modify.
The purpose is to make descriptor module synchronous. This will simplify reading and debugging, and also will make the
    implementation of SD hierarchy recalculation on modify much easier.
2011-02-21 17:08:44 +02:00
Nadezhda Ivanova
85877c0bd1 s4-descriptor: Replaced the synchronous descriptor_change with the synchronous descriptor_add.
The purpose is to make descriptor module synchronous. This will simplify reading and debugging, and also will make the
implementation of SD hierarchy recalculation on modify much easier.
2011-02-21 17:04:27 +02:00
Andrew Tridgell
87f3151047 s4-dsdb: pass parent request to dsdb_module_*() functions
this preserves the request hierarchy for dsdb_module_*() calls inside
dsdb ldb modules

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-01-17 05:23:04 +01:00
Andrew Bartlett
455ef46785 Revert "s4-dsdb Don't talloc_free() ares on failure, as LDB might free it later"
This reverts commit 25163380239abbad28f1656c42e6fab1b92473d9 because
further analyis showed the real problem was introduced in 0941099a
(which changed the caller behaviour, but only for indexed searches).

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Sat Dec 18 02:19:59 CET 2010 on sn-devel-104
2010-12-18 02:19:59 +01:00
Andrew Bartlett
2516338023 s4-dsdb Don't talloc_free() ares on failure, as LDB might free it later
We need to make LDB consistent here (indexed vs unindexed behaviour
differs here!), but for the moment this is the easiest way out of a
segfault.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Thu Dec 16 06:42:56 CET 2010 on sn-devel-104
2010-12-16 06:42:56 +01:00
Kamen Mazdrashki
d8e56245c0 s4-dsdb/descriptor: comment typo 2010-12-02 19:02:52 +02:00
Matthias Dieter Wallnöfer
856e309b14 s4:descriptor LDB module - also "get_default_ag" should make use of "dsdb_find_nc_root" 2010-11-16 15:25:13 +01:00
Matthias Dieter Wallnöfer
cebad70ee6 s4:descriptor LDB module - handle the NCs in a more generic way by using "dsdb_find_nc_root" 2010-11-16 15:25:13 +01:00
Matthias Dieter Wallnöfer
d2453b52d8 s4:descriptor LDB module - make more clear that special control entries never should be handled by modules 2010-11-16 13:29:49 +01:00
Matthias Dieter Wallnöfer
9057e603cf s4:descriptor LDB module - make the "nTSecurityDescriptor" attribute fully behave as in AD
- fix crash when provided "nTSecurityDescriptor" attribute is empty
- print out the correct error codes if it's provided multi-valued
- simplify the "recalculate_sd" control handling
2010-11-07 19:09:29 +01:00
Matthias Dieter Wallnöfer
7813fc4a0e s4:descriptor LDB module - save a pointer to the request message on the temporary "ac" context
This prevents two calls of "ldb_msg_copy_shallow".
2010-11-07 10:27:24 +01:00
Matthias Dieter Wallnöfer
75ea7bd004 s4:descriptor LDB module - by "dsdb_next_callback" we don't need anymore the default operation callback implementations
Only customised ones still need to remain.
2010-11-07 10:27:24 +01:00
Matthias Dieter Wallnöfer
3b52902c19 s4:descriptor LDB module - remove a bit pointless memory context
For only one operation we do not need an additional "mem_ctx". "ac" should be
enough (see for example the samldb LDB module).
2010-11-07 10:27:24 +01:00
Matthias Dieter Wallnöfer
d58a4c55c1 s4:descriptor LDB module - remove a "ldb_msg_sanity_check" call
This check (the structural objectclass) is performed in the objectclass LDB
module.
2010-11-07 10:27:23 +01:00
Matthias Dieter Wallnöfer
f1a8fbfc98 s4:descriptor LDB module - don't ignore referrals if we are executing an ordinary external search operation
Referrals are valid results.
2010-11-07 10:27:23 +01:00
Matthias Dieter Wallnöfer
4b79a74c1b s4:descriptor LDB module - a bit cleanup
- add more OOM checks where needed
- remove message of an error which cannot happen anymore (since now the
  structural objectclass is always checked by the objectclass LDB module)

Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Wed Nov  3 18:30:52 UTC 2010 on sn-devel-104
2010-11-03 18:30:52 +00:00
Andrew Tridgell
9103047782 s4-ldb: enable version checking in dsdb ldb modules 2010-11-01 13:05:04 +00:00
Andrew Tridgell
7eb2eed156 s4-dsdb: convert the rest of the ldb modules to the new module type 2010-11-01 18:55:19 +11:00
Jelmer Vernooij
2bff55f5de dsdb/modules: Split up helpers a bit to prevent recursive dependencies.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Oct 10 23:47:54 UTC 2010 on sn-devel-104
2010-10-10 23:47:54 +00:00
Andrew Tridgell
85ba79063f ldb: mark the location of a lot more ldb requests 2010-09-25 10:38:45 -07:00
Andrew Tridgell
5568fcd88b s4-dsdb: added tagging of requests in dsdb modules
this allows you to call dsdb_req_chain_debug() in gdb or when writing
debug code to see the request chain
2010-09-25 10:38:45 -07:00
Matthias Dieter Wallnöfer
89c7859006 s4:descriptor LDB module - remove the "forest DN" check
Also here we have to work with the default base DN.

After some reading I've discovered that this isn't really true. The forest
partition does exist on one or more DCs and is there the same as the default
base DN (which is already checked by the module).
And if we have other DCs which contain child domains then they never contain
data of the forest domain beside the schema and the configuration partition
(which are checked anyway) since a DC can always contain only one domain!

Link: http://www.informit.com/articles/article.aspx?p=26896&seqNum=5
2010-08-01 21:30:28 +02:00
Andrew Tridgell
87df785a68 s4-dsdb: use ldb_operr() in the dsdb code
this replaces "return LDB_ERR_OPERATIONS_ERROR" with "return ldb_operr(ldb)"
in places in the dsdb code where we don't already explicitly set an
error string. This should make is much easier to track down dsdb
module bugs that result in an operations error.
2010-07-07 20:14:55 +10:00
Jelmer Vernooij
238e89f7b0 dsdb: Make module ops struct for each module public. 2010-06-19 13:46:39 +02:00
Jelmer Vernooij
7fe9e6cd69 dsdb: Fix includes when building against system ldb. 2010-06-15 13:15:50 +02:00
Matthias Dieter Wallnöfer
fc037e029e s4:descriptor LDB module - cosmetic fixup 2010-06-06 20:43:19 +02:00
Anatoliy Atanasov
3bae05d286 s4: check the sacl and dacl pointers on the old sd 2010-06-01 16:52:46 +03:00
Jelmer Vernooij
f9ca9e46ad Finish removal of iconv_convenience in public API's. 2010-05-18 11:45:30 +02:00
Anatoliy Atanasov
bcdaa23798 s4/rodc: Fix the callbacks up the stack to handle referrals on modify requests 2010-05-04 18:31:47 +02:00
Andrew Tridgell
0d3823b152 s4-dsdb: removed an unused variable 2010-04-22 19:36:16 +10:00