auth: Remove plaintext OSF1 password support
[nivanova/samba-autobuild/.git] / ctdb / lib / replace / system / passwd.h
1 #ifndef _system_passwd_h
2 #define _system_passwd_h
3
4 /*
5    Unix SMB/CIFS implementation.
6
7    passwd system include wrappers
8
9    Copyright (C) Andrew Tridgell 2004
10
11      ** NOTE! The following LGPL license applies to the replace
12      ** library. This does NOT imply that all of Samba is released
13      ** under the LGPL
14
15    This library is free software; you can redistribute it and/or
16    modify it under the terms of the GNU Lesser General Public
17    License as published by the Free Software Foundation; either
18    version 3 of the License, or (at your option) any later version.
19
20    This library is distributed in the hope that it will be useful,
21    but WITHOUT ANY WARRANTY; without even the implied warranty of
22    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
23    Lesser General Public License for more details.
24
25    You should have received a copy of the GNU Lesser General Public
26    License along with this library; if not, see <http://www.gnu.org/licenses/>.
27
28 */
29
30 /* this needs to be included before nss_wrapper.h on some systems */
31 #include <unistd.h>
32
33 #ifdef HAVE_PWD_H
34 #include <pwd.h>
35 #endif
36 #ifdef HAVE_GRP_H
37 #include <grp.h>
38 #endif
39 #ifdef HAVE_SYS_PRIV_H
40 #include <sys/priv.h>
41 #endif
42 #ifdef HAVE_SYS_ID_H
43 #include <sys/id.h>
44 #endif
45
46 #ifdef HAVE_CRYPT_H
47 #include <crypt.h>
48 #endif
49
50 #ifdef HAVE_SHADOW_H
51 #include <shadow.h>
52 #endif
53
54 #ifdef HAVE_SYS_SECURITY_H
55 #include <sys/security.h>
56 #include <prot.h>
57 #define PASSWORD_LENGTH 16
58 #endif  /* HAVE_SYS_SECURITY_H */
59
60 #ifdef HAVE_GETPWANAM
61 #include <sys/label.h>
62 #include <sys/audit.h>
63 #include <pwdadj.h>
64 #endif
65
66 #ifdef HAVE_COMPAT_H
67 #include <compat.h>
68 #endif
69
70 #ifndef NGROUPS_MAX
71 #define NGROUPS_MAX 32 /* Guess... */
72 #endif
73
74 /* what is the longest significant password available on your system?
75  Knowing this speeds up password searches a lot */
76 #ifndef PASSWORD_LENGTH
77 #define PASSWORD_LENGTH 8
78 #endif
79
80
81 #ifndef ALLOW_CHANGE_PASSWORD
82 #if (defined(HAVE_TERMIOS_H) && defined(HAVE_DUP2) && defined(HAVE_SETSID))
83 #define ALLOW_CHANGE_PASSWORD 1
84 #endif
85 #endif
86
87 #if defined(HAVE_CRYPT16) && defined(HAVE_GETAUTHUID)
88 #define ULTRIX_AUTH 1
89 #endif
90
91 #ifdef NSS_WRAPPER
92 #ifndef NSS_WRAPPER_DISABLE
93 #ifndef NSS_WRAPPER_NOT_REPLACE
94 #define NSS_WRAPPER_REPLACE
95 #endif /* NSS_WRAPPER_NOT_REPLACE */
96 #include "../nss_wrapper/nss_wrapper.h"
97 #endif /* NSS_WRAPPER_DISABLE */
98 #endif /* NSS_WRAPPER */
99
100 #ifdef UID_WRAPPER
101 # ifndef UID_WRAPPER_DISABLE
102 #  ifndef UID_WRAPPER_NOT_REPLACE
103 #   define UID_WRAPPER_REPLACE
104 #  endif /* UID_WRAPPER_NOT_REPLACE */
105 #  include "../uid_wrapper/uid_wrapper.h"
106 # endif /* UID_WRAPPER_DISABLE */
107 #else /* UID_WRAPPER */
108 # define uwrap_enabled() 0
109 #endif /* UID_WRAPPER */
110
111 #endif