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

217 Commits

Author SHA1 Message Date
Andrew Bartlett
c37cfae81e r23715: Make the provision-backend script print out the exact commands to run,
to set up the LDAP backend.

Andrew Bartlett
(This used to be commit cc7900210a)
2007-10-10 14:59:06 -05:00
Andrew Bartlett
3a78f7323a r23703: Start to get Samba4 to again work with LDAP backends, after I turned
on metze's schema work.

Andrew Bartlett
(This used to be commit 3111bbdf64)
2007-10-10 14:59:06 -05:00
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 dcff83ebe4)
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 bb583463bf)
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 430c998dc9)
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 f687bc92ae)
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 0f457b1d2e)
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 01d54d13dc)
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 5b6f704b24)
2007-10-10 14:52:42 -05:00
Andrew Tridgell
7bdc1a8ec9 r23012: we need a POLICYGUID in provision
(This used to be commit b9f8650b20)
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 ee7b06fc83)
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 860dfa4ea1)
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 ef794f03d5)
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 ea4c2ea22f)
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 35886b4ae6)
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 838d307e6c)
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 6ce557a1af)
2007-10-10 14:44:31 -05:00
Stefan Metzmacher
91ee0709b2 r20953: add templates in provision_become_dc()
metze
(This used to be commit 306ea74f85)
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 edc37501d6)
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 a096a97415)
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 c78e345fea)
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 6976f283fc)
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 55f845377c)
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 0f387d58e6)
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 e84b0c7d40)
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 5875ce1ac6)
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 cbebe559a2)
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 3e337ec276)
2007-10-10 14:36:57 -05:00
Stefan Metzmacher
8f0a0ebcb3 r20557: use ${DOMAINDN} instead of ${BASEDN}
metze
(This used to be commit 2a6e6a2695)
2007-10-10 14:36:56 -05:00
Stefan Metzmacher
bc511a6463 r20555: fix typo...
metze
(This used to be commit 09622f0122)
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 ebbd8a83c9)
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 09ca6aae12)
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 5781d0f41a)
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 f45504e271)
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 600c7f1a68)
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 99faff0ad8)
2007-10-10 14:35:54 -05:00
Stefan Metzmacher
b316b78cd5 r19427: print out the currect name
metze
(This used to be commit 0fcdc8c243)
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 57ee79c155)
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 9b77d285d8)
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 962219df7d)
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 b62437214c)
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 a4aafe307d)
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 9b2003618b)
2007-10-10 14:20:26 -05:00
Derrell Lipman
c5718959e6 r18880: JSON-RPC work in progress
(This used to be commit 34bffbaebf)
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 7005806aa6)
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 96db975024)
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 77b810f548)
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 1a111817a3)
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 befac43f59)
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 32996ca9d6)
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 d5814b689e)
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 8a6908200b)
2007-10-10 14:15:37 -05:00
Andrew Bartlett
1686d107f4 r17534: Try another group for 'wheel' on True64.
(This used to be commit 177b713288)
2007-10-10 14:15:34 -05:00
Andrew Bartlett
6e4940cf79 r17499: Open the main database only the minimum times during a provision.
This causes things to operate as just one transaction (locally), and
to make a minimum of TCP connections when connecting to a remote LDAP
server.

Taking advantage of this, create another file to handle loading the
Samba4 specific schema extensions.  Also comment out 'middleName' and
reassign the OID to one in the Samba4 range, as it is 'stolen' from a
netscape range that is used in OpenLDAP and interenet standards for
'ref'.

Andrew Bartlett
(This used to be commit 009d090594)
2007-10-10 14:15:30 -05:00
Andrew Bartlett
7b99b2048e r17330: Enable the partitions module.
This module redirects various samdb requests into different modules,
depending on the prefix.  It also makes moving to an LDAP backend
easier, as it is just a different partition backend.

This adds yet another stage to the provision process, as we must setup
the partitions before we setup the magic attributes.

Andrew Bartlett
(This used to be commit 31225b9cb6)
2007-10-10 14:15:15 -05:00
Simo Sorce
9c66f601f1 r17206: Add a modular API for share configuration.
Commit the classic backwards compatible module which is the default one
(This used to be commit a89cc346b9)
2007-10-10 14:10:18 -05:00
Andrew Bartlett
cc9d70bbba r16265: Fix 'newuser' command.
Andrew Bartlett
(This used to be commit 82f5f6c03d)
2007-10-10 14:09:09 -05:00
Andrew Bartlett
f77c410084 r16264: Add, but do not yet enable, the partitions module.
This required changes to the rootDSE module, to allow registration of
partitions.  In doing so I renamed the 'register' operation to
'register_control' and 'register_partition', which changed a few more
modules.

Due to the behaviour of certain LDAP servers, we create the baseDN
entry in two parts: Firstly, we allow the admin to export a simple
LDIF file to add to their server.  Then we perform a modify to add the
remaining attributes.

To delete all users in partitions, we must now search and delete all
objects in the partition, rather than a simple search from the root.
Against LDAP, this might not delete all objects, so we allow this to
fail.

In testing, we found that the 'Domain Controllers' container was
misnamed, and should be 'CN=', rather than 'OU='.

To avoid the Templates being found in default searches, they have been
moved to CN=Templates from CN=Templates,${BASEDN}.

Andrew Bartlett
(This used to be commit b49a4fbb57)
2007-10-10 14:09:09 -05:00
Andrew Bartlett
4f422081a7 r16063: Make is clearer when we can't write to the smb.conf
Find more possible posix group names for the 'domain users' group, as
the existing options don't exist in OSX.

Andrew Bartlett
(This used to be commit 4e8d7b7fb3)
2007-10-10 14:08:55 -05:00
Stefan Metzmacher
683ca3c9ad r15077: map SID_BUILTIN_USERS
metze
(This used to be commit e896c32614)
2007-10-10 14:04:07 -05:00
Andrew Bartlett
acd190d8f6 r14200: Now we have real USN support, don't force the values in the provision
scripts.

This tests the real module, and avoids duplication.

Andrew Bartlett
(This used to be commit 0859ba59ae)
2007-10-10 13:56:59 -05:00
Simo Sorce
b56282dec7 r13369: let's have a way to show the samba4 version through ejs
and use it in provisioning to fullfill rfc 3045 requirements
(This used to be commit 3fb9571a76)
2007-10-10 13:51:50 -05:00
Andrew Tridgell
f705108a8a r13102: fixed the vampire code to correctly setup foreign sids and default
unix name mappings
(This used to be commit dc74d8ccf1)
2007-10-10 13:51:25 -05:00
Andrew Tridgell
29478d3c23 r13098: make check for workgroup and realm case insensitive
(This used to be commit 0cacd69dd5)
2007-10-10 13:51:24 -05:00
Andrew Tridgell
0fb2e148d1 r13097: move the creation of the default sam name -> unix name mappings into
the main provision logic, so it can also be used as part of the
vampire process
(This used to be commit 95e90169f4)
2007-10-10 13:51:24 -05:00
Stefan Metzmacher
627983ced0 r13084: fix 'make test'!
I would sugguest to run 'make test && make valgrind' before each commit
at this stage...

metze
(This used to be commit b7a0a778cc)
2007-10-10 13:51:23 -05:00
Andrew Tridgell
82b6a5c9fc r13076: catch a easy to make error during vampire install
(This used to be commit 1c49ce8df0)
2007-10-10 13:51:22 -05:00
Jelmer Vernooij
a54a66ddf1 r13062: Fix upgrade of WINS entries
(This used to be commit cc4cab341e)
2007-10-10 13:51:20 -05:00
Andrew Tridgell
5d91a37002 r12947: added some error checking that I stumbled across while testing domain migration
(This used to be commit c7951d17b1)
2007-10-10 13:51:12 -05:00
Andrew Bartlett
ba07f94438 r12945: Try to move closer to getting Samba3 import working again.
There still a few things to work out

Andrew Bartlett
(This used to be commit 701558b5fe)
2007-10-10 13:51:12 -05:00
Andrew Bartlett
747b5cce53 r12929: Fix more implict global and shadowing variables.
Andrew Bartlett
(This used to be commit def3195618)
2007-10-10 13:51:07 -05:00
Andrew Bartlett
f3db23ac75 r12928: This patch improves the interaction between the vampire and provsion code.
Previously, we had to know (or guess) the host and domain guid at the
provision stage.  Now we query the database post-provision, to extract
the values and fill in the zone file.

This allows us to generate a correct zone file in the Windows migration case.

In an effort to make SWAT easier to use, I have removed and renamed
some of the provision options.

I have also fixed a nasty issue in my js code.  I had implictly
declared a global variable of the name 'join', with disasterious
results for any subsequent user of the string utility function:

esp exception - ASSERT at lib/appweb/ejs/ejsParser.c:2064, 0

Backtrace:
        [ 0]       substitute_var:20   ->               list[i] = join("", list2)
        [ 1]           setup_file:9    ->       data = substitute_var(data, subobj)

Andrew Bartlett
(This used to be commit a38ceefd11)
2007-10-10 13:51:07 -05:00
Andrew Bartlett
58f78fa182 r12892: Add a 'Migrate from Windows' page to our installation section in SWAT.
Doing this required reworking ejsnet, particularly so it could take a
set of credentials, not just a username and password argument.

This required fixing the ejsnet.js test script, which now adds and
deletes a user, and is run from 'make test'.  This should prevent it
being broken again.

Deleting a user from ejsnet required that the matching backend be
added to libnet, hooking fortunetly onto already existing code for the
actual deletion.

The js credentials interface now handles the 'set machine account' flag.

New functions have been added to provision.js to wrap the basic
operations (so we can write a command line version, as well as the web
based version).

Andrew Bartlett
(This used to be commit a5e7c17c34)
2007-10-10 13:50:59 -05:00
Andrew Bartlett
792951a365 r12891: We no longer manually set the 'name' attribute.
Andrew Bartlett
(This used to be commit 7b169aad3f)
2007-10-10 13:50:58 -05:00
Andrew Bartlett
75ef0ba513 r12823: Fix up the provison and newuser code in SWAT. This also cleans up the
main provision script a bit, as the argument list was getting out of
control.  (It has been replaced in part with an object).

This also returns the session_info from the auth code into ejs.

We still need access control allowing only root to re-provision.

Andrew Bartlett
(This used to be commit 002cdcf3ca)
2007-10-10 13:50:02 -05:00
Andrew Bartlett
27f997e682 r12749: Fix the newuser script.
Andrew Bartlett
(This used to be commit 42cdad5e3f)
2007-10-10 13:49:49 -05:00
Andrew Bartlett
8f4dc51345 r12739: Add support for using credentials in the provision process.
This should allow us to provision to a 'normal' LDAP server.

Also add in 'session info' hooks (unused).  Both of these need to be
hooked in on the webserver.

Andrew Bartlett
(This used to be commit b349d2fbfe)
2007-10-10 13:49:48 -05:00
Jelmer Vernooij
a7d517d6da r12704: role => server role
(This used to be commit 5884a7efff)
2007-10-10 13:49:43 -05:00
Jelmer Vernooij
65bf7621d9 r12703: Fix handling of short passdb backends (also reported by Steinar Gunderson)
(This used to be commit 4c562c42b4)
2007-10-10 13:49:43 -05:00
Jelmer Vernooij
34be0772d2 r12699: correctly escape invalid DN characters (reported by Steinar H. Gunderson).
this still doesn't work as a bug in ldb causes it to not understand
escaped characters in DNs when parsing DNs
(This used to be commit 10da56fb6c)
2007-10-10 13:49:41 -05:00
Jelmer Vernooij
6c81984ddb r12697: Support empty fullname fields in unix accounts
(This used to be commit 3d70ebca0b)
2007-10-10 13:49:40 -05:00
Jelmer Vernooij
92461359f7 r12695: A dot is allowed in NetBIOS names.
(This used to be commit f4ac7d6359)
2007-10-10 13:49:39 -05:00
Andrew Bartlett
5811b6dac5 r12533: Get the ldb.errstring() out to the user on failure. It helps a lot
with debugging!

Andrew Bartlett
(This used to be commit fe36cb6767)
2007-10-10 13:47:52 -05:00
Andrew Bartlett
6589e93b1b r12252: With this change (hack) we can now do an provision onto Samba4's LDAP
server.  Now to try another one...

Andrew Bartlett
(This used to be commit 175f616d74)
2007-10-10 13:47:24 -05:00
Andrew Bartlett
a1827a1deb r12227: I realised that I wasn't yet seeing authenticated LDAP for the ldb
backend.

The idea is that every time we open an LDB, we can provide a
session_info and/or credentials.  This would allow any ldb to be remote
to LDAP.  We should also support provisioning to a authenticated ldap
server.

(They are separate so we can say authenticate as foo for remote, but
here we just want a token of SYSTEM).

Andrew Bartlett
(This used to be commit ae2f3a64ee)
2007-10-10 13:47:22 -05:00
Andrew Bartlett
9c6b7f2d62 r11995: A big kerberos-related update.
This merges Samba4 up to current lorikeet-heimdal, which includes a
replacement for some Samba-specific hacks.

In particular, the credentials system now supplies GSS client and
server credentials.  These are imported into GSS with
gss_krb5_import_creds().  Unfortunetly this can't take an MEMORY
keytab, so we now create a FILE based keytab as provision and join
time.

Because the keytab is now created in advance, we don't spend .4s at
negprot doing sha1 s2k calls.  Also, because the keytab is read in
real time, any change in the server key will be correctly picked up by
the the krb5 code.

To mark entries in the secrets which should be exported to a keytab,
there is a new kerberosSecret objectClass.  The new routine
cli_credentials_update_all_keytabs() searches for these, and updates
the keytabs.

This is called in the provision.js via the ejs wrapper
credentials_update_all_keytabs().

We can now (in theory) use a system-provided /etc/krb5.keytab, if

krb5Keytab: FILE:/etc/krb5.keytab

is added to the secrets.ldb record.  By default the attribute

privateKeytab: secrets.keytab

is set, pointing to allow the whole private directory to be moved
without breaking the internal links.
(This used to be commit 6b75573df4)
2007-10-10 13:46:56 -05:00
Andrew Tridgell
09932e0383 r11956: removed the old rootdse.ldif, and the provision.js code that uses it
(This used to be commit 4b56c129c6)
2007-10-10 13:46:50 -05:00
Stefan Metzmacher
509be8d902 r11781: rename tree to tcons to match the sessions substructure of smbsrv_connection
metze
(This used to be commit acd3e644e0)
2007-10-10 13:46:26 -05:00
Andrew Tridgell
b00252c5b8 r11501: change provision code to use the new display specifiers
(This used to be commit 696fa87a21)
2007-10-10 13:45:45 -05:00
Andrew Tridgell
318ac84440 r11500: fixed a bug in the variable substition code using the new limit argument to split()
(This used to be commit 25131efea8)
2007-10-10 13:45:45 -05:00
Andrew Tridgell
4764eb7a93 r11496: add a minimal ads-compatible schema into our sam.ldb setup. This is
needed for mmc management of Samba4.
(This used to be commit cbbce4fe40)
2007-10-10 13:45:45 -05:00
Andrew Tridgell
917ca215bb r11475: removed a extraneous ldb_delete() call (i had it there for debugging)
(This used to be commit daa9dcd8f4)
2007-10-10 13:45:42 -05:00
Andrew Tridgell
c845ab1e60 r11474: - enable ldb transactions from ejs
- speed up provisioning a bit using a ldb transaction (also means you
  can't end up with a ldb being half done)
(This used to be commit 91dfe304cf)
2007-10-10 13:45:41 -05:00
Andrew Tridgell
783851099b r11458: fixed our ejs smbscript interfaces to use arrays where appropriate. In
js arrays are a special type of object where the length property is
automatic, and cannot be modified manually. Our code was manually
setting length, which made it abort when someone passed in a real ejs
array. To fix this we need to create real arrays instead of objects,
and remove the code that manually sets the length
(This used to be commit ebdd1393fd)
2007-10-10 13:45:39 -05:00
Andrew Tridgell
c5b99e3c69 r11363: fixed a problem with provisioning when hklm already exists (the
problem is really caused by hklm not having objectclass attributes on
its records, but this is a workaround)
(This used to be commit 62d5253a03)
2007-10-10 13:45:26 -05:00
Andrew Tridgell
75d3a8f6dc r11285: fixed winreg.js for the recent change to winreg.idl
(This used to be commit 27f46b4f18)
2007-10-10 13:45:13 -05:00
Andrew Bartlett
17be61b7b9 r11222: Small provision fixes: canonicalName is now generated, and the DC=
list should be from the dnsdomain (ie lowercae).

Andrew Bartlett
(This used to be commit 10d692a1c2)
2007-10-10 13:45:05 -05:00
Andrew Bartlett
8103ef3974 r11217: Ensure the realm is substituted in UPPER case.
Andrew Bartlett
(This used to be commit 0c29f0e30d)
2007-10-10 13:45:04 -05:00
Andrew Bartlett
642b42424a r11203: Use different variable names to make it easier to tell which assert fired.
Andrew Bartlett
(This used to be commit df6a40c2d2)
2007-10-10 13:45:01 -05:00
Stefan Metzmacher
c3c26c9008 r11087: - add type,name,scope as attributes to winsRecords,
so you can use them in search filters,
  only for administration not used inside the winserver code
- fix the samba3 ugrade scripts to create a correct samba4 wins.ldb

metze
(This used to be commit 9f3b6746d8)
2007-10-10 13:44:46 -05:00