From 65e958fda4aee2e08cd1f7043369710b839476c3 Mon Sep 17 00:00:00 2001 From: Gabe Date: Mon, 21 Sep 2015 06:55:17 -0600 Subject: Standardize minvalue for ipasearchrecordlimit and ipasesarchsizelimit for unlimited minvalue https://fedorahosted.org/freeipa/ticket/4023 Reviewed-By: Jan Cholasta --- ipalib/plugins/baseldap.py | 4 ++-- ipalib/plugins/config.py | 21 +++++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) (limited to 'ipalib') diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py index 46809f004..847db9c21 100644 --- a/ipalib/plugins/baseldap.py +++ b/ipalib/plugins/baseldap.py @@ -1927,14 +1927,14 @@ class LDAPSearch(BaseLDAPCommand, crud.Search): takes_options = ( Int('timelimit?', label=_('Time Limit'), - doc=_('Time limit of search in seconds'), + doc=_('Time limit of search in seconds (0 is unlimited)'), flags=['no_display'], minvalue=0, autofill=False, ), Int('sizelimit?', label=_('Size Limit'), - doc=_('Maximum number of entries returned'), + doc=_('Maximum number of entries returned (0 is unlimited)'), flags=['no_display'], minvalue=0, autofill=False, diff --git a/ipalib/plugins/config.py b/ipalib/plugins/config.py index f9e99a6e7..86b7ca863 100644 --- a/ipalib/plugins/config.py +++ b/ipalib/plugins/config.py @@ -78,11 +78,6 @@ EXAMPLES: register = Registry() -def validate_searchtimelimit(ugettext, limit): - if limit == 0: - raise ValidationError(name='ipasearchtimelimit', error=_('searchtimelimit must be -1 or > 1.')) - return None - @register() class config(LDAPObject): """ @@ -150,16 +145,16 @@ class config(LDAPObject): label=_('Default e-mail domain'), doc=_('Default e-mail domain'), ), - Int('ipasearchtimelimit', validate_searchtimelimit, + Int('ipasearchtimelimit', cli_name='searchtimelimit', label=_('Search time limit'), - doc=_('Maximum amount of time (seconds) for a search (> 0, or -1 for unlimited)'), + doc=_('Maximum amount of time (seconds) for a search (-1 or 0 is unlimited)'), minvalue=-1, ), Int('ipasearchrecordslimit', cli_name='searchrecordslimit', label=_('Search size limit'), - doc=_('Maximum number of records to search (-1 is unlimited)'), + doc=_('Maximum number of records to search (-1 or 0 is unlimited)'), minvalue=-1, ), IA5Str('ipausersearchfields', @@ -268,6 +263,16 @@ class config_mod(LDAPUpdate): name=k, error=_('attribute "%s" not allowed') % a ) + # Set ipasearchrecordslimit to -1 if 0 is used + if 'ipasearchrecordslimit' in entry_attrs: + if entry_attrs['ipasearchrecordslimit'] is 0: + entry_attrs['ipasearchrecordslimit'] = -1 + + # Set ipasearchtimelimit to -1 if 0 is used + if 'ipasearchtimelimit' in entry_attrs: + if entry_attrs['ipasearchtimelimit'] is 0: + entry_attrs['ipasearchtimelimit'] = -1 + for (attr, obj) in (('ipauserobjectclasses', 'user'), ('ipagroupobjectclasses', 'group')): if attr in entry_attrs: -- cgit