1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-11 16:58:40 +03:00

2685 Commits

Author SHA1 Message Date
Andrew Bartlett
6f7423c7f1 s4-auth Remove duplicate copies of session_info creation code
We now just do or do not call into LDB based on some flags.

This means there may be some more link time dependencies, but we seem
to deal with those better now.

Andrew Bartlett
2010-12-21 15:10:38 +11:00
Andrew Bartlett
1961d7a411 s4-auth rework session_info handling not to require an auth context
This reverts a previous move to have this based around the auth
subsystem, which just spread auth deps all over unrelated code.

Andrew Bartlett
2010-12-21 15:10:38 +11:00
Andrew Bartlett
94a59b781c s4-auth Remove event context from privilage database handling
These local TDB operations can quite safely be handled in a new/nested
event context, rather than using the main event context.

Andrew Bartlett
2010-12-21 15:10:38 +11:00
Matthias Dieter Wallnöfer
912faf1b08 s4:dsdb/schema/schema_* - adaptions needed for removed "const" on OIDs 2010-12-21 15:10:37 +11:00
Matthias Dieter Wallnöfer
32bae10512 s4:dsdb/common/util.c - remove unused variable "ndr_err" 2010-12-21 15:10:37 +11:00
Kamen Mazdrashki
33a57db3a5 s4-pydsdb: Use local memory context in py_dsdb_get_oid_from_attid()
This version reverts changes from commit b974966cc2b4d0b5b0d83206070b5f7c5c6495d1
and is what Matthieu Patou had commited in d784ecec555a3d9737e6f4b3894f27904d2b833c
with added reference to the schema cache.

I think referencing schema here is the right thing to be done
as thus we garantee that schema cache will stay in memory
for the time our function is executed

Autobuild-User: Kamen Mazdrashki <kamenim@samba.org>
Autobuild-Date: Mon Dec 20 12:01:53 CET 2010 on sn-devel-104
2010-12-20 12:01:53 +01:00
Kamen Mazdrashki
7157221da5 s4-drepl: During Schema replication, we need to save updated prefixMap if everything is OK
Autobuild-User: Kamen Mazdrashki <kamenim@samba.org>
Autobuild-Date: Sat Dec 18 05:53:48 CET 2010 on sn-devel-104
2010-12-18 05:53:48 +01:00
Kamen Mazdrashki
5bc0848fc7 s4-dsdb_schema: Copy info needed for Schema refresh in dsdb_schema_copy_shallow
Just 'refresh_fn' and 'loaded_from_module' are copied.
I left 'reload_seq_number' set to 0 intentionally, so that
this Schema cache will looks like a very old one to ,refresh_fn'.
This way, if this shallow copy is attached to LDB, it will be
refreshed as soon as possible by 'refresh_fn'.
2010-12-18 05:32:15 +02:00
Kamen Mazdrashki
bd6f9efc1e s4-drepl: Make refreshed schema a global one
We need to do this as dsdb_reference_schema() function
clears "use_global_schema" ldb flag.

Basically what is going to happen is that after dsdb_reference_schema()
global_schema pointer will continue to point at old schema cache,
while "dsdb_schema" for LDB will point at the working_schema.

After replication is done, we reset "dsdb_schema" for the ldb
with an updated Schema cache, but this leaves global_schema pointer
with its old value, which is not up to date.
So we need to call dsdb_make_schema_global() again so that global_schema
points to a valid Schema cache.
2010-12-18 05:32:14 +02:00
Andrew Bartlett
455ef46785 Revert "s4-dsdb Don't talloc_free() ares on failure, as LDB might free it later"
This reverts commit 25163380239abbad28f1656c42e6fab1b92473d9 because
further analyis showed the real problem was introduced in 0941099a
(which changed the caller behaviour, but only for indexed searches).

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Sat Dec 18 02:19:59 CET 2010 on sn-devel-104
2010-12-18 02:19:59 +01:00
Jelmer Vernooij
6967cf27eb ldb: Rename controls_except_specified -> ldb_controls_except_specified.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sat Dec 18 01:33:24 CET 2010 on sn-devel-104
2010-12-18 01:33:24 +01:00
Jelmer Vernooij
24faeab4c5 ldb: Rename last instance of save_controls -> ldb_save_controls. 2010-12-18 00:47:06 +01:00
Kamen Mazdrashki
839fe07359 s4-drepl: Reference current Schema cache into working_schema context
working_schema is a shallow copy of current schema and thus
depends on part of it. So we want it to be around as long as
working_schema is used.

Autobuild-User: Kamen Mazdrashki <kamenim@samba.org>
Autobuild-Date: Fri Dec 17 23:34:29 CET 2010 on sn-devel-104
2010-12-17 23:34:29 +01:00
Kamen Mazdrashki
b4476d5f7d s4-drepl: Fix log message to be shown on its own line 2010-12-17 23:47:25 +02:00
Andrew Bartlett
2516338023 s4-dsdb Don't talloc_free() ares on failure, as LDB might free it later
We need to make LDB consistent here (indexed vs unindexed behaviour
differs here!), but for the moment this is the easiest way out of a
segfault.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Thu Dec 16 06:42:56 CET 2010 on sn-devel-104
2010-12-16 06:42:56 +01:00
Andrew Bartlett
eda1972b68 s4-dsdb Use sid_blob_parse() 2010-12-16 15:54:36 +11:00
Nadezhda Ivanova
aab37c3146 s4-tests: Added tests for LDAP add/delete/modify using anonymous login. 2010-12-15 20:46:17 +01:00
Nadezhda Ivanova
a53f09b931 s4-dsdb: Fixed incorrect LDAP return code when anonymous login is used. 2010-12-15 20:46:17 +01:00
Kamen Mazdrashki
2e259de084 s4-dsdb/tests/python: Explicitly pass comamnd line LoadParm() instance to system_session()
Otherwise system_session() creates a LoadParm() instance
which resets certain global parameters to their defaults
from smb.conf ("log level" for instance)

Autobuild-User: Kamen Mazdrashki <kamenim@samba.org>
Autobuild-Date: Wed Dec 15 15:10:47 CET 2010 on sn-devel-104
2010-12-15 15:10:47 +01:00
Kamen Mazdrashki
dda73b85e6 s4-dsdb_schema: Handle remote ATTIDs based on msDs-IntId value
If we get such an msDs-IntId value, then we should just use it,
there is no mapping available for such values
2010-12-15 00:51:19 +01:00
Kamen Mazdrashki
52f7e38d6a s4-schema_syntax: Log error message when _dsdb_syntax_OID_oid_drsuapi_to_ldb() fails
I haven't found a way to test this function during replication so far,
but when I do, it will be useful to notice this error in the log file
2010-12-15 00:51:19 +01:00
Kamen Mazdrashki
0a9f780d26 s4-drepl: We won't need a working schema for empty replicas sent.
Without this check, receiving empty replica leads to a situation
where we left with a working_schema attached to the ldb.

The problem here is that working_schema is not fully functional
schema cache and keeping it attached to the ldb may lead
to modules failing to accomplish their jobs
2010-12-15 00:51:19 +01:00
Kamen Mazdrashki
2b74838c14 s4-dsdb_schema: We need base_dn in Schema's shallow copy too 2010-12-15 00:51:19 +01:00
Kamen Mazdrashki
3a8fa09c4f s4-schema_syntax: We should use make_ATTID function when converting remote-ATTID to local one
We may have no prefix for the remote ATTID (remote OID strictly speaking)
So this is the place for us to update our local prefixMap
adding a prefix for the numeric OID we've recived
2010-12-15 00:51:19 +01:00
Kamen Mazdrashki
18744a9531 s4-drepl: User working schema for commiting objects when replicating Schema NC 2010-12-15 00:51:19 +01:00
Kamen Mazdrashki
c94e5d4438 s4-repl: Allow dsdb_replicated_objects_commit() to use different schema while committing objects
working_schema is to be used while committing a Schema replica.

When we replicate Schema, then we most probably won't be
able to convert all replicated objects using the current
Schema cache (as we don't know anything about those new objects).

Thus, during Schema replication, we make a temporary
working_schema that contains both our current Schema +
all objects we get on the wire.
When we commit those new objects, we should use our working_schema
(by setting it to the ldb), and after all changes are commited,
we can refresh the schema cache so we have a brand new,
full-featured Schema cache
2010-12-15 00:51:19 +01:00
Kamen Mazdrashki
afee8a28c4 s4-schema_syntax: Use remote prefixMap to map remote ATTID to local one
in dsdb_attribute_drsuapi_to_ldb() function.

drsuapi_DsReplicaAttribute *in parameter come from remote DC
so we can't rely on in->attid to map it directly to an
dsdb_attribute in our local schema cache
2010-12-15 00:51:19 +01:00
Kamen Mazdrashki
79e1a71e56 s4-dsdb_schema: Seize using global_schema when referencing new schema for an LDB
Without this change, when a schema is set to ldb, the
effect is that dsdb_get_schema() returns global_schema
preferably.

Thus we end up with two schemas in effect:
- global one, which is the old one and it is still used everywhere
- new one, which is just cached in ldb, but can't be used, as
  there is no way to access it
2010-12-15 00:51:18 +01:00
Stefan Metzmacher
4ec66529e5 s4:dsdb:password_hash: verify content if the BYPASS_PASSWORD_HASH control is used
Make it much harder to import bad data into the password attributes.
This isn't 100% safe, but much better than no checks.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Mon Dec 13 16:17:36 CET 2010 on sn-devel-104
2010-12-13 16:17:36 +01:00
Stefan Metzmacher
d7c536b8e4 s4:dsdb:util: dsdb_get_single_valued_attr() only needs a const ldb_messages
metze
2010-12-13 15:32:04 +01:00
Matthias Dieter Wallnöfer
a910d0cc64 s4:dsdb/pydsdb.c - don't throw another exception on "PyObject_AsDn"
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Sun Dec 12 23:40:17 CET 2010 on sn-devel-104
2010-12-12 23:40:17 +01:00
Matthias Dieter Wallnöfer
e4b22702b6 ldb:pyldb.h - revert to the previous header behaviour
"ldb_private.h" is private and therefore might not always be available.
2010-12-12 22:55:14 +01:00
Matthias Dieter Wallnöfer
c8d888772a s4:dsdb/pydsdb.c and web_server/wsgi.c - remove accidentally introduced Py_RETURN_NONE
This was only thought for Python 2.3 which we generally no longer support (only
pyldb in the LDB library is an exception).
2010-12-12 20:06:24 +01:00
Matthias Dieter Wallnöfer
b974966cc2 s4:dsdb/pydsdb.c - clean up memory handling
- Remove memory contexts when not really useful (if only one allocation)
- Try to find out OOM conditions and return correct error codes
- Move the parameter parsing always to the beginning (to prevent
  unneeded allocations in case of errors)
2010-12-12 20:06:24 +01:00
Jelmer Vernooij
35fbc7bbda s4-smbtorture: Make test names lowercase and dot-separated.
This is consistent with the test names used by selftest, should
make the names less confusing and easier to integrate with other tools.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sat Dec 11 04:16:13 CET 2010 on sn-devel-104
2010-12-11 04:16:13 +01:00
Nadezhda Ivanova
b285d0304a s4-tests: Modified sec_descriptor.py to use the sd_utils helpers.
Autobuild-User: Nadezhda Ivanova <nivanova@samba.org>
Autobuild-Date: Fri Dec 10 11:03:28 CET 2010 on sn-devel-104
2010-12-10 11:03:28 +01:00
Nadezhda Ivanova
c9264bb04e s4-tests: Modified acl.py to use the sd_utils helpers. 2010-12-10 10:19:25 +01:00
Nadezhda Ivanova
bf7b026a9a s4-acl: Replaced talloc_reference with talloc_steal, as aclread is the only one using this result message.
No need to reference as no one further up the stack uses the result, it is the result of a secondary request sent by aclread.

As a result from code review by Kamen Mazdrashki and Anatoliy Atanasov

Autobuild-User: Nadezhda Ivanova <nivanova@samba.org>
Autobuild-Date: Wed Dec  8 15:01:51 CET 2010 on sn-devel-104
2010-12-08 15:01:51 +01:00
Andrew Tridgell
735c1cd2da s4-pkgconfig: add @LIB_RPATH@ to our link flags
this is only set when rpath is used on install. It ensures that
applications that link against Samba libraries get the rpath right

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Dec  8 12:46:00 CET 2010 on sn-devel-104
2010-12-08 12:46:00 +01:00
Nadezhda Ivanova
2079a6d110 s4-acl: Changed the mechanism of attribute removal to speed it up.
Instead of using ldb_msg_remove_attr, now we are flagging the attributes to be removed,
and allocating the new elements array to be returned at once. This seems to decrease the
overhead by 50 percent.

Autobuild-User: Nadezhda Ivanova <nivanova@samba.org>
Autobuild-Date: Wed Dec  8 12:00:27 CET 2010 on sn-devel-104
2010-12-08 12:00:27 +01:00
Andrew Tridgell
be53dcd8bc s4-dsdb: register samba handlers in dsdb module 2010-12-08 05:26:05 +01:00
Nadezhda Ivanova
ec97c9f7c7 s4-acl: Remove unused variables from aclread module.
Autobuild-User: Nadezhda Ivanova <nivanova@samba.org>
Autobuild-Date: Mon Dec  6 16:48:35 CET 2010 on sn-devel-104
2010-12-06 16:48:34 +01:00
Matthias Dieter Wallnöfer
15a2eff516 s4:acl_read LDB module - fix attributes list
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Mon Dec  6 15:11:44 CET 2010 on sn-devel-104
2010-12-06 15:11:44 +01:00
Nadezhda Ivanova
91bf9133a6 s4-acl: Some optimisation of the aclread module
Modified the aclread module to now insert the attributes needed to perform access checks in the same request,
instead of doind a separate search per entry. Also, instanceType is now used to determine id the object has a parent
instead of parentGUID, which saves one additional search in operational.

Autobuild-User: Nadezhda Ivanova <nivanova@samba.org>
Autobuild-Date: Mon Dec  6 13:50:19 CET 2010 on sn-devel-104
2010-12-06 13:50:19 +01:00
Nadezhda Ivanova
3f1b153132 s4-acl: Moved aclread module below descriptor and acl.
The aclread needs to be belod descriptor, as it needs to have the full nTsecurityDescriptor to make the
checks, and the descriptor module may filter out parts of it if SD_FLAGS_CONTROL is provided.
2010-12-06 14:00:38 +02:00
Matthias Dieter Wallnöfer
93d85ca5fd s4:fix some shadowed declaration warnings on Solaris by renaming the symbols 2010-12-06 11:28:58 +01:00
Kamen Mazdrashki
af5649d5f8 s4-repl_meta_data: Print function name when we can't find attribute in Schema cache
Same error message is printed by linked_attributes.c module
and it was really hard to tell where the error occurred

Autobuild-User: Kamen Mazdrashki <kamenim@samba.org>
Autobuild-Date: Mon Dec  6 00:05:59 CET 2010 on sn-devel-104
2010-12-06 00:05:59 +01:00
Kamen Mazdrashki
05e77f52d7 s4-linked_attributes: Give more info where an error occured
We have exact same error messages at different locations
and it is little bit hard to tell where the error came from
from the log.
2010-12-06 00:18:48 +02:00
Kamen Mazdrashki
be0a2a6891 s4-repl_meta_data: Remove duplicated check 2010-12-06 00:18:47 +02:00
Kamen Mazdrashki
be27a9dc42 s4-schema_load: Strip a pointless check
If *schema is NULL, then dsdb_schema_from_ldb_results()
call should have failed
2010-12-06 00:18:47 +02:00