Red Hat Bugzilla – Bug 891356
Smart refresh doesn't notice "defaults" addition with OpenLDAP
Last modified: 2013-02-21 04:43:04 EST
Description of problem: Smart refresh doesn't notice a newly added "defaults" entry with OpenLDAP server. It gets noticed only after full refresh. Version-Release number of selected component (if applicable): libsss_idmap-1.9.2-59.el6.x86_64 sssd-client-1.9.2-59.el6.x86_64 sudo-1.8.6p3-6.el6.x86_64 sssd-1.9.2-59.el6.x86_64 libsss_sudo-1.9.2-59.el6.x86_64 openldap-servers-2.4.23-31.el6.x86_64 How reproducible: always Steps to Reproduce: 1. Use the attached sudo_defaults_openldap_test.ldif file to fill LDAP directory. 2. Use the attached sssd.conf as the base for SSSD configuration. 3. Execute the attached sudo_defaults_openldap_test script as root after modifying it to connect to the LDAP server. Actual results: sudo: no tty present and no askpass program specified initially: 1 sudo: no tty present and no askpass program specified smart_refresh_with_rule_added: 1 sudo: no tty present and no askpass program specified smart_refresh_with_defaults_added: 1 full_refresh_with_defaults_added: 0 Expected results: sudo: no tty present and no askpass program specified initially: 1 sudo: no tty present and no askpass program specified smart_refresh_with_rule_added: 1 smart_refresh_with_defaults_added: 0 full_refresh_with_defaults_added: 0 Additional info: This works with sssd sudo backend and 389-ds and with LDAP sudo backend and OpenLDAP server.
Created attachment 671567 [details] sudo_defaults_openldap_test.ldif
Created attachment 671568 [details] sssd.conf
Created attachment 671580 [details] sudo_defaults_openldap_test
Upstream ticket: https://fedorahosted.org/sssd/ticket/1736
Hi, can you provide logs from both 389 and OpenLDAP runs (debug_level = 0xfff0)? Thanks.
Created attachment 672016 [details] defaults_389ds_logs.tar.gz
Created attachment 672017 [details] defaults_openldap_logs.tar.gz
Attached OpenLDAP/389-ds logs with 0xFFF0 debug_level.
I managed to reproduce this issue. The problem is that OpenLDAP check whether the filter contains schema-correct value for modifyTimestamp attribute. We use modifyTimestamp>=0 in smart refresh filter in case USN values are not available. OpenLDAP rejects this filter and returns 0 records. The correct value to use would be 000101010000Z. I'll prepare a patch.
Verified fixed with the following packages: sssd-client-1.9.2-68.el6.x86_64 libsss_sudo-1.9.2-68.el6.x86_64 sudo-1.8.6p3-6.el6.x86_64 libsss_idmap-1.9.2-68.el6.x86_64 sssd-1.9.2-68.el6.x86_64 Relevant sudo suite output: :: [ PASS ] :: defaults_with
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2013-0508.html