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

309 Commits

Author SHA1 Message Date
Stefan Metzmacher
551bb2ccea s4:drsuapi: move struct drsuapi_getncchanges_state to the top of getncchanges.c
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-01-01 19:28:07 +01:00
Matthieu Patou
dc002a394b drsuapi: Validate the input parameters for the drsuapi_UpdateRefs function 2012-10-07 21:51:03 -07:00
Matthieu Patou
8be6a106ab drsuapi: check more carefully the validity of the NC
Check that both the GUID and DN are the GUID/DN of a NC if not return
WERR_DS_DRA_BAD_NC
2012-10-07 21:51:03 -07:00
Matthieu Patou
5374334d68 s4-drs: fix the logic to allow REPL_SECRET if the account has GET_ALL_CHANGES 2012-10-07 21:51:02 -07:00
Matthieu Patou
8dbba524bf s4-drs: EXOP_REPL_SECRETS can be called by RW DC as well 2012-10-07 21:51:02 -07:00
Matthieu Patou
2eae16102a drs-getncchanges: do not set the highestUsn to 0
Paragraph 4.1.10.5 says that
         if err = 0 then
         msgOut.pNC := msgIn.pNC
         msgOut.usnvecFrom := msgIn.usnvecFrom
so no need to set the highestUsn to 0
2012-10-07 21:51:01 -07:00
Matthieu Patou
303ef62b29 kcc: return invalid parameter if the taskId is not 0 2012-10-07 21:51:01 -07:00
Matthieu Patou
9269870a70 Implement the LIST_INFO_FOR_SERVER input format 2012-10-07 21:51:01 -07:00
Matthieu Patou
3dd2b804b9 getdcinfo: Check that the server object has a serverreference objects pointing to a DC object
The problem was found by the DRSR testsuite where server objects were
created in the Site container without serverrefrence attribute
triggering error in the testsuite.
2012-10-07 21:51:01 -07:00
Stefan Metzmacher
f240a4c2e7 s4:rpc_server/drsuapi: use talloc_zero instead of talloc() in dcesrv_drsuapi_DsBind()
metze

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Tue Sep 25 03:06:13 CEST 2012 on sn-devel-104
2012-09-25 03:06:13 +02:00
Stefan Metzmacher
bbac4fb42f s4:rpc_server/drsuapi: fix a crash in dcesrv_drsuapi_DsGetDomainControllerInfo_1()
metze
2012-09-25 01:14:15 +02:00
Andrew Bartlett
7213199f6e s4-repl: Use samdb_reference_dn_is_our_ntdsa() 2012-08-14 15:37:22 +02:00
Andrew Bartlett
9566786853 s4-dsdb: Add mem_ctx argument to samdb_ntds_settings_dn
As this value is calculated new each time, we need to give it a context to live on.

If the value is the forced value during provision, a reference is taken.

This was responsible for the memory leak in the replication process.  In the
example I was given, this DN appeared in memory 13596 times!

Andrew Bartlett

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue Aug 14 10:05:14 CEST 2012 on sn-devel-104
2012-08-14 10:05:14 +02:00
Simo Sorce
27549b4e31 Fix direct access to krb5_principal structure 2012-05-04 16:51:29 +02:00
Stefan Metzmacher
601f3822d5 s4:drsuapi/getncchanges: the default for isRecycled is FALSE
metze

Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Fri Dec 23 09:30:09 CET 2011 on sn-devel-104
2011-12-23 09:30:09 +01:00
Matthieu Patou
7d13f7d4a1 s4-drsuapi: we store boolean in upppercase so we need to test them in uppercase
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2011-12-23 07:57:21 +01:00
Stefan Metzmacher
b2bace63d3 s4:drsuapi/getncchanges: return WERR_NOMEM if talloc_array() fails
metze
2011-12-19 11:49:19 +01:00
Matthieu Patou
3164d7bdd5 s4-drs: introduce a timeout in the getncchanges processing to always return something in less than x seconds
Signed-off-by: Andrew Tridgell <tridge@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2011-12-19 11:49:19 +01:00
Matthieu Patou
55af1a7cf7 s4-drs: avoid calling unecesserly ldb_msg_find_attr_as_* as this call in unefficient
Current implementation of ldb_msg_find_attr_as_* iterate on the list of
attributes returned by the search and make a string comparison. As we
sorting the array of messages / guids we tend to call this function many
times. By storing the GUID and the USN in a separate structure we are
sure to call this function only once per attribute and object.

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-12-19 11:49:19 +01:00
Matthieu Patou
b8a077296a s4-drs: check if we have a domain level >= 2k8r2 as before the isRecycled do not exists and so is always False
Having a false value cause the link on removed attribute to be always
returned which is what we try to avoid.
2011-11-13 14:11:25 +01:00
Andrew Tridgell
efb3f45a81 s4-drs: added DSDB_REPL_FLAG_ADD_NCNAME to DsAddEntry call
we want new NCs to be created
2011-10-04 15:08:57 +11:00
Andrew Tridgell
0167b0447f s4-drs: allow replication of the GC partial attribute set
when a DC has the GUID_DRS_GET_FILTERED_ATTRIBUTES right on a NC, we
need to allow it to replicate if all the attributes it is asking for
are in the GC partial attribute set

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Tue Sep 20 13:47:38 CEST 2011 on sn-devel-104
2011-09-20 13:47:38 +02:00
Andrew Bartlett
e8aed9472a s4-drsuapi Allow DsAddEntry of normal objects
We previously only allowed objects of class ntDSDSA

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Fri Aug 26 15:34:21 CEST 2011 on sn-devel-104
2011-08-26 15:34:21 +02:00
Andrew Tridgell
dea4f3941b s4-drs: fixed msdcs DNS name in getncchanges 2011-08-25 07:39:39 +10:00
Matthieu Patou
4659b07eb9 s4-drs: In dcesrv_drsuapi_DsRemoveDSServer use the subtree control to delete the NTDS entry
This entry has most of the time subelements (connections between DCs)
that will forbid a simple (non recursive) delete
2011-08-10 01:44:44 +04:00
Matthieu Patou
a5ba41881c s4-dcerpc: Do not return linked attribute on deleted objects it makes W2k8R2 loops when joining s4 domains
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Wed Jul 27 00:46:56 CEST 2011 on sn-devel-104
2011-07-27 00:46:56 +02:00
Matthieu Patou
723fc5fadd s4-drs: do not return links pointed to unexistant objects
When an object is deleted, link pointed to it are marked as inactive.
When the same object is purged we do not remmove the link pointed to it
(we can't know them) so they stay in the database, it turns to be a
problem for Windows 2008.

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-07-11 14:32:45 +10:00
Andrew Tridgell
73cbcd9c99 s4-drs: added debug lines for missing linked attribute fields
this improved the logging of bugs related to linked attribute
replication

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Fri Jun 10 03:26:21 CEST 2011 on sn-devel-104
2011-06-10 03:26:21 +02:00
Andrew Tridgell
3e4c08096d s4-drs: cope with missing RMD_ADDTIME in linked attributes
upgraded links can be missing the RMD_ADDTIME field
2011-06-10 10:14:56 +10:00
Kamen Mazdrashki
647827d09c s4/getncchanges: Pre-mark extended requests as success in case a sub-function "forget" to do this 2011-05-11 21:10:53 +03:00
Kamen Mazdrashki
55916e273f s4/getncchanges: Implement placeholder for handling ex-op collection of objects
Right now it is solely based on function that handles objects
in normal DsGetNCChanges calls.
2011-05-11 21:10:53 +03:00
Kamen Mazdrashki
88a9f793aa s4/getncchanges: Move the code that collects objects into separate function 2011-05-11 21:10:52 +03:00
Kamen Mazdrashki
41496e782d s4/getncchanges: Don't mask Extended operation result - callers need it 2011-05-11 21:10:52 +03:00
Kamen Mazdrashki
232a8dfb06 s4/getncchanges: Fail extended request rather than failing whole request
in case that destination_dsa_guid is not valid
2011-05-11 21:10:51 +03:00
Jelmer Vernooij
d415a7f788 source4/rpc_server: Fix prototypes for all functions. 2011-03-19 03:20:05 +01:00
Matthias Dieter Wallnöfer
349b9b72ec s4:dsdb - we don't need to check if a DN != NULL if we call "ldb_dn_validate"
"ldb_dn_validate" is NULL-safe and does the check implicitly.

Reviewed by: Tridge
2011-03-04 22:07:24 +01:00
Matthias Dieter Wallnöfer
80995fde5a s4:drsuapi RPC server - this resembles more "samdb_is_gc"
Reviewed by: Jelmer

Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Tue Mar  1 17:57:47 CET 2011 on sn-devel-104
2011-03-01 17:57:47 +01:00
Matthias Dieter Wallnöfer
fecf925043 s4:drsuapi RPC server - check for the "SPN" attribute != NULL
The SPN attribute could derive from an untrusted source (client).

Reviewed-by: Jelmer
2011-03-01 13:55:45 +01:00
Matthias Dieter Wallnöfer
0e68867b26 s4:dsdb - always handle the attribute "options" as 32bit unsigned integer
It is defined as LDAP syntax 2.5.5.9 so no need at all to treat it as
64-bit integer.

Reviewed by: Kamenim and Metze

Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Tue Mar  1 12:46:15 CET 2011 on sn-devel-104
2011-03-01 12:46:15 +01:00
Matthias Dieter Wallnöfer
c66780332b s4:remove many invocations of "samdb_msg_add_string"
This call can be substituted by "ldb_msg_add_string". We only need to be
careful on local objects or talloc'ed ones which live shorter than the message.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2011-03-01 06:29:03 +01:00
Stefan Metzmacher
3c5f537302 s4:drsuapi/getncchanges: make sure we don't process filteres objects more than once
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Tue Feb 15 09:46:55 CET 2011 on sn-devel-104
2011-02-15 09:46:55 +01:00
Matthias Dieter Wallnöfer
40db0b8386 s4:dcesrv_drsuapi RPC server - remove unreachable statement 2010-11-29 14:48:13 +01:00
Matthias Dieter Wallnöfer
6df6364220 s4:drsuapi RPC server - fix "enum security_user_level" warning on Tru64 2010-11-27 21:50:42 +01:00
Andrew Tridgell
8310375a04 s4-drs: allow DrsReplicaGetInfo as a DC 2010-11-28 00:16:38 +11:00
Andrew Tridgell
b9cfe10945 s4-drs: fixed a crash in writspn
sam_ctx_system may be NULL for non-privileged users

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Sat Nov 13 08:52:53 UTC 2010 on sn-devel-104
2010-11-13 08:52:53 +00:00
Stefan Metzmacher
198049f3c6 s4:rpc_server/drsuapi: don't ask for constructed "distinguishedName" if we don't use it
metze
2010-11-09 22:52:55 +01:00
Stefan Metzmacher
f6e20bf52f s4:rpc_server/drsuapi: make msg_attrs static const
metze
2010-11-09 22:25:55 +01:00
Stefan Metzmacher
9fa71f8f57 s4:rpc_server/drsuapi: let dcesrv_drsuapi_DsGetNCChanges() use DSDB_SECRET_ATTRIBUTES
We should replicate all secret attributes back to other DCs.

metze
2010-11-09 22:25:53 +01:00
Matthias Dieter Wallnöfer
e2efb098ab s4:drsuapi RPC server - writespn.c - fix indentations 2010-11-08 09:59:22 +01:00
Andrew Tridgell
b38a9a8999 s4-drs: allow bypass of writespn checking for some SPNs
this allows accounts (and in particular RODCs) to make SPN updates on
their own account if they take the form SERVICE/hostname

we may be able to remove this in the future after some changes in our
ACL checking for userPrincipalName

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

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Nov  8 08:45:16 UTC 2010 on sn-devel-104
2010-11-08 08:45:16 +00:00