f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio/*
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio SSSD
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio IPA Backend Module -- Session Management
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio Authors:
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio Fabiano Fidêncio <fidencio@redhat.com>
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio Copyright (C) 2017 Red Hat
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio This program is free software; you can redistribute it and/or modify
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio it under the terms of the GNU General Public License as published by
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio the Free Software Foundation; either version 3 of the License, or
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio (at your option) any later version.
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio This program is distributed in the hope that it will be useful,
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio but WITHOUT ANY WARRANTY; without even the implied warranty of
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio GNU General Public License for more details.
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio You should have received a copy of the GNU General Public License
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio along with this program. If not, see <http://www.gnu.org/licenses/>.
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio*/
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio#ifndef IPA_SESSION_H_
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio#define IPA_SESSION_H_
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio#include "providers/ldap/ldap_common.h"
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidênciostruct ipa_session_ctx {
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio struct sdap_id_ctx *sdap_ctx;
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio struct dp_option *ipa_options;
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio time_t last_update;
4a311702045b065a97a0c0fc0ccc7a1fc84b38cfFabiano Fidêncio time_t last_request;
4a311702045b065a97a0c0fc0ccc7a1fc84b38cfFabiano Fidêncio bool no_rules_found;
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio struct sdap_attr_map *host_map;
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio struct sdap_attr_map *hostgroup_map;
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio struct sdap_search_base **deskprofile_search_bases;
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio struct sdap_search_base **host_search_bases;
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio};
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidênciostruct tevent_req *
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncioipa_pam_session_handler_send(TALLOC_CTX *mem_ctx,
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio struct ipa_session_ctx *session_ctx,
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio struct pam_data *pd,
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio struct dp_req_params *params);
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncioerrno_t
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncioipa_pam_session_handler_recv(TALLOC_CTX *mem_ctx,
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio struct tevent_req *req,
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio struct pam_data **_data);
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio
f982039c75ec064894deb676ae53ee57de868590Fabiano Fidêncio#endif /* IPA_SESSION_H_ */