This commit is contained in:
Andrey A. Chernov 1997-09-29 10:33:14 +00:00
parent bceb8aed9e
commit e9fcc517e1
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=29967
11 changed files with 251 additions and 153 deletions

View file

@ -1,3 +1,6 @@
/* config.h. Generated automatically by configure. */
/* config.h.in. Generated automatically from configure.in by autoheader. */
/* Define if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
@ -40,9 +43,9 @@
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown
*/
/* #undef STACK_DIRECTION */
@ -78,6 +81,15 @@
/* The path to the mail spool, if we know it */
#define PATH_MAIL "/var/mail"
/* The path to the utmp file, if we know it */
#define PATH_UTMP_AC "/var/run/utmp"
/* The path to the wtmp file, if we know it */
#define PATH_WTMP_AC "/var/log/wtmp"
/* The path to the wtmpx file, if we know it */
/* #undef PATH_WTMPX_AC */
/* Defined if the system's profile (/etc/profile) displays
the motd file */
/* #undef HAVE_MOTD_IN_PROFILE */
@ -138,6 +150,36 @@
/* Define if there is a ut_host field in struct utmp */
#define HAVE_UT_HOST 1
/* Define if the system has getutline() */
/* #undef HAVE_GETUTLINE */
/* Defined if the system has SunOS C2 security shadow passwords */
/* #undef HAVE_SUNOS_C2_SHADOW */
/* Defined if you want to disable utmp support */
/* #undef DISABLE_UTMP */
/* Defined if you want to allow users to override the insecure checks */
/* #undef INSECURE_OVERRIDE */
/* Defined to the default hash value, always defined */
#define MDX 5
/* Defined if new-style prompts are to be used */
#define NEW_PROMPTS 1
/* Defined to the path of the OPIE lock directory */
#define OPIE_LOCK_DIR "/etc/opielocks"
/* Defined if users are to be asked to re-type secret pass phrases */
/* #undef RETYPE */
/* Defined if su should not switch to disabled accounts */
/* #undef SU_STAR_CHECK */
/* Defined if user locking is to be used */
#define USER_LOCKING 1
/* Define if you have the bcopy function. */
/* #undef HAVE_BCOPY */
@ -159,8 +201,8 @@
/* Define if you have the gethostname function. */
/* #undef HAVE_GETHOSTNAME */
/* Define if you have the getspent function. */
/* #undef HAVE_GETSPENT */
/* Define if you have the getspnam function. */
/* #undef HAVE_GETSPNAM */
/* Define if you have the gettimeofday function. */
#define HAVE_GETTIMEOFDAY 1
@ -168,6 +210,9 @@
/* Define if you have the getttynam function. */
#define HAVE_GETTTYNAM 1
/* Define if you have the getusershell function. */
#define HAVE_GETUSERSHELL 1
/* Define if you have the getutxline function. */
/* #undef HAVE_GETUTXLINE */
@ -180,18 +225,15 @@
/* Define if you have the lstat function. */
#define HAVE_LSTAT 1
/* Define if you have the on_exit function. */
/* #undef HAVE_ON_EXIT */
/* Define if you have the pututxline function. */
/* #undef HAVE_PUTUTXLINE */
/* Define if you have the rindex function. */
/* #undef HAVE_RINDEX */
/* Define if you have the setegid function. */
#define HAVE_SETEGID 1
/* Define if you have the seteuid function. */
#define HAVE_SETEUID 1
/* Define if you have the setgroups function. */
#define HAVE_SETGROUPS 1
@ -202,7 +244,7 @@
#define HAVE_SETPRIORITY 1
/* Define if you have the setregid function. */
#define HAVE_SETREGID 1
/* #undef HAVE_SETREGID */
/* Define if you have the setresgid function. */
/* #undef HAVE_SETRESGID */
@ -211,32 +253,44 @@
/* #undef HAVE_SETRESUID */
/* Define if you have the setreuid function. */
#define HAVE_SETREUID 1
/* #undef HAVE_SETREUID */
/* Define if you have the setvbuf function. */
#define HAVE_SETVBUF 1
/* Define if you have the sigaddset function. */
#define HAVE_SIGADDSET 1
/* Define if you have the sigblock function. */
/* #undef HAVE_SIGBLOCK */
/* Define if you have the sigemptyset function. */
#define HAVE_SIGEMPTYSET 1
/* Define if you have the sigsetmask function. */
/* #undef HAVE_SIGSETMASK */
/* Define if you have the socket function. */
#define HAVE_SOCKET 1
/* Define if you have the strerror function. */
#define HAVE_STRERROR 1
/* Define if you have the strftime function. */
#define HAVE_STRFTIME 1
/* Define if you have the strncasecmp function. */
#define HAVE_STRNCASECMP 1
/* Define if you have the strstr function. */
#define HAVE_STRSTR 1
/* Define if you have the sysconf function. */
#define HAVE_SYSCONF 1
/* Define if you have the ttyslot function. */
#define HAVE_TTYSLOT 1
/* Define if you have the usleep function. */
#define HAVE_USLEEP 1
/* Define if you have the <crypt.h> header file. */
/* #undef HAVE_CRYPT_H */
@ -288,6 +342,9 @@
/* Define if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define if you have the <sys/signal.h> header file. */
#define HAVE_SYS_SIGNAL_H 1

View file

@ -1,7 +1,7 @@
/* generator.c: The opiegenerator() library function.
%%% portions-copyright-cmetz
Portions of this software are Copyright 1996 by Craig Metz, All Rights
%%% portions-copyright-cmetz-96
Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@ -9,6 +9,9 @@ you didn't get a copy, you may request one from <license@inner.net>.
History:
Modified by cmetz for OPIE 2.31. Renamed "init" to "init-hex".
Removed active attack protection support. Fixed fairly
bug in how init response was computed (i.e., dead wrong).
Modified by cmetz for OPIE 2.3. Use _opieparsechallenge(). ifdef
around string.h. Output hex responses by default, output
OTP re-init extended responses (same secret) if sequence
@ -45,21 +48,22 @@ int opiegenerator FUNCTION((buffer, secret, response), char *buffer AND char *se
if ((sequence < 2) || (sequence > 9999))
return 1;
if (!secret[0])
return 2;
if (opiepasscheck(secret))
return -2;
if (i = opiekeycrunch(algorithm, key, seed, secret))
return i;
if (sequence < 10) {
char newseed[OPIE_SEED_MAX + 1];
char newkey[8], cko[8], ckn[8], ckxor[8], cv[8];
char newkey[8];
char *c;
char buf[OPIE_SEED_MAX + 48 + 1];
while (sequence-- != 0)
opiehash(key, algorithm);
if (opienewseed(strcpy(newseed, seed)) < 0)
return -1;
@ -69,43 +73,15 @@ int opiegenerator FUNCTION((buffer, secret, response), char *buffer AND char *se
for (i = 0; i < 499; i++)
opiehash(newkey, algorithm);
if (opiekeycrunch(algorithm | 0x10, cko, seed, secret))
return -1;
if (opiekeycrunch(algorithm | 0x10, ckn, newseed, secret))
return -1;
for (i = 0; i < 8; i++)
ckxor[i] = cko[i] ^ ckn[i];
strcpy(response, "init:");
strcpy(response, "init-hex:");
strcat(response, opiebtoh(buf, key));
sprintf(buf, ":%s 499 %s:", algids[algorithm], newseed);
strcat(response, buf);
strcat(response, opiebtoh(buf, newkey));
strcat(response, ":");
strcat(response, opiebtoh(buf, ckxor));
strcat(response, ":");
c = buf;
memcpy(c, ckn, sizeof(ckn)); c += sizeof(ckn);
memcpy(c, key, sizeof(key)); c += sizeof(key);
#ifdef HAVE_ANSISPRINTF
c += sprintf(c, "%s 499 %s", algids[algorithm], newseed);
#else /* HAVE_ANSISPRINTF */
sprintf(c, "%s 499 %s", algids[algorithm], newseed);
while(*c) c++;
#endif /* HAVE_ANSISPRINTF */
memcpy(c, newkey, sizeof(newkey)); c += sizeof(newkey);
memcpy(c, ckxor, sizeof(ckxor)); c += sizeof(ckxor);
memcpy(c, ckn, sizeof(ckn)); c += sizeof(ckn);
opiehashlen(algorithm, buf, cv, (unsigned int)c - (unsigned int)buf);
strcat(response, opiebtoh(buf, cv));
} else {
while (sequence-- != 0)
opiehash(key, algorithm);
opiebtoh(response, key);
}

View file

@ -1,27 +1,28 @@
/* hash.c: The opiehash() library function.
%%% copyright-cmetz
This software is Copyright 1996 by Craig Metz, All Rights Reserved.
%%% copyright-cmetz-96
This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.
History:
Updated by cmetz for OPIE 2.31. Added SHA support (which may
not be correct). Backed out previous optimizations as
they killed thread-safety.
Created by cmetz for OPIE 2.3 using the old hash.c as a guide.
*/
#include "opie_cfg.h"
#if 0
#include "sha.h"
#endif /* 0 */
#include "opie.h"
#include <md4.h>
#include <md5.h>
static UINT4 mdx_tmp[4];
#if 0
static SHA_INFO sha;
#endif /* 0 */
VOIDRET opiehash FUNCTION((x, algorithm), VOIDPTR x AND unsigned algorithm)
{
UINT4 *results = (UINT4 *)x;
@ -29,30 +30,39 @@ VOIDRET opiehash FUNCTION((x, algorithm), VOIDPTR x AND unsigned algorithm)
switch(algorithm) {
#if 0
case 3:
sha_init(&sha);
sha_update(&sha, (BYTE *)x, 8);
sha_final(&sha);
results[0] = sha.digest[0] ^ sha.digest[2] ^ sha.digest[4];
results[1] = sha.digest[1] ^ sha.digest[3] ^ sha.digest[5];
{
SHA_CTX sha;
SHAInit(&sha);
SHAUpdate(&sha, (unsigned char *)x, 8);
SHAFinal(&sha);
results[0] = sha.buffer[0] ^ sha.buffer[2] ^ sha.buffer[4];
results[1] = sha.buffer[1] ^ sha.buffer[3];
};
break;
#endif /* 0 */
case 4: {
case 4:
{
MD4_CTX mdx;
UINT4 mdx_tmp[4];
MD4Init(&mdx);
MD4Update(&mdx, (unsigned char *)x, 8);
MD4Final((unsigned char *)mdx_tmp, &mdx);
results[0] = mdx_tmp[0] ^ mdx_tmp[2];
results[1] = mdx_tmp[1] ^ mdx_tmp[3];
};
break;
}
case 5: {
case 5:
{
MD5_CTX mdx;
UINT4 mdx_tmp[4];
MD5Init(&mdx);
MD5Update(&mdx, (unsigned char *)x, 8);
MD5Final((unsigned char *)mdx_tmp, &mdx);
results[0] = mdx_tmp[0] ^ mdx_tmp[2];
results[1] = mdx_tmp[1] ^ mdx_tmp[3];
};
break;
}
}
}

View file

@ -1,7 +1,7 @@
/* hashlen.c: The opiehashlen() library function.
%%% copyright-cmetz
This software is Copyright 1996 by Craig Metz, All Rights Reserved.
%%% copyright-cmetz-96
This software is Copyright 1996-1997 by Craig Metz, All Rights Reserved.
The Inner Net License Version 2 applies to this software.
You should have received a copy of the license with this software. If
you didn't get a copy, you may request one from <license@inner.net>.

View file

@ -1,7 +1,7 @@
.\" opie.4: Overview of the OPIE software.
.\"
.\" %%% portions-copyright-cmetz
.\" Portions of this software are Copyright 1996 by Craig Metz, All Rights
.\" %%% portions-copyright-cmetz-96
.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If
@ -228,12 +228,6 @@ you would use a call to opiechallenge. Later, to verify the response received,
you would use a call to opieverify. For example:
.sp 0
.sp 0
#include <sys/types.h>
.sp 0
.
.sp 0
.
.sp 0
#include <stdio.h>
.sp 0

View file

@ -1,8 +1,8 @@
/* opie.h: Data structures and values for the OPIE authentication
system that a program might need.
%%% portions-copyright-cmetz
Portions of this software are Copyright 1996 by Craig Metz, All Rights
%%% portions-copyright-cmetz-96
Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@ -15,6 +15,7 @@ License Agreement applies to this software.
History:
Modified by cmetz for OPIE 2.31. Removed active attack protection.
Modified by cmetz for OPIE 2.3. Renamed PTR to VOIDPTR. Added
re-init key and extension file fields to struct opie. Added
opie_ prefix on struct opie members. Added opie_flags field
@ -32,7 +33,7 @@ License Agreement applies to this software.
(skey.h).
*/
#ifndef _OPIE_H
#define _OPIE_H
#define _OPIE_H 1
struct opie {
int opie_flags;
@ -42,9 +43,6 @@ struct opie {
char *opie_seed;
char *opie_val;
long opie_recstart;
char opie_extbuf[129]; /* > OPIE_PRINCIPAL_MAX + 1 + 16 + 2 + 1 */
long opie_extrecstart;
char *opie_reinitkey;
};
#define __OPIE_FLAGS_RW 1
@ -71,11 +69,7 @@ struct opie {
/* Maximum length of a principal (read: user name) */
#define OPIE_PRINCIPAL_MAX 32
struct opiemdx_ctx {
u_int32_t state[4];
u_int32_t count[2];
unsigned char buffer[64];
};
#include <sys/cdefs.h>
__BEGIN_DECLS
int opieaccessfile __P((char *));
@ -101,33 +95,28 @@ void opierandomchallenge __P((char *));
char * opieskipspace __P((register char *));
void opiestripcrlf __P((char *));
int opieverify __P((struct opie *,char *));
int opiepasswd __P((struct opie *, int, char *, int, char *, char *));
int opiepasswd __P((struct opie *, int, char *, int, char *, char *));
char *opiereadpass __P((char *, int, int));
int opielogin __P((char *line, char *name, char *host));
__END_DECLS
#if _OPIE /* internal glue support */
#define VOIDPTR void *
#define VOIDRET void
#define NOARGS void
#define FUNCTION(arglist, args) (args)
#define AND ,
#define FUNCTION_NOARGS ()
#define UINT4 u_int32_t
#if _OPIE
#define VOIDPTR void *
#define VOIDRET void
#define NOARGS void
#define FUNCTION(arglist, args) (args)
#define AND ,
#define FUNCTION_NOARGS ()
#define UINT4 u_int32_t
__BEGIN_DECLS
struct utmp;
int __opiegetutmpentry __P((char *, struct utmp *));
int __opiereadrec __P((struct opie *));
int __opiewriterec __P((struct opie *));
int __opiegetutmpentry __P((char *, struct utmp *));
#ifdef EOF
FILE *__opieopen __P((char *, int, int));
#endif
__END_DECLS
#endif /* EOF */
int __opiereadrec __P((struct opie *));
int __opiewriterec __P((struct opie *));
#endif /* _OPIE */
__END_DECLS
#endif /* _OPIE_H */

View file

@ -1,7 +1,7 @@
/* opie_cfg.h: Various configuration-type pieces of information for OPIE.
%%% portions-copyright-cmetz
Portions of this software are Copyright 1996 by Craig Metz, All Rights
%%% portions-copyright-cmetz-96
Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
Reserved. The Inner Net License Version 2 applies to these portions of
the software.
You should have received a copy of the license with this software. If
@ -14,6 +14,11 @@ License Agreement applies to this software.
History:
Modified by cmetz for OPIE 2.31. Added 4.4BSD-Lite pathnames.h
definitions from ftpd. Added struct spwd definition and
HAVE_SHADOW logic for SunOS C2 shadow password support.
Moved user locking config to configure script. Removed
options.h.
Modified by cmetz for OPIE 2.3. Splatted with opie_auto.h.
Obseleted many symbols. Changed OPIE_PASS_{MIN,MAX} to
OPIE_SECRET_{MIN,MAX}. Fixed SHADOW+UTMP definitions.
@ -41,15 +46,17 @@ License Agreement applies to this software.
Written at NRL for OPIE 2.0.
*/
#define VERSION "2.3"
#define DATE "Sunday, September 22, 1996"
#ifndef _OPIE_CFG_H
#define _OPIE_CFG_H 1
#define VERSION "2.31"
#define DATE "Thursday, March 20, 1997"
#ifndef unix
#define unix 1
#endif /* unix */
#include "config.h"
#include "options.h"
/* System characteristics */
@ -92,21 +99,18 @@ License Agreement applies to this software.
#endif /* PATH_MAIL */
#endif /* MAIL_DIR */
#if HAVE_SHADOW_H && HAVE_GETSPENT && HAVE_ENDSPENT
#if defined(linux) && !HAVE_ETC_SHADOW
#if HAVE_SHADOW_H && HAVE_GETSPNAM && HAVE_ENDSPENT
#if defined(linux) && !HAVE_ETC_SHADOW
#define HAVE_SHADOW 0
#else /* defined(linux) && !HAVE_ETC_SHADOW */
#define HAVE_SHADOW 1
#endif /* defined(linux) && !HAVE_ETC_SHADOW */
#endif /* HAVE_SHADOW_H && HAVE_GETSPENT && HAVE_ENDSPENT */
#endif /* HAVE_SHADOW_H && HAVE_GETSPNAM && HAVE_ENDSPENT */
#if !HAVE_SETEUID && HAVE_SETREUID
#define seteuid(x) setreuid(-1, x)
#endif /* !HAVE_SETEUID && HAVE_SETREUID */
#if !HAVE_SETEGID && HAVE_SETREGID
#define setegid(x) setregid(-1, x)
#endif /* !HAVE_SETEGID && HAVE_SETREGID */
#if HAVE_SUNOS_C2_SHADOW && !HAVE_SHADOW
#undef HAVE_SHADOW
#define HAVE_SHADOW 1
#endif /* HAVE_SUNOS_C2_SHADOW && !HAVE_SHADOW */
/* If the user didn't specify, default to MD5 */
#ifndef MDX
@ -125,14 +129,22 @@ License Agreement applies to this software.
#define _PATH_FTPUSERS "/etc/ftpusers"
#endif
#ifndef _PATH_FTPLOGINMESG
#define _PATH_FTPLOGINMESG "/etc/ftpmotd"
#endif /* _PATH_FTPLOGINMESG */
#ifndef _PATH_FTPWELCOME
#define _PATH_FTPWELCOME "/etc/ftpwelcome"
#endif /* _PATH_FTPWELCOME */
#ifndef _PATH_NOLOGIN
#define _PATH_NOLOGIN "/etc/nologin"
#endif /* _PATH_NOLOGIN */
#ifndef TTYGRPNAME
#define TTYGRPNAME "tty" /* name of group to own ttys */
#endif
#ifndef NO_LOGINS_FILE
#define NO_LOGINS_FILE "/etc/nologin"
#endif
#ifndef QUIET_LOGIN_FILE
#define QUIET_LOGIN_FILE ".hushlogin"
#endif
@ -141,10 +153,6 @@ License Agreement applies to this software.
#define OPIE_ALWAYS_FILE ".opiealways"
#endif
#ifndef OPIE_LOCK_PREFIX
#define OPIE_LOCK_PREFIX "/tmp/opie-lock."
#endif
#ifndef OPIE_LOCK_TIMEOUT
#define OPIE_LOCK_TIMEOUT (30*60)
#endif
@ -165,4 +173,11 @@ License Agreement applies to this software.
#define POINTER unsigned char *
#endif /* POINTER */
#ifdef HAVE_SUNOS_C2_SHADOW
struct spwd {
char *sp_pwdp;
};
#endif /* HAVE_SUNOS_C2_SHADOW */
#define _OPIE 1
#endif /* _OPIE_CFG_H */

View file

@ -1,7 +1,7 @@
.\" opieinfo.1: Manual page for the opieinfo(1) program.
.\"
.\" %%% portions-copyright-cmetz
.\" Portions of this software are Copyright 1996 by Craig Metz, All Rights
.\" %%% portions-copyright-cmetz-96
.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If

View file

@ -1,7 +1,7 @@
.\" opiekey.1: Manual page for the opiekey(1) program.
.\"
.\" %%% portions-copyright-cmetz
.\" Portions of this software are Copyright 1996 by Craig Metz, All Rights
.\" %%% portions-copyright-cmetz-96
.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If

View file

@ -1,7 +1,7 @@
.\" opiepasswd.1: Manual page for the opiepasswd(1) program.
.\"
.\" %%% portions-copyright-cmetz
.\" Portions of this software are Copyright 1996 by Craig Metz, All Rights
.\" %%% portions-copyright-cmetz-96
.\" Portions of this software are Copyright 1996-1997 by Craig Metz, All Rights
.\" Reserved. The Inner Net License Version 2 applies to these portions of
.\" the software.
.\" You should have received a copy of the license with this software. If

View file

@ -1,3 +1,6 @@
/* config.h. Generated automatically by configure. */
/* config.h.in. Generated automatically from configure.in by autoheader. */
/* Define if on AIX 3.
System headers sometimes define this.
We just want to avoid a redefinition error message. */
@ -40,9 +43,9 @@
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown
*/
/* #undef STACK_DIRECTION */
@ -78,6 +81,15 @@
/* The path to the mail spool, if we know it */
#define PATH_MAIL "/var/mail"
/* The path to the utmp file, if we know it */
#define PATH_UTMP_AC "/var/run/utmp"
/* The path to the wtmp file, if we know it */
#define PATH_WTMP_AC "/var/log/wtmp"
/* The path to the wtmpx file, if we know it */
/* #undef PATH_WTMPX_AC */
/* Defined if the system's profile (/etc/profile) displays
the motd file */
/* #undef HAVE_MOTD_IN_PROFILE */
@ -138,6 +150,36 @@
/* Define if there is a ut_host field in struct utmp */
#define HAVE_UT_HOST 1
/* Define if the system has getutline() */
/* #undef HAVE_GETUTLINE */
/* Defined if the system has SunOS C2 security shadow passwords */
/* #undef HAVE_SUNOS_C2_SHADOW */
/* Defined if you want to disable utmp support */
/* #undef DISABLE_UTMP */
/* Defined if you want to allow users to override the insecure checks */
/* #undef INSECURE_OVERRIDE */
/* Defined to the default hash value, always defined */
#define MDX 5
/* Defined if new-style prompts are to be used */
#define NEW_PROMPTS 1
/* Defined to the path of the OPIE lock directory */
#define OPIE_LOCK_DIR "/etc/opielocks"
/* Defined if users are to be asked to re-type secret pass phrases */
/* #undef RETYPE */
/* Defined if su should not switch to disabled accounts */
/* #undef SU_STAR_CHECK */
/* Defined if user locking is to be used */
#define USER_LOCKING 1
/* Define if you have the bcopy function. */
/* #undef HAVE_BCOPY */
@ -159,8 +201,8 @@
/* Define if you have the gethostname function. */
/* #undef HAVE_GETHOSTNAME */
/* Define if you have the getspent function. */
/* #undef HAVE_GETSPENT */
/* Define if you have the getspnam function. */
/* #undef HAVE_GETSPNAM */
/* Define if you have the gettimeofday function. */
#define HAVE_GETTIMEOFDAY 1
@ -168,6 +210,9 @@
/* Define if you have the getttynam function. */
#define HAVE_GETTTYNAM 1
/* Define if you have the getusershell function. */
#define HAVE_GETUSERSHELL 1
/* Define if you have the getutxline function. */
/* #undef HAVE_GETUTXLINE */
@ -180,18 +225,15 @@
/* Define if you have the lstat function. */
#define HAVE_LSTAT 1
/* Define if you have the on_exit function. */
/* #undef HAVE_ON_EXIT */
/* Define if you have the pututxline function. */
/* #undef HAVE_PUTUTXLINE */
/* Define if you have the rindex function. */
/* #undef HAVE_RINDEX */
/* Define if you have the setegid function. */
#define HAVE_SETEGID 1
/* Define if you have the seteuid function. */
#define HAVE_SETEUID 1
/* Define if you have the setgroups function. */
#define HAVE_SETGROUPS 1
@ -202,7 +244,7 @@
#define HAVE_SETPRIORITY 1
/* Define if you have the setregid function. */
#define HAVE_SETREGID 1
/* #undef HAVE_SETREGID */
/* Define if you have the setresgid function. */
/* #undef HAVE_SETRESGID */
@ -211,32 +253,44 @@
/* #undef HAVE_SETRESUID */
/* Define if you have the setreuid function. */
#define HAVE_SETREUID 1
/* #undef HAVE_SETREUID */
/* Define if you have the setvbuf function. */
#define HAVE_SETVBUF 1
/* Define if you have the sigaddset function. */
#define HAVE_SIGADDSET 1
/* Define if you have the sigblock function. */
/* #undef HAVE_SIGBLOCK */
/* Define if you have the sigemptyset function. */
#define HAVE_SIGEMPTYSET 1
/* Define if you have the sigsetmask function. */
/* #undef HAVE_SIGSETMASK */
/* Define if you have the socket function. */
#define HAVE_SOCKET 1
/* Define if you have the strerror function. */
#define HAVE_STRERROR 1
/* Define if you have the strftime function. */
#define HAVE_STRFTIME 1
/* Define if you have the strncasecmp function. */
#define HAVE_STRNCASECMP 1
/* Define if you have the strstr function. */
#define HAVE_STRSTR 1
/* Define if you have the sysconf function. */
#define HAVE_SYSCONF 1
/* Define if you have the ttyslot function. */
#define HAVE_TTYSLOT 1
/* Define if you have the usleep function. */
#define HAVE_USLEEP 1
/* Define if you have the <crypt.h> header file. */
/* #undef HAVE_CRYPT_H */
@ -288,6 +342,9 @@
/* Define if you have the <sys/param.h> header file. */
#define HAVE_SYS_PARAM_H 1
/* Define if you have the <sys/select.h> header file. */
#define HAVE_SYS_SELECT_H 1
/* Define if you have the <sys/signal.h> header file. */
#define HAVE_SYS_SIGNAL_H 1