1
0
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:
Michael Adam 2008-01-20 03:45:40 +01:00
parent c16b74cc86
commit e45dacce89
3 changed files with 1 additions and 105 deletions

View File

@ -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) \

View File

@ -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;
}

View File

@ -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;
}