sdap_async_sudo.c revision d103c2e4a704b1dfffd39fea2b601c2f337d06d5
5089N/A along with this program. If not, see <http://www.gnu.org/licenses/>.
5089N/A#include "providers/dp_backend.h"
5089N/A#include "providers/ldap/ldap_common.h"
5089N/A#include "providers/ldap/sdap_async.h"
5089N/A#include "providers/ldap/sdap_sudo.h"
5089N/A#include "providers/ldap/sdap_sudo_cache.h"
5089N/A#include "db/sysdb_sudo.h"
5089N/Astruct sdap_sudo_load_sudoers_state {
5089N/Astatic struct tevent_req *
5089N/A const char *ldap_filter)
5089N/A struct sdap_sudo_load_sudoers_state);
5089N/A goto immediately;
5089N/A goto immediately;
return ENOMEM;
return EAGAIN;
int ret;
if (count > 0) {
struct sysdb_attrs *,
for (i = 0; i < count; i++) {
attrs[i]);
return EOK;
const char *filter,
const char *name;
return EOK;
for (i = 0; i < rules_count; i++) {
&name);
goto done;
done:
return ret;
int cache_timeout,
char **_usn)
return EOK;
_usn);
return ret;
return EOK;
struct sdap_sudo_refresh_state {
int dp_error;
char *highest_usn;
const char *ldap_filter,
const char *sysdb_filter)
int ret;
if (!req) {
return NULL;
goto immediately;
goto immediately;
goto immediately;
goto immediately;
return req;
return req;
int ret;
return ret;
return EAGAIN;
int dp_error;
int ret;
int dp_error;
int ret;
bool in_transaction = false;
goto done;
in_transaction = true;
goto done;
goto done;
goto done;
in_transaction = false;
done:
if (in_transaction) {
int *dp_error,
char **usn,
return EOK;