On Fri, Feb 26, 2016 at 04:41:49PM +0100, Michal Židek wrote: > Hi, > > we had a discussion with Lukas about this feature > and came up with some modifications to the design. > > I will explain the change in the typo detection mechanism. > > The format in the schema/constraints file will be following. > > [rule/domain_options] > validator = allowed_options > section = domain/.* > option = debug_level > option = id_provider > . > . > . > > This rule uses validator 'allowed_options', > it is an internal validator. The validator > gets all the options specified in the > rule and also the config object that is > being checked. It then does 'something' > and succeeds or fails (returning message > and code). > > The allowed_options validator will check > if the options in config file are allowed > (listed in the rule). It does not check the > value of the options. > > There will be more internal validators > for example allowed_sections: > > [rule/list_of_sections] > validator = allowed_sections > section = domain/.* > section = nss > section = pam > . > . > . > > > or value/type checking validators (these are just examples > actual validators may be named differently) > > [rule/must_be_integer] > validator = integer_type > option = memcache_timeout > option = offline_timeout > . > . > . > > [rule/memcache_timeout_range] > validator = integer_range > min = 10 <- can be left unspecified for no lower limit > max = 100000 <- can be left unspecified for no upper limit > option = memcache_timeout > > Internally the validators will be implemented as C functions > that will take the options specified in the rule (that uses > this validator) and the config object and check whatever the > validator wants to check. Every validator can interpret the > options in different way. validator can succeed or fail. Libini > will provide several internal validators and the possibility > for users to write their own specific validators (external > validators). > > To write more complicated checks we can add external validators > to SSSD and if they are made generic enough we can make > them available in libini as internal validators (for example > validator to check more complicated types such as csv lists). > > I will update the design page later. > > Any comments, likes or dislikes?
After a quick read I like this, but I'd like to ponder the design a bit more. _______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org