1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-04 17:47:26 +03:00

21 Commits

Author SHA1 Message Date
Simo Sorce
3e4c4cff21 r9391: Convert all the code to use struct ldb_dn to ohandle ldap like distinguished names
Provide more functions to handle DNs in this form
(This used to be commit 692e35b7797e39533dd2a1c4b63d9da30f1eb5ba)
2007-10-10 13:33:32 -05:00
Jelmer Vernooij
6553dd0c60 r8811: Fix the build..
(This used to be commit fac77f5fa267da57a55e88cad8993897e80741a0)
2007-10-10 13:30:07 -05:00
Andrew Bartlett
0b7a387831 r8791: (missing from previous commit)
Add templating support for foreignSecurityPrincipal to the samdb
module.

Andrew Bartltt
(This used to be commit 5f51d806d718bfa6931d102ff4e866c688a6ecd9)
2007-10-10 13:30:06 -05:00
Andrew Bartlett
a7f9d9c5b8 r8740: Extend the rdn_name module to handle adding the rdn as an attribute. ie:
dn: cn=foo,ou=bar
objectClass: person

implies

dn: cn=foo,ou=bar
objectClass: person
cn: foo
(as well as a pile more default attributes)

We also correct the case in the attirbute to match that in the DN
(win2k3 behaviour) and I have a testsuite (in ejs) to prove it.

This module also found a bug in our provision.ldif, so and reduces
code complexity in the samdb module.

Andrew Bartlett
(This used to be commit 0cc58f5c3cce12341ad0f7a90cdd85a3fab786b3)
2007-10-10 13:30:00 -05:00
Andrew Bartlett
d3a2b03f76 r8674: With the rdn_name module, we don't need this duplication in the samdb
module any more.

Andrew Bartlett
(This used to be commit da48e77e7ca21bc99f2829a22ea3dc96ba413191)
2007-10-10 13:29:53 -05:00
Andrew Bartlett
4396d0d148 r8669: The objectguid module belongs in Samba's ldb module collection, not in
ldb, as it can't build without the NDR and GUID code.

Also make it properly use the NDR encoding for the GUID (I forgot last
time, and used a string), as well as set the dependencies on the
module correctly.

Andrew Bartlett
(This used to be commit 8054abc76e5e3588cebc7fc01062a1223b7f140b)
2007-10-10 13:29:52 -05:00
Andrew Bartlett
c7204bd985 r8666: The same fix as the last commit, I was caught out on a move from a
BOOL to int function return.

Andrew Bartlett
(This used to be commit e03e00fe606db443783f1dea03411025c01c7de5)
2007-10-10 13:29:51 -05:00
Andrew Bartlett
c2f9eb30cd r8664: I got caught out not testing...
I replaced these function calls, and they went from BOOL to int return
values, so naturally failed.

Andrew Bartlett
(This used to be commit 1982fdb6f3355494ecaae93280eea4e69c78430f)
2007-10-10 13:29:51 -05:00
Andrew Bartlett
8191f2cc80 r8663: Since simo constructed the samdb module, he and tridge have worked on
a DN parsing system.  Leverage that in the dsdb module.

Andrew Bartlett
(This used to be commit 2408f322765fc1b1769d5c8ea69eae4d968cd195)
2007-10-10 13:29:51 -05:00
Andrew Bartlett
6173fad231 r8660: Use templates for the initial provision of user and computer accounts.
This ensures the templating code is used, and also makes it clearer
what I need to duplicate in the vampire area.

Also fix a silly bug in the template application code (the samdb
module) that caused templates to be compleatly unused (my fault, from
my commit last night).

Andrew Bartlett
(This used to be commit 4a8ef7197ff938942832034453f843cb8a50f2d1)
2007-10-10 13:29:51 -05:00
Andrew Bartlett
24d2107324 r8650: Use the timestamps and a new objectguid module rather than placing
boilerplate attributes in every entry in provision.ldif.

The next step will be to use templates.

Andrew Bartlett
(This used to be commit 940ed9827f5ab83b668a60a2b0110567dd54c3e2)
2007-10-10 13:29:50 -05:00
Andrew Tridgell
139e43bf9c r8568: change missing templates to warnings, so that provisioning with an existing db
doesn't print lots of fatal errors
(This used to be commit d8d47bb18fbb467e253e99c4281578d6e4762de3)
2007-10-10 13:29:39 -05:00
Volker Lendecke
3e0aa2e756 r8321: Fix some uninitalized variable warnings
(This used to be commit 126cb3db4b0cf9c382ba7496ba08311f3b669f00)
2007-10-10 13:20:06 -05:00
Andrew Tridgell
e83fb4fa1b r7925: small tidyup (please keep lines at a reasonable length)
(This used to be commit 0bfd91c32a62e651e81ce8d3b102158ec9c680fe)
2007-10-10 13:18:51 -05:00
Andrew Tridgell
bdee131f30 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.
(This used to be commit d40bc2fa8ddd43560315688eebdbe98bdd02756c)
2007-10-10 13:18:44 -05:00
Andrew Tridgell
4b0e5bd753 r7527: - added a ldb_search_bytree() interface, which takes a ldb_parse_tree
instead of a search expression. This allows our ldap server to pass
  its ASN.1 parsed search expressions straight to ldb, instead of going
  via strings.

- updated all the ldb modules code to handle the new interface

- got rid of the separate ldb_parse.h now that the ldb_parse
  structures are exposed externally

- moved to C99 structure initialisation in ldb

- switched ldap server to using ldb_search_bytree()
(This used to be commit 96620ab2ee5d440bbbc51c1bc0cad9977770f897)
2007-10-10 13:18:06 -05:00
Simo Sorce
fe4d985b6f r6470: Remove ldb_search_free() it is not needed anymore.
Just use talloc_free() to release the memory after an ldb_search().
(This used to be commit 4f0948dab0aa5e8b6a4ce486f3668ca8dfae23db)
2007-10-10 13:11:40 -05:00
Simo Sorce
5487ee5e9c r6084: - Introduce the samldb module dependency on samba4
- This module will take care of properly filling an user or group object
  with required fields. You just need to provide the dn and the objectclass
  and a user/group get created

  Simo.
(This used to be commit fb9afcaf533a4c32547d1857306e0aece8063953)
2007-10-10 13:11:18 -05:00
Simo Sorce
7d7aacc347 r5588: We currently use a string representing an hex number so conform to that.
But we should move to a signed integer in future to be AD compatible.
(This used to be commit b67512c5139af121b6579a5c6318a489c2132ebb)
2007-10-10 13:10:55 -05:00
Simo Sorce
625a2673c1 r5587: more work around the samldb module
fix the provision.ldif the layout of the @MODULES dn has changed since last commit
(This used to be commit acb99e63d40e71fa843c1b7a1719a350a353ed28)
2007-10-10 13:10:55 -05:00
Simo Sorce
d2dc86994e r5584: add new experimental ldb module
(This used to be commit e77a070c841c7a1b73dfcea2d43651618557d0f4)
2007-10-10 13:10:55 -05:00