Michael Adam
57a290e942
s3:registry: always provision the registry, not only in smbd.
...
This will make tools like "net registry" also fill the registry
with the basic hives and keys.
Michael
2009-01-28 12:06:26 +01:00
Jelmer Vernooij
08259c1c52
Add iconv_convenience argument to size functions.
2009-01-01 04:45:33 +01:00
Jelmer Vernooij
ddcab787c4
Rename dos_errstr() to win_errstr() for consistency with Samba 4.
2008-11-01 17:19:26 +01:00
Jeremy Allison
8344e94574
Unify se_access_check with the S4 code. Will make
...
calculation of SEC_FLAG_MAXIMUM_ALLOWED much easier
for files.
Jeremy.
2008-10-31 10:51:45 -07:00
Jelmer Vernooij
2d89b52be8
Use separate make variables for libutil and libcrypto.
2008-10-18 14:28:40 +02:00
Jelmer Vernooij
4746f79d50
Use {u,}int64_t instead of SMB_BIG_{U,}INT.
2008-10-14 01:59:36 +02:00
Jeremy Allison
e5692d4cbe
Remove SEC_ACCESS. It's a uint32_t.
...
Jeremy.
2008-10-09 09:49:03 -07:00
Andrew Tridgell
0f41961e4f
first cut at adding full transactions for ctdb to samba3
...
(This used to be commit f91a3e0f7b
)
2008-08-13 11:54:08 +02:00
Michael Adam
6e16022d62
registry: use _bystring wrappers to dbwrap_trans_(store|delete).
...
Michael
(This used to be commit 103ce6c9e9
)
2008-08-05 23:40:26 +02:00
Michael Adam
a8ae5228f5
registry: bump debug level to 1 in regdb_init() if storing version string fails.
...
Higher level callers should take care of level 0 messages.
Michael
(This used to be commit b5829e04ea
)
2008-07-15 14:25:00 +02:00
Michael Adam
0586d981a7
registry: bump debug level to 1 in regdb_init() if opening the registry fails.
...
Higher level callers take care of level 0 messages or more drastic measures.
Michael
(This used to be commit 111d802b5c
)
2008-07-15 14:22:55 +02:00
Michael Adam
f587e0310c
registry: fix logic in deleting subkeys record in regdb_fetch_keys().
...
Don't cancel on NT_STATUS_NOT_FOUND error from dbwrap_delete_bystring().
So deletion of an "incomlete" registry key, i.e. one with an entry in
the list of subkeys of its parent key but not a subkey list of its own,
works again.
Michael
(This used to be commit 75be2116ac
)
2008-07-09 10:43:25 +02:00
Michael Adam
ad2e1757e7
registry: improve logic for deleting value records in regdb_store_keys().
...
Don't ignore all errors from dbwrap_delete_bystring() but
only NT_STATUS_NOT_FOUND.
Michael
(This used to be commit d7ec9b2d52
)
2008-07-09 10:43:25 +02:00
Michael Adam
70d8e57c17
registry: fetch regdb_fetch_keys() when a key exists but not its subkey-record.
...
According to the new policy a key (that is not a base key) exists,
iff it exists in the subkey list of its parent key.
Usually this subkeylist is present, but in a transaction-less
dbwrap backend (ctdb), a failing write can leave an "incomplete"
key without its own subkeylist-record. (Otherwise such an
incomplete key can be generated with e.g. tdbtool.)
For such a key net registry enumerate (e.g.) would fail.
This commit fixes this behaviour of regdb_fetch_keys().
Michael
(This used to be commit f329aaf045
)
2008-07-08 17:10:01 +02:00
Michael Adam
f7d39653f5
registry: add removal of secdesc of a key to regdb_store_keys().
...
Michael
(This used to be commit a01d8fe5e8
)
2008-05-08 18:29:10 +02:00
Michael Adam
1f279f866f
registry: add comments to removing lists in regdb_store_keys().
...
Michael
(This used to be commit 3e89217e7e
)
2008-05-08 18:29:10 +02:00
Michael Adam
9f7653bfa1
registry: change order of deleting value and subkey lists in store_keys().
...
Next step in the plan to make store_keys safer without transactions.
Michael
(This used to be commit f7c8718dea
)
2008-05-08 18:29:10 +02:00
Michael Adam
453141b395
registry: adapt comment to first step in regdb_store_keys().
...
Michael
(This used to be commit 97592db08a
)
2008-05-08 18:29:10 +02:00
Michael Adam
8c2b976208
registry: adapt comment of last step in regdb_store_keys().
...
adding number (3) ....
Michael
(This used to be commit a03a17365d
)
2008-05-08 18:29:10 +02:00
Michael Adam
315c7b7824
registry: regdb_store_keys: move storing the subkey list down after removing values.
...
Michael
(This used to be commit 986030cdda
)
2008-05-08 18:29:10 +02:00
Michael Adam
01e640f6ea
registry: add comment explaining workflow to make store_keys safe w/o transactions
...
/*
* Make the store operation as safe as possible without transactions:
*
* (1) For each subkey removed from ctr compared with old_subkeys:
*
* (a) First delete the value db entry.
*
* (b) Next delete the secdesc db record.
*
* (c) Then delete the subkey list entry.
*
* (2) Now write the list of subkeys of the parent key,
* deleting removed entries and adding new ones.
*
* (3) Finally create the subkey list entries for the added keys.
*
* This way if we crash half-way in between deleting the subkeys
* and storing the parent's list of subkeys, no old data can pop up
* out of the blue when re-adding keys later on.
*/
The workflow is going to be modified to meet this agendain the next commits.
Michael
(This used to be commit 55dd9bdd14
)
2008-05-08 18:29:10 +02:00
Michael Adam
7fa4cd2421
registry: check for existence of non base key in regdb_store_keys() before proceeding.
...
Michael
(This used to be commit 52413c94fc
)
2008-05-08 18:29:09 +02:00
Michael Adam
8e21d223f7
registry: add a function regdb_key_is_base_key() to check whether is composite.
...
This partly duplicates code from regdb_key_exists(). Maybe refactor later.
Michael
(This used to be commit c27d03bba8
)
2008-05-08 18:29:09 +02:00
Michael Adam
4095b008ee
registry: check for existence of key in regdb_set_secdesc() before proceeding.
...
Michael
(This used to be commit 347bab7f4a
)
2008-05-08 18:29:09 +02:00
Michael Adam
7d35d4e2a4
registry: check for existence of key in regdb_get_secdesc() before proceeding.
...
Michael
(This used to be commit 727e5a87c0
)
2008-05-08 18:29:09 +02:00
Michael Adam
ba94ab2ed8
registry: check for existence of key in regdb_store_values() before proceeding.
...
Michael
(This used to be commit 8a2c9d965d
)
2008-05-08 18:29:09 +02:00
Michael Adam
4394c2dafb
registry: check for existence of key in regdb_fetch_keys() before proceeding.
...
Michael
(This used to be commit cf653e101d
)
2008-05-08 18:29:09 +02:00
Michael Adam
00ce73850d
registry: check for existence of key in regdb_fetch_values() first.
...
This uses the new semantics for existence of a key.
Michael
(This used to be commit 56a58690d3
)
2008-05-08 18:29:09 +02:00
Michael Adam
284bab74a7
registry: free talloc context on error path in regdb_fetch_values().
...
Michael
(This used to be commit 978aef3a86
)
2008-05-08 18:29:09 +02:00
Michael Adam
a26880c372
registry: Implement new semantics for existence of registry key in tdb.
...
Existence of a key is defined as follows:
* If the key is a base key (without separator), the key exists
iff the corresponding entry exist in the registry tdb.
* If the key is not a base key, the key exists, iff it exists
in the list of subkeys of it's parent keyname's tdb entry.
Michael
(This used to be commit 477008367f
)
2008-05-08 18:29:09 +02:00
Michael Adam
f5cbbb5c02
registry: make normalize_reg_path() strip leading and trailing '/' chars.
...
Michael
(This used to be commit 04762cfcdb
)
2008-05-08 18:29:08 +02:00
Michael Adam
120aacfac5
registry: free temporary data in regdb_fetch_key_internal().
...
Michael
(This used to be commit 2b25f480ba
)
2008-05-08 18:29:08 +02:00
Michael Adam
79a009b876
registry: change order of arguments of regdb_fetch_key_internal()
...
list talloc context first.
Michael
(This used to be commit 23d7002b22
)
2008-05-08 18:29:08 +02:00
Michael Adam
f50002b491
registry: skip writes of existing keys in init_registry_data().
...
Michael
(This used to be commit 37dabf9317
)
2008-04-30 12:42:33 +02:00
Michael Adam
9fe870affa
registry: save writes in init_registry_data() if data does already exist.
...
This is done by first checking if all data (keys and values) exists
(using new regdb_key_exists()) and kompletely skipping all writes if it does.
Michael
(This used to be commit 7c5f1583cb
)
2008-04-30 12:42:32 +02:00
Michael Adam
ed6a9edb1e
registry: check for existence of key init_registry_key and possibly save a write.
...
Michael
(This used to be commit 3ab5a2f1b3
)
2008-04-30 12:42:32 +02:00
Michael Adam
6ec4c8631a
registry: add function regdb_key_exists() to check for existence of a key.
...
The existence of the registry key entry (and not the values entry!) is
taken as the criterion for existence.
Michael
(This used to be commit 207a0ece45
)
2008-04-30 12:42:32 +02:00
Michael Adam
167d54cc67
registry: use regdb_fetch_key_internal() in regdb_fetch_values().
...
Michael
(This used to be commit 3316541ac9
)
2008-04-30 12:42:32 +02:00
Michael Adam
6b4ed4b8f3
registry: use regdb_fetch_key_internal() in regdb_fetch_keys().
...
Michael
(This used to be commit 78f924ca05
)
2008-04-30 12:42:32 +02:00
Michael Adam
5379dda0cd
registry: add a function for fetching a tdb record for a given keystring
...
regdb_fetch_key_internal()
Michael
(This used to be commit 97bed9a236
)
2008-04-30 12:42:32 +02:00
Michael Adam
411ae73283
registry: combine talloc_strdup() and normalize_reg_path() in regdb_fetch_keys().
...
the talloc_strdup() call is just and extra allocation here.
Michael
(This used to be commit 217233349b
)
2008-04-30 12:42:32 +02:00
Michael Adam
dba75c0831
registry: use normalize_reg_path() in regdb_fetch_keys()
...
instead of handcrafting normalization.
Michael
(This used to be commit 1e4d2310d0
)
2008-04-30 12:42:31 +02:00
Michael Adam
caba2d3a64
registry: use dbwrap_fetch_bystring() in regdb_fetch_values().
...
Michael
(This used to be commit 569f9844e9
)
2008-04-30 12:42:31 +02:00
Michael Adam
9d933dedf9
registry: use dbwrap_fetch_bystring() in regdb_fetch_keys().
...
instead of using regdb->fetch and constructing tdb data
from the registry key string by hand.
Michael
(This used to be commit 87a58140f0
)
2008-04-30 12:42:31 +02:00
Michael Adam
282c9ff8ae
registry: honour the WERROR that regsubkey_ctr_addkey gives us in reg_load_tree.
...
Michael
(This used to be commit c2d9baa29e
)
2008-04-13 15:45:33 +02:00
Michael Adam
86d189dad1
registry: honour the WERROR that regsubkey_ctr_addkey gives in regdb_fetch_keys.
...
Michael
(This used to be commit 7dd7471da7
)
2008-04-13 15:41:07 +02:00
Michael Adam
a9ff941f41
registry: rename init_registry() to registry_init_full() for consistency.
...
Michael
(This used to be commit 14d82708d4
)
2008-04-13 15:33:48 +02:00
Michael Adam
281e610ff3
registry: change init_registry() to return WERROR instead of bool.
...
Michael
(This used to be commit 0b196095db
)
2008-04-13 15:33:48 +02:00
Michael Adam
6c66d5d019
registry: change registry_init_smbconf() to return WERROR instead of bool
...
Michael
(This used to be commit 7c343c6057
)
2008-04-13 15:33:48 +02:00
Michael Adam
4ae2e8c7ba
registry: refactor common part of registry initialization out.
...
into a new function registry_init_common().
Michael
(This used to be commit 5da52b95ac
)
2008-04-13 15:33:48 +02:00