samba.git
16 years agoloadparm: add funcion lp_load_with_registry_shares().
Michael Adam [Thu, 15 May 2008 00:39:45 +0000 (02:39 +0200)]
loadparm: add funcion lp_load_with_registry_shares().

This is like lp_load(), except that it will load the
registry shares into the services aarray when registry
shares are activated.

Michael

16 years agoloadparm: add call to do_section() to process_registry_service().
Michael Adam [Thu, 15 May 2008 00:39:02 +0000 (02:39 +0200)]
loadparm: add call to do_section() to process_registry_service().

Michael

16 years agoloadparm: add parameter allow_registry_shares to lp_load_ex().
Michael Adam [Thu, 15 May 2008 00:25:34 +0000 (02:25 +0200)]
loadparm: add parameter allow_registry_shares to lp_load_ex().

This allows for registry shares to be activated, i.e. loaded into
the services array at lp_load() time.

Michael

16 years agoloadparm: add a function process_registry_shares()
Michael Adam [Thu, 15 May 2008 00:15:20 +0000 (02:15 +0200)]
loadparm: add a function process_registry_shares()

This loads the shares defined in registry into the services array.

Michael

16 years agoloadparm: refactor processing of service out of process_registry_globals()
Michael Adam [Thu, 15 May 2008 00:08:14 +0000 (02:08 +0200)]
loadparm: refactor processing of service out of process_registry_globals()

into new function process_registry_service().

Michael

16 years agoloadparm: refactor initalization of registry config out into lp_smbconf_ctx().
Michael Adam [Wed, 14 May 2008 23:40:11 +0000 (01:40 +0200)]
loadparm: refactor initalization of registry config out into lp_smbconf_ctx().

Michael

16 years agoFix Bug #5465 (joining with createcomputer=ou1/ou2/ou3).
Günther Deschner [Wed, 14 May 2008 21:50:25 +0000 (23:50 +0200)]
Fix Bug #5465 (joining with createcomputer=ou1/ou2/ou3).

Guenther

16 years agoFix bug #5464. Pointed out by Herb @ Connectathon. In fork_domain_child() we call :
Jeremy Allison [Wed, 14 May 2008 21:10:39 +0000 (14:10 -0700)]
Fix bug #5464. Pointed out by Herb @ Connectathon. In fork_domain_child() we call :

CatchChild();

*before* we fork the domain child. This call establishes a signal handler that
eats SIGCLD signals and doesn't call sys_select_signal() as the main daemon
SIGCLD handler should do. This causes the parent to ignore dead children and
time out, instead of calling winbind_child_died() on receipt of the signal. The
correct fix is to move the CatchChild call into the child code after the fork.

Jeremy.

16 years agoEnsure we don't keep searching for sharename if it's
Jeremy Allison [Wed, 14 May 2008 21:10:05 +0000 (14:10 -0700)]
Ensure we don't keep searching for sharename if it's
not the start of the list.
Jeremy.

16 years agoconfigure: Kill linker warnings about 32bit libs on 64bit Linux.
Kai Blin [Mon, 12 May 2008 12:39:03 +0000 (14:39 +0200)]
configure: Kill linker warnings about 32bit libs on 64bit Linux.

16 years agodsgetdcname: In case we didn't get a mailslot reply, don't cache the nodestatus.
Günther Deschner [Wed, 14 May 2008 07:42:23 +0000 (09:42 +0200)]
dsgetdcname: In case we didn't get a mailslot reply, don't cache the nodestatus.

Guenther

16 years agomailslot: Also pick domain name and pdc name from type 15 cldap reply.
Günther Deschner [Wed, 14 May 2008 07:41:24 +0000 (09:41 +0200)]
mailslot: Also pick domain name and pdc name from type 15 cldap reply.

Guenther

16 years agoAFS: The dummy afs_createtoken_str should return NULL, not False.
Kai Blin [Wed, 14 May 2008 07:02:22 +0000 (09:02 +0200)]
AFS: The dummy afs_createtoken_str should return NULL, not False.

16 years agoMerge branch 'v3-3-test' of git://git.samba.org/samba into 3.3-test
Jim McDonough [Tue, 13 May 2008 22:42:18 +0000 (18:42 -0400)]
Merge branch 'v3-3-test' of git://git.samba.org/samba into 3.3-test

16 years agoFix debug message.
Jeremy Allison [Tue, 13 May 2008 22:25:26 +0000 (15:25 -0700)]
Fix debug message.
Jeremy.

16 years agoSecond part of patch for bug #5460. Cope with pathnames
Jeremy Allison [Tue, 13 May 2008 22:02:11 +0000 (15:02 -0700)]
Second part of patch for bug #5460. Cope with pathnames
that don't look like \xxx\yyy, cope with arbitrary length.
Jeremy.

16 years agoFix bug #5460. The problem is RHEL5.0 shipped a CIFS client
Jeremy Allison [Tue, 13 May 2008 21:01:19 +0000 (14:01 -0700)]
Fix bug #5460. The problem is RHEL5.0 shipped a CIFS client
that sets the DFS bit on pathnames but doesn't
send DFS paths. This causes lookups to fail as
the smbd/msdfs.c code now just eats the first
two parts of the pathname and uses the rest as
the local path. The previous hostname check
used to protect us from that as we knew that
when the hostname was invalid it was a local
path (and a broken client).
I didn't want to put that check back in, but
came up with another idea - even though the
hostname can be a different one, the sharename
must be valid on this machine. So we can check
for a valid sharename instead.
Jeremy.

16 years agoEnable winbind child processes to do something with signals,
Jim McDonough [Tue, 13 May 2008 20:57:01 +0000 (16:57 -0400)]
Enable winbind child processes to do something with signals,
in particular closing and reopening logs on SIGHUP.

Conflicts:

source/winbindd/winbindd.c

16 years agolibwbclient: Abstract the DS_XXX flags for DsGetDcName().
coffeedude [Tue, 13 May 2008 17:58:52 +0000 (12:58 -0500)]
libwbclient: Abstract the DS_XXX flags for DsGetDcName().

The wbcLookupDomainController() call supports a set of flags
defined in wbclient.h.  Add a mapping function between these
flags and the original DS_XXX flags in order to prevent having
to include the generated RPC headers in wbclient.h.

16 years agolibwbclient: Add wbcLogoffUser() and wbcLookupDomainController().
coffeedude [Tue, 13 May 2008 17:52:20 +0000 (12:52 -0500)]
libwbclient: Add wbcLogoffUser() and wbcLookupDomainController().

Add new APIs calls for WINBINDD_PAM_LOGOFF and WINBINDD_DSGETDCNAME
ops.

16 years agoFix signing problem in the client with transs requests
Volker Lendecke [Tue, 13 May 2008 14:23:19 +0000 (16:23 +0200)]
Fix signing problem in the client with transs requests

This is a different fix than Jeremy put into 3-0-test with 040db1ce85 and other
branches with different hashes. Jeremy, I think your fix led to bug 5436, so I
reverted your fix. This fixes the original problem I found with the transs
requests for large rpc queries in a different way. Please check!

Thanks,

Volker

16 years agoRevert "Fix signing bug found by Volker. That one was *subtle*."
Volker Lendecke [Tue, 13 May 2008 13:19:46 +0000 (15:19 +0200)]
Revert "Fix signing bug found by Volker. That one was *subtle*."

This reverts commit 816aea6c1a426eb2450061b847729e22bdac33a0.

16 years agotests_all.sh: Do not execute $SMB4TORTURE --version if it is not available.
Karolin Seeger [Tue, 13 May 2008 12:01:52 +0000 (14:01 +0200)]
tests_all.sh: Do not execute $SMB4TORTURE --version if it is not available.

Improve error message if no SMB4TORTURE is available.

Karolin

16 years agoman pages: Correct version string.
Karolin Seeger [Tue, 13 May 2008 08:18:37 +0000 (10:18 +0200)]
man pages: Correct version string.

As Samba 3.2 will be out soon, man pages should be correct for both versions,
Samba 3.0 and 3.2.

Karolin

16 years agonet ads: Upper case he realm name when calling kinit() using machine creds.
coffeedude [Mon, 12 May 2008 22:33:01 +0000 (17:33 -0500)]
net ads: Upper case he realm name when calling kinit() using machine creds.

Needed fix for the DNS Update option as part of "net ads join"

16 years agoMake sure we have serversupplied_info->sanitized_username everywhere
Volker Lendecke [Sat, 10 May 2008 22:25:55 +0000 (00:25 +0200)]
Make sure we have serversupplied_info->sanitized_username everywhere

16 years agoWith force user, we have the same base token for all vuids
Volker Lendecke [Sat, 10 May 2008 22:25:27 +0000 (00:25 +0200)]
With force user, we have the same base token for all vuids

16 years agoFix a memleak in new auth_serversupplied code
Volker Lendecke [Sat, 10 May 2008 22:23:01 +0000 (00:23 +0200)]
Fix a memleak in new auth_serversupplied code

16 years agoFix a memleak
Volker Lendecke [Sat, 10 May 2008 21:27:21 +0000 (23:27 +0200)]
Fix a memleak

16 years agoRemove "user" from connection_struct
Volker Lendecke [Thu, 8 May 2008 14:06:42 +0000 (16:06 +0200)]
Remove "user" from connection_struct

16 years agoAdd a comment explaining server_info in connection_struct
Volker Lendecke [Sat, 10 May 2008 09:01:26 +0000 (11:01 +0200)]
Add a comment explaining server_info in connection_struct

16 years agoRemove the unix token info from connection_struct
Volker Lendecke [Thu, 8 May 2008 13:53:55 +0000 (15:53 +0200)]
Remove the unix token info from connection_struct

16 years agoReplace nt_user_token with server_info in connection_struct
Volker Lendecke [Thu, 8 May 2008 13:09:02 +0000 (15:09 +0200)]
Replace nt_user_token with server_info in connection_struct

16 years agoEmpty some nonempty blank lines
Volker Lendecke [Thu, 8 May 2008 10:14:43 +0000 (12:14 +0200)]
Empty some nonempty blank lines

16 years agoUse TALLOC_ZERO_P instead of separate ZERO_STRUCTP in dup_nt_token
Volker Lendecke [Thu, 8 May 2008 09:49:14 +0000 (11:49 +0200)]
Use TALLOC_ZERO_P instead of separate ZERO_STRUCTP in dup_nt_token

16 years agoMake use of talloc_tos() in change_to_user()
Volker Lendecke [Thu, 8 May 2008 09:47:43 +0000 (11:47 +0200)]
Make use of talloc_tos() in change_to_user()

16 years agoNext try at making the vuid cache circular
Volker Lendecke [Wed, 7 May 2008 13:51:42 +0000 (15:51 +0200)]
Next try at making the vuid cache circular

Jeremy, please check!

16 years agofind_forced_group can directly change the token in server_info
Volker Lendecke [Wed, 7 May 2008 12:36:15 +0000 (14:36 +0200)]
find_forced_group can directly change the token in server_info

Now that we have a token that is correctly set up with gids already, this saves
manual translation of the SIDs to GIDs.

16 years agoAdd an error return in find_forced_group()
Volker Lendecke [Wed, 7 May 2008 12:28:23 +0000 (14:28 +0200)]
Add an error return in find_forced_group()

16 years agoDo not unnecessarily mess with the results in find_forced_group()
Volker Lendecke [Wed, 7 May 2008 12:25:47 +0000 (14:25 +0200)]
Do not unnecessarily mess with the results in find_forced_group()

16 years agoReplace find_forced_user by a direct call to make_serverinfo_from_username
Volker Lendecke [Wed, 7 May 2008 11:16:20 +0000 (13:16 +0200)]
Replace find_forced_user by a direct call to make_serverinfo_from_username

16 years agoSimplify make_connection_snum: Copy connection_struct info from server_info
Volker Lendecke [Wed, 7 May 2008 10:42:36 +0000 (12:42 +0200)]
Simplify make_connection_snum: Copy connection_struct info from server_info

16 years agoAdd "server_info" to connection_struct
Volker Lendecke [Wed, 7 May 2008 10:20:18 +0000 (12:20 +0200)]
Add "server_info" to connection_struct

This will replace all the user identity stuff in connection_struct, for now it
is just a source where the other fields in connection_struct are filled from.

16 years agoRemove unused "force_group" from connection_struct
Volker Lendecke [Tue, 6 May 2008 20:12:04 +0000 (22:12 +0200)]
Remove unused "force_group" from connection_struct

16 years ago"status" -> "pstatus" in make_connection_snum
Volker Lendecke [Tue, 6 May 2008 19:50:08 +0000 (21:50 +0200)]
"status" -> "pstatus" in make_connection_snum

16 years agoAdd create_connection_server_info() -- not used yet
Volker Lendecke [Tue, 6 May 2008 15:48:22 +0000 (17:48 +0200)]
Add create_connection_server_info() -- not used yet

16 years agoAdd function make_serverinfo_from_username()
Volker Lendecke [Tue, 6 May 2008 15:47:26 +0000 (17:47 +0200)]
Add function make_serverinfo_from_username()

This will be used for 'security=share' and 'force user'

16 years agoAdd a mem_ctx argument to make_server_info_guest()
Volker Lendecke [Tue, 6 May 2008 15:26:49 +0000 (17:26 +0200)]
Add a mem_ctx argument to make_server_info_guest()

16 years agoMake copy_serverinfo non-static, add mem_ctx
Volker Lendecke [Tue, 6 May 2008 14:10:23 +0000 (16:10 +0200)]
Make copy_serverinfo non-static, add mem_ctx

16 years agoFix the build with DNS_UPDATES
Volker Lendecke [Sat, 10 May 2008 08:58:23 +0000 (10:58 +0200)]
Fix the build with DNS_UPDATES

16 years agonet: more whitespace cleanup
Kai Blin [Thu, 8 May 2008 09:23:38 +0000 (11:23 +0200)]
net: more whitespace cleanup

16 years agonet: Remove globals
Kai Blin [Fri, 9 May 2008 21:22:12 +0000 (23:22 +0200)]
net: Remove globals

16 years agonet: Some whitespace clean-up.
Kai Blin [Thu, 8 May 2008 07:14:16 +0000 (09:14 +0200)]
net: Some whitespace clean-up.

16 years agonet: Fix usage string.
Kai Blin [Fri, 9 May 2008 20:50:04 +0000 (22:50 +0200)]
net: Fix usage string.

16 years agopackaging: remove references to smbmount and friends from samba-ctdb spec file
Michael Adam [Fri, 9 May 2008 23:28:58 +0000 (01:28 +0200)]
packaging: remove references to smbmount and friends from samba-ctdb spec file

Michael

16 years agopackaging: fix GPL version in samba-ctdb specfile.
Michael Adam [Fri, 9 May 2008 23:26:52 +0000 (01:26 +0200)]
packaging: fix GPL version in samba-ctdb specfile.

Michael

16 years agopackaging: rename RHEL4-CTDB --> RHEL-CTDB
Michael Adam [Fri, 9 May 2008 23:23:10 +0000 (01:23 +0200)]
packaging: rename RHEL4-CTDB --> RHEL-CTDB

Michael

16 years agopackaging: add x perms to samba-ctdb filter-requires-samba.sh script.
Michael Adam [Sat, 10 May 2008 00:18:55 +0000 (02:18 +0200)]
packaging: add x perms to samba-ctdb filter-requires-samba.sh script.

Michael

16 years agopackaging: add x perms to samba-ctdb makerpms.sh script.
Michael Adam [Sat, 10 May 2008 00:18:08 +0000 (02:18 +0200)]
packaging: add x perms to samba-ctdb makerpms.sh script.

Michael

16 years agofixed version in spec file
Andrew Tridgell [Fri, 9 May 2008 01:21:16 +0000 (11:21 +1000)]
fixed version in spec file

16 years agomerge in spec file from Michael
Andrew Tridgell [Fri, 9 May 2008 00:06:03 +0000 (10:06 +1000)]
merge in spec file from Michael

16 years agoloadparm: Fix activation of registry globals in lp_load_*.
Michael Adam [Fri, 9 May 2008 22:13:11 +0000 (00:13 +0200)]
loadparm: Fix activation of registry globals in lp_load_*.

This completes bba04a8fba6fd5cf62578733cfdabea590e8ff51:
The reverted logic has to be put into the callers
lp_load() and lp_load_initial_only() of lp_load_ex(), too.
Silly bug.

Michael

16 years agoFix replacement getpass. If we ^C at the prompt echo was left off.
Jeremy Allison [Fri, 9 May 2008 21:51:45 +0000 (14:51 -0700)]
Fix replacement getpass. If we ^C at the prompt echo was left off.
Jeremy.

16 years agoRemove a couple of uses of SMB_VFS_GET_NT_ACL(), use
Jeremy Allison [Fri, 9 May 2008 18:14:45 +0000 (11:14 -0700)]
Remove a couple of uses of SMB_VFS_GET_NT_ACL(), use
SMB_VFS_FGET_NT_ACL instead. I'd like to ultimately
remove SMB_VFS_GET_NT_ACL.
Jeremy.

16 years agodsgetdcname: add reminder that we need to support ipv6 here once we know how.
Günther Deschner [Fri, 9 May 2008 15:56:04 +0000 (17:56 +0200)]
dsgetdcname: add reminder that we need to support ipv6 here once we know how.

Guenther

16 years agodsgetdcname: make use of nbt_cldap_netlogon_15.
Günther Deschner [Fri, 9 May 2008 15:41:50 +0000 (17:41 +0200)]
dsgetdcname: make use of nbt_cldap_netlogon_15.

Guenther

16 years agore-run make idl.
Günther Deschner [Fri, 9 May 2008 15:40:29 +0000 (17:40 +0200)]
re-run make idl.

Guenther

16 years agoIDL: Fix nbt_cldap_netlogon union, removing the default member.
Günther Deschner [Fri, 9 May 2008 15:39:53 +0000 (17:39 +0200)]
IDL: Fix nbt_cldap_netlogon union, removing the default member.

Guenther

16 years agoIDL: Add nbt_cldap_netlogon_15.
Günther Deschner [Fri, 9 May 2008 15:24:38 +0000 (17:24 +0200)]
IDL: Add nbt_cldap_netlogon_15.

Guenther

16 years agodsgetdcname: use existing messaging_context if possible.
Günther Deschner [Thu, 8 May 2008 16:32:22 +0000 (18:32 +0200)]
dsgetdcname: use existing messaging_context if possible.

Guenther

16 years agodsgetdcname: the forest name should never be empty.
Günther Deschner [Thu, 8 May 2008 12:24:46 +0000 (14:24 +0200)]
dsgetdcname: the forest name should never be empty.

Guenther

16 years agoUse strip_hostname after dsgetdcname/getdcname calls.
Günther Deschner [Thu, 8 May 2008 12:23:20 +0000 (14:23 +0200)]
Use strip_hostname after dsgetdcname/getdcname calls.

Guenther

16 years agoutil: add strip_hostname() to strip of leading '\\'.
Günther Deschner [Thu, 8 May 2008 12:16:50 +0000 (14:16 +0200)]
util: add strip_hostname() to strip of leading '\\'.

Guenther

16 years agodsgetdcname: add map_dc_and_domain_names() for consolidating returned names.
Günther Deschner [Thu, 8 May 2008 10:16:04 +0000 (12:16 +0200)]
dsgetdcname: add map_dc_and_domain_names() for consolidating returned names.

Guenther

16 years agocldap: move out cldap object to fix the build.
Günther Deschner [Wed, 7 May 2008 19:31:59 +0000 (21:31 +0200)]
cldap: move out cldap object to fix the build.

Guenther

16 years agodsgetdcname: fix gencache store for dsgetdcname().
Günther Deschner [Wed, 7 May 2008 19:25:05 +0000 (21:25 +0200)]
dsgetdcname: fix gencache store for dsgetdcname().

While storing always a type 29 reply structure in gencache, we are now able to
deliver correct data according to return flags such as DS_RETURN_FLAT_NAME and
DS_RETURN_DNS_NAME out of the cached data from gencache.

Guenther

16 years agodsgetdcname: pure cosmetics.
Günther Deschner [Wed, 7 May 2008 19:08:20 +0000 (21:08 +0200)]
dsgetdcname: pure cosmetics.

Guenther

16 years agodsgetdcname: simply call ourself with DS_FORCE_REDISCOVERY after cache expiry.
Günther Deschner [Wed, 7 May 2008 19:06:23 +0000 (21:06 +0200)]
dsgetdcname: simply call ourself with DS_FORCE_REDISCOVERY after cache expiry.

Guenther

16 years agodsgetdcname: be more paranoid about the existance of an ip_address.
Günther Deschner [Wed, 7 May 2008 19:04:10 +0000 (21:04 +0200)]
dsgetdcname: be more paranoid about the existance of an ip_address.

Guenther

16 years agodsgetdcname: remove invalid assumption in discover_dc_dns().
Günther Deschner [Wed, 7 May 2008 19:02:50 +0000 (21:02 +0200)]
dsgetdcname: remove invalid assumption in discover_dc_dns().

Guenther

16 years agodsgetdcname: mailslot replies are identical to the cldap ones, use cldap everywhere.
Günther Deschner [Wed, 7 May 2008 16:57:43 +0000 (18:57 +0200)]
dsgetdcname: mailslot replies are identical to the cldap ones, use cldap everywhere.

Guenther

16 years agodsgetdcname: wait a little longer for mailslot replies.
Günther Deschner [Wed, 7 May 2008 16:55:45 +0000 (18:55 +0200)]
dsgetdcname: wait a little longer for mailslot replies.

Guenther

16 years agodsgetdcname: map additional flags to nt_version.
Günther Deschner [Wed, 7 May 2008 16:39:24 +0000 (18:39 +0200)]
dsgetdcname: map additional flags to nt_version.

Guenther

16 years agodsgetdcname: use make_dc_info_from_cldap_reply() for cldap replies.
Günther Deschner [Wed, 7 May 2008 16:38:37 +0000 (18:38 +0200)]
dsgetdcname: use make_dc_info_from_cldap_reply() for cldap replies.

Guenther

16 years agodsgetdcname: add make_dc_info_from_cldap_reply().
Günther Deschner [Wed, 7 May 2008 16:36:03 +0000 (18:36 +0200)]
dsgetdcname: add make_dc_info_from_cldap_reply().

Guenther

16 years agodsgetdcname: add get_cldap_reply_server_flags().
Günther Deschner [Wed, 7 May 2008 14:49:39 +0000 (16:49 +0200)]
dsgetdcname: add get_cldap_reply_server_flags().

Guenther

16 years agocldap: let ads_cldap_netlogon() return all possible cldap replies.
Günther Deschner [Wed, 7 May 2008 13:49:09 +0000 (15:49 +0200)]
cldap: let ads_cldap_netlogon() return all possible cldap replies.

Guenther

16 years agodsgetdcname: add pull_mailslot_cldap_reply().
Günther Deschner [Wed, 7 May 2008 13:21:41 +0000 (15:21 +0200)]
dsgetdcname: add pull_mailslot_cldap_reply().

Guenther

16 years agodsgetdcname: add map_ds_flags_to_nt_version.
Günther Deschner [Wed, 7 May 2008 12:38:35 +0000 (14:38 +0200)]
dsgetdcname: add map_ds_flags_to_nt_version.

Guenther

16 years agoFix bug #5452 - smbclient put always creates zero length
Jeremy Allison [Fri, 9 May 2008 05:07:35 +0000 (22:07 -0700)]
Fix bug #5452 - smbclient put always creates zero length
files. Thanks to Kai Engert <kengert@redhat.com> for
reporting.
Jeremy.

16 years agoYay ! Remove a VFS entry. Removed the set_nt_acl() call,
Jeremy Allison [Fri, 9 May 2008 01:09:07 +0000 (18:09 -0700)]
Yay ! Remove a VFS entry. Removed the set_nt_acl() call,
this can only be done via fset_nt_acl() using an open
file/directory handle. I'd like to do the same with
get_nt_acl() but am concerned about efficiency
problems with "hide unreadable/hide unwritable" when
doing a directory listing (this would mean opening
every file in the dir on list).
Moving closer to rationalizing the ACL model and
maybe moving the POSIX calls into a posix_acl VFS
module rather than having them as first class citizens
of the VFS.
Jeremy.

16 years agoregistry: add removal of secdesc of a key to regdb_store_keys().
Michael Adam [Thu, 8 May 2008 16:08:41 +0000 (18:08 +0200)]
registry: add removal of secdesc of a key to regdb_store_keys().

Michael

16 years agoregistry: add comments to removing lists in regdb_store_keys().
Michael Adam [Thu, 8 May 2008 16:05:58 +0000 (18:05 +0200)]
registry: add comments to removing lists in regdb_store_keys().

Michael

16 years agoregistry: change order of deleting value and subkey lists in store_keys().
Michael Adam [Thu, 8 May 2008 15:59:32 +0000 (17:59 +0200)]
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

16 years agoregistry: adapt comment to first step in regdb_store_keys().
Michael Adam [Thu, 8 May 2008 14:55:14 +0000 (16:55 +0200)]
registry: adapt comment to first step in regdb_store_keys().

Michael

16 years agoregistry: adapt comment of last step in regdb_store_keys().
Michael Adam [Thu, 8 May 2008 14:32:51 +0000 (16:32 +0200)]
registry: adapt comment of last step in regdb_store_keys().

adding number (3) ....

Michael

16 years agoregistry: regdb_store_keys: move storing the subkey list down after removing values.
Michael Adam [Thu, 8 May 2008 12:33:02 +0000 (14:33 +0200)]
registry: regdb_store_keys: move storing the subkey list down after removing values.

Michael

16 years agoregistry: add comment explaining workflow to make store_keys safe w/o transactions
Michael Adam [Tue, 6 May 2008 08:06:34 +0000 (10:06 +0200)]
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

16 years agoregistry: check for existence of non base key in regdb_store_keys() before proceeding.
Michael Adam [Wed, 7 May 2008 12:01:49 +0000 (14:01 +0200)]
registry: check for existence of non base key in regdb_store_keys() before proceeding.

Michael

16 years agoregistry: add a function regdb_key_is_base_key() to check whether is composite.
Michael Adam [Wed, 7 May 2008 22:34:35 +0000 (00:34 +0200)]
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