2 Unix SMB/CIFS implementation.
3 Client-side (group) policy management library.
5 Copyright (C) Wilco Baan Hofman <wilco@baanhofman.nl> 2008
6 Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2008
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <http://www.gnu.org/licenses/>.
25 /** Generic Policy API */
27 struct policy_context {
29 struct group_policy_context *group_pol_ctx;
30 struct nt4_policy_context *nt4_pol_ctx;
36 Create GPO (Group Policy Object?)
37 * create groupPolicyContainer
39 Create GPT (Group Policy Template)
40 * create empty tree on SYSVOL
43 Consistent generation of Security Descriptors and Version number in GPO and GPT
45 apply policy should have some of the samba3 internals?
47 API should be so nicely abstracted, that samba3 can plugin its own CSEs.
50 enum pol_apply_target {
55 enum pol_apply_source {
61 WERROR pol_apply_policy(struct registry_context *reg, struct dom_sid domain_sid,
62 enum pol_apply_target, struct dom_sid user_sid,
63 struct dom_sid machine_sid, const char *username,
64 const char *machinename, enum pol_apply_source);
69 /* Apply policy (registry context, domain?, USER/MACHINE/BOTH, user (sid?), machine(sid?), LOAD_NT4/LOAD_AD)
70 - Get list of (relevant) GPO objects
71 - Apply GPO objects to registry context
72 - Call Client side extensions function
76 - Create empty NTConfig.pol
81 Set group policy for DN ()
82 - Add LDAP attributes to the DN
84 Open policy (domain?, UUID?)
85 - Open a GPO/NTConfig.pol
87 Set policy setting (policy fd)
88 - Set a setting in the policy file
90 List policy settings(policy fd)
91 - Get list of all settings in the opened policy file
95 #endif /* _GENERIC_H_ */