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

50 Commits

Author SHA1 Message Date
Andrew Bartlett
8cfa1f898e r24567: Try much harder not to leak memory when comparing objectCategory entires.
Andrew Bartlett
2007-10-10 15:02:16 -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
Andrew Tridgell
40c0919aaa r23798: updated old Temple Place FSF addresses to new URL 2007-10-10 14:59:15 -05:00
Andrew Tridgell
84b468b2f8 r23795: more v2->v3 conversion 2007-10-10 14:59:14 -05:00
Andrew Bartlett
dcff83ebe4 r23560: - Activate metze's schema modules (from metze's schema-loading-13 patch).
- samba3sam.js: rework the samba3sam test to not use objectCategory,
  as it's has special rules (dnsName a simple match)
- ldap.js: Test the ordering of the objectClass attributes for the baseDN
- schema_init.c: Load the mayContain and mustContain (and system...) attributes when
  reading the schema from ldb
- To make the schema load not suck in terms of performance, write the
  schema into a static global variable
- ldif_handlers.c: Match objectCategory for equality and canonicolisation
  based on the loaded schema, not simple tring manipuation
- ldb_msg.c: don't duplicate attributes when adding attributes to a list
- kludge_acl.c: return allowedAttributesEffective based on schema results
  and privilages

Andrew Bartlett
2007-10-10 14:53:27 -05:00
Jelmer Vernooij
a90202abca r22762: Some ldb_map changes:
* Change license to LGPL, so it can be used by non-Samba users of
LDB (cleared with Martin as well).

* Include ldb_map in standalone build.

* Move ldb_map to its own directory
2007-10-10 14:52:15 -05:00
Stefan Metzmacher
d8440f0579 r22723: fix compiler warnings
metze
2007-10-10 14:52:07 -05:00
Jelmer Vernooij
1093875d59 r22681: Fix standalone ldb build when parent directory name != ldb. 2007-10-10 14:52:00 -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
627ed8b516 r19888: make it possible to use default attrib handlers from extensions
list more DN attributes as part of samba attribute handlers
(nCName moved here)
2007-10-10 14:28:32 -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
1c3e9b27a7 r19683: Guard GUID_from_string from walking off the end.
Andrew Bartlett
2007-10-10 14:25:31 -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
3a103149a6 r19520: Try not to read past the end of the ldb buffer.
Andrew Bartlett
2007-10-10 14:24:43 -05:00
Andrew Tridgell
5cc92d915b r19327: fixed a leak in ldif_canonicalise_objectCategory() 2007-10-10 14:21:10 -05:00
Simo Sorce
5f78645150 r17515: Fix warnings 2007-10-10 14:15:31 -05:00
Stefan Metzmacher
932f8bec21 r17432: display more GUID values nicely,
they all have rangeLower=16 rangeUpper=16
and attribute syntax 2.5.5.10

metze
2007-10-10 14:15:25 -05:00
Stefan Metzmacher
96e9d46091 r17416: display the attributeSecurityGUID nicely.
this attriute is used to group multiple attribute
to a propertySet for access control.

metze
2007-10-10 14:15:23 -05:00
Stefan Metzmacher
92f133f1ef r17415: the ldif handlers can't do search as this now blocks foerever
because the handlers are called within the async callbacks
in side the main search.

Also it makes no sense to give the sddl encoder the sid of the primary
domain when we need a description of a real security_descriptor,
this only makes sense for the defaultSecurityDescriptor...

metze
2007-10-10 14:15:23 -05:00
Andrew Bartlett
e7894b49b3 r16965: Take a better stab at comparison functions between string and binary
forms of the objectGUID and objectSID attributes.

Andrew Bartlett
2007-10-10 14:10:04 -05:00
Andrew Bartlett
272a095728 r16067: Remove const, it isn't required and just causes a warning.
Andrew Bartlett
2007-10-10 14:08:56 -05:00
Andrew Bartlett
9ddcfacbce r16066: The OSX AD plugin uses objectCategory searches a lot, and uses them
both fully qualified and in the 'short' form.  Now we test and support
this query format.

Andrew Bartlett
2007-10-10 14:08:55 -05:00
Stefan Metzmacher
9ec706238c r14860: create libcli/security/security.h
metze
2007-10-10 13:59:44 -05:00
Jelmer Vernooij
1228358767 r13924: Split more prototypes out of include/proto.h + initial work on header
file dependencies
2007-10-10 13:52:24 -05:00
Andrew Tridgell
3f0600e223 r13078: fixed the ldb comparison function for objectSids 2007-10-10 13:51:23 -05:00
Stefan Metzmacher
380938e97f r12829: fix ldb headers, to not include '<...>' files in .c files
this helps in getting symbol -fvisibility=hidden (GCC 4 feature) working later.

metze
2007-10-10 13:50:03 -05:00
Simo Sorce
77125feaff r12733: Merge ldap/ldb controls into main tree
There's still lot of work to do but the patch is stable
enough to be pushed into the main samba4 tree.

Simo.
2007-10-10 13:49:47 -05:00
Jelmer Vernooij
70e7449318 r12608: Remove some unused #include lines. 2007-10-10 13:49:03 -05:00
Jelmer Vernooij
0aca5fd513 r12542: Move some more prototypes out to seperate headers 2007-10-10 13:47:55 -05:00
Andrew Tridgell
8185731c18 r12158: added ldif handlers for the ntSecurityDescriptor attribute, so when
displaying security descriptors in ldbsearch or ldbedit you can see
the SDDL version.

This also allows us to specify security descriptors in our
setup/*.ldif files in SDDL format, which is much more convenient than
the NDR binary format!
2007-10-10 13:47:16 -05:00
Andrew Tridgell
ddbca6e832 r11459: display a schemaIDGUID as a guid in ldif, making it easier to work
with schemas in ldbedit
2007-10-10 13:45:39 -05:00
Jelmer Vernooij
eb9d615bcd r9786: Move ldb_map into ldb/modules/
Move samba3sam to dsdb/
2007-10-10 13:35:01 -05:00
Jelmer Vernooij
435e4c6389 r9744: - [upgrade.js] Start working on smb.conf conversion.
- [ldb_map] Support storing non-mappable data in a fallback LDB
2007-10-10 13:34:55 -05:00
Jelmer Vernooij
67593bef7f r9712: Bunch of small fixes
Write out basic sam.ldif
2007-10-10 13:34:52 -05:00
Jelmer Vernooij
5100ae211c r9699: Add as much attributes the current Samba4 SAM has to the mapping table (ignoring most of them, currently..) 2007-10-10 13:34:49 -05:00
Jelmer Vernooij
b7b079167d r9698: Fix a bit of memory management
More minor bugfixes
Support mapping objectclasses and do mapping on 'dn' field as well (not just msg->dn)
2007-10-10 13:34:42 -05:00
Jelmer Vernooij
0cff0e03fc r9690: Extend test + fix several bugs 2007-10-10 13:34:41 -05:00
Jelmer Vernooij
40ea2af427 r9689: valgrind-clean now. Editing works now mostly, you just lose half of your
database every time you do it...
2007-10-10 13:34:41 -05:00
Jelmer Vernooij
786379064f r9686: Another round of bugfixes. Works somewhat now, when running under valgrind ;-) 2007-10-10 13:34:41 -05:00
Jelmer Vernooij
7f864d446d r9685: Add tests for samba3sam mapping module
Fix a couple of bugs
Move samba3sam backend to lib/ldb/
Remove some more unused parameters
2007-10-10 13:34:41 -05:00
Jelmer Vernooij
e0a0d3f092 r9595: Add ldb map module 2007-10-10 13:34:33 -05:00
Jelmer Vernooij
b8c5290063 r9591: - Remove empty file
- Fix a couple of typo's
- Fix build of lib/samba3/secrets.c for systems that don't have /usr/include/tdb.h...
2007-10-10 13:34:33 -05:00
Rafal Szczesniak
bc638cc3d6 r8810: Fix missing headers. Still doesn't fix the build but getting closer there.
rafal
2007-10-10 13:30:07 -05:00
Stefan Metzmacher
93c1d18021 r8228: fix compiler warnings
metze
2007-10-10 13:19:22 -05:00
Stefan Metzmacher
e6c39241bf r8224: - add objectGUID ldif_handler
- fix some compiler warnings

metze
2007-10-10 13:19:21 -05:00
Simo Sorce
624a73148d r8082: large rewite of ldb_dn.c
- we do not support multpiple attribute components anymore, makes code a lot easier
  they will be readded later if we found out they are really used, so far my tests
  show w2k3 do not handle them as well

- fix escaping issues, move component value to be in an ldb_val structure
  still need to handle binary values case

- make cononicalize functions leak less memory by giving a specific memory context

- fix tests scripts so that test-ldap can start
- make test not delete databases on completion so that I can inspect them
2007-10-10 13:19:06 -05:00
Andrew Tridgell
7d2bee2c56 r8038: - fixed indexing on binary values that need base64 encoding and canonicalisation
- added support for recognising the S- form of objectsid in search
  expressions. I thought this could be done with just a comparison
  modified comparison function, but it turns out it also needs a
  canonicalisation function so that indexing can work
2007-10-10 13:19:01 -05:00
Andrew Tridgell
944c5844ab r8037: a fairly major update to the internals of ldb. Changes are:
- moved the knowledge of attribute types out of ldb_tdb and into the
   generic ldb code. This allows the ldb_match() message match logic
   to be generic, so it can be used by other backend

 - added the generic ability to load attribute handlers, for
   canonicalisation, compare, ldif read and ldif write. In the future
   this will be used by the schema module to allow us to correctly
   obey the attributetype schema elements

 - added attribute handlers for some of the core ldap attribute types,
   Integer, DirectoryString, DN, ObjectClass etc

 - added automatic registration of attribute handlers for well-known
   attribute names 'cn', 'dc', 'dn', 'ou' and 'objectClass'

 - converted the objectSid special handlers for Samba to the new system

 - added more correct handling of indexing in tdb backend based on the
   attribute canonicalisation function

 - added generic support for subclasses, moving it out of the tdb
   backend. This will be used in future by the schema module

 - fixed several bugs in the dn_explode code. It still needs more
   work, but doesn't corrupt ldb dbs any more.
2007-10-10 13:19:01 -05:00
Andrew Tridgell
d40bc2fa8d r7860: switch our ldb storage format to use a NDR encoded objectSid. This is
quite a large change as we had lots of code that assumed that
objectSid was a string in S- format.

metze and simo tried to convince me to use NDR format months ago, but
I didn't listen, so its fair that I have the pain of fixing all the
code now :-)

This builds on the ldb_register_samba_handlers() and ldif handlers
code I did earlier this week. There are still three parts of this
conversion I have not finished:

 - the ltdb index records need to use the string form of the objectSid
   (to keep the DNs sane). Until that it done I have disabled indexing on
   objectSid, which is a big performance hit, but allows us to pass
   all our tests while I rejig the indexing system to use a externally
   supplied conversion function

 - I haven't yet put in place the code that allows client to use the
   "S-xxx-yyy" form for objectSid in ldap search expressions. w2k3
   supports this, presumably by looking for the "S-" prefix to
   determine what type of objectSid form is being used by the client. I
   have been working on ways to handle this, but am not happy with
   them yet so they aren't part of this patch

 - I need to change pidl to generate push functions that take a
   "const void *" instead of a "void*" for the data pointer. That will
   fix the couple of new warnings this code generates.

Luckily it many places the conversion to NDR formatted records
actually simplified the code, as it means we no longer need as many
calls to dom_sid_parse_talloc(). In some places it got more complex,
but not many.
2007-10-10 13:18:44 -05:00
Andrew Tridgell
07d459406b r7804: added the samba specific ldif handlers into the tree, but don't enable
them just yet. I have tested them, and they work fine, but enabling
them will break code in rpc_server/ and samdb, so we need to fix that
first
2007-10-10 13:18:37 -05:00