1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-22 16:23:49 +03:00
Commit Graph

326 Commits

Author SHA1 Message Date
Stefan Metzmacher
e20b53f6fe r21434: - get rid of "krb5Key"
- use "sambaPassword" only as virtual attribute for passing
  the cleartext password (in unix charset) into the ldb layer
- store des-cbc-crc, des-cbc-md5 keys in the Primary:Kerberos
  blob to match w2k and w2k3
- aes key support is disabled by default, as we don't know
  exacly how longhorn stores them. use password_hash:create_aes_key=yes
  to force creation of them.
- store the cleartext password in the Primary:CLEARTEXT blob
  if configured

TODO:
 - find out how longhorn stores aes keys
 - find out how the Primary:WDigest blob needs to be constructed
   (not supported by w2k)

metze
2007-10-10 14:48:34 -05:00
Stefan Metzmacher
97fc985bd0 r21395: fix comments
metze
2007-10-10 14:48:25 -05:00
Stefan Metzmacher
e96aa89800 r21364: cosmetic change: it's nicer to use the KEYTYPE_ macro
for the keytype field...

metze
2007-10-10 14:48:20 -05:00
Stefan Metzmacher
dc4242c09c r21362: rename:
"ntPwdHash" => "unicodePwd"
"lmPwdHash" => "dBCSPwd"
"sambaLMPwdHistory" => "lmPwdHistory"
"sambaNTPwdHistory" => "ntPwdHistory"

Note: you need to reprovision after this change!

metze
2007-10-10 14:48:20 -05:00
Stefan Metzmacher
23adca4e34 r21315: ldb now supports filters like (&(dn=%s)(&(objectClass=kerberosSecret)(privateKeytab=*))) again
we can use such a filter:-)

we should only update the keytab for records matching this filter,
that means we need to do a search before calling cli_credentials_set_secrets()

metze
2007-10-10 14:48:09 -05:00
Stefan Metzmacher
608d24f001 r21306: fix the RPC-LSA tests the admin couldn't no longer get the 'currentValue'
attribute...

this needs more works, but make it work again for now

metze
2007-10-10 14:48:07 -05:00
Andrew Bartlett
c3977b4bae r21179: Anything more complex than this causes the keytab never to be updated...
Andrew Bartlett
2007-10-10 14:44:43 -05:00
Andrew Bartlett
6ce557a1af r21135: Instead of having hooks to update keytabs as an explicit thing, update
them as a hook on ldb modify, via a module.

This should allow the secrets.ldb to be edited by the admin, and to
have things update in the on-disk keytab just as an in-memory keytab
would.

This isn't really a dsdb plugin, but I don't have any other good ideas
about where to put it.

Andrew Bartlett
2007-10-10 14:44:31 -05:00
Stefan Metzmacher
fde0aabd9a r20975: - implement handling of meta data an on originating add
there're a few things TODO, but it's a good start

we need to research if an originating change causes the replUpToDateVector
attribute to change...(I assume it, but needs testing)

metze
2007-10-10 14:44:06 -05:00
Stefan Metzmacher
b7d48274a7 r20971: we don't need this check twice:-)
metze
2007-10-10 14:44:05 -05:00
Stefan Metzmacher
a5200ef0ca r20968: - add functions to sort the meta data and attribute arrays
- we should use them before we store records to disk

metze
2007-10-10 14:44:04 -05:00
Stefan Metzmacher
cd32613407 r20957: a value of FF0000000000000000000000000000000000000000 isn't stored as schemaInfo
so we need to use it as value if nothing is stored

metze
2007-10-10 14:44:02 -05:00
Stefan Metzmacher
f062f09fbf r20923: only allow extended operations for SYSTEM or administrators for now
metze
2007-10-10 14:43:53 -05:00
Stefan Metzmacher
fc5319e927 r20921: - only give password attributes to the SYSTEM account
- but SYSTEM and administrators can change them

metze
2007-10-10 14:43:52 -05:00
Stefan Metzmacher
7108d62cb0 r20909: add a module that implements the LDAP_CONTROL_SHOW_DELETED_OID control
it hides objects with isDeleted=TRUE by default, and let them through
if the control is present

metze
2007-10-10 14:43:51 -05:00
Stefan Metzmacher
4588e2522b r20902: don't crash if the object isn't there yet
metze
2007-10-10 14:43:50 -05:00
Stefan Metzmacher
308f9cf822 r20871: implement the validFSMOs constructed attribute on the rootdse
for the schema, domain naming and pdc fsmo roles

infrastructure and rid manager will be added later,
when we have module for them

metze
2007-10-10 14:43:43 -05:00
Stefan Metzmacher
7862fcdbb5 r20870: implement the constructed attributes dsSchemaAttrCount,
dsSchemaClassCount and dsSchemaPrefixCount on the rootdse

having a loaded dsdb_schema make things so easy...:-)

metze
2007-10-10 14:43:43 -05:00
Stefan Metzmacher
341fae8e84 r20867: add modules to handle the domain naming and the pdc FSMO Roles
metze
2007-10-10 14:43:42 -05:00
Stefan Metzmacher
63f4634443 r20866: - fix debug messages missing new lines
- use LDB_DEBUG_WARNING in some places
- debug if we're the schema master

metze
2007-10-10 14:43:42 -05:00
Stefan Metzmacher
3f441741a6 r20864: move common stuff into an extra function
metze
2007-10-10 14:43:41 -05:00
Stefan Metzmacher
b1377a2e24 r20863: check that there's a current partition control attached to the request
metze
2007-10-10 14:43:41 -05:00
Stefan Metzmacher
b3fce383d3 r20855: pass the DSDB_CONTROL_CURRENT_PARTITION_OID control also for the
send_all case

metze
2007-10-10 14:43:40 -05:00
Stefan Metzmacher
06a46b1db4 r20853: attach the DSDB_CONTROL_CURRENT_PARTITION_OID control when requests
are passed to a specific partition

metze
2007-10-10 14:43:40 -05:00
Stefan Metzmacher
0d75cca6f3 r20849: first step to move away from using find_backend() and use find_partition()
instead

metze
2007-10-10 14:43:39 -05:00
Stefan Metzmacher
3d313f08c7 r20847: - split some code out into a new function find_partition()
- make all functions static

metze
2007-10-10 14:43:39 -05:00
Stefan Metzmacher
684eee52e8 r20826: make the dsdb_control_current_partition struct public and allocate an oid for the
control

metze
2007-10-10 14:43:37 -05:00
Stefan Metzmacher
e5de40f8c2 r20809: rename struct partition into struct dsdb_control_current_partition
we'll soon pass this down as DSDB_CONTROL_CURRENT_PARTITION_OID control
so that the repl_meta_data module knows where to update the replUpToDateVector
attribute

metze
2007-10-10 14:43:34 -05:00
Stefan Metzmacher
c42dab21fb r20780: keep a dsdb_schema_fsmo struct as private data
and remember if we're the schema master

metze
2007-10-10 14:40:53 -05:00
Stefan Metzmacher
0ef90769b4 r20778: we don't need a talloc_steal here
metze
2007-10-10 14:40:53 -05:00
Stefan Metzmacher
fc1a836ecc r20776: require a loaded dsdb_schema for originating add and modify operations
(later we'll require it for all originating changes...)

metze
2007-10-10 14:40:52 -05:00
Stefan Metzmacher
d78de0fb68 r20771: add an ldb module which will force the Schema FSMO Role Owner
constraints and it also loads the dsdb_schema at startup.

currently it only loads the dsdb_schema

metze
2007-10-10 14:40:51 -05:00
Stefan Metzmacher
a934da4dcf r20762: load the default dn's after the rootdse module is initialized,
so that following module can access the default dn's.

metze
2007-10-10 14:40:47 -05:00
Stefan Metzmacher
c8f5aad40a r20760: also handle the case where no private data is attached to the module
metze
2007-10-10 14:40:46 -05:00
Stefan Metzmacher
2e79863d54 r20729: add a version number to struct dsdb_extended_replicated_objects
metze
2007-10-10 14:40:33 -05:00
Stefan Metzmacher
4380cc9ed6 r20728: the DSDB_CONTROL_REPLICATED_OBJECT_OID control isn't used anymore
because we now use DSDB_EXTENDED_REPLICATED_OBJECTS_OID extended operation

metze
2007-10-10 14:40:32 -05:00
Stefan Metzmacher
262e42123d r20727: implement basic merging of replicated objects when it already exist
in the ldb

metze
2007-10-10 14:40:32 -05:00
Stefan Metzmacher
0ecb07e052 r20726: - only add the rdn attribute and it's meta_data when the 'name' attribute is there
- add the values for objectGUID and whenChanged inside the ldb module,
  so that the ldb module has only replicated attributes as input

metze
2007-10-10 14:40:32 -05:00
Stefan Metzmacher
fbb1f85e32 r20716: add a dsdb_cache ldb module which will load the dsdb_schema and other things
on startup into memory structures in future.

metze
2007-10-10 14:40:31 -05:00
Stefan Metzmacher
cd654f20e1 r20713: sort the cursors in replUpToDateVector by source_dsa_invocation_id,
w2k3 seems to do the same.

It's later useful, when we would have a large array
be could use a binary search

metze
2007-10-10 14:40:30 -05:00
Stefan Metzmacher
665d8f9626 r20710: update or create the "repsFrom" values after applying replicated objects
metze
2007-10-10 14:40:30 -05:00
Stefan Metzmacher
a31e017e53 r20709: pass a repsFromTo1 struct down as it contains all needed info for the source dsa
and the highwater mark vector

metze
2007-10-10 14:40:29 -05:00
Stefan Metzmacher
c9e7a58f6a r20705: store the "replUpToDateVector" attribute in DSDB_EXTENDED_REPLICATED_OBJECTS
metze
2007-10-10 14:40:28 -05:00
Stefan Metzmacher
da4ff0e7cc r20681: implement the DSDB_EXTENDED_REPLICATED_OBJECTS operation.
the merging of existing objects is not implemented yet...

there are a few ifdef REPLMD_FULL_ASYNC because we need to workarouns
ldb's async infrastructure (which don't handle full async sub requests nicely)

metze
2007-10-10 14:40:21 -05:00
Stefan Metzmacher
88051a82c4 r20679: make the init_handle stuff a bit easier and get rid of really ugly talloc_get_type()
usage

simo: if you change more modules, please include also this change

metze
2007-10-10 14:40:20 -05:00
Andrew Bartlett
5aa2195ec2 r20622: Add in a hack to avoid permitting searches on the value of protected
attributes.

Andrew Bartlett
2007-10-10 14:37:16 -05:00
Stefan Metzmacher
0ed53c6d0f r20599: - forward extended operations in the partitions module
- by default the operations goes to all partitions
- but some wellkown ones will go to just one partition
  (DSDB_EXTENDED_REPLICATED_OBJECTS_OID for now)

I'll soon change the partitions module so that it'll attach a
DSDB_CONTROL_PARTITION_CONTEXT_OID control to give
the repl_meta_data or other partition specific modules a chance to
to know for which partition it should work.

metze
2007-10-10 14:37:12 -05:00
Stefan Metzmacher
ef3b325db0 r20587: prepare the DSDB_EXTENDED_REPLICATED_OBJECTS_OID handling
metze
2007-10-10 14:37:08 -05:00
Stefan Metzmacher
a4d5e0126c r20580: pass the DSDB_CONTROL_REPLICATED_OBJECT_OID with the ldb_add request
when applying replicated objects.

the samldb module ignores such requests now...
and the repl_meta_data module has different functions
for the replicated and originating cases...

metze
2007-10-10 14:37:06 -05:00
Stefan Metzmacher
46df7ff6e5 r20529: very, very ugly...
But this is currently needed to make regpatch linking in
the dsdb/schema/schema_*.o object files.

the problem is that the linker doesn't find any references to public symbols
in this files and removes them from the link list.

gnu ld has a --whole-archive option, but it seems to be not portable...

I think the solution with prelinking using 'ld -r' to create one object file
for a subsystem instead of using 'ar -rcs' to create an archive for a subsystem...

jelmer: any ideas about this problem?

metze
2007-10-10 14:36:49 -05:00