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

215 Commits

Author SHA1 Message Date
Andrew Bartlett
e9d19477e4 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
(This used to be commit dcff83ebe463bc7391841f55856d7915c204d000)
2007-10-10 14:53:27 -05:00
Andrew Bartlett
7f2709b397 r23361: Merge from SAMBA_4_0_RELEASE:
Print the smb.conf path being created in provision.

Andrew Bartlett
(This used to be commit bb583463bf483e1b355647f9fc93afbfcb9d41d3)
2007-10-10 14:53:11 -05:00
Andrew Bartlett
815cf409eb r23351: Merge from SAMBA_4_0_RELEASE:
Fix a nasty issue we had with SWAT.  We could not provision into a
different domain, as we didn't re-calcuate the DOMAINDN after the user
changed it in the form.

Andrew Bartlett
(This used to be commit 430c998dc9ea41ea29cf184d03404b50ef14f78d)
2007-10-10 14:53:11 -05:00
Andrew Bartlett
6e68fe69ea r23264: Make it more clear what this is actually setting up
(This used to be commit f687bc92aea00aa489d310ac31e08a5718a36ec4)
2007-10-10 14:53:07 -05:00
Andrew Bartlett
86a4886e39 r23189: Work towards a totally scripted setup of LDAP backends, so others can
easily try this out.

I also intend to use this for the selftest, but I'm chasing issues
with the OpenlDAP (but not Fedora DS) backend.

Andrew Bartlett
(This used to be commit 0f457b1d2e20c36ab220b4a6711ce7930c4c7d21)
2007-10-10 14:53:02 -05:00
Andrew Bartlett
5fb459e4fa r23177: Add in a new provision-backend script. This helps set up the OpenLDAP or Fedora DS backend.
This required a new mkdir() call in ejs.

We can now provision just the schema for ad2oLschema to operate on
(with provision_schema(), without performing the whole provision, just
to wipe it again (adjustments to 'make test' to come soon).

Andrew Bartlett
(This used to be commit 01d54d13dc66ef2127ac52c64ede53d0790738ec)
2007-10-10 14:53:00 -05:00
Andrew Bartlett
d21bfc05ef r23032: Remove calls to println(), and ensure we print the ldb errstring().
Andrew Bartlett
(This used to be commit 5b6f704b24f7da40ce917fe8ed1a500684d1f3cd)
2007-10-10 14:52:42 -05:00
Andrew Tridgell
7bdc1a8ec9 r23012: we need a POLICYGUID in provision
(This used to be commit b9f8650b20e5132410153f5b61a68dca5df548ff)
2007-10-10 14:52:39 -05:00
Andrew Bartlett
112728c651 r22756: Make it easier to setup an LDAP replica. Provision with
--partitions-only (suggestions for a better name welcome) will setup
the partitions records, but no any data in those partitions.  This can
then point at the already configured remote LDAP server.

Andrew Bartlett
(This used to be commit ee7b06fc832ca7c572205c7c268c3c7c552effa0)
2007-10-10 14:52:15 -05:00
Andrew Bartlett
3d4c4c5fa3 r22478: Update the LDAP backend code to handle initialisation of multiple
partitions onto the target LDAP server.

Make the LDAP provision run before smbd starts, then stop the LDAP
server.  This ensures this occurs synchronously, We then restart it
for the 'real run' (with slapd's stdin being the FIFO).

This required fixing a few things in the provision scripts, with more
containers being created via a add/modify pair.

Andrew Bartlett
(This used to be commit 860dfa4ea1ab2b62d4d4fe0644e0a9b882fdafa1)
2007-10-10 14:51:31 -05:00
Jelmer Vernooij
99fb785ea1 r21673: Fix Samba 3 data read tests. I can't figure out why the upgrade one is broken, so that one is still disabled.
(This used to be commit ef794f03d50022a77303c77045a04d9407d07cbc)
2007-10-10 14:49:08 -05:00
Andrew Bartlett
28884a1cab r21513: I don't know how long this has been wrong, but fix this up so we can
re-provision (as is required for the TEST_LDAP=yes version of make
test).

Andrew Bartlett
(This used to be commit ea4c2ea22fb3975d80130f52edecaf6d1790adde)
2007-10-10 14:48:48 -05:00
Simo Sorce
7ca399c075 r21351: Change ldb ejs bindings return codes.
We were returning just true/false and discarding error number and string.

This checking probably breaks swat, will fix it in next round as swat
is what made me look into this as I had no way to get back error messages
to show to the users.

Simo.
(This used to be commit 35886b4ae68be475b0fc8b2689ca04d766661261)
2007-10-10 14:48:18 -05:00
Stefan Metzmacher
9e4a5cbe29 r21294: this is useless, now that there's no operation in between...
metze
(This used to be commit 838d307e6ca0740bc330a5ebc46b95f3181a5c14)
2007-10-10 14:48:03 -05:00
Andrew Bartlett
744dddd75b r21135: Instead of having hooks to update keytabs as an explicit thing, update
them as a hook on ldb modify, via a module.

This should allow the secrets.ldb to be edited by the admin, and to
have things update in the on-disk keytab just as an in-memory keytab
would.

This isn't really a dsdb plugin, but I don't have any other good ideas
about where to put it.

Andrew Bartlett
(This used to be commit 6ce557a1aff4754d2622be8f1c6695d9ee788d54)
2007-10-10 14:44:31 -05:00
Stefan Metzmacher
91ee0709b2 r20953: add templates in provision_become_dc()
metze
(This used to be commit 306ea74f85c8cd0df767a25c45304cb33410e03c)
2007-10-10 14:44:01 -05:00
Stefan Metzmacher
5d8700c53c r20922: use the show_deleted module by default
metze
(This used to be commit edc37501d6ecdaf7b13006b732914e21ae0be657)
2007-10-10 14:43:52 -05:00
Stefan Metzmacher
9f802707d8 r20806: make it possible to configure the secrets.ldb url
via "secrets database = my_secrets.ldb"

metze
(This used to be commit a096a9741597105140845f59e54a76060da0010b)
2007-10-10 14:43:33 -05:00
Stefan Metzmacher
03d2647bd0 r20805: don't use hardcoded values for secrects.keytab and sam.ldb
metze
(This used to be commit c78e345feaef607b9297372aacb00ec068127785)
2007-10-10 14:43:32 -05:00
Simo Sorce
f1c81fdecd r20689: "pdc" and "bdc" have been replaced by "domain controller"
(This used to be commit 6976f283fc30a401bcc1d2c5089135c3fe8f1728)
2007-10-10 14:40:23 -05:00
Stefan Metzmacher
bd96c74e14 r20683: load indexes before applying replicated objects,
as for every object the repl_meta_data module needs to look
up the object by objectGUID

metze
(This used to be commit 55f845377ce3a7aeb028805754dc9c05d429548e)
2007-10-10 14:40:21 -05:00
Stefan Metzmacher
b31875ba75 r20575: apply records to the test_samdb.ldb (my birthday present to myself...:-)
we need to modify some modules to only handle originating changes...

metze
(This used to be commit 0f387d58e69a6ee806fea02229ef8fa030f2918d)
2007-10-10 14:37:05 -05:00
Stefan Metzmacher
46908530bc r20572: - prepare a test_samdb.ldb in the NET-API-BECOME-DC torture test
- we call a ejs script from the torture test for this task
  so that we can use the provision template ldif's.

metze
(This used to be commit e84b0c7d4004df312ae58ed76dd708a2c3c37986)
2007-10-10 14:37:03 -05:00
Stefan Metzmacher
d0e221c4e0 r20568: split out the rootdse ldif
and set the isSyncronized = TRUE when we done

metze
(This used to be commit 5875ce1ac6ff694d07787ff0cf81b3429580311b)
2007-10-10 14:37:02 -05:00
Stefan Metzmacher
7d461ed481 r20565: configure the list of global ldb modules also in js code
metze
(This used to be commit cbebe559a2563a3ab9dd2e002c79676a803b71a4)
2007-10-10 14:36:59 -05:00
Stefan Metzmacher
8a2636af4a r20560: make it possible to configure the backend and modules
for all partitions and make it not use LDAP in the variable names
because it isn't specific to the ldap backend case.

metze
(This used to be commit 3e337ec2764038e4ff05c3e926220abaa5583702)
2007-10-10 14:36:57 -05:00
Stefan Metzmacher
8f0a0ebcb3 r20557: use ${DOMAINDN} instead of ${BASEDN}
metze
(This used to be commit 2a6e6a2695b256411c91768c7bee748228e40e6f)
2007-10-10 14:36:56 -05:00
Stefan Metzmacher
bc511a6463 r20555: fix typo...
metze
(This used to be commit 09622f01227093b4b351fcc79fe29d5b2f388376)
2007-10-10 14:36:55 -05:00
Stefan Metzmacher
2c266fb217 r20554: - use ${ROOTDN} for the rootDomainNamingContext
- the ${CONFIGDN} is a child of the ${ROOTDN}

metze
(This used to be commit ebbd8a83c982efdc58e53798d1fd191f08731005)
2007-10-10 14:36:55 -05:00
Stefan Metzmacher
8b70764038 r20553: add ${CONFIGDN} and ${SCHEMADN} instead of using hardcoded paths
under ${BASEDN}

metze
(This used to be commit 09ca6aae12d8e10b76971cf269f7c62f228a4c87)
2007-10-10 14:36:54 -05:00
Andrew Bartlett
2008bbcdea r20505: I had the wrong ldif name here.
Andrew Bartlett
(This used to be commit 5781d0f41ac1847c38ebda290f5e85423dd20186)
2007-10-10 14:36:02 -05:00
Andrew Bartlett
e8dfa06d45 r20495: Further notes on joining with fedora DS.
Add in a hook for adding an ACI, needed to allow anonymous access
until we hook across a SYSTEM token to the LDAP server.

Andrew Bartlett
(This used to be commit f45504e2714680978f101b4a98516686a17531df)
2007-10-10 14:36:00 -05:00
Andrew Bartlett
bf4c652af7 r20492: Add in instructions/sample LDIF to setup Fedora DS as a backend.
Add a new module entrypoint to handle the new, interesting and
different mappings required for Fedora DS.

Andrew Bartlett
(This used to be commit 600c7f1a68c175b835ce45d13794a6f66bcc8493)
2007-10-10 14:35:59 -05:00
Andrew Bartlett
9fc3e164df r20468: Patch from Martin Kuehl <kuehl@univention.de> to make it easier to load
into an exsting LDAP server.  (Allow some parts to pre-exist, and try
to blow away less data).

Andrew Bartlett
(This used to be commit 99faff0ad8fa12d596c599064a0125a6b3365134)
2007-10-10 14:35:54 -05:00
Stefan Metzmacher
b316b78cd5 r19427: print out the currect name
metze
(This used to be commit 0fcdc8c243f50da5a1203370740ac8d022a5cfdc)
2007-10-10 14:21:29 -05:00
Simo Sorce
794a7f5223 r19334: Commit commented provisioning code to activate the schema
(This used to be commit 57ee79c15579d1bbe7c0d3202b84a06b75320e40)
2007-10-10 14:21:11 -05:00
Andrew Bartlett
8afbf3a0ef r19318: Because we don't test the vampire code in SWAT very regularly, it bit-rotted.
Fix up interfaces and interaction between the two..

Andrew Bartlett
(This used to be commit 9b77d285d8cd8999547c0d17e97681d236acbdb0)
2007-10-10 14:21:08 -05:00
Andrew Bartlett
d70fbdbefa r19258: Don't delete the contents of the partitions twice, and in particular
don't delete their contents until we have specified the new partition
locations.

However, preserve the important part of tridge's change, that is to
ensure that no database index is present when the mass delete occours.
In my testing, it is best to leave the index until the provision is
compleated.

Andrew Bartlett
(This used to be commit 962219df7dc53ce6f6889f4b71ee19850c7ff7b5)
2007-10-10 14:20:58 -05:00
Andrew Tridgell
151e30e18a r19252: - fixed 'erase' argument to setup_ldb()
- when wiping a ldb, wipe within each naming context first. By not
  wiping the naming contexts we didn't wipe the partitions, which
  caused a massive slowdown in re-provisioning due to re-indexing of
  the schema.
(This used to be commit b62437214cf7c98c81598c4f37c91ab284928dbb)
2007-10-10 14:20:58 -05:00
Andrew Bartlett
7135bb9e63 r19216: Merge from SAMBA_4_0_RELEASE:
Move default for subobj.LDAPMODULES into scripting/libjs/provision.js
so that SWAT can provision again.

Andrew Bartlett
(This used to be commit a4aafe307d6d1396fa79b0c48b0a36cbf682f0ce)
2007-10-10 14:20:54 -05:00
Andrew Bartlett
eaa427801a r18977: Seperate these asserts, so we know which fired.
Andrew Bartlett
(This used to be commit 9b2003618b28cb045e74937803e9aad773781803)
2007-10-10 14:20:26 -05:00
Derrell Lipman
c5718959e6 r18880: JSON-RPC work in progress
(This used to be commit 34bffbaebf50c2a75c91285d5ec82e8f377981cc)
2007-10-10 14:20:17 -05:00
Andrew Tridgell
48f3449969 r18567: fixed the winreg js code for the new names of the fields in winreg.idl
When changing a field name in idl, please remember to check for use of
those functions in any js code as well.
(This used to be commit 7005806aa6842ffc3d5ed98682f2aefc59759580)
2007-10-10 14:18:47 -05:00
Andrew Tridgell
ee66b69a8b r18334: AIX 5.1 doesn't have any of 'users', 'guest', 'other' or 'unknown'
it does have 'usr'
(This used to be commit 96db975024a744f42a0418e379df1da6c4079fe6)
2007-10-10 14:18:11 -05:00
Andrew Bartlett
932265660e r18248: Bail out with a error message if this search fails for some reason.
Andrew Bartlett
(This used to be commit 77b810f548fffc1298978cc92c842f5e4fc13786)
2007-10-10 14:17:55 -05:00
Andrew Bartlett
3a70ec899a r18072: Really delete things in the base partition, after we changed where the
default search scope points to.

Andrew Bartlett
(This used to be commit 1a111817a361faab04e73b666624ce554f000034)
2007-10-10 14:17:11 -05:00
Andrew Bartlett
ba1c80524a r17982: One final hack...
When against a real, schema-checking LDAP backend, we need
extensibleObject on the baseDN entry (as entryUUID isn't run for
creating this basic ldif) output.
(This used to be commit befac43f59c4688f6c6827eb2e4e916c1056a740)
2007-10-10 14:17:01 -05:00
Andrew Bartlett
2b99336a56 r17876: Require one less patch for the LDAP backend to work.
This lets the modules or backend generate the host and domain GUID,
rather than the randguid() function.  These can still be specified
from the command line.

Andrew Bartlett
(This used to be commit 32996ca9d62568006f8bee85a1f2f37c64c04fb5)
2007-10-10 14:16:50 -05:00
Andrew Bartlett
4c69b46944 r17704: Add comments suggesting how to get the LDAP backend working.
Shutdown and reload the LDB, so the entryUUID module knows to read the
schema (will be changed once we have a central schema store and
notifications).

Andrew Bartlett
(This used to be commit d5814b689eedfc4c4701beb18a516db716a466f1)
2007-10-10 14:16:28 -05:00
Andrew Bartlett
c642680e5b r17548: It is a good idea to commit the fix (from mkhl) before the test that
shows the need for...

Martin Kuhl writes:

The ejs function `substitute_var' returns `undefined' when the first
argument ends in a pattern that should be substituted.

For that reason, the second assertion fails in the following test-case:

,----
| libinclude("base.js");
|
| var obj = new Object();
| obj.FOO = "foo";
| obj.BAR = "bar";
| var str1 = "${FOO}:${BAR}";
| var str2 = "${FOO}:${BAR} "; // note the space after the brace
| var sub1 = substitute_var(str1, obj);
| var sub2 = substitute_var(str2, obj);
|
| assert(str1 + " " == str2);
| assert(sub1 + " " == sub2);
`----

The problem is that the function `split' returns a single-element
array in both cases:
a) the string to split doesn't contain the split pattern
b) the string ends with the split pattern

To work around this, the following patch tests this condition and
returns `undefined' only if the string to split (`list[i]') really
didn't contain a closing brace.
(This used to be commit 8a6908200b1e459bc9067a9d1f9635185a7eee16)
2007-10-10 14:15:37 -05:00