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

Reply via email to