ab6b35a1d6
new features description elided in favor of checking out their website. Important new FreeBSD-version stuff: PAM support has been worked in, partially from the "Unix" OpenSSH version, and a lot due to the work of Eivind Eklend, too. This requires at least the following in pam.conf: sshd auth sufficient pam_skey.so sshd auth required pam_unix.so try_first_pass sshd session required pam_permit.so Parts by: Eivind Eklend <eivind@FreeBSD.org>
39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
/*
|
|
* OpenSSH PAM authentication support.
|
|
*
|
|
* $FreeBSD$
|
|
*/
|
|
#ifndef AUTH_PAM_H
|
|
#define AUTH_PAM_H
|
|
#include "includes.h"
|
|
#ifdef USE_PAM
|
|
|
|
#include <pwd.h> /* For struct passwd */
|
|
|
|
void start_pam(struct passwd *pw);
|
|
void finish_pam(void);
|
|
int auth_pam_password(struct passwd *pw, const char *password);
|
|
char **fetch_pam_environment(void);
|
|
int do_pam_account(char *username, char *remote_user);
|
|
void do_pam_session(char *username, const char *ttyname);
|
|
void do_pam_setcred(void);
|
|
void print_pam_messages(void);
|
|
int pam_password_change_required(void);
|
|
void do_pam_chauthtok(void);
|
|
|
|
struct inverted_pam_cookie {
|
|
int state; /* Which state have we reached? */
|
|
pid_t pid; /* PID of child process */
|
|
|
|
/* Only valid in state STATE_CONV */
|
|
int num_msg; /* Number of messages */
|
|
struct pam_message **msg; /* Message structures */
|
|
struct pam_response **resp; /* Response structures */
|
|
struct inverted_pam_userdata *userdata;
|
|
};
|
|
void ipam_free_cookie(struct inverted_pam_cookie *cookie);
|
|
struct inverted_pam_cookie *ipam_start_auth(const char *, const char *);
|
|
|
|
#endif /* USE_PAM */
|
|
#endif /* AUTH_PAM_H */
|