1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-22 22:04:08 +03:00

506 Commits

Author SHA1 Message Date
Kamen Mazdrashki
29f9249bd6 s4-dsdb/syntax: Implement Remote-ATTID to Local-ATTID mapping function 2010-12-01 13:01:17 +02:00
Kamen Mazdrashki
fcc26c5d59 s4-dsdb/schema: Add Schema shallow copy function 2010-12-01 13:01:16 +02:00
Kamen Mazdrashki
16bd9dd7ae s4-dsdb/prefixMap: Add prefixMap shallow copy function 2010-12-01 13:01:16 +02:00
Kamen Mazdrashki
0868a15982 s4-repl: Propagate remote prefixMap in DRSUAPI data conversion functions 2010-11-11 18:54:20 +00:00
Kamen Mazdrashki
2d0cb54ceb s4-dsdb_syntax: Warning message that we can't find requested ATTID in Schema Cache 2010-11-11 18:54:20 +00:00
Kamen Mazdrashki
3ab75524ee s4-prefixMap: dsdb_schema_pfm_oid_from_attid() to use const prefixMap
It is not supposed to change supplied prefixMap
2010-11-11 18:54:20 +00:00
Kamen Mazdrashki
e772518a64 s4-dsdb_syntax: Use remote prefixMap to handle generic cases in drsuapi_to_ldb conversions 2010-11-11 18:54:20 +00:00
Kamen Mazdrashki
f65c840299 s4-dsdb_syntax: Add remote prefixMap member for dsdb_syntax conversions 2010-11-11 18:54:20 +00:00
Stefan Metzmacher
9f39d4bfa4 s4:dsdb/schema/schema_filtered.c: make never_in_filtered_attrs static const
metze
2010-11-09 22:52:59 +01:00
Stefan Metzmacher
44b1c82e84 s4:dsdb/schema/schema_filtered.c: use DSDB_SECRET_ATTRIBUTES
metze
2010-11-09 22:52:57 +01:00
Kamen Mazdrashki
0aeb08e2eb s4-attid: Uppercase ATTID type constants
Thanks Metze for noting this!

Autobuild-User: Kamen Mazdrashki <kamenim@samba.org>
Autobuild-Date: Mon Nov  8 23:06:41 UTC 2010 on sn-devel-104
2010-11-08 23:06:41 +00:00
Andrew Tridgell
18085b1236 s4-dsdb: give the DN on a shema attribute failure 2010-11-07 22:50:05 +00:00
Kamen Mazdrashki
a2d787d95d s4-dsdb_schema: Use DRSUAPI_ATTID_INVALID instead of 0xFFFFFFFF magic value
Autobuild-User: Kamen Mazdrashki <kamenim@samba.org>
Autobuild-Date: Mon Nov  1 00:36:20 UTC 2010 on sn-devel-104
2010-11-01 00:36:20 +00:00
Kamen Mazdrashki
717b1158a6 idl: Use DRSUAPI_ATTID_ prefix instead of DRSUAPI_ATTRIBUTE_ for ATTID values
Those values are actually ATTID values and such, they are used
for ATTIDs for Attributes, Classes and Syntaxes.
2010-10-31 23:54:04 +00:00
Kamen Mazdrashki
6b188fbad4 s4-schema_init: we should be able to resolve Syntax OIDs with prefixMap we have
If Syntax OID is not in the prefixMap then we are getting
an unknown Attribute Syntax (which we can't handle anyway)
2010-10-29 02:31:17 +03:00
Kamen Mazdrashki
e5ebc48697 s4-dsdb_syntax: *_OID_oid_ldb_to_drsuapi() functions should use
dsdb_schema_pfm_attid_from_oid() instead of
dsdb_schema_pfm_make_attid() as those functions are
supposed to return ATTIDs only for OIDs we already know about
(i.e. are in prefixMap)

Autobuild-User: Kamen Mazdrashki <kamenim@samba.org>
Autobuild-Date: Tue Oct 26 22:44:36 UTC 2010 on sn-devel-104
2010-10-26 22:44:36 +00:00
Kamen Mazdrashki
0fc2427224 s4-prefixMap: split dsdb_schema_make_attid() function into read-only and
read-write functions.
dsdb_schema_make_attid() may change prefixMap implicitly
and this is not always desired behavior.
The problem was that
(1) callers had no control on this behavior
(2) callers had no way to know wheter prefixMap has been
    changed which can lead to hard to find bugs like
    prefixMap is changed in read operation
2010-10-26 22:17:41 +03:00
Kamen Mazdrashki
5e108fc5f9 s4-prefixmap: Use WERR_NOT_FOUND when OID is not found in current prefixMap
rather than WERR_DS_NO_MSDS_INTID.
WERR_DS_NO_MSDS_INTID is intended to be used for msDsIntId
attribute values handling
2010-10-26 22:17:40 +03:00
Kamen Mazdrashki
d46ca0eb80 s4-dsdb_syntax: Setup "String(Case Sensitive)" syntax
Currently it is mapped to Octet String LDAP syntax
for comparison purposes.

According to LDAP rfc we should be using same comparison
as Directory String (LDB_SYNTAX_DIRECTORY_STRING), but case sensitive.
But according to ms docs binary compare should do the job:
http://msdn.microsoft.com/en-us/library/cc223200(v=PROT.10).aspx

Autobuild-User: Kamen Mazdrashki <kamenim@samba.org>
Autobuild-Date: Fri Oct 22 22:19:50 UTC 2010 on sn-devel-104
2010-10-22 22:19:50 +00:00
Kamen Mazdrashki
2a001381e8 s4-dsdb/schema_syntax: Separate validation for numericoid OID values
This implementation doesn't use prefixMap/Schema to validate
numericoid OIDs. We may not have this OID yet, so I see no point
checking schema for if we have it.

Side effect of using prefixMap/Schema for validating numericoids
is that we mistakenly add the OID to the prefixMap.
This led to a corrupted prefixMap in LDB.

Autobuild-User: Kamen Mazdrashki <kamenim@samba.org>
Autobuild-Date: Thu Oct 21 23:32:26 UTC 2010 on sn-devel-104
2010-10-21 23:32:26 +00:00
Andrew Tridgell
47591ea5ec s4-dsdb: moved a bunch of fuctions from schema/schema_info_attr.c to samdb/ldb_modules/schema_util.c
these functions operate on ldb_modules, so they should be in the
ldb_modules directory. They also should return ldb errors codes, not
WERROR codes, as otherwise the error can be hidden from the ldap
caller

This re-arrangement fixes a dependency loop in the schema/samdb code.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
Pair-Programmed-With: Kamen Mazdrashki <kamenim@samba.org>
2010-10-21 19:03:25 +11:00
Kamen Mazdrashki
71ac92b673 s4-schema_init: Print more info about syntax we fail to recognize
Autobuild-User: Kamen Mazdrashki <kamenim@samba.org>
Autobuild-Date: Wed Oct 20 13:54:01 UTC 2010 on sn-devel-104
2010-10-20 13:54:01 +00:00
Matthias Dieter Wallnöfer
a6d70ddf86 s4:dsdb/schema/schema_init.c - remove a duplicated "talloc_free" 2010-10-19 10:11:03 +00:00
Matthias Dieter Wallnöfer
a0e9814c0d s4:dsdb - remove "samdb_result_uint", "samdb_result_int64", "samdb_result_uint64" and "samdb_result_string"
We have ldb_msg_find_attr_as_* calls which do exactly the same. Therefore this
reduces only code redundancies.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-10-15 08:36:01 +11:00
Jelmer Vernooij
1229935aa9 torture/becomedc: Add test for global schema, use samdb_connect().
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue Oct 12 18:35:33 UTC 2010 on sn-devel-104
2010-10-12 18:35:33 +00:00
Jelmer Vernooij
3b19993561 dsdb/schema: Move some dsdb_dn functions that are schema-specific. 2010-10-11 01:06:35 +02:00
Kamen Mazdrashki
81e5e23683 s4-dsdb: Make dsdb_setup_sorted_accessors() public
We are going to need it while converting DRS schema.
2010-10-10 12:58:32 +03:00
Kamen Mazdrashki
f06d98764a s4-dsdb-schema_prefixmap: return WERR_DS_NO_ATTRIBUTE_OR_VALUE when ATTID is not found
rather than WERR_INTERNAL_ERROR - it is not internal error!
2010-09-21 00:15:24 +03:00
Kamen Mazdrashki
395b09c1b6 s4-dsdb-schema_prefixmap: Print debug message when internal failure occurs 2010-09-21 00:15:24 +03:00
Kamen Mazdrashki
9256b5f226 s4-schema: Helper func to compare schemaInfo signitures 2010-09-17 13:53:03 +03:00
Kamen Mazdrashki
1295da92f9 s4-schema: use dsdb_schema_info_blob_is_valid() to verify schemaInfo blob
instead of parsing it.
2010-09-17 13:53:03 +03:00
Kamen Mazdrashki
aedefd3e99 s4-prefixMap: use dsdb_schema_info_blob_is_valid() for schemaInfo blob validation
This fixes a leaking dsdb_schema_info object also.
2010-09-17 13:53:03 +03:00
Kamen Mazdrashki
e691b1fd27 s4-dsdb: Add dsdb_schema_info_blob_is_valid() to verify schemaInfo blobls 2010-09-17 13:53:03 +03:00
Matthias Dieter Wallnöfer
a4b7fac86d s4:cosmetic - the SID attribute is called objectSid - not objectSID 2010-09-13 22:39:50 +02:00
Kamen Mazdrashki
89899f55dc s4-drs: ATTIDs for deleted attributes should be based on msDs-IntId value if it exists 2010-08-19 03:34:05 +03:00
Kamen Mazdrashki
695072478d s4-dsdb: No need for dsdb_syntax_one_DN_drsuapi_to_ldb() to be public
It is intended to be used in schema_syntax.c module
2010-08-19 03:34:04 +03:00
Kamen Mazdrashki
35d886db17 s4-dsdb-syntax: ATTID should be msDs-IntId value for the attributeSchema object
in case object replicated is not in Schema NC and attributeSchema
object has msDs-IntId attribute value set
2010-08-19 03:34:03 +03:00
Kamen Mazdrashki
fffc98f33e s4: fix few comment typos 2010-08-19 03:34:02 +03:00
Kamen Mazdrashki
d01804dda9 s4-schema_syntax.c: Fix white spaces and alignment 2010-08-19 03:34:02 +03:00
Kamen Mazdrashki
c5ec1f3d92 s4-dsdb: Use dsdb_syntax_ctx in *_drsuapi_to_ldb functions 2010-08-19 03:34:02 +03:00
Kamen Mazdrashki
b5af7b9a1e s4-dsdb: Use dsdb_syntax_ctx in *_ldb_to_drsuapi functions 2010-08-19 03:34:01 +03:00
Kamen Mazdrashki
ca80918613 s4-dsdb: Use dsdb_syntax_ctx in *_validate_ldb functions 2010-08-19 03:34:01 +03:00
Kamen Mazdrashki
b7d1586ccd s4-dsdb: Add context structure for dsdb_syntax conversion functions
This structure is intended to hold context-dependent data.

Syntax-conversion and object-conversion functions need
that data to convert objects and attributes from drs-to-ldb
and ldb-to-drs correctly.

For instance: ATTID value depends on whether we are converting
object from partition different that Schema partition.
2010-08-19 03:34:01 +03:00
Kamen Mazdrashki
d595f070f6 s4-dsdb: fix attributes_by_msDS_IntId index sorting 2010-08-11 00:18:14 +03:00
Kamen Mazdrashki
f827904596 s4-schema: More verbose error log when subClassOf is not found in schema
Error message show failing classSchema object
but not the specific value for the failure,
which makes diagnostics by log files really hard.
2010-08-03 04:29:23 +03:00
Kamen Mazdrashki
a268e0846f s4: fix comment typos 2010-08-03 04:29:22 +03:00
Kamen Mazdrashki
86cc914717 s4-dsdb: use ldb_msg_normalize() in source4/dsdb/schema/schema_set.c
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19 17:33:34 +10:00
Kamen Mazdrashki
fb1c0796c7 s4-dsdb/schema/schema_set.c: fix trailing spaces and comments spelling
Few comments split on several lines also...

(Sorry Metze, I know you hate reviewing "and this, and that"
type of patches, but those are just cosmetics)

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19 17:33:33 +10:00
Kamen Mazdrashki
a11d3b4dfb s4-dsdb: use ldb_msg_difference() in source4/dsdb/schema/schema_set.c
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-07-19 17:33:33 +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