From e388130aa63b9bbe1b27999aad6052585fc2e16b Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 29 Jun 2007 13:07:54 +0000 Subject: r23657: Prevent setting of a global option in a share definition in "net conf setparm". Michael (This used to be commit bf92d567984f00ebb998fb2485d0aac87d30b924) --- source3/param/loadparm.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'source3/param/loadparm.c') diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 58ea751fa5..8c6c0f1afe 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -2788,6 +2788,24 @@ BOOL lp_parameter_valid(const char *pszParmName) (strchr(pszParmName, ':') != NULL)); } +/*************************************************************************** + Check whether the given name is the name of a global parameter. + Returns True for strings belonging to parameters of class + P_GLOBAL, False for all other strings, also for parametric options + and strings not belonging to any option. +***************************************************************************/ + +BOOL lp_parameter_is_global(const char *pszParmName) +{ + int num = map_parameter(pszParmName); + + if (num >= 0) { + return (parm_table[num].p_class == P_GLOBAL); + } + + return False; +} + /*************************************************************************** Map a parameter's string representation to something we can use. Returns False if the parameter string is not recognised, else TRUE. -- cgit