summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-06-30 20:16:16 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:58:09 -0500
commitc5a51f02732b75bc7ee1ca7252a4817b075a67b7 (patch)
treebd4b2c114ef5de187aa6aa070dd8f2dafe15f85c
parent8cea99d3acaf8348edcefce3f0be318fba440d6a (diff)
downloadsamba-c5a51f02732b75bc7ee1ca7252a4817b075a67b7.tar.gz
r8027: driver information is now back via winreg
(This used to be commit f0a1c6b9cec28d5b4aa8a1a2f9b34d1f13113a6c)
-rw-r--r--source3/registry/reg_printing.c9
-rw-r--r--source3/rpc_server/srv_reg_nt.c8
2 files changed, 13 insertions, 4 deletions
diff --git a/source3/registry/reg_printing.c b/source3/registry/reg_printing.c
index 8a0557125c3..262affb4f56 100644
--- a/source3/registry/reg_printing.c
+++ b/source3/registry/reg_printing.c
@@ -591,7 +591,7 @@ static int key_driver_fetch_values( const char *key, REGVAL_CTR *values )
int env_subkey_type = 0;
- DEBUG(8,("print_subpath_values_environments: Enter key => [%s]\n", key ? key : "NULL"));
+ DEBUG(8,("key_driver_fetch_values: Enter key => [%s]\n", key ? key : "NULL"));
keystr = remaining_path( key + strlen(KEY_ENVIRONMENTS) );
@@ -633,6 +633,11 @@ static int key_driver_fetch_values( const char *key, REGVAL_CTR *values )
keystr = subkeypath;
reg_split_path( keystr, &base, &subkeypath );
+
+ /* no values under Version-XX */
+
+ if ( !subkeypath )
+ return 0;
version = atoi(&base[strlen(base)-1]);
@@ -716,7 +721,7 @@ static int key_driver_fetch_values( const char *key, REGVAL_CTR *values )
SAFE_FREE( buffer );
- DEBUG(8,("print_subpath_values_environments: Exit\n"));
+ DEBUG(8,("key_driver_fetch_values: Exit\n"));
return regval_ctr_numvals( values );
}
diff --git a/source3/rpc_server/srv_reg_nt.c b/source3/rpc_server/srv_reg_nt.c
index 7170c0a3011..db199634c50 100644
--- a/source3/rpc_server/srv_reg_nt.c
+++ b/source3/rpc_server/srv_reg_nt.c
@@ -490,11 +490,15 @@ WERROR _reg_query_key(pipes_struct *p, REG_Q_QUERY_KEY *q_u, REG_R_QUERY_KEY *r_
if ( !regkey )
return WERR_BADFID;
- if ( !get_subkey_information( regkey, &r_u->num_subkeys, &r_u->max_subkeylen ) )
+ if ( !get_subkey_information( regkey, &r_u->num_subkeys, &r_u->max_subkeylen ) ) {
+ DEBUG(0,("_reg_query_key: get_subkey_information() failed!\n"));
return WERR_ACCESS_DENIED;
+ }
- if ( !get_value_information( regkey, &r_u->num_values, &r_u->max_valnamelen, &r_u->max_valbufsize ) )
+ if ( !get_value_information( regkey, &r_u->num_values, &r_u->max_valnamelen, &r_u->max_valbufsize ) ) {
+ DEBUG(0,("_reg_query_key: get_value_information() failed!\n"));
return WERR_ACCESS_DENIED;
+ }
r_u->sec_desc = 0x00000078; /* size for key's sec_desc */