mirror of
https://github.com/samba-team/samba.git
synced 2025-03-08 04:58:40 +03:00
Remove the dynamic registry overlay.
It is unnecessary now the dynamic functions have been made registry backends of their own. Michael (This used to be commit e327953bd6b11aeb6f2ae48b49550a942eae8e88)
This commit is contained in:
parent
c16b74cc86
commit
e45dacce89
@ -415,7 +415,7 @@ REGOBJS_OBJ = registry/reg_objects.o
|
||||
|
||||
REGISTRY_OBJ = registry/reg_frontend.o registry/reg_cachehook.o registry/reg_printing.o \
|
||||
registry/reg_db.o registry/reg_eventlog.o registry/reg_shares.o \
|
||||
registry/reg_util.o registry/reg_dynamic.o registry/reg_perfcount.o \
|
||||
registry/reg_util.o registry/reg_perfcount.o \
|
||||
registry/reg_smbconf.o registry/reg_api.o \
|
||||
registry/reg_frontend_hilvl.o \
|
||||
registry/reg_backend_netlogon_params.o \
|
||||
@ -741,7 +741,6 @@ REG_API_OBJ = registry/reg_api.o \
|
||||
registry/reg_cachehook.o \
|
||||
registry/reg_eventlog.o \
|
||||
registry/reg_perfcount.o \
|
||||
registry/reg_dynamic.o \
|
||||
\
|
||||
lib/util_nttoken.o \
|
||||
$(UTIL_REG_API_OBJ) \
|
||||
|
@ -1,92 +0,0 @@
|
||||
/*
|
||||
* Unix SMB/CIFS implementation.
|
||||
* Virtual Windows Registry Layer
|
||||
* Copyright (C) Gerald Carter 2002-2005
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/* Implementation of registry frontend view functions. */
|
||||
|
||||
#include "includes.h"
|
||||
|
||||
#undef DBGC_CLASS
|
||||
#define DBGC_CLASS DBGC_REGISTRY
|
||||
|
||||
struct reg_dyn_values {
|
||||
const char *path;
|
||||
int (*fetch_values) ( REGVAL_CTR *val );
|
||||
};
|
||||
|
||||
/***********************************************************************
|
||||
Structure holding the registry paths and pointers to the value
|
||||
enumeration functions
|
||||
***********************************************************************/
|
||||
|
||||
static struct reg_dyn_values dynamic_values[] = {
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
||||
/***********************************************************************
|
||||
***********************************************************************/
|
||||
|
||||
int fetch_dynamic_reg_values( REGISTRY_KEY *key, REGVAL_CTR *val )
|
||||
{
|
||||
int i;
|
||||
char *path = NULL;
|
||||
TALLOC_CTX *ctx = talloc_tos();
|
||||
|
||||
path = talloc_strdup(ctx, key->name);
|
||||
if (!path) {
|
||||
return -1;
|
||||
}
|
||||
path = normalize_reg_path(ctx, path);
|
||||
if (!path) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
for ( i=0; dynamic_values[i].path; i++ ) {
|
||||
if ( strcmp( path, dynamic_values[i].path ) == 0 )
|
||||
return dynamic_values[i].fetch_values( val );
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
***********************************************************************/
|
||||
|
||||
bool check_dynamic_reg_values( REGISTRY_KEY *key )
|
||||
{
|
||||
int i;
|
||||
char *path = NULL;
|
||||
TALLOC_CTX *ctx = talloc_tos();
|
||||
|
||||
path = talloc_strdup(ctx, key->name);
|
||||
if (!path) {
|
||||
return false;
|
||||
}
|
||||
path = normalize_reg_path(ctx, path);
|
||||
if (!path) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for ( i=0; dynamic_values[i].path; i++ ) {
|
||||
/* can't write to dynamic keys */
|
||||
if ( strcmp( path, dynamic_values[i].path ) == 0 )
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
@ -87,9 +87,6 @@ bool store_reg_keys( REGISTRY_KEY *key, REGSUBKEY_CTR *subkeys )
|
||||
|
||||
bool store_reg_values( REGISTRY_KEY *key, REGVAL_CTR *val )
|
||||
{
|
||||
if ( check_dynamic_reg_values( key ) )
|
||||
return false;
|
||||
|
||||
if ( key->hook && key->hook->ops && key->hook->ops->store_values )
|
||||
return key->hook->ops->store_values( key->name, val );
|
||||
|
||||
@ -122,14 +119,6 @@ int fetch_reg_values( REGISTRY_KEY *key, REGVAL_CTR *val )
|
||||
if ( key->hook && key->hook->ops && key->hook->ops->fetch_values )
|
||||
result = key->hook->ops->fetch_values( key->name, val );
|
||||
|
||||
/* if the backend lookup returned no data, try the dynamic overlay */
|
||||
|
||||
if ( result == 0 ) {
|
||||
result = fetch_dynamic_reg_values( key, val );
|
||||
|
||||
return ( result != -1 ) ? result : 0;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user