Line data Source code
1 : /* 2 : * Unix SMB/CIFS implementation. 3 : * Virtual Windows Registry Layer 4 : * Copyright (C) Gerald Carter 2002-2005 5 : * Copyright (C) Michael Adam 2008 6 : * 7 : * This program is free software; you can redistribute it and/or modify 8 : * it under the terms of the GNU General Public License as published by 9 : * the Free Software Foundation; either version 3 of the License, or 10 : * (at your option) any later version. 11 : * 12 : * This program is distributed in the hope that it will be useful, 13 : * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 : * GNU General Public License for more details. 16 : * 17 : * You should have received a copy of the GNU General Public License 18 : * along with this program; if not, see <http://www.gnu.org/licenses/>. 19 : */ 20 : 21 : /* 22 : * Netlogon parameters registry backend. 23 : * 24 : * This replaces the former dynamic netlogon parameters overlay. 25 : */ 26 : 27 : #include "includes.h" 28 : #include "registry.h" 29 : #include "reg_objects.h" 30 : #include "passdb.h" 31 : 32 : #undef DBGC_CLASS 33 : #define DBGC_CLASS DBGC_REGISTRY 34 : 35 : extern struct registry_ops regdb_ops; 36 : 37 0 : static int netlogon_params_fetch_values(const char *key, struct regval_ctr *regvals) 38 : { 39 0 : uint32_t dwValue; 40 : 41 0 : if (!pdb_get_account_policy(PDB_POLICY_REFUSE_MACHINE_PW_CHANGE, &dwValue)) { 42 0 : dwValue = 0; 43 : } 44 : 45 0 : regval_ctr_addvalue(regvals, "RefusePasswordChange", REG_DWORD, 46 : (uint8_t *)&dwValue, sizeof(dwValue)); 47 : 48 0 : return regval_ctr_numvals(regvals); 49 : } 50 : 51 0 : static int netlogon_params_fetch_subkeys(const char *key, 52 : struct regsubkey_ctr *subkey_ctr) 53 : { 54 0 : return regdb_ops.fetch_subkeys(key, subkey_ctr); 55 : } 56 : 57 : struct registry_ops netlogon_params_reg_ops = { 58 : .fetch_values = netlogon_params_fetch_values, 59 : .fetch_subkeys = netlogon_params_fetch_subkeys, 60 : };