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

3231 Commits

Author SHA1 Message Date
Matthieu Patou
b019248fe8 Add some debug for FOOBAR return case as they are hard to diagnose
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Sun Apr 29 09:08:15 CEST 2012 on sn-devel-104
2012-04-29 09:08:15 +02:00
Matthieu Patou
3616735010 dsdb: more RELAX to DBCHECK control shift so that only dbcheck can do uncontrolled changes 2012-04-29 07:35:10 +02:00
Matthieu Patou
441b20872b dsdb: change control from relax to dbcheck
Comment indicate that this is needed by dbcheck only and it permits
other projects to push broken schema and remain undetected
2012-04-29 07:35:10 +02:00
Simo Sorce
87c95e49ef Cracknames: use krb wrapper functions so it works with MIT
Also avoid a silly game with directly modifying the principal and
then calling krb5_principal_unparse_flags to get out a string.
If we already assume it is a 2 components name and know what outcome we are
going to get, just go ahead and talloc_asprintf the linearized string.
2012-04-23 19:20:39 -04:00
Simo Sorce
08c733d75f Make krb5 wrapper library common so they can be used all over 2012-04-23 19:20:38 -04:00
Matthieu Patou
cf39ef3637 s4-kcc: avoid a false alarm with rodc
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Thu Apr 19 12:32:58 CEST 2012 on sn-devel-104
2012-04-19 12:32:58 +02:00
Andrew Tridgell
997a22e7bf dsdb: added SHOW_DELETED to samldb_member_check()
when dbcheck is fixing DNs, it will sometimes operated on a deleted DN
link

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2012-04-18 07:48:05 +02:00
Matthias Dieter Wallnöfer
a2a9c334c1 s4:dsdb/pydsdb.c - call the "objectClass" normalisation code from Python
This allows the dbchecker to fix ordering/inconsistency problems with
the mentioned attribute.

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-04-18 07:48:05 +02:00
Michael Adam
9e9887d323 s4:samdb:rootdse: implement the schemaUpgradeInProgress operation in ldap modify
This is preliminary in that it is implemented as a no-op for a start
just to be able to successfully answer the request, which seems to be
sufficient in order to e.g. survive the exchange schema extensions.

Signed-off-by: Matthieu Patou <mat@matws.net>

Autobuild-User: Michael Adam <obnox@samba.org>
Autobuild-Date: Wed Apr 18 02:48:28 CEST 2012 on sn-devel-104
2012-04-18 02:48:28 +02:00
Matthieu Patou
c5934d9a1c s4-schema: set subClassOf by default to top if not specified
Signed-off-by: Michael Adam <obnox@samba.org>
2012-04-18 00:07:02 +02:00
Matthieu Patou
9887d390b1 s4-schema: remove unused variable 2012-04-18 00:07:01 +02:00
Matthieu Patou
e3fa5d7d2a s4-schema: Generate some schema related attribute as MS AD is doing if they are not present in ldb requests 2012-04-18 00:07:00 +02:00
Matthieu Patou
167c6eb61e s4-schema: rename dsdb_attribute_from_ldb to dsdb_set_attribute_from_ldb and dsdb_class_from_ldb to dsdb_set_class_from_ldb 2012-04-18 00:06:59 +02:00
Matthieu Patou
6ccaf279da s4: use enums instead of strings it's cheaper 2012-04-17 23:13:16 +02:00
Simo Sorce
a925c2c48d srv_keytab: Pass krb5_context directly, it's all we use anyways.
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-12 12:06:43 +02:00
Simo Sorce
a46e465ce0 s4-auth-krb: Remove unneded dependency on kerberos_util.
Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-12 12:06:42 +02:00
Simo Sorce
aedbd6bf8e s4-auth-krb: Simplify salt_princ handling.
This allows us to make parse_principal static in kerbeors_util again and
avoid a silly game where we alloc containers and set destrcutors only to
release the whole thing at the end of the function.

Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-12 12:06:42 +02:00
Simo Sorce
b226955587 s4-auth-krb: Move keytab functions in a separate file.
Confine ldb dependency.

Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-12 12:06:42 +02:00
Günther Deschner
c761654b92 s4-ldb: use KRB5_KEY macros to access key elements.
Guenther

Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-12 12:06:41 +02:00
Matthias Dieter Wallnöfer
0c44d46f24 s4:dsdb/samdb/ldb_modules/schema.c - move "get_last_structural_class()" into "util.c"
And remove this helper module - it does not have much sense keeping it.

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Wed Apr 11 06:31:51 CEST 2012 on sn-devel-104
2012-04-11 06:31:51 +02:00
Matthias Dieter Wallnöfer
83062125e6 s4:dsdb/samdb/ldb_modules/schema.c - inline "get_oc_guid_from_message()" to its only user
Reduce the number of not to be shared functions in "schema.c". Change it
to make use of "get_last_structural_class()".
2012-04-11 12:50:16 +10:00
Matthias Dieter Wallnöfer
3fa5f84d2f s4:dsdb - introduce a only constant-time "get_last_structural_class()" call
With the redesign of the previous patches this has become possible.
2012-04-11 12:50:16 +10:00
Matthias Dieter Wallnöfer
ba96b2491e s4:dsdb/samdb/ldb_modules/schema.c - inline "acl_check_access_on_class" to its only user
Reduce the number of not to be shared functions in "schema.c".
2012-04-11 12:50:16 +10:00
Matthias Dieter Wallnöfer
4eb0d42291 s4:dsdb - move "objectclass_sort()" out from the objectclass LDB module into the schema code
This allows it to be useful for the dbchecker utility in respect to
object class problems.
Fix up the API to only work with standardised LDB "ldb_message_element"
structures which do allow much easier interoperations. As a consequence this
leads to some changes in the objectclass module as well.
2012-04-11 12:50:16 +10:00
Matthias Dieter Wallnöfer
17775186df s4:acl LDB module - remove set but unused variables 2012-04-11 12:50:16 +10:00
Matthias Dieter Wallnöfer
93f0905f07 s4:objectclass LDB module - remove unneeded build dependencies 2012-04-11 12:50:16 +10:00
Matthias Dieter Wallnöfer
3d886e3e15 s4:schema/schema_query.c - fix a comment 2012-04-11 12:50:16 +10:00
Matthias Dieter Wallnöfer
35dfd79dca s4:schema/schema_init.c - better use "ldb_attr_cmp" instead of "strcasecmp"
LDB convention
2012-04-11 12:50:16 +10:00
Matthias Dieter Wallnöfer
0c2c5f24a9 s4:dsdb/pydsdb.c - fix indentation 2012-04-11 12:50:16 +10:00
Andrew Bartlett
7290a62284 s4-dsdb: use constant-time search for descriptor -> get_last_structural_class()
The objectClass list is sorted at this point, as we are called below
the objectclass module here, or are working from a search result.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Mon Mar 26 05:38:13 CEST 2012 on sn-devel-104
2012-03-26 05:38:13 +02:00
Matthias Dieter Wallnöfer
d86e701b7c s4:ldap.py - re-introduce the "(dn=CN=ldaptestUSER3,CN=Users,DC=wallnoefer2,DC=local)" test
This syntax is not supported by Windows AD and should also be denied by
s4/LDB.

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Mon Mar 26 02:30:53 CEST 2012 on sn-devel-104
2012-03-26 02:30:53 +02:00
Matthias Dieter Wallnöfer
438971e214 LDB/s4 - do not use the "(dn=...)" syntax on filters anymore
Make it AD-compatible using "(distinguishedName=...)".

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2012-03-26 00:57:29 +02:00
Matthias Dieter Wallnöfer
fa1c7615d0 s4:ldap.py - test the already mentioned structural object class sorting behaviour
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2012-03-26 00:57:29 +02:00
Matthias Dieter Wallnöfer
206421c8fd s4:dsdb - enhance "get_last_structural_class()" for optimisations
If the objectclass entry has been sorted before we are able to determine
the (last) structural or 88 object class in constant time.

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2012-03-26 00:57:29 +02:00
Matthias Dieter Wallnöfer
0f8ffa9ce1 s4:objectclass LDB module - fix up the sorting in respect to structural or 88 objectclasses
Please have a look at MS-ADTS 3.1.1.1.4.

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2012-03-26 00:57:29 +02:00
Matthias Dieter Wallnöfer
52340b86a2 s4:objectclass LDB module - clean up "objectclass_sort()"
Make it easier to comprehend

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2012-03-26 00:57:28 +02:00
Jelmer Vernooij
d875327b10 Move NS_GUID_string and NS_GUID_from_string to dsdb-common. 2012-03-20 13:54:07 +01:00
Amitay Isaacs
ab375526e8 s4-dsdb: Fix the case for attribute name msDS-hasMasterNCs
Autobuild-User: Amitay Isaacs <amitay@samba.org>
Autobuild-Date: Wed Mar 14 11:59:02 CET 2012 on sn-devel-104
2012-03-14 11:59:02 +01:00
Jelmer Vernooij
ce4531ee31 tdb_wrap: Move to specific directory.
It's a bit confusing to mix low-level and high-level libraries.  We had
multiple libraries in one directory, and there were have circular
dependencies with other libraries outside that directory (in this case,
samba-hostconfig).

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sat Mar 10 23:13:01 CET 2012 on sn-devel-104
2012-03-10 23:13:01 +01:00
Arvid Requate
b1cedbbeea SEGV in acl_validate_spn_value: dnsHostName NULL
This patch addresses a segfault in acl_validate_spn_value which occurs
when the "dnsHostName" attribute is missing. This seems to be the case
in domains migrated with samba3upgrade. Looks similar to MS KB 817543.

Signed-off-by: Nadezhda Ivanova <nivanova@drizzit.(none)>

Autobuild-User: Nadezhda Ivanova <nivanova@samba.org>
Autobuild-Date: Fri Mar  2 21:26:40 CET 2012 on sn-devel-104
2012-03-02 21:26:40 +01:00
Ricky Nance
2f7e715302 s4-lib: Remove unused samdb_msg_set_value()
Found by callcatcher.

Ricky Nance
2012-02-25 03:51:37 +01:00
Ricky Nance
8a22ccadd5 s4-lib: Remove unused samdb_msg_set_string()
Found by callcatcher.

Ricky Nance
2012-02-25 03:51:37 +01:00
Ricky Nance
b136687d1f s4-lib: Remove unused samdb_msg_set_int()
Found by callcatcher

Ricky Nance
2012-02-25 03:51:37 +01:00
Andrew Bartlett
b596b9c045 s4-selftest: Avoid running kinit for each new connection
Kerberos is efficient when the credentials cache is set up once and
then reused.

Sadly this test creates a user, does a test and deletes the user, over
and over.

For this, using NTLM saves a little time, but we also stress the rest
of the DB, and should rework the test.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Mon Feb 20 00:49:56 CET 2012 on sn-devel-104
2012-02-20 00:49:56 +01:00
Amitay Isaacs
bee55a2957 s4-dsdb: Check if metadata.tdb exists, before trying to open it
This fixes the error output from tdb2 when metadata module tries
to create metadata.tdb first time. This error is reported since
metadata module tries to check if tdb exists by trying to open
tdb file.

Autobuild-User: Amitay Isaacs <amitay@samba.org>
Autobuild-Date: Mon Feb 13 03:02:09 CET 2012 on sn-devel-104
2012-02-13 03:02:09 +01:00
Andrew Tridgell
204c07501d Revert "s4-drs: do not try to contact for replication servers that are not anymore in reps*"
This reverts commit 5bfd6251eb.

This change has been causing regular segfaults in the build farm since
it was applied. I also think it may be unnecessary as
dreplsrv_refresh_partitions() should already be achieving the same
thing (removing stale replication targets).

I think the segfaults were caused by freeing an in-flight DSA, but I
have been unable to reproduce it outside of the build farm

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Feb  1 07:49:42 CET 2012 on sn-devel-104
2012-02-01 07:49:41 +01:00
Rusty Russell
641beb35bf samdb: use compat wrappers for tdb_fetch().
TDB2's tdb_fetch() returns an error code; use tdb_fetch_compat() for now.
Similarly, tdb_errorstr() -> tdb_errorstr_compat().

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-01-30 10:07:17 +10:30
Andrew Bartlett
1a9ee7cbd5 dsdb: Allow DSDB_CONTROL_PASSWORD_BYPASS_LAST_SET_OID to be specified as a flag 2012-01-24 18:36:49 +11:00
Amitay Isaacs
1f0298dd1b python: Change except: statement to except Exception:
This way we only catch true exceptions and keyboard interrupts
are not caught here.

Autobuild-User: Amitay Isaacs <amitay@samba.org>
Autobuild-Date: Tue Jan 24 03:32:40 CET 2012 on sn-devel-104
2012-01-24 03:32:40 +01:00
Stefan Metzmacher
13182e792a s4:dsdb/password_hash: require a "Primary:Kerberos" blob in supplementalCredentials
If this is missing a w2k8r2 server will reboot, when someone tries to
change a password.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Mon Jan 16 17:10:07 CET 2012 on sn-devel-104
2012-01-16 17:10:07 +01:00
Dave Craft
aff8dad076 Intersite KCC flags for python
Add NTDSSITELINK options to dsdb class for use
in python samba_kcc

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-01-14 06:13:08 +01:00
Matthias Dieter Wallnöfer
6857a588f3 s4:repl_meta_data LDB module - set "isRecycled" time correctly
"unix_to_nt_time()" which is based on "time_t" behaves differently for
literals > 32 bit on 32 and 64 bit platforms.

Reviewed-by: ekacnet

Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Thu Jan  5 11:59:20 CET 2012 on sn-devel-104
2012-01-05 11:59:20 +01:00
Matthieu Patou
34d549de34 s4-kcc: Remove also deleted objects that are not in the Deleted Object container
For the configuration container we do a full scan at every run of the
kcc-delete service. For the base DN we introduce a new parameter that
avoid the full scan to kick just when samba starts.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2011-12-23 07:57:21 +01:00
Matthieu Patou
ea9fb5cad8 s4-ldb: Add isRecycled when is defined in the schema
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2011-12-23 07:57:21 +01:00
Matthieu Patou
f39426c8ae s4-dsdb: Relax the conditions where we can't do a subtree delete
If the parent object is a SAM object (as defined in 3.1.1.5.2.3
Special Classes and Attributes of MS-ADTS) then we can use the subtree
delete control even if the object is a critical one.

Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Mon Dec 19 14:32:19 CET 2011 on sn-devel-104
2011-12-19 14:32:18 +01:00
Stefan Metzmacher
fbcdaa6a45 s4:pydsdb: remove unused variable from py_dsdb_am_pdc()
metze
2011-12-13 12:36:34 +01:00
Matthias Dieter Wallnöfer
1b741b2bcc s4:dsdb/common/util.c - test LDB result against LDB_SUCCESS as we are always doing
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Fri Dec  9 12:00:03 CET 2011 on sn-devel-104
2011-12-09 12:00:03 +01:00
Dave Craft
0a4746a200 Invocation of samba_kcc from KCC task
Modification to periodic and explicit invocation
paths of the KCC topology generation code.  Managed
via samba_runcmd_send() API.  The samba_kcc script
is invoked if (kccsrv:samba_kcc = true) appears in smb.conf

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-12-08 11:48:17 +11:00
Dave Craft
0a181217bd Add subreq and status to kcc_service struct
The subreq and status fields in the kcc_service struct
are added for execution management of the external samba_kcc
python script.

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-12-08 11:48:17 +11:00
Andrew Bartlett
d8f98933fd pydsdb: provide a am_pdc hook like am_rodc to python scripts 2011-12-07 03:09:08 +01:00
Matthieu Patou
5bfd6251eb s4-drs: do not try to contact for replication servers that are not anymore in reps*
Servers connection can be removed from repsTo and respFrom either due to
DC demote or topology change by the KCC, if a server is removed from the
reps* it must be effectivly removed from the list of server that we will
contact for getNcChanges and for replicaSync.

Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Mon Dec  5 19:56:09 CET 2011 on sn-devel-104
2011-12-05 19:56:09 +01:00
Matthieu Patou
059523e203 s4-resolver: do not use all the A and AAAA records, those after a NS are not the one we want to use 2011-12-05 18:23:08 +01:00
Matthieu Patou
2f8a84bb7b s4-drs: mark WERR_DS_DRA_BUSY as a non error in DsReplicaUpdateRefs 2011-12-05 18:23:07 +01:00
Amitay Isaacs
2e4bf8bfcd s4-repl: Check if GC SPN exists before using it for replication
Sometimes windows DC will set up dNSHostname before setting up
GC SPN and that causes replication errors since samba tries to
use GC SPN, which does not yet exist locally.

Pair-Programmed-With: Andrew Tridgell <tridge@samba.org>
2011-11-29 16:00:36 +11:00
Amitay Isaacs
49926a2ac6 s4-dsdb: Added metadata to partition module for global sequence number
This adds support for global sequence number which is independent of
partition information.

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-11-29 16:00:35 +11:00
Amitay Isaacs
349c54528b s4-dsdb: use dsdb_module_extended instead of duplicate code
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-11-29 16:00:35 +11:00
Amitay Isaacs
422fcbbe72 s4-dsdb: Return ldb_result context in dsdb_module_extended
The result of the extended operation is now available in the calling
routine.

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-11-29 16:00:35 +11:00
Amitay Isaacs
c199b35dd4 s4-dsdb: Remove LDB_SEQ_HIGHEST_TIMESTAMP sequence number support
This was a hack for LDAP backends to store a sequence number as a
timestamp. It is still supported in standalone ldb tdb backend.

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-11-29 16:00:35 +11:00
Matthias Dieter Wallnöfer
83c039378b s4:update_keytab LDB module - no need to filter for the DN
We launch a search request with base scope on exactly the same DN (see
downwards).

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2011-11-26 10:17:18 +01:00
Matthieu Patou
6d29581637 s4-dsdb: Modify the repl_meta_data behavior to allow Metadata change on attribute interSiteTopologyGenerator even if the value didn't change
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Sat Nov 19 16:47:53 CET 2011 on sn-devel-104
2011-11-19 16:47:53 +01:00
Amitay Isaacs
9318e00a1f dsdb: Fix the password expiry calculation
As per Section 3.1.1.4.5.26 [MS-ADTS.pdf], password is expired if

  pwdLastSet = null, or
  pwdLastSet = 0, or
  (maxPwdAge != 0x8000000000000000 and (ST - pwdLastSet) > maxPwdAge)
2011-11-18 14:38:28 +11:00
Amitay Isaacs
3bb5af5244 s4-dsdb: Remove unsed variable 2011-11-17 03:49:07 +01:00
Matthieu Patou
b91dd516b5 s4-dsdb: rework the NC detection for the descriptor calculation
This checks if instanceType attribute is available, and if
INSTANCE_TYPE_IS_NC_HEAD bit is set. If the bit is set, then
the DN is NC root and security descriptor is not inherited
from parent SD.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
2011-11-16 17:16:30 +11:00
Matthias Dieter Wallnöfer
ec38098c29 s4:partition LDB module - fix handling regarding special DNs on searches
Normally they should always be passed to the main backend unless
something different has been specified.

Reviewed-by: abartlet

Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Tue Nov 15 22:43:06 CET 2011 on sn-devel-104
2011-11-15 22:43:06 +01:00
Stefan Metzmacher
c1fd56fdd4 s4:dsdb/schema_data: reject schema update unless they're allowed
"dsdb:schema update allowed = yes" is now needed in smb.conf
to enable schema updates, as schema updates are a currenty a good
way to prevent samba from startup again, because of errors in
the schema definition.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Tue Nov 15 13:00:07 CET 2011 on sn-devel-104
2011-11-15 13:00:07 +01:00
Stefan Metzmacher
e7e9f1e2dd s4:dsdb/schema: add "dsdb:schema update allowed" option to enable schema updates
By default schema updates are not allowed anymore, as we don't have
complete validation code to prevent database corruption.

metze
2011-11-15 09:46:30 +01:00
Stefan Metzmacher
be091eddec s4:dsdb/schema_data: reject changes to schemaInfo, msDs-Schema-Extensions, msDS-IntId
As windows we return CONSTRAINT_VIOLATION now.

metze
2011-11-15 09:46:29 +01:00
Stefan Metzmacher
38868c8b7f s4:dsdb/schema_data: make sure we reject schema changes if we're not the schema master
metze
2011-11-15 09:46:29 +01:00
Stefan Metzmacher
76b99bb379 s4:dsdb/schema_data: make sure we only allow objects one level below the schema base
The objectclass module should also check for this, but make sure
we also reject it on things like provision.

metze
2011-11-15 09:46:29 +01:00
Stefan Metzmacher
28d573168c s4:param/provision: pass schema_dn to provision_get_schema()
metze
2011-11-15 09:46:27 +01:00
Stefan Metzmacher
75ae19422b s4:dsdb/schema: pass and remember the schema_dn in dsdb_set_schema_from_ldif()
metze
2011-11-15 09:46:27 +01:00
Stefan Metzmacher
e6a9e1dda9 s4:dsdb/pydsdb: pass down schema_dn to _dsdb_set_schema_from_ldif()
metze
2011-11-15 09:46:26 +01:00
Stefan Metzmacher
54a9a47a91 s4:dsdb/samldb: use DSDB_FLAG_AS_SYSTEM in samldb_schema_info_update()
We should only be able to update the schemaInfo internaly.

metze
2011-11-15 09:46:26 +01:00
Jelmer Vernooij
f625d362d7 Remove broken code - these lines use undefined symbols. 2011-11-14 15:49:36 +01:00
Matthieu Patou
85af1ed9b8 s4-dsdb: initialize correctly the value of originating_change_time for the Deleted Object Container 2011-11-13 14:11:26 +01:00
Andrew Tridgell
ba41389d3d test: fixed several tests to use samba.tests
this fixes error checking. Test failures were not being detected
otherwise

Pair-Programmed-With: Amitay Isaacs <amitay@gmail.com>
2011-11-10 14:24:21 +11:00
Dave Craft
a5d6e427c5 python dsdb flag addtions (NTDSSETTINGS, NTDSCONN)
Add missing flags present in C code base to python
code base dsdb/pydsdb.c
   INSTANCE_TYPE...
   DS_NTDSSETTINGS_OPT...
   NTDSCONN_OPT...
These are consumed by the python KCC scripts

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-11-07 10:02:45 +11:00
Matthieu Patou
2db221c384 s4-sites: Document, fix under optimal coding, use exceptions
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Wed Nov  2 22:35:00 CET 2011 on sn-devel-104
2011-11-02 22:35:00 +01:00
Matthieu Patou
37703892bd s4-selftest: add unit tests for sites's function in python 2011-11-02 13:37:18 +01:00
Amitay Isaacs
a6ed9071b9 dsdb: Handle the case when extended rights string is NULL
Pair-Programmed-With: Andrew Tridgell <tridge@samba.org>

Signed-off-by: Andrew Tridgell <tridge@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Nov  2 07:03:40 CET 2011 on sn-devel-104
2011-11-02 07:03:40 +01:00
Amitay Isaacs
c8ac3678ad s4-drepl: Search for application partitions in addition to main ones
To replicate application partitions (e.g. DNS partitions) consult
msDs-hasMasterNCs attribute as well. Also, make sure we don't add
same partition twice in the list. hasMasterNCs and msDs-hasMasterNCs
have domain, configuration and schema partitions common.

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-11-02 15:26:55 +11:00
Andrew Bartlett
aabda85a2f s4-dsdb Remove LDAP backend credentials support
The error message from this causes confusion, for a feature
that we have never finished and have agreed to remove.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Tue Nov  1 06:32:52 CET 2011 on sn-devel-104
2011-11-01 06:32:52 +01:00
Matthias Dieter Wallnöfer
673be97f1e s4:repl_meta_data LDB module - don't intercept the partition LDB module referrals
Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
2ee42ebab3 s4:repl_meta_data LDB module - rename operation - do not overwrite error messages
"ldb_error" could overwrite possibly useful error messages.

Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
57b8bc74c4 s4:repl_meta_data LDB module - remove pointless debug messages
These are displayed when an object just doesn't exist!

Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
45b4b8264a s4:repl_meta_data LDB module - always return the original LDB result codes on failure
And add "ldb_operr()" before the "return ret" to point out the position
where it failed (for "add_time_element" and "add_uint64_element")

Reworked after a suggestion by abartlet.
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
3fe747538b s4:repl_meta_data LDB module - "dsdb_search_module_dn" already checks if len(res) == 1
No need to perform an additional check here. As a return value we should
always give back the original error code and not generate a new one (to
let the caller know what is going on).

Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
d95b4c9497 s4:ldap.py - fix up the dSHeuristics test to check for the right behaviour
Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
6287d0d61c s4:objectclass_attrs LDB module - implement the dSHeuristics length checks correctly
Consider bug #8489

Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
bb02aa5e00 s4:ldap.py - we test the creation of secrets already in the "systemOnly" testcase
Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
6fc55cb9f2 s4:ldap.py - enhance and fix up the object class test
Also address the problem described in bug #8486.

Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
751bab4fb2 s4:objectclass LDB module - objectclass modify op. - remove superflous "talloc_strdup"
We are adding strings embedded in the schema structure which is basically
global and lives longer than the request - hence no duplication needed.

Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
184c17587c s4:objectclass LDB module - objectclass modify operations
According to bug #8486 the modification to direct related structural
object classes is possible (equal, child, parent).

Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
68b3770c45 s4:objectclass LDB module - forbid to add unrelated objectclasses
E.g. unsatisfied abstract objectclasses, additional top-most structural
classes

Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
730257f4c0 s4:objectclass LDB module - "objectclass_add" - small optimisation
This saves us from doing one "ldb_msg_find_element".

Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
82d9c9e5a0 s4:objectclass LDB module - "check_rodc_ntdsdsa_add"
For convention use "ldb_attr_cmp()".

Reviewed-by: abartlet
2011-10-27 18:52:29 +02:00
Matthias Dieter Wallnöfer
3756508fec s4:objectclass LDB module - update copyright
Reviewed-by: abartlet
2011-10-27 18:52:28 +02:00
Matthias Dieter Wallnöfer
7161bb4b37 s4:password_hash LDB module - fix compiler warning due to unsatisfied "switch"
Bail out on other LDB request types (only add and modify allowed).
2011-10-27 18:52:28 +02:00
Matthias Dieter Wallnöfer
c9ac028951 s4:ldap.py - fix up the UTF8 tests
Reviewed-by: abartlet
2011-10-27 18:52:28 +02:00
Matthias Dieter Wallnöfer
5875661cf2 s4:ldap.py - reactivate some assertions in "test_all"
There should always be one result on both s4 and Windows.

Reviewed-by: abartlet
2011-10-27 18:52:28 +02:00
Andrew Tridgell
3712006faa dsdb: improve debug message
show the reply type in "Invalid reply type" messages

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Oct 20 00:57:05 CEST 2011 on sn-devel-104
2011-10-20 00:57:05 +02:00
Andrew Bartlett
3cdb1fe440 s4-messaging: Pass the loadparm context, not just the messaging path
This will allow the TDB layer to get at the lp_ctx for tdb options.

Andrew Bartlett
2011-10-13 14:06:07 +02:00
Gregor Beck
85b145d745 s3:utils change data_blob_dup_talloc() to take a DATA_BLOB by value
Signed-off-by: Michael Adam <obnox@samba.org>
2011-10-12 22:45:53 +02:00
Jelmer Vernooij
1417ea1eed Remove pointless exception catching in tests.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Oct  9 00:00:26 CEST 2011 on sn-devel-104
2011-10-09 00:00:25 +02:00
Stefan Metzmacher
bcb02129c3 s4:dsdb/password_hash: add DSDB_CONTROL_PASSWORD_BYPASS_LAST_SET_OID
Which allows the caller to pass a given 'pwdLastSet' value
(every useful for migrations).

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri Oct  7 15:28:13 CEST 2011 on sn-devel-104
2011-10-07 15:28:13 +02:00
Stefan Metzmacher
ff1ce6521b s4:dsdb: fix the order of DSDB_CONTROL_* defines in samdb.h
This makes clear that struct dsdb_control_password_change
belongs to DSDB_CONTROL_PASSWORD_CHANGE_OID.

metze
2011-10-07 12:20:45 +02:00
Andrew Tridgell
83f0dc44a7 s4-dsdb: special case for deleted objects one way link
we show wellknown links to the deleted objects container

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Fri Oct  7 07:58:08 CEST 2011 on sn-devel-104
2011-10-07 07:58:08 +02:00
Andrew Tridgell
9b981ff1e8 s4-dsdb: don't display links to deleted objects
unless the user asks for the display of deactivated links, we should
not display DNs that link to deleted objects

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-07 13:20:44 +11:00
Andrew Tridgell
a729dbb269 s4-dsdb: fixed one_way_link calculation
we need to check for the other end of the link, not the current linkID

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-07 13:20:44 +11:00
Andrew Tridgell
a5f311d469 s4-dsdb: fixed behaviour of show_deleted and show_recycled control
to correctly implement the show_deleted and show_recycled control we
need to know if the recyclebin is enabled. When not enabled, the
isRecycled attribute is ignored, and only isDeleted is used.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-07 13:20:44 +11:00
Andrew Tridgell
365f705345 s4-dsdb: fixed the check_optional_feature() call
the dsdb_check_optional_feature() call should look on our own NTDS DN
for the enabled feature. This should work for all features, not just
for forest wide fetaures.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-07 13:20:44 +11:00
Andrew Tridgell
d7f617e2e1 s4-dsdb: allow deletion of backlinks if DSDB_CONTROL_DBCHECK given
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-06 14:34:22 +11:00
Andrew Tridgell
c2d70af1a7 s4-dsdb: added DSDB_CONTROL_DBCHECK
this will be used for overrides by the dbcheck validator

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-06 14:34:22 +11:00
Andrew Tridgell
2d63789e48 s4-dsdb: allow groupType update on deleted objects
this allows dbcheck to fix groupType on objects that have been deleted

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-06 14:34:21 +11:00
Andrew Tridgell
8976e1d50d s4-rodc: use the rodc_replica flag on the partition
this sets DSDB_REPL_FLAG_PARTIAL_REPLICA when replicating a RODC
partition, which tells the replication code to map instanceType to
remove the INSTANCE_TYPE_WRITE bit

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-06 14:34:21 +11:00
Andrew Tridgell
2a2deeb3b4 s4-rodc: ensure we load replicated partitions for RODCs
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-06 14:34:21 +11:00
Andrew Bartlett
e717af0301 s4-dsdb: Do not assume that all deleted objects have an objectCategory and sAMAccountType
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Thu Oct  6 03:43:13 CEST 2011 on sn-devel-104
2011-10-06 03:43:13 +02:00
Andrew Bartlett
f55328a295 dsdb: Do not attempt to resolve conflicts on an RODC 2011-10-06 02:11:34 +02:00
Andrew Bartlett
55054182b2 dsdb: fix double-free in replication failure case on RODC 2011-10-06 02:11:34 +02:00
Andrew Bartlett
5c5d869975 s4-dsdb Allow repl server to start even when no master NCs are present 2011-10-06 02:11:34 +02:00
Andrew Tridgell
8905344bad s4-dsdb: fixed re-join of subdomain
if we repeat the join of a subdomain then we try to re-create the NC
for the subdomain during a DsAddEntry(). This allows that re-creation
to succeed if the NC already exists
2011-10-04 15:08:58 +11:00
Andrew Tridgell
e9758ef94d s4-dns: add all forest DCs to named.conf.update
this allows all DCs to update DNS entries
2011-10-04 15:08:58 +11:00
Andrew Tridgell
6356f4c255 s4-kcc: if we are a GC, auto-add partial replicas
when we are a global catalog server, the KCC needs to add partial
replicas for all domain partitions that we don't have copies of
2011-10-04 15:08:57 +11:00
Andrew Tridgell
278e44cf9f s4-dsdb: simplify samdb_is_gc()
we already have a function for returning the NTDS options
2011-10-04 15:08:57 +11:00
Andrew Tridgell
f469369fdf s4-dsdb: add the DSDB_CONTROL_PARTIAL_REPLICA when needed
when we are adding an object via DRS, we need to add the
DSDB_CONTROL_PARTIAL_REPLICA control if we are replicating a partial
replica, so ensure the partition module creates new NCs as partial
replicas
2011-10-04 15:08:57 +11:00
Andrew Tridgell
b930b1e1fc s4-repl: try harder to find the right SPN in replication server
when doing DRS between domains, using the right SPN is essential so
the KDC can generate referrals to point us at the right DC.  We prefer
the GC/hostname/DNSDOMAIN form if possible, but if we can't find the
hostname then this changes the code that generates the target
principal name to use either the msDS-HasDomainNCs or hasMasterNCs
attributes to try to find the target DC domainname so we can use the
E3514235-4B06-11D1-AB04-00C04FC2DCD2/GUID/DNSDOMAIN SPN form.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-04 15:08:57 +11:00
Andrew Tridgell
60cbc98051 s4-dsdb: added new control DSDB_MODIFY_PARTIAL_REPLICA
this control tells the partition module that the DN being created is a
partial replica, so it should modify the @PARTITION object to add the
partialReplica attribute

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-10-04 15:08:57 +11:00
Andrew Tridgell
1870fc49dd s4-dsdb: added DSDB_REPL_FLAG_ADD_NCNAME flag 2011-10-04 15:08:57 +11:00
Andrew Tridgell
50d6a76a14 s4-dsdb: fixed formatting of a debug message
another missing newline
2011-10-04 15:08:57 +11:00
Andrew Tridgell
d12309dc1a s4-partition: allow creation of uninstantiated partitions
this is needed for a subdomain join by a new NC. The NC is initially
uninstantiated
2011-10-04 15:08:56 +11:00
Andrew Tridgell
f52d8ca023 s4-dsdb: allow uninstantiated NC heads
this allows INSTANCE_TYPE_WRITE to be not set if
INSTANCE_TYPE_UNINSTANT is set
2011-10-04 15:08:56 +11:00
Andrew Tridgell
faf8581e38 s4-repl: support creation of new NCs via DsAddEntry
this adds a flag to dsdb_origin_objects_commit that tells it to create
a new NC based on the nCName in a crossRef object
2011-10-04 15:08:56 +11:00
Andrew Tridgell
df3cc35f74 s4-repl: fixed formatting of some debug messages 2011-10-04 15:08:56 +11:00
Andrew Tridgell
761fd4af2e s4-repl: update instanceType in partial_replica replication
when we receive objects to a partial replica, we need to change the
incoming instanceType to not include the INSTANCE_TYPE_WRITE
flag. Partial replicas unset this flag.
2011-10-04 15:08:56 +11:00
Andrew Tridgell
f37e81bbc5 s4-repl: add FULL_SYNC and PARTIAL_REPLICA flags
this sets the appropriate flags for replication with FULL_SYNC and
partial replica replications
2011-10-04 15:08:56 +11:00
Andrew Tridgell
bdc93190fe s4-dsdb: implement DSDB_REPL_FLAG_PRIORITISE_INCOMING
With this set, we accept changes even if they have the same tuple as
the local copy. This can be used by a FULL_SYNC replication to recover
a replica that is corrupt
2011-10-04 15:08:56 +11:00
Andrew Tridgell
f45147b2d9 s4-dsdb: disallow changes based on instanceType
if instanceType does not include INSTANCE_TYPE_WRITE, then disallow
changes to any replicated attributes. This ensures partial replicates
are not alterered
2011-10-04 15:08:56 +11:00
Andrew Tridgell
d3fa49663f s4-dsdb: added DSDB_REPL_FLAG* to replication
this allows the replication server to control replication via a set of
flags. Initial flags will allow control for partial replications and
full_sync support
2011-10-04 15:08:55 +11:00
Andrew Bartlett
d40fe50a67 build: avoid util.h as a public header name due to conflict with MacOS 2011-09-23 09:24:03 +02:00
Andrew Tridgell
516f32654a s4-repl: remove unused principal_name element 2011-09-22 10:00:49 +10:00