1
0
mirror of https://github.com/samba-team/samba.git synced 2025-07-29 15:42:04 +03:00
Commit Graph

316 Commits

Author SHA1 Message Date
87921bf694 sigh - still not right 2009-08-17 17:50:26 +10:00
52108a19a4 fixed up add_foreign again
my last patch was not even close ...

I'll leave abartlet to work out how to fix the test case
2009-08-17 17:48:27 +10:00
905db32885 more fixups from provision changes
Andrew, can you please check this? The idmap.setup_name_mapping tests
look totally out of place here. I'm also not sure I captured your
intention with the other changes
2009-08-17 17:35:36 +10:00
f3e473ee72 fixed up some provision errors from the recent changes 2009-08-17 13:28:57 +10:00
e349316550 s4:provision Add comments to the provision script
Hopefully this will explain a bit more whey things are done the way
that they are done.

Andrew Bartlett
2009-08-17 11:47:14 +10:00
5f917d5f17 s4:provision Avoid one more call to ltdb_reindex
The Samba4 schema code (called via
samdb.set_schema_from_ldb(schema.ldb)) manages the @ATTRIBUTES and
@INDEXLIST records, so don't wipe them early.  The chances are that we
will not change them anyway.

Andrew Bartlett
2009-08-17 11:47:14 +10:00
df3ef12cf8 s4:provision Fix existing ldapi:// backend detection exception
Found by Oliver Liebel <oliver@itc.li>

Andrew Bartlett
2009-08-17 09:52:09 +10:00
2af06385ed s4:provision Make sure that we don't use Kerberos to our LDAP backend
This makes no sense, and just causes trouble - we are aiming for
DIGEST-MD5 or NTLM.

Andrew Bartlett
2009-08-17 09:51:01 +10:00
84ee0af244 s4:provison Print the LDAP backend admin username/password 2009-08-17 09:51:00 +10:00
e7bae2eb0a s4: Re-add --ldapadminpass as an option to provision
This should make setting up LDAP servers more predictable.

When not specified, it is random

Andrew Bartlett
2009-08-17 09:51:00 +10:00
052da4e4d7 s4:python Allow 'no such object' on the delete of the DN
This fixes the recursive delete in erase_partitions()

For reasons I cannot understand, it is possible to get 'no such
object' trying to delete a DN I just search for without error.  Oh
well...

Andrew Bartlett
2009-08-17 09:50:59 +10:00
410114e41c s4:provision Keep a single transaction for the erase and rebuild
Using a single transaction to both erase the bulk of the data and the
rebuild of that data means that the in-memory index list is
maintained, and not written out to disk until it is all compleated.
All the writes then occour at the end.

Andrew Bartlett
2009-08-17 09:50:59 +10:00
f87811f6b3 s4:provision Rework provision-backend into provision
This removes a *lot* of duplicated code and the cause of much
administrator frustration.  We now handle starting and stopping the
slapd (at least for the provision), and ensure that there is only one
'right' way to configure the OpenLDAP and Fedora DS backend

We now run OpenLDAP in 'cn=config' mode for online configuration.

To test what was the provision-backend code, a new --ldap-dryrun-mode
option has been added to provision.  It quits the provision just
before it would start the LDAP binaries

Andrew Bartlett
2009-08-17 09:50:58 +10:00
7a9030b7ce s4:provision Move helper functions back to provision
(These will be added back in a future commit)
2009-08-17 09:50:57 +10:00
14aff84adc s4:python Push some helper functions from SamDB into samba.Ldb
This makes it possible to do a bit more of the provision with Samba
helpers, but without some of the otherwise useful things (such as
loading in the global schema) that SamDB does.

Rewrite provision_erase to use a recursive search, rather than a
looping subtree search.  This is much more efficient, particularly now
we have one-level indexes enabled.

Delete the @INDEX and similar records *after* deleting all other
visible records, this hopefully also assists performance.

Andrew Bartlett
2009-08-17 09:50:57 +10:00
346aa6e093 s4:schema Provide a way to reference a loaded schema between ldbs
This allows us to load the schema against one ldb context, but apply
it to another.  This will be useful in the provision script, as we
need the schema before we start the LDAP server backend.

Adnrew Bartlett
2009-08-17 09:50:56 +10:00
53ef426e6f s4:samdb python bindings - we don't need the attributes here 2009-08-14 01:56:34 +02:00
44dfb2902e s4: Better way to call "dom_sid_to_rid" from ldap.py 2009-08-14 00:14:15 +02:00
7bc566a882 s4:provision Allow provision-backend to not run slapd for 'make test'
As the version of OpenLDAP required for Samba4 is fairly new, we don't
want to make it a requirement before this python code is run in 'make
test'.

As such, skip over the actual starting of slapd, but check the rest
runs alright (which still validates syntax and other modules).

Andrew Bartlett
2009-08-12 11:09:50 +10:00
6dc41bf27c s4:provision Make the --ol-slapd paramter take the full path to slapd 2009-08-12 10:01:48 +10:00
28bcdf5266 s4:provision Rework and further automate setup of OpenLDAP backend
heres the summary of all changes/extensions:

- Andrew Bartlett's patch to generate indext
- Howard Chu's idea to use nosync on the DB included, but made optional

- slaptest-path is not needed any more (slapd -Ttest is used instead)
and is therefore removed. slapd-path is now recommended when
openldap-backend is chosen.
its also used for olc-conversion

- slapd-detection is now always done by ldapsearch (ldb module),
looking anonymous for objectClass: OpenLDAProotDSE via our ldapi_uri.

- if ldapsearch was not successfull, (no slapd listening on our socket)
slapd is
started via special generated slapdcommand_prov  (ldapi_uri only)

- slapd-"provision-process" startup is done via pythons subprocess.

- the slapd-provision-pid is stored under paths.ldapdir/slapd_provision_pid.

- after provision-backend is finished:
--- slapd.pid is compared with our stored slapd_provision_pid.
if the are unique, slapd.pid will be read out, and the
slapd "provison"-process will be shut down.
--- proper slapd-shutdown is verified again with ldb-search -> ldapi_uri
-> rootDSE.
--- if the pids are different or one of the pid-files is missing, slapd
will not be shut down,
instead an error message is displayed to locate slapd manually
--- extended help-messages (relevant to slapd) are always displayed,
e.g. the commandline with which slapd has to be started when everythings
finished
(slapd-commandline is stored under paths.ldapdir/slapd_command_file.txt))

- upgraded the content of the mini-howto (howto-ol-backend-s4.txt)
2009-08-12 10:01:48 +10:00
915b789c87 s4: Simplify two lines in the "samdb.py" file (cosmetic) 2009-08-06 12:35:47 +02:00
113621d96d s4:provision We no longer add krbtgt or kpasswd account into secrets.ldb 2009-07-29 09:07:49 +10:00
1887ad0a26 s4:provision Fix provision on FreeBSD
We were missing the 'cn' attribute, which we then prepare a sorted
list based on.  On Linux, strcmp(NULL, NULL) does not segfault, where
it does on FreeBSD.

Reported by Timur I. Bakeyev <timur@com.bat.ru>

Andrew Bartlett
2009-07-22 18:04:58 +10:00
c80783eafd Re-add accidently removed shares test. 2009-07-20 13:34:50 +02:00
478446f96d Remove unnecessary imports. 2009-07-19 18:51:15 +02:00
7883897b8d python: Set right ldb modules directory when using system ldb. 2009-07-18 18:39:20 +02:00
271b5af92e s4:dsdb Handle dc/domain/forest functional levels properly
Rather than have the functional levels scattered in 4 different,
unconnected locations, the provision script now sets it, and the
rootdse module maintains it's copy only as a cached view onto the
original values.

We also use the functional level to determine if we should store AES
Kerberos keys.

Andrew Bartlett
2009-07-16 09:23:35 +10:00
ba58edd0bc Add a way to set an opaque integer onto a samdb
This will allow us to set some more flags into ldb during the provision.
2009-07-16 09:23:35 +10:00
465b879902 Changed ldb.ERR_NO_SUCH_OBJECT to LDB_ERR_NO_SUCH_OBJECT.
The LDB_ERR_NO_SUCH_OBJECT varient is not a defined variable. This
should improve error handling in our python code on some
systems. Unfortunately it still doesn't work on mine. I need to trap
Jelmer somewhere where he can't escape some day and force him to
divulge the deep druid secrets of python exception handling ....
2009-07-02 14:55:38 +10:00
1e6fb7d730 s4: Add tests and 'must change password' flags in setpassword and newuser
In particular, ensure that we can acutally change the password under
these circumstances.

Andrew Bartlett
2009-06-18 13:49:30 +10:00
2afc6df9b4 s4:setup Add an option to 'setpassword' to force password change at next login 2009-06-18 13:49:30 +10:00
308de544f4 python: Provide way to iterate over available shares. 2009-06-16 02:28:10 +02:00
f7ada51c29 python: Add API for accessing available shares. 2009-06-16 02:28:10 +02:00
d5e6ae5cfc python: Fix samba4.dcerpc.rpcecho.RpcEchoTests.test_surrounding test. 2009-06-08 22:41:39 +02:00
6ace18904d Fix more unresolved symbols. 2009-06-02 18:05:41 +02:00
ee4c1ed010 Modified SamDB to accept options like Ldb. 2009-05-27 21:08:35 +10:00
f128bfd449 Add str() for policy_handles.
Pair programmed with Jelmer
2009-04-21 12:06:04 +02:00
6f60a6e71a python/dcerpc: Custom implementations of policy_handle.__init__ and policy_handle.__repr__
pair-programmed with Jelmer
2009-04-21 11:53:00 +02:00
1856b999c8 python/rpc: Add custom GUID.__str__, GUID.__repr__, GUID.__init__ and GUID.__cmp__. 2009-04-21 11:14:11 +02:00
03abc846ee Fix the valid NetBIOS name tests. 2009-04-20 11:11:25 +02:00
65ad2ced60 Merge branch 'wspp-schema' 2009-04-09 14:40:19 +10:00
213249ceab Improve formatting in Python file. 2009-04-06 00:25:08 +02:00
b1db78c595 Make valid_netbios_name() check a bit stricter. 2009-04-06 00:25:03 +02:00
354ba5e2e3 s4:schema Update Windows 2008 schema from Microsoft to latest version 2009-04-03 08:18:14 +11:00
631e688c82 Merge branch 'master' into wspp-schema 2009-03-31 11:58:37 +11:00
62ab39dde3 s4/provision: Use existing serverrole variable.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2009-03-21 03:07:00 +01:00
13be4d7ff4 s4:schema Remove 'cn' from the final output of ms_schema.py
This avoids one more point of difference between this an the output
from minschema and fullschema

Andrew Bartlett
2009-03-20 17:32:19 +11:00
6906c01cac s4:ldb Ensure to pass down options to LDB from python
This is needed for things such as to load modules, like the
paged_searches module.

Andrew Bartlett
2009-03-20 16:28:41 +11:00
27c6eca04c Merge branch 'master' of ssh://git.samba.org/data/git/samba into wspp-schema 2009-03-20 13:22:08 +11:00