cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl/*
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl SSSD
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl Copyright (C) Pavel Reichl <preichl@redhat.com> 2015
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl This program is free software; you can redistribute it and/or modify
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl it under the terms of the GNU General Public License as published by
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl the Free Software Foundation; either version 3 of the License, or
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl (at your option) any later version.
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl This program is distributed in the hope that it will be useful,
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl but WITHOUT ANY WARRANTY; without even the implied warranty of
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl GNU General Public License for more details.
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl You should have received a copy of the GNU General Public License
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl along with this program. If not, see <http://www.gnu.org/licenses/>.
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl*/
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl#ifndef _LDAP_AUTH_H_
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl#define _LDAP_AUTH_H_
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl#include "config.h"
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichlenum pwexpire {
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl PWEXPIRE_NONE = 0,
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl PWEXPIRE_LDAP_PASSWORD_POLICY,
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl PWEXPIRE_KERBEROS,
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl PWEXPIRE_SHADOW
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl};
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichlint get_user_dn(TALLOC_CTX *memctx,
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl struct sss_domain_info *domain,
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl struct sdap_options *opts,
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl const char *username,
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl char **user_dn,
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl enum pwexpire *user_pw_expire_type,
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl void **user_pw_expire_data);
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichlerrno_t check_pwexpire_policy(enum pwexpire pw_expire_type,
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl void *pw_expire_data,
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl struct pam_data *pd,
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl errno_t checkb);
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl
cdaa29d2c5724a4c72bfa0f42284ccfac3d5a464Pavel Reichl#endif /* _LDAP_AUTH_H_ */