openpam_constants.c revision 294192
1/*-
2 * Copyright (c) 2001-2003 Networks Associates Technology, Inc.
3 * Copyright (c) 2004-2011 Dag-Erling Sm��rgrav
4 * All rights reserved.
5 *
6 * This software was developed for the FreeBSD Project by ThinkSec AS and
7 * Network Associates Laboratories, the Security Research Division of
8 * Network Associates, Inc.  under DARPA/SPAWAR contract N66001-01-C-8035
9 * ("CBOSS"), as part of the DARPA CHATS research program.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 *    notice, this list of conditions and the following disclaimer.
16 * 2. Redistributions in binary form must reproduce the above copyright
17 *    notice, this list of conditions and the following disclaimer in the
18 *    documentation and/or other materials provided with the distribution.
19 * 3. The name of the author may not be used to endorse or promote
20 *    products derived from this software without specific prior written
21 *    permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
24 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
34 *
35 * $Id: openpam_constants.c 690 2013-08-15 13:22:51Z des $
36 */
37
38#ifdef HAVE_CONFIG_H
39# include "config.h"
40#endif
41
42#include <security/pam_appl.h>
43
44#include "openpam_impl.h"
45
46const char *pam_err_name[PAM_NUM_ERRORS] = {
47	"PAM_SUCCESS",
48	"PAM_OPEN_ERR",
49	"PAM_SYMBOL_ERR",
50	"PAM_SERVICE_ERR",
51	"PAM_SYSTEM_ERR",
52	"PAM_BUF_ERR",
53	"PAM_CONV_ERR",
54	"PAM_PERM_DENIED",
55	"PAM_MAXTRIES",
56	"PAM_AUTH_ERR",
57	"PAM_NEW_AUTHTOK_REQD",
58	"PAM_CRED_INSUFFICIENT",
59	"PAM_AUTHINFO_UNAVAIL",
60	"PAM_USER_UNKNOWN",
61	"PAM_CRED_UNAVAIL",
62	"PAM_CRED_EXPIRED",
63	"PAM_CRED_ERR",
64	"PAM_ACCT_EXPIRED",
65	"PAM_AUTHTOK_EXPIRED",
66	"PAM_SESSION_ERR",
67	"PAM_AUTHTOK_ERR",
68	"PAM_AUTHTOK_RECOVERY_ERR",
69	"PAM_AUTHTOK_LOCK_BUSY",
70	"PAM_AUTHTOK_DISABLE_AGING",
71	"PAM_NO_MODULE_DATA",
72	"PAM_IGNORE",
73	"PAM_ABORT",
74	"PAM_TRY_AGAIN",
75	"PAM_MODULE_UNKNOWN",
76	"PAM_DOMAIN_UNKNOWN"
77};
78
79const char *pam_item_name[PAM_NUM_ITEMS] = {
80	"(NO ITEM)",
81	"PAM_SERVICE",
82	"PAM_USER",
83	"PAM_TTY",
84	"PAM_RHOST",
85	"PAM_CONV",
86	"PAM_AUTHTOK",
87	"PAM_OLDAUTHTOK",
88	"PAM_RUSER",
89	"PAM_USER_PROMPT",
90	"PAM_REPOSITORY",
91	"PAM_AUTHTOK_PROMPT",
92	"PAM_OLDAUTHTOK_PROMPT",
93	"PAM_HOST",
94};
95
96const char *pam_facility_name[PAM_NUM_FACILITIES] = {
97	[PAM_ACCOUNT]		= "account",
98	[PAM_AUTH]		= "auth",
99	[PAM_PASSWORD]		= "password",
100	[PAM_SESSION]		= "session",
101};
102
103const char *pam_control_flag_name[PAM_NUM_CONTROL_FLAGS] = {
104	[PAM_BINDING]		= "binding",
105	[PAM_OPTIONAL]		= "optional",
106	[PAM_REQUIRED]		= "required",
107	[PAM_REQUISITE]		= "requisite",
108	[PAM_SUFFICIENT]	= "sufficient",
109};
110
111const char *pam_func_name[PAM_NUM_PRIMITIVES] = {
112	"pam_authenticate",
113	"pam_setcred",
114	"pam_acct_mgmt",
115	"pam_open_session",
116	"pam_close_session",
117	"pam_chauthtok"
118};
119
120const char *pam_sm_func_name[PAM_NUM_PRIMITIVES] = {
121	"pam_sm_authenticate",
122	"pam_sm_setcred",
123	"pam_sm_acct_mgmt",
124	"pam_sm_open_session",
125	"pam_sm_close_session",
126	"pam_sm_chauthtok"
127};
128
129const char *openpam_policy_path[] = {
130	"/etc/pam.d/",
131	"/etc/pam.conf",
132	"/usr/local/etc/pam.d/",
133	"/usr/local/etc/pam.conf",
134	NULL
135};
136
137const char *openpam_module_path[] = {
138#ifdef OPENPAM_MODULES_DIRECTORY
139	OPENPAM_MODULES_DIRECTORY,
140#elif COMPAT_32BIT
141	"/usr/lib32",
142	"/usr/local/lib32",
143#else
144	"/usr/lib",
145	"/usr/local/lib",
146#endif
147	NULL
148};
149