Age | Commit message (Collapse) | Author | Files | Lines |
|
replication.
Just specify several DNs separated by spaces on the command line of
"net rpc vampire keytab" to get the passwords for each of these
accouns via single object replication.
Michael
(This used to be commit 6e53dc2db882d88470be5dfa1155b420fac8e6c5)
|
|
...where it belongs.
Michael
(This used to be commit 012b33f1c52df086e4f20e7494248d98fbced76a)
|
|
libnet_dssync_getncchanges().
Michael
(This used to be commit 93cda1aa0a627e81eff46547b247801aec2880a3)
|
|
Before, this used the old uptodate vector in the request...
Michael
(This used to be commit 04fb9322d5f52d5cb3d9fe2a95dbfb2481ab7f9d)
|
|
Untangle parsing of results and processing.
Make loop logic more obvious.
Call finishing operation after the loop, not inside.
Michael
(This used to be commit 47c8b3391cb1bb9656f93b55f9ea39c78b74ed36)
|
|
libnet_dssync_build_request().
Michael
(This used to be commit d745c1af405058ec23d7d0c139505576a99f9057)
|
|
I.e. replication without keeping track of the up to date vector.
Michael
(This used to be commit d4b36e447bce8692416e132ab9f53a6282f54cac)
|
|
When retreiving a diff replication, the sAMAccountName attribute is usually
not replicated. So in order to build the principle, we need to store the
sAMAccounName in the keytab, referenced by the DN of the object, so that
it can be retrieved if necessary.
It is stored in the form of SAMACCOUNTNAME/object_dn@dns_domain_name
with kvno=0 and ENCTYPE_NONE.
Michael
(This used to be commit 54e2dc1f4e0e2c7a6dcb171e51a608d831c8946e)
|
|
libnet_keytab_add_entry().
This makes libnet_keytab_remove_entries static and moves it up.
libnet_keytab_add_entry() now removes the duplicates in advance.
No special handling neede for the UTDV - this is also needed
for other entries...
Michael
(This used to be commit 3c463745445f6b64017918f442bf1021be219e83)
|
|
Michael
(This used to be commit d3354c3516b56f254583f3dd065302b27d02af2b)
|
|
Michael
(This used to be commit 9fbc3d49035123ec11cc2248f0b14661dd1e9b2d)
|
|
This will in particular allow us to store ENCTYPE_NULL.
Michael
(This used to be commit 85c7e3ae29a6f25ed0b6917ff73baea9c6c905c6)
|
|
This is a stripped down version of smb_krb5_kt_add_entry() that
takes one explicit enctype instead of an array. And it does
not neither salting of keys nor cleanup of old entries.
Michael
(This used to be commit c83e54f1eb3021d13fb0a3c3f6b556a338d2a8c3)
|
|
For debugging purposes.
Michael
(This used to be commit 6913919e3a36ebff87a882ba589d36bcd0781ee6)
|
|
new one.
Michael
(This used to be commit 717bd6f6c3ec94e3b8b5845c43717a5fbd41c38f)
|
|
This can be used to remove entries of given principal, kvno and enctype.
Michael
(This used to be commit a6f61c05b270c82f4bfce8a6850f81a09ad29087)
|
|
Michael
(This used to be commit 344428d96c9be87eae1d715a8b8fcd6ad02142f8)
|
|
Michael
(This used to be commit 484b35f319178f360e406a1bc725dca2e9d95ee3)
|
|
As with the userPrincipalName, this is for debugging purposes only (for now..).
Michael
(This used to be commit 7a1d526cba4c93bb858a60d04b6486507fc25398)
|
|
Michael
(This used to be commit d21ea83f9392c8fa002d5b924dddca4190e82d09)
|
|
Michael
(This used to be commit f3c110097f2f6c5dd329f2ca595644c6a368a552)
|
|
Not really used yet.
Note: callers use ENCTYPE_ARCFOUR_HMAC enctype for UTDV (for now).
This is what is currently stored. This is to be changed
to ENCTYPE_NULL.
Michael
(This used to be commit cb91d07413430e0e0a16846d2c44aae8c165400e)
|
|
Still unused by the libnet_keytab_add() function.
This will follow.
In preparation of supporting multiple encryption types in libnet_dssync_keytab.
Michael
(This used to be commit 447b8b1122a35d4bc0ec0f88fb46d18cddcf6eb9)
|
|
In preparation of supporting more enctyption types in libnet_dssync_keytab.
Michael
(This used to be commit 2b000a2acde8a09dabb538bdf89d7b885ce361d2)
|
|
This is triggered by setting the new "single" flag in the dssync_context
and filling the "object_dn" member with the dn of the object to be
fetched.
This call is accomplished by specifying the DRSUAPI_EXOP_REPL_OBJ
extended operation in the DsGetNCCHanges request. This variant does
honor an up-to-date-ness vectore passed in, but the answer does not
return a new up-to-dateness vector.
Call this operation as "net rpc vampire keytab /path/keytab object_dn" .
Michael
(This used to be commit f4a01178a3d8d71f416a3b67ce6b872420f211c0)
|
|
Also store the new uptodateness vector in the backend after completion
and retrieve the old vector before sending the DsGetNCChanges request.
This effectively accomplishes differential replication.
Michael
(This used to be commit a2a88808df16d153f45337b740391d419d87e87a)
|
|
It is a calculated attribute that won't get distributed via replication.
Michael
(This used to be commit d75b7a2052f1e447f2b3b63fdb054abef4403edf)
|
|
supported_extenstion
that have been recorded in the remote_info28 in the dssync_context.
Michael
(This used to be commit 3a2a69137e69c4bd0faa6af22d17e11dac022049)
|
|
This extracts the info24 data in case this is what was returned (instead of info28).
E.g. windows 2000 returns info24.
Michael
(This used to be commit 61b41aa615d5d46305653845584df7b1803f07ec)
|
|
to keep track of what the server told us upon DsBind.
Michael
(This used to be commit bf17d6af6104d20019a43e5486257085b9786793)
|
|
Michael
(This used to be commit 7fabe2567d0bd12fe3ade1d00b94b6c403fe79b5)
|
|
The startup operation should get the old up-to-date-ness vector from the backend
and the finish operation should store the new vector to the backend after replication.
This adds the change of the signatures of the operations ot the dssync_ops struct
and the implementation for the keytab ops. The up-to-date-ness vector is stored
under the principal constructed as UTDV/$naming_context_dn@$dns_domain_name.
The vector is still uninterpreted in libnet_dssync_process().
This will be the next step...
This code is essentially by Metze.
Michael
(This used to be commit 01318fb27a1aa9e5fed0d4dd882a123ab568ac37)
|
|
that searches and fetches an entry from a keytab file by principal and kvno.
This code is by metze.
Michael
(This used to be commit a51a60066b6703fc4e5db3536903abf1cdaca885)
|
|
Michael
(This used to be commit 61f071de92a7011c70f72dc31fef4430ffb1515a)
|
|
This will allow to construct principals of the form PREFIX/name@domain
Michael
(This used to be commit 7dd32b56a65574db95f4a0e136f54bd73862c59f)
|
|
Michael
(This used to be commit e6f6e61da46f02bb2676c705974adc26bdfa2623)
|
|
add_to_keytab_entries()
Michael
(This used to be commit 79151db6eae234a1f9e5131b7776689a4f03a0ef)
|
|
This remove static a variable for the keytab context in the keytab
processing function and simplifies the signature. The keytab context
is instead in the new private data member of the dssync_context struct.
This is in preparation of adding support for keeping track of the
up-to-date-ness vector, in order to be able to sync diffs instead
of the whole database.
Michael
(This used to be commit c51c3339f35e3bd921080d2e226e2422fc23e1e6)
|
|
Guenther
(This used to be commit d46f648d2e25ad712138f02e5060288278f4c1b1)
|
|
Guenther
(This used to be commit 2ed4ce0bf1723e35a6c5dfa7f8fa58fb9c7ab469)
|
|
Guenther
(This used to be commit 7e9fa2c5396d3663e83ffbf90475473fdb509871)
|
|
Guenther
(This used to be commit 2b262ca20de2a41833f68a88646a8df4d9507782)
|
|
Guenther
(This used to be commit 4cce94d464b16d29b638da3a581d98a237959b63)
|
|
Guenther
(This used to be commit 956c949dc739a8b3e9de3bb6f1af8e0e8b18dc98)
|
|
Guenther
(This used to be commit 97f7f9f21f17e8414de15953cf4eaa9959dc6f75)
|
|
Jeremy.
(This used to be commit 1db7e00a5400863fd5dbb81c1a4c6ea6092d0495)
|
|
Jeremy.
(This used to be commit 6da33797b0549a2da7dc0fa7ee21dc5e8a6b1459)
|
|
create_builtin_administrators
The Debug messages in create_builtin_users and create_builtin_users have now
been encapsulated in add_sid_to_builtin.
(This used to be commit ca153139b1dced07c196aac93dbc9d9428d98124)
|
|
Previously this was done at token creation time if the Administrators and Users
builtins hadn't been created yet. A major drawback to this approach is that if
a customer is joined to a domain and decides they want to join a different
domain, the domain groups from this new domain will not be added to the
builtins.
It would be ideal if these groups could be added exclusively at domain join
time, but we can't rely solely on that because there are cases where winbindd
must be running to allocate new gids for the builtins. In the future if there
is a way to allocate gids for builtins without running winbindd, this code
can be removed from create_local_nt_token.
- Made create_builtin_users and create_builtin_administrators non-static so
they can be called from libnet
- Added a new function to libnet_join that will make a best effort to add
domain administrators and domain users to BUILTIN\Administrators and
BUILTIN\Users, respectively. If the builtins don't exist yet, winbindd must be
running to allocate new gids, but if the builtins already exist, the domain
groups will be added even if winbindd is not running. In the case of a
failure the error will be logged, but the join will not be failed.
- Plumbed libnet_join_add_dom_rids_to_builtins into the join post processing.
(This used to be commit e92faf5996cadac480deb60a4f6232eea90b00f6)
|
|
the new helper functions.
- Modified create_builtin_administrators and add_builtin_administrators to take
in the domain sid to reduce the number of times it needs to be looked up.
- Changed create_builtin_administrators to call the new helper functions.
- Changed create_local_nt_token to call the new version of
create_builtin_administrators and handle the new error that can be returned.
- Made it more explicit that add_builtin_administrators is only called when
winbindd can't be pinged.
(This used to be commit f6411ccb4a1530034e481e1c63b6114a93317b29)
|