bdfc6d18da790deeec2e0eb09c625902defe2498gww/*
bdfc6d18da790deeec2e0eb09c625902defe2498gww * CDDL HEADER START
bdfc6d18da790deeec2e0eb09c625902defe2498gww *
bdfc6d18da790deeec2e0eb09c625902defe2498gww * The contents of this file are subject to the terms of the
bdfc6d18da790deeec2e0eb09c625902defe2498gww * Common Development and Distribution License, Version 1.0 only
bdfc6d18da790deeec2e0eb09c625902defe2498gww * (the "License"). You may not use this file except in compliance
bdfc6d18da790deeec2e0eb09c625902defe2498gww * with the License.
bdfc6d18da790deeec2e0eb09c625902defe2498gww *
bdfc6d18da790deeec2e0eb09c625902defe2498gww * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
bdfc6d18da790deeec2e0eb09c625902defe2498gww * or http://www.opensolaris.org/os/licensing.
bdfc6d18da790deeec2e0eb09c625902defe2498gww * See the License for the specific language governing permissions
bdfc6d18da790deeec2e0eb09c625902defe2498gww * and limitations under the License.
bdfc6d18da790deeec2e0eb09c625902defe2498gww *
bdfc6d18da790deeec2e0eb09c625902defe2498gww * When distributing Covered Code, include this CDDL HEADER in each
bdfc6d18da790deeec2e0eb09c625902defe2498gww * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
bdfc6d18da790deeec2e0eb09c625902defe2498gww * If applicable, add the following below this CDDL HEADER, with the
bdfc6d18da790deeec2e0eb09c625902defe2498gww * fields enclosed by brackets "[]" replaced with your own identifying
bdfc6d18da790deeec2e0eb09c625902defe2498gww * information: Portions Copyright [yyyy] [name of copyright owner]
bdfc6d18da790deeec2e0eb09c625902defe2498gww *
bdfc6d18da790deeec2e0eb09c625902defe2498gww * CDDL HEADER END
bdfc6d18da790deeec2e0eb09c625902defe2498gww */
bdfc6d18da790deeec2e0eb09c625902defe2498gww/*
bdfc6d18da790deeec2e0eb09c625902defe2498gww * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
bdfc6d18da790deeec2e0eb09c625902defe2498gww * Use is subject to license terms.
bdfc6d18da790deeec2e0eb09c625902defe2498gww */
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gww#pragma ident "%Z%%M% %I% %E% SMI"
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gww#include <strings.h>
bdfc6d18da790deeec2e0eb09c625902defe2498gww#include <syslog.h>
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gww#include <security/pam_appl.h>
bdfc6d18da790deeec2e0eb09c625902defe2498gww#include <security/pam_modules.h>
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gww/*
bdfc6d18da790deeec2e0eb09c625902defe2498gww * pam_allow - PAM service module that returns PAM_SUCCESS all service
bdfc6d18da790deeec2e0eb09c625902defe2498gww * module types.
bdfc6d18da790deeec2e0eb09c625902defe2498gww *
bdfc6d18da790deeec2e0eb09c625902defe2498gww * Entry argv = debug, syslog call LOG_AUTH | LOG_DEBUG.
bdfc6d18da790deeec2e0eb09c625902defe2498gww *
bdfc6d18da790deeec2e0eb09c625902defe2498gww * Exit PAM_SUCCESS
bdfc6d18da790deeec2e0eb09c625902defe2498gww *
bdfc6d18da790deeec2e0eb09c625902defe2498gww * Uses PAM_USER, PAM_SERVICE
bdfc6d18da790deeec2e0eb09c625902defe2498gww */
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gwwstatic void
bdfc6d18da790deeec2e0eb09c625902defe2498gwwdebug(pam_handle_t *pamh, int flags, int argc, const char **argv, char *mod)
bdfc6d18da790deeec2e0eb09c625902defe2498gww{
bdfc6d18da790deeec2e0eb09c625902defe2498gww char *user = NULL;
bdfc6d18da790deeec2e0eb09c625902defe2498gww char *service = NULL;
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gww if (argc < 1 || strcmp(argv[0], "debug") != 0)
bdfc6d18da790deeec2e0eb09c625902defe2498gww return;
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gww (void) pam_get_item(pamh, PAM_SERVICE, (void **)&service);
bdfc6d18da790deeec2e0eb09c625902defe2498gww (void) pam_get_item(pamh, PAM_USER, (void **)&user);
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gww syslog(LOG_AUTH | LOG_DEBUG, "%s pam_allow:%s(%x) for %s",
bdfc6d18da790deeec2e0eb09c625902defe2498gww service ? service : "No Service Specified", mod, flags,
bdfc6d18da790deeec2e0eb09c625902defe2498gww user ? user : "No User Specified");
bdfc6d18da790deeec2e0eb09c625902defe2498gww}
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gwwint
bdfc6d18da790deeec2e0eb09c625902defe2498gwwpam_sm_authenticate(pam_handle_t *pamh, int flags, int argc, const char **argv)
bdfc6d18da790deeec2e0eb09c625902defe2498gww{
bdfc6d18da790deeec2e0eb09c625902defe2498gww debug(pamh, flags, argc, argv, "pam_sm_authenticate");
bdfc6d18da790deeec2e0eb09c625902defe2498gww return (PAM_SUCCESS);
bdfc6d18da790deeec2e0eb09c625902defe2498gww}
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gwwint
bdfc6d18da790deeec2e0eb09c625902defe2498gwwpam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv)
bdfc6d18da790deeec2e0eb09c625902defe2498gww{
bdfc6d18da790deeec2e0eb09c625902defe2498gww debug(pamh, flags, argc, argv, "pam_sm_setcred");
bdfc6d18da790deeec2e0eb09c625902defe2498gww return (PAM_SUCCESS);
bdfc6d18da790deeec2e0eb09c625902defe2498gww}
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gwwint
bdfc6d18da790deeec2e0eb09c625902defe2498gwwpam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv)
bdfc6d18da790deeec2e0eb09c625902defe2498gww{
bdfc6d18da790deeec2e0eb09c625902defe2498gww debug(pamh, flags, argc, argv, "pam_sm_acct_mgmt");
bdfc6d18da790deeec2e0eb09c625902defe2498gww return (PAM_SUCCESS);
bdfc6d18da790deeec2e0eb09c625902defe2498gww}
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gwwint
bdfc6d18da790deeec2e0eb09c625902defe2498gwwpam_sm_open_session(pam_handle_t *pamh, int flags, int argc, const char **argv)
bdfc6d18da790deeec2e0eb09c625902defe2498gww{
bdfc6d18da790deeec2e0eb09c625902defe2498gww debug(pamh, flags, argc, argv, "pam_sm_open_session");
bdfc6d18da790deeec2e0eb09c625902defe2498gww return (PAM_SUCCESS);
bdfc6d18da790deeec2e0eb09c625902defe2498gww}
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gwwint
bdfc6d18da790deeec2e0eb09c625902defe2498gwwpam_sm_close_session(pam_handle_t *pamh, int flags, int argc, const char **argv)
bdfc6d18da790deeec2e0eb09c625902defe2498gww{
bdfc6d18da790deeec2e0eb09c625902defe2498gww debug(pamh, flags, argc, argv, "pam_sm_close_session");
bdfc6d18da790deeec2e0eb09c625902defe2498gww return (PAM_SUCCESS);
bdfc6d18da790deeec2e0eb09c625902defe2498gww}
bdfc6d18da790deeec2e0eb09c625902defe2498gww
bdfc6d18da790deeec2e0eb09c625902defe2498gwwint
bdfc6d18da790deeec2e0eb09c625902defe2498gwwpam_sm_chauthtok(pam_handle_t *pamh, int flags, int argc, const char **argv)
bdfc6d18da790deeec2e0eb09c625902defe2498gww{
bdfc6d18da790deeec2e0eb09c625902defe2498gww debug(pamh, flags, argc, argv, "pam_sm_chauthtok");
bdfc6d18da790deeec2e0eb09c625902defe2498gww return (PAM_SUCCESS);
bdfc6d18da790deeec2e0eb09c625902defe2498gww}