diff options
| author | Pavel Březina <pbrezina@redhat.com> | 2016-01-14 13:12:14 +0100 |
|---|---|---|
| committer | Jakub Hrozek <jhrozek@redhat.com> | 2016-01-19 14:33:59 +0100 |
| commit | 1476d5348fcf387e7481d833becbd993d91f8019 (patch) | |
| tree | fac545328dfed9a66ae03b548549d51b629600bb | |
| parent | f58ffb26aeaae0642a149643672fa59ec01a3a36 (diff) | |
| download | sssd-1476d5348fcf387e7481d833becbd993d91f8019.tar.gz sssd-1476d5348fcf387e7481d833becbd993d91f8019.tar.xz sssd-1476d5348fcf387e7481d833becbd993d91f8019.zip | |
SUDO: simplify usn filter
usn >= current && usn != currect is equivalent to usn >= current + 1
Reviewed-by: Sumit Bose <sbose@redhat.com>
| -rw-r--r-- | src/providers/ipa/ipa_sudo_refresh.c | 10 | ||||
| -rw-r--r-- | src/providers/ldap/sdap_sudo_refresh.c | 6 |
2 files changed, 5 insertions, 11 deletions
diff --git a/src/providers/ipa/ipa_sudo_refresh.c b/src/providers/ipa/ipa_sudo_refresh.c index 42137679..7871802e 100644 --- a/src/providers/ipa/ipa_sudo_refresh.c +++ b/src/providers/ipa/ipa_sudo_refresh.c @@ -168,21 +168,17 @@ ipa_sudo_smart_refresh_send(TALLOC_CTX *mem_ctx, DEBUG(SSSDBG_TRACE_FUNC, "USN value is unknown, assuming zero.\n"); usn = 0; } else { - usn = srv_opts->max_sudo_value; + usn = srv_opts->max_sudo_value + 1; } - cmdgroups_filter = talloc_asprintf(state, - "(&(%s>=%lu)(!(%s=%lu)))", - sudo_ctx->sudocmdgroup_map[IPA_AT_SUDOCMDGROUP_ENTRYUSN].name, usn, + cmdgroups_filter = talloc_asprintf(state, "(%s>=%lu)", sudo_ctx->sudocmdgroup_map[IPA_AT_SUDOCMDGROUP_ENTRYUSN].name, usn); if (cmdgroups_filter == NULL) { ret = ENOMEM; goto immediately; } - search_filter = talloc_asprintf(state, - "(&(%s>=%lu)(!(%s=%lu)))", - sudo_ctx->sudorule_map[IPA_AT_SUDORULE_ENTRYUSN].name, usn, + search_filter = talloc_asprintf(state, "(%s>=%lu)", sudo_ctx->sudorule_map[IPA_AT_SUDORULE_ENTRYUSN].name, usn); if (search_filter == NULL) { ret = ENOMEM; diff --git a/src/providers/ldap/sdap_sudo_refresh.c b/src/providers/ldap/sdap_sudo_refresh.c index ff00fd03..5ba85801 100644 --- a/src/providers/ldap/sdap_sudo_refresh.c +++ b/src/providers/ldap/sdap_sudo_refresh.c @@ -184,13 +184,11 @@ struct tevent_req *sdap_sudo_smart_refresh_send(TALLOC_CTX *mem_ctx, DEBUG(SSSDBG_TRACE_FUNC, "USN value is unknown, assuming zero.\n"); usn = 0; } else { - usn = srv_opts->max_sudo_value; + usn = srv_opts->max_sudo_value + 1; } - search_filter = talloc_asprintf(state, - "(&(objectclass=%s)(%s>=%lu)(!(%s=%lu)))", + search_filter = talloc_asprintf(state, "(&(objectclass=%s)(%s>=%lu))", map[SDAP_OC_SUDORULE].name, - map[SDAP_AT_SUDO_USN].name, usn, map[SDAP_AT_SUDO_USN].name, usn); if (search_filter == NULL) { ret = ENOMEM; |
