1
0
mirror of https://github.com/samba-team/samba.git synced 2025-06-19 23:17:05 +03:00

36 Commits

Author SHA1 Message Date
Andrew Bartlett
e4001a78c1 dsdb: Allocate new OID to allow updates of a read-only replica
Normally this would be a very bad idea, but the specific case of fixing the instanceType
is the only case where this makes sense.

Andrew Bartlett
2012-07-18 09:32:53 +02:00
Matthieu Patou
db11c1b120 s4-schema: Validate more class attribute when adding a new class in the schema
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Sun May  6 04:17:56 CEST 2012 on sn-devel-104
2012-05-06 04:17:56 +02:00
Matthieu Patou
191dd54cbc s4: use intermediate var, increase lisibility 2012-05-05 17:26:11 -07:00
Matthieu Patou
3616735010 dsdb: more RELAX to DBCHECK control shift so that only dbcheck can do uncontrolled changes 2012-04-29 07:35:10 +02:00
Matthieu Patou
441b20872b dsdb: change control from relax to dbcheck
Comment indicate that this is needed by dbcheck only and it permits
other projects to push broken schema and remain undetected
2012-04-29 07:35:10 +02:00
Matthias Dieter Wallnöfer
6287d0d61c s4:objectclass_attrs LDB module - implement the dSHeuristics length checks correctly
Consider bug #8489

Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Andrew Tridgell
d7f617e2e1 s4-dsdb: allow deletion of backlinks if DSDB_CONTROL_DBCHECK given
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-06 14:34:22 +11:00
Andrew Tridgell
4ede333f46 s4-dsdb: add auto-normalisation of attributes
this auto-normalises some attributes when they are added/modified. The
list that we auto-normalise is currently:

Boolean
INT32
INTEGER
UTC_TIME

This fixes a problem with groupType being stored in an unnormalised
form

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-08-09 11:56:23 +02:00
Andrew Tridgell
6f6cda72fc s4-dsdb: deleted objects are expected to be missing mandatory attributes
the objectclass_attrs validation that an object contains all mandatory
attributes is incorrect for deleted objects, as they get stripped of
some mandatory attributes when deleted (for example, objectCategory
gets stripped)

Pair-Programmed-With: Amitay Isaacs <amitay@gmail.com>
2011-07-11 14:32:44 +10:00
Andrew Tridgell
28dbd8bbc1 s4-dsdb: allow removal of unknown attributes if RELAX set
this allows attributes not known in the schema to be removed if the
caller has set the RELAX control. This will be used by dbcheck to
allow cleaning of bad attributes from the database
2011-07-05 07:10:03 +02:00
Andrew Tridgell
a353b49047 s4-dsdb: bypass validation when relax set
this allows dbcheck to fix bad attributes

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Jun 22 12:27:06 CEST 2011 on sn-devel-104
2011-06-22 12:27:06 +02:00
Andrew Tridgell
daeb6a02ea s4-dsdb: allow modification of linked attribute targets with relax
this is used to help recover a corrupt database. 

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-03-29 07:37:04 +02:00
Jelmer Vernooij
59a077d8f5 Fix some types
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Mon Feb 28 23:30:06 CET 2011 on sn-devel-104
2011-02-28 23:30:06 +01:00
Matthias Dieter Wallnöfer
3468f8de1e s4:dsdb/samdb/ldb_modules/objectclass.c - move LSA specific object checks into "objectclass_attrs" LDB module
LSA object classes are protected on both LDAP add and LDAP modify
operations, so I've refactored the previous check in the objectclass LDB
module only for LDAP adds in a new one in the objectclass_attrs LDB
module for both adds and modifies.
This is the result of the investigations done by Hongwei Sun and I in
the last months.
Interestingly these protection mechansim doesn't apply on LDAP deletes!

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2011-01-25 12:27:20 +01:00
Matthias Dieter Wallnöfer
d9f97cd57f s4:objectclass_attrs LDB module - add more delete protected attributes
And enhance the testsuite
2010-11-20 21:15:57 +01:00
Matthias Dieter Wallnöfer
5585591b2e s4:samldb/objectclass_attrs LDB modules - move "description" logic from "objectclass_attrs" into "samldb"
This according to an answer from dochelp is SAM specific behaviour.
2010-11-12 18:55:04 +00:00
Stefan Metzmacher
8516fad3b4 s4:dsdb/objectclass_attrs: not all objects have delete protected attributes as must contain
Before we got the following error, while starting samba after a
'samba-tool vampire':

Failed to store repsFrom - objectclass_attrs: delete protected attribute
'objectSid' on entry 'DC=ForestDnsZones,DC=alpha,DC=sz,DC=salzgitter-ag,DC=lab'
missing!

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu Nov  4 17:01:59 UTC 2010 on sn-devel-104
2010-11-04 17:01:59 +00:00
Andrew Tridgell
cf37c29cd0 Move the checking of single valued attributes back into the tdb backend.
The backend is the only place that can do this properly. It makes no
sense to do it anywhere else. As a result of it moving out of the
backend we ended up with some bugs causing multiple values in single
valued attributes (eg. isDeleted), which can really damage the
inregrity of the database.

For the override of single valued values needed for deleted linked
attributes we should use attribute flags.

This reverts commit 1949864417f3d10fb8996df7db259649eb777271.
2010-11-04 20:35:44 +11:00
Matthias Dieter Wallnöfer
4311438528 s4:objectclass_attrs LDB module - introduce the hardcoded delete-protected attributes list
This is a hardcoded list in AD of attributes, which can never be deleted.
2010-11-03 17:48:18 +00:00
Matthias Dieter Wallnöfer
d873fb72bc s4:objectclass_attrs LDB module - refactor the "dSHeuristics" checker
The checks are done when there are more than 0 values. The other checks should
be performed by the other parts of the module.
2010-11-03 16:36:50 +01:00
Matthias Dieter Wallnöfer
b841d12a13 s4:objectclass_attrs LDB module - simplify the invoke of the "dSHeuristics" checker
It's always invoked on add and modify operations.
2010-11-03 16:36:42 +01:00
Nadezhda Ivanova
b6fe5cdfdd s4-dsdb: Implemented value restrictions for the dSHeuristics attribute 2010-11-03 15:15:24 +02: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
Matthias Dieter Wallnöfer
4f25eec5a5 s4:objectclass_attrs.c - rework to support these special "description" constraints
Only the "description" attribute has this special restrictions.
2010-10-26 18:12:00 +00:00
Matthias Dieter Wallnöfer
fedd4aa3cb s4:objectclass_attrs LDB module - deny multi-valued replace requests
This is the AD behaviour. But on attributes with the flag
"FLAG_ATTR_REQ_PARTIAL_SET_MEMBER" it is allowed.
2010-10-25 13:03:17 +02:00
Matthias Dieter Wallnöfer
e3081b92c1 s4:dsdb - substitute the "show_deleted" with the "show_recycled" control
We intend to see always all objects with the "show_deleted" control specified.
To see also recycled objects (beginning with 2008_R2 function level) we need to
use the new "show_recycled" control.

As far as I see this is only internal code and therefore we don't run into
problems if we do substitute it.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-10-03 15:23:18 +00:00
Andrew Tridgell
85ba79063f ldb: mark the location of a lot more ldb requests 2010-09-25 10:38:45 -07:00
Kamen Mazdrashki
fffc98f33e s4: fix few comment typos 2010-08-19 03:34:02 +03:00
Kamen Mazdrashki
ca80918613 s4-dsdb: Use dsdb_syntax_ctx in *_validate_ldb functions 2010-08-19 03:34:01 +03:00
Andrew Tridgell
0caf347098 s4-ldb: added LDB_FLAG_INTERNAL_DISABLE_VALIDATION
When this flag is set on an element in an add/modify request then the
normal validate_ldb() call that checks the element against schema
constraints is disabled

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-08-17 21:21:50 +10:00
Matthieu Patou
a748402f61 s4 ldb modules: relax some tests about attributes that should not be here
For attributes that we know that are harmless and that used to be stored
in the ldb we relax the tests on the existance in a given objectclass.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-15 22:08:21 +10: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
Andrew Bartlett
b16e602660 s4:dsdb Move linked attribute restrictions to objectclass_attrs
This puts more of the schema restrictions in one place.

Andrew Bartlett
2010-06-15 10:54:09 +10:00
Matthias Dieter Wallnöfer
1949864417 s4:objectclass_attrs LDB module - move the single-valued attribute check into this module
It seems to me more consistent (and also to keep the same behaviour on all
backends).

Also the DRS hack should therefore not be needed anymore since the
"repl_meta_data" module launches requests behind "objectclass_attrs".
2010-06-07 20:54:10 +02:00
Matthias Dieter Wallnöfer
2586cbaadc s4:dsdb - introduce a new "objectclass_attrs" LDB module which performs the objectclass attributes checking
Until now we had no real consistent mechanism which allowed us to check if
attributes belong to the specified objectclasses.
2010-06-07 14:47:22 +02:00