118de8d7fSPeter Avalos /* 218de8d7fSPeter Avalos * Copyright (c) 2000 Damien Miller. All rights reserved. 318de8d7fSPeter Avalos * 418de8d7fSPeter Avalos * Redistribution and use in source and binary forms, with or without 518de8d7fSPeter Avalos * modification, are permitted provided that the following conditions 618de8d7fSPeter Avalos * are met: 718de8d7fSPeter Avalos * 1. Redistributions of source code must retain the above copyright 818de8d7fSPeter Avalos * notice, this list of conditions and the following disclaimer. 918de8d7fSPeter Avalos * 2. Redistributions in binary form must reproduce the above copyright 1018de8d7fSPeter Avalos * notice, this list of conditions and the following disclaimer in the 1118de8d7fSPeter Avalos * documentation and/or other materials provided with the distribution. 1218de8d7fSPeter Avalos * 1318de8d7fSPeter Avalos * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 1418de8d7fSPeter Avalos * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 1518de8d7fSPeter Avalos * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 1618de8d7fSPeter Avalos * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 1718de8d7fSPeter Avalos * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 1818de8d7fSPeter Avalos * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 1918de8d7fSPeter Avalos * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2018de8d7fSPeter Avalos * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2118de8d7fSPeter Avalos * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 2218de8d7fSPeter Avalos * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2318de8d7fSPeter Avalos */ 2418de8d7fSPeter Avalos 2518de8d7fSPeter Avalos #include "includes.h" 2618de8d7fSPeter Avalos #ifdef USE_PAM 2718de8d7fSPeter Avalos 28664f4763Szrj struct ssh; 29664f4763Szrj 30664f4763Szrj void start_pam(struct ssh *); 3118de8d7fSPeter Avalos void finish_pam(void); 3218de8d7fSPeter Avalos u_int do_pam_account(void); 33664f4763Szrj void do_pam_session(struct ssh *); 34*ba1276acSMatthew Dillon void do_pam_setcred(void); 3518de8d7fSPeter Avalos void do_pam_chauthtok(void); 3618de8d7fSPeter Avalos int do_pam_putenv(char *, char *); 3718de8d7fSPeter Avalos char ** fetch_pam_environment(void); 3818de8d7fSPeter Avalos char ** fetch_pam_child_environment(void); 3918de8d7fSPeter Avalos void free_pam_environment(char **); 4018de8d7fSPeter Avalos void sshpam_thread_cleanup(void); 4118de8d7fSPeter Avalos void sshpam_cleanup(void); 4218de8d7fSPeter Avalos int sshpam_auth_passwd(Authctxt *, const char *); 43e9778795SPeter Avalos int sshpam_get_maxtries_reached(void); 44e9778795SPeter Avalos void sshpam_set_maxtries_reached(int); 4518de8d7fSPeter Avalos int is_pam_session_open(void); 4618de8d7fSPeter Avalos 4718de8d7fSPeter Avalos #endif /* USE_PAM */ 48