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#ifdef REPLACE_GETPASS 71#if defined(REPLACE_GETPASS_BY_GETPASSPHRASE) 72#define getpass(prompt) getpassphrase(prompt) 73#else 74#define getpass(prompt) rep_getpass(prompt) 75char *rep_getpass(const char *prompt); 76#endif 77#endif 78 79#ifndef NGROUPS_MAX 80#define NGROUPS_MAX 32 /* Guess... */ 81#endif 82 83/* what is the longest significant password available on your system? 84 Knowing this speeds up password searches a lot */ 85#ifndef PASSWORD_LENGTH 86#define PASSWORD_LENGTH 8 87#endif 88 89#if defined(HAVE_PUTPRPWNAM) && defined(AUTH_CLEARTEXT_SEG_CHARS) 90#define OSF1_ENH_SEC 1 91#endif 92 93#ifndef ALLOW_CHANGE_PASSWORD 94#if (defined(HAVE_TERMIOS_H) && defined(HAVE_DUP2) && defined(HAVE_SETSID)) 95#define ALLOW_CHANGE_PASSWORD 1 96#endif 97#endif 98 99#if defined(HAVE_CRYPT16) && defined(HAVE_GETAUTHUID) 100#define ULTRIX_AUTH 1 101#endif 102 103#ifdef NSS_WRAPPER 104#ifndef NSS_WRAPPER_NOT_REPLACE 105#define NSS_WRAPPER_REPLACE 106#endif 107#include "../nss_wrapper/nss_wrapper.h" 108#endif 109 110#endif 111