1 /*        $NetBSD: pam_constants.h,v 1.8 2023/06/30 21:46:20 christos Exp $     */
2 
3 /*-
4  * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
5  * Copyright (c) 2004-2017 Dag-Erling Smørgrav
6  * All rights reserved.
7  *
8  * This software was developed for the FreeBSD Project by ThinkSec AS and
9  * Network Associates Laboratories, the Security Research Division of
10  * Network Associates, Inc.  under DARPA/SPAWAR contract N66001-01-C-8035
11  * ("CBOSS"), as part of the DARPA CHATS research program.
12  *
13  * Redistribution and use in source and binary forms, with or without
14  * modification, are permitted provided that the following conditions
15  * are met:
16  * 1. Redistributions of source code must retain the above copyright
17  *    notice, this list of conditions and the following disclaimer.
18  * 2. Redistributions in binary form must reproduce the above copyright
19  *    notice, this list of conditions and the following disclaimer in the
20  *    documentation and/or other materials provided with the distribution.
21  * 3. The name of the author may not be used to endorse or promote
22  *    products derived from this software without specific prior written
23  *    permission.
24  *
25  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
26  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
29  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35  * SUCH DAMAGE.
36  */
37 
38 #ifndef SECURITY_PAM_CONSTANTS_H_INCLUDED
39 #define SECURITY_PAM_CONSTANTS_H_INCLUDED
40 
41 #include <security/openpam_version.h>
42 
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46 
47 /*
48  * XSSO 5.2
49  */
50 enum {
51           PAM_SUCCESS                             =   0,
52           PAM_OPEN_ERR                            =   1,
53           PAM_SYMBOL_ERR                          =   2,
54           PAM_SERVICE_ERR                         =   3,
55           PAM_SYSTEM_ERR                          =   4,
56           PAM_BUF_ERR                             =   5,
57           PAM_CONV_ERR                            =   6,
58           PAM_PERM_DENIED                         =   7,
59           PAM_MAXTRIES                            =   8,
60           PAM_AUTH_ERR                            =   9,
61           PAM_NEW_AUTHTOK_REQD                    =  10,
62           PAM_CRED_INSUFFICIENT                   =  11,
63           PAM_AUTHINFO_UNAVAIL                    =  12,
64           PAM_USER_UNKNOWN              =  13,
65           PAM_CRED_UNAVAIL              =  14,
66           PAM_CRED_EXPIRED              =  15,
67           PAM_CRED_ERR                            =  16,
68           PAM_ACCT_EXPIRED              =  17,
69           PAM_AUTHTOK_EXPIRED           =  18,
70           PAM_SESSION_ERR                         =  19,
71           PAM_AUTHTOK_ERR                         =  20,
72           PAM_AUTHTOK_RECOVERY_ERR      =  21,
73           PAM_AUTHTOK_LOCK_BUSY                   =  22,
74           PAM_AUTHTOK_DISABLE_AGING     =  23,
75           PAM_NO_MODULE_DATA            =  24,
76           PAM_IGNORE                              =  25,
77           PAM_ABORT                     =  26,
78           PAM_TRY_AGAIN                           =  27,
79           PAM_MODULE_UNKNOWN            =  28,
80           PAM_DOMAIN_UNKNOWN            =  29,
81           PAM_BAD_HANDLE                          =  30,              /* OpenPAM extension */
82           PAM_BAD_ITEM                            =  31,              /* OpenPAM extension */
83           PAM_BAD_FEATURE                         =  32,              /* OpenPAM extension */
84           PAM_BAD_CONSTANT              =  33,              /* OpenPAM extension */
85           PAM_NUM_ERRORS                                              /* OpenPAM extension */
86 };
87 
88 /*
89  * XSSO 5.3
90  */
91 enum openpam_message_items {
92           PAM_PROMPT_ECHO_OFF           =   1,
93           PAM_PROMPT_ECHO_ON            =   2,
94           PAM_ERROR_MSG                           =   3,
95           PAM_TEXT_INFO                           =   4,
96           PAM_MAX_NUM_MSG                         =  32,
97           PAM_MAX_MSG_SIZE              = 512,
98           PAM_MAX_RESP_SIZE             = 512
99 };
100 
101 /*
102  * XSSO 5.4
103  */
104 enum {
105           /* some compilers promote 0x8000000 to long */
106           PAM_SILENT                              = (-0x7fffffff - 1),
107           PAM_DISALLOW_NULL_AUTHTOK     = 0x1,
108           PAM_ESTABLISH_CRED            = 0x1,
109           PAM_DELETE_CRED                         = 0x2,
110           PAM_REINITIALIZE_CRED                   = 0x4,
111           PAM_REFRESH_CRED              = 0x8,
112           PAM_PRELIM_CHECK              = 0x1,
113           PAM_UPDATE_AUTHTOK            = 0x2,
114           PAM_CHANGE_EXPIRED_AUTHTOK    = 0x4
115 };
116 
117 /*
118  * XSSO 5.5
119  */
120 enum openpam_item_primitives {
121           PAM_SERVICE                             =   1,
122           PAM_USER                      =   2,
123           PAM_TTY                                 =   3,
124           PAM_RHOST                     =   4,
125           PAM_CONV                      =   5,
126           PAM_AUTHTOK                             =   6,
127           PAM_OLDAUTHTOK                          =   7,
128           PAM_RUSER                     =   8,
129           PAM_USER_PROMPT                         =   9,
130           PAM_REPOSITORY                          =  10,
131           PAM_AUTHTOK_PROMPT            =  11,              /* OpenPAM extension */
132           PAM_OLDAUTHTOK_PROMPT                   =  12,              /* OpenPAM extension */
133           PAM_HOST                      =  13,              /* OpenPAM extension */
134           PAM_SOCKADDR                            =  14,              /* NetBSD extension */
135           PAM_NUSER                     =  15,              /* NetBSD extension */
136           PAM_NUM_ITEMS                                               /* OpenPAM extension */
137 };
138 
139 #ifdef __cplusplus
140 }
141 #endif
142 
143 #endif /* !SECURITY_PAM_CONSTANTS_H_INCLUDED */
144