179476Smarkm/*-
279476Smarkm * Copyright 2001 Mark R V Murray
379476Smarkm * All rights reserved.
479476Smarkm *
579476Smarkm * Redistribution and use in source and binary forms, with or without
679476Smarkm * modification, are permitted provided that the following conditions
779476Smarkm * are met:
879476Smarkm * 1. Redistributions of source code must retain the above copyright
979476Smarkm *    notice, this list of conditions and the following disclaimer.
1079476Smarkm * 2. Redistributions in binary form must reproduce the above copyright
1179476Smarkm *    notice, this list of conditions and the following disclaimer in the
1279476Smarkm *    documentation and/or other materials provided with the distribution.
1379476Smarkm *
1479476Smarkm * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1579476Smarkm * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1679476Smarkm * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1779476Smarkm * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1879476Smarkm * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1979476Smarkm * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2079476Smarkm * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2179476Smarkm * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2279476Smarkm * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2379476Smarkm * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2479476Smarkm * SUCH DAMAGE.
2579476Smarkm */
2679476Smarkm
2784218Sdillon#include <sys/cdefs.h>
2884218Sdillon__FBSDID("$FreeBSD$");
2984218Sdillon
3090237Sdes#include <stddef.h>
3190230Sdes
3279476Smarkm#define	PAM_SM_AUTH
3379476Smarkm#define	PAM_SM_ACCOUNT
3479476Smarkm#define	PAM_SM_SESSION
3579476Smarkm#define	PAM_SM_PASSWORD
3679476Smarkm
3790229Sdes#include <security/pam_appl.h>
3879476Smarkm#include <security/pam_modules.h>
3979476Smarkm
4079476SmarkmPAM_EXTERN int
4194564Sdespam_sm_authenticate(pam_handle_t *pamh, int flags __unused,
4294564Sdes    int argc __unused, const char *argv[] __unused)
4379476Smarkm{
4479476Smarkm	const char *user;
4594564Sdes	int r;
4679476Smarkm
4794564Sdes	if ((r = pam_get_user(pamh, &user, NULL)) != PAM_SUCCESS)
4894564Sdes		return (r);
4979476Smarkm
5094564Sdes	return (PAM_SUCCESS);
5179476Smarkm}
5279476Smarkm
5379476SmarkmPAM_EXTERN int
5494564Sdespam_sm_setcred(pam_handle_t *pamh __unused, int flags __unused,
5594564Sdes    int argc __unused, const char *argv[] __unused)
5679476Smarkm{
5779476Smarkm
5894564Sdes	return (PAM_SUCCESS);
5979476Smarkm}
6079476Smarkm
6179476SmarkmPAM_EXTERN int
6294564Sdespam_sm_acct_mgmt(pam_handle_t *pamh __unused, int flags __unused,
6394564Sdes    int argc __unused, const char *argv[] __unused)
6479476Smarkm{
6579476Smarkm
6694564Sdes	return (PAM_SUCCESS);
6779476Smarkm}
6879476Smarkm
6979476SmarkmPAM_EXTERN int
7094564Sdespam_sm_chauthtok(pam_handle_t *pamh __unused, int flags __unused,
7194564Sdes    int argc __unused, const char *argv[] __unused)
7279476Smarkm{
7379476Smarkm
7494564Sdes	return (PAM_SUCCESS);
7579476Smarkm}
7679476Smarkm
7779476SmarkmPAM_EXTERN int
7894564Sdespam_sm_open_session(pam_handle_t *pamh __unused, int flags __unused,
7994564Sdes    int argc __unused, const char *argv[] __unused)
8079476Smarkm{
8179476Smarkm
8294564Sdes	return (PAM_SUCCESS);
8379476Smarkm}
8479476Smarkm
8579476SmarkmPAM_EXTERN int
8694564Sdespam_sm_close_session(pam_handle_t *pamh __unused, int flags __unused,
8794564Sdes    int argc __unused, const char *argv[] __unused)
8879476Smarkm{
8979476Smarkm
9094564Sdes	return (PAM_SUCCESS);
9179476Smarkm}
9279476Smarkm
9379476SmarkmPAM_MODULE_ENTRY("pam_permit");
94