[svn-upgrade] Integrating new upstream version, shadow (20000826)

This commit is contained in:
nekral-guest
2007-10-07 11:44:14 +00:00
parent 446e664caa
commit efd7efa9f1
196 changed files with 7676 additions and 9088 deletions

View File

@@ -45,7 +45,7 @@ libdir = ${exec_prefix}/lib
#lib_PROGRAMS = libshadow.la
lib_LTLIBRARIES = libshadow.la
libshadow_la_SOURCES = ${libshadow_a_SOURCES}
#libshadow_la_LIBADD = @LTLIBOBJS@
libshadow_la_LIBADD = @LTLIBOBJS@
#libshadow_la_LDFLAGS = -version-info 0:0:0 -rpath $(libdir)
libshadow_la_LDFLAGS = -version-info 0:0:0

View File

@@ -78,6 +78,7 @@ INTLOBJS = @INTLOBJS@
LD = @LD@
LIBCRACK = @LIBCRACK@
LIBCRYPT = @LIBCRYPT@
LIBMD = @LIBMD@
LIBPAM = @LIBPAM@
LIBSKEY = @LIBSKEY@
LIBTCFS = @LIBTCFS@
@@ -138,7 +139,7 @@ libdir = ${exec_prefix}/lib
#lib_PROGRAMS = libshadow.la
lib_LTLIBRARIES = libshadow.la
libshadow_la_SOURCES = ${libshadow_a_SOURCES}
#libshadow_la_LIBADD = @LTLIBOBJS@
libshadow_la_LIBADD = @LTLIBOBJS@
#libshadow_la_LDFLAGS = -version-info 0:0:0 -rpath $(libdir)
libshadow_la_LDFLAGS = -version-info 0:0:0
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -156,7 +157,7 @@ rad64.o sgroupio.o shadow.o shadowio.o utent.o tcfsio.o
AR = ar
LTLIBRARIES = $(lib_LTLIBRARIES)
libshadow_la_LIBADD =
libshadow_la_DEPENDENCIES = @LTLIBOBJS@
libshadow_la_OBJECTS = commonio.lo dialchk.lo dialup.lo encrypt.lo \
fputsx.lo getdef.lo getpass.lo groupio.lo gshadow.lo lockpw.lo port.lo \
pwauth.lo pwio.lo rad64.lo sgroupio.lo shadow.lo shadowio.lo utent.lo \
@@ -335,14 +336,17 @@ gshadow.lo gshadow.o : gshadow.c ../config.h rcsid.h prototypes.h \
defines.h gshadow_.h
lockpw.lo lockpw.o : lockpw.c ../config.h
port.lo port.o : port.c ../config.h rcsid.h defines.h gshadow_.h port.h
putgrent.o: putgrent.c ../config.h prototypes.h defines.h gshadow_.h
putgrent.lo putgrent.o : putgrent.c ../config.h prototypes.h defines.h \
gshadow_.h
pwauth.lo pwauth.o : pwauth.c ../config.h rcsid.h prototypes.h defines.h \
gshadow_.h pwauth.h getdef.h
pwio.lo pwio.o : pwio.c ../config.h rcsid.h prototypes.h defines.h \
gshadow_.h commonio.h pwio.h
rad64.lo rad64.o : rad64.c ../config.h rcsid.h
sgetgrent.o: sgetgrent.c ../config.h rcsid.h defines.h gshadow_.h
sgetpwent.o: sgetpwent.c ../config.h rcsid.h defines.h gshadow_.h
sgetgrent.lo sgetgrent.o : sgetgrent.c ../config.h rcsid.h defines.h \
gshadow_.h
sgetpwent.lo sgetpwent.o : sgetpwent.c ../config.h rcsid.h defines.h \
gshadow_.h
sgroupio.lo sgroupio.o : sgroupio.c ../config.h rcsid.h prototypes.h \
defines.h gshadow_.h commonio.h sgroupio.h
shadowio.lo shadowio.o : shadowio.c ../config.h rcsid.h prototypes.h \

View File

@@ -2,7 +2,7 @@
#include <config.h>
#include "rcsid.h"
RCSID("$Id: commonio.c,v 1.14 1998/07/23 22:13:15 marekm Exp $")
RCSID("$Id: commonio.c,v 1.15 2000/08/26 18:27:17 marekm Exp $")
#include "defines.h"
#include <sys/stat.h>
@@ -19,15 +19,15 @@ RCSID("$Id: commonio.c,v 1.14 1998/07/23 22:13:15 marekm Exp $")
#include "commonio.h"
/* local function prototypes */
static int check_link_count P_((const char *));
static int do_lock_file P_((const char *, const char *));
static FILE *fopen_set_perms P_((const char *, const char *, const struct stat *));
static int create_backup P_((const char *, FILE *));
static void free_linked_list P_((struct commonio_db *));
static void add_one_entry P_((struct commonio_db *, struct commonio_entry *));
static int name_is_nis P_((const char *));
static int write_all P_((const struct commonio_db *));
static struct commonio_entry *find_entry_by_name P_((struct commonio_db *, const char *));
static int check_link_count(const char *);
static int do_lock_file(const char *, const char *);
static FILE *fopen_set_perms(const char *, const char *, const struct stat *);
static int create_backup(const char *, FILE *);
static void free_linked_list(struct commonio_db *);
static void add_one_entry(struct commonio_db *, struct commonio_entry *);
static int name_is_nis(const char *);
static int write_all(const struct commonio_db *);
static struct commonio_entry *find_entry_by_name(struct commonio_db *, const char *);
#ifdef HAVE_LCKPWDF
static int lock_count = 0;
@@ -199,8 +199,8 @@ free_linked_list(struct commonio_db *db)
if (p->line)
free(p->line);
if (p->entry)
db->ops->free(p->entry);
if (p->eptr)
db->ops->free(p->eptr);
free(p);
}
@@ -354,26 +354,26 @@ name_is_nis(const char *n)
#if KEEP_NIS_AT_END
/* prototype */
static void add_one_entry_nis P_((struct commonio_db *, struct commonio_entry *));
static void add_one_entry_nis(struct commonio_db *, struct commonio_entry *);
static void
add_one_entry_nis(struct commonio_db *db, struct commonio_entry *new)
add_one_entry_nis(struct commonio_db *db, struct commonio_entry *newp)
{
struct commonio_entry *p;
for (p = db->head; p; p = p->next) {
if (name_is_nis(p->entry ? db->ops->getname(p->entry) : p->line)) {
new->next = p;
new->prev = p->prev;
if (name_is_nis(p->eptr ? db->ops->getname(p->eptr) : p->line)) {
newp->next = p;
newp->prev = p->prev;
if (p->prev)
p->prev->next = new;
p->prev->next = newp;
else
db->head = new;
p->prev = new;
db->head = newp;
p->prev = newp;
return;
}
}
add_one_entry(db, new);
add_one_entry(db, newp);
}
#endif /* KEEP_NIS_AT_END */
@@ -385,7 +385,7 @@ commonio_open(struct commonio_db *db, int mode)
char *cp;
char *line;
struct commonio_entry *p;
void *entry;
void *eptr;
int flags = mode;
mode &= ~O_CREAT;
@@ -425,10 +425,10 @@ commonio_open(struct commonio_db *db, int mode)
goto cleanup;
if (name_is_nis(line)) {
entry = NULL;
} else if ((entry = db->ops->parse(line))) {
entry = db->ops->dup(entry);
if (!entry)
eptr = NULL;
} else if ((eptr = db->ops->parse(line))) {
eptr = db->ops->dup(eptr);
if (!eptr)
goto cleanup_line;
}
@@ -436,7 +436,7 @@ commonio_open(struct commonio_db *db, int mode)
if (!p)
goto cleanup_entry;
p->entry = entry;
p->eptr = eptr;
p->line = line;
p->changed = 0;
@@ -447,8 +447,8 @@ commonio_open(struct commonio_db *db, int mode)
return 1;
cleanup_entry:
if (entry)
db->ops->free(entry);
if (eptr)
db->ops->free(eptr);
cleanup_line:
free(line);
cleanup:
@@ -464,12 +464,12 @@ static int
write_all(const struct commonio_db *db)
{
const struct commonio_entry *p;
void *entry;
void *eptr;
for (p = db->head; p; p = p->next) {
if (p->changed) {
entry = p->entry;
if (db->ops->put(entry, db->fp))
eptr = p->eptr;
if (db->ops->put(eptr, db->fp))
return -1;
} else if (p->line) {
if (db->ops->fputs(p->line, db->fp) == EOF)
@@ -581,7 +581,7 @@ find_entry_by_name(struct commonio_db *db, const char *name)
void *ep;
for (p = db->head; p; p = p->next) {
ep = p->entry;
ep = p->eptr;
if (ep && strcmp(db->ops->getname(ep), name) == 0)
break;
}
@@ -590,7 +590,7 @@ find_entry_by_name(struct commonio_db *db, const char *name)
int
commonio_update(struct commonio_db *db, const void *entry)
commonio_update(struct commonio_db *db, const void *eptr)
{
struct commonio_entry *p;
void *nentry;
@@ -599,14 +599,14 @@ commonio_update(struct commonio_db *db, const void *entry)
errno = EINVAL;
return 0;
}
if (!(nentry = db->ops->dup(entry))) {
if (!(nentry = db->ops->dup(eptr))) {
errno = ENOMEM;
return 0;
}
p = find_entry_by_name(db, db->ops->getname(entry));
p = find_entry_by_name(db, db->ops->getname(eptr));
if (p) {
db->ops->free(p->entry);
p->entry = nentry;
db->ops->free(p->eptr);
p->eptr = nentry;
p->changed = 1;
db->cursor = p;
@@ -621,7 +621,7 @@ commonio_update(struct commonio_db *db, const void *entry)
return 0;
}
p->entry = nentry;
p->eptr = nentry;
p->line = NULL;
p->changed = 1;
@@ -676,8 +676,8 @@ commonio_remove(struct commonio_db *db, const char *name)
if (p->line)
free(p->line);
if (p->entry)
db->ops->free(p->entry);
if (p->eptr)
db->ops->free(p->eptr);
return 1;
}
@@ -698,7 +698,7 @@ commonio_locate(struct commonio_db *db, const char *name)
return NULL;
}
db->cursor = p;
return p->entry;
return p->eptr;
}
@@ -717,7 +717,7 @@ commonio_rewind(struct commonio_db *db)
const void *
commonio_next(struct commonio_db *db)
{
void *entry;
void *eptr;
if (!db->isopen) {
errno = EINVAL;
@@ -729,9 +729,9 @@ commonio_next(struct commonio_db *db)
db->cursor = db->cursor->next;
while (db->cursor) {
entry = db->cursor->entry;
if (entry)
return entry;
eptr = db->cursor->eptr;
if (eptr)
return eptr;
db->cursor = db->cursor->next;
}

View File

@@ -1,11 +1,11 @@
/* $Id: commonio.h,v 1.4 1998/01/29 23:22:27 marekm Exp $ */
/* $Id: commonio.h,v 1.5 2000/08/26 18:27:17 marekm Exp $ */
/*
* Linked list entry.
*/
struct commonio_entry {
char *line;
void *entry; /* struct passwd, struct spwd, ... */
void *eptr; /* struct passwd, struct spwd, ... */
struct commonio_entry *prev, *next;
int changed:1;
};
@@ -18,37 +18,37 @@ struct commonio_ops {
* Make a copy of the object (for example, struct passwd)
* and all strings pointed by it, in malloced memory.
*/
void * (*dup) P_((const void *));
void *(*dup)(const void *);
/*
* free() the object including any strings pointed by it.
*/
void (*free) P_((void *));
void (*free)(void *);
/*
* Return the name of the object (for example, pw_name
* for struct passwd).
*/
const char * (*getname) P_((const void *));
const char *(*getname)(const void *);
/*
* Parse a string, return object (in static area -
* should be copied using the dup operation above).
*/
void * (*parse) P_((const char *));
void *(*parse)(const char *);
/*
* Write the object to the file (this calls putpwent()
* for struct passwd, for example).
*/
int (*put) P_((const void *, FILE *));
int (*put)(const void *, FILE *);
/*
* fgets and fputs (can be replaced by versions that
* understand line continuation conventions).
*/
char * (*fgets) P_((char *, int, FILE *));
int (*fputs) P_((const char *, FILE *));
char *(*fgets)(char *, int, FILE *);
int (*fputs)(const char *, FILE *);
};
/*
@@ -85,17 +85,17 @@ struct commonio_db {
int use_lckpwdf:1;
};
extern int commonio_setname P_((struct commonio_db *, const char *));
extern int commonio_present P_((const struct commonio_db *));
extern int commonio_lock P_((struct commonio_db *));
extern int commonio_lock_nowait P_((struct commonio_db *));
extern int commonio_open P_((struct commonio_db *, int));
extern const void *commonio_locate P_((struct commonio_db *, const char *));
extern int commonio_update P_((struct commonio_db *, const void *));
extern int commonio_remove P_((struct commonio_db *, const char *));
extern int commonio_rewind P_((struct commonio_db *));
extern const void *commonio_next P_((struct commonio_db *));
extern int commonio_close P_((struct commonio_db *));
extern int commonio_unlock P_((struct commonio_db *));
extern void commonio_del_entry P_((struct commonio_db *, const struct commonio_entry *));
extern int commonio_setname(struct commonio_db *, const char *);
extern int commonio_present(const struct commonio_db *);
extern int commonio_lock(struct commonio_db *);
extern int commonio_lock_nowait(struct commonio_db *);
extern int commonio_open(struct commonio_db *, int);
extern const void *commonio_locate(struct commonio_db *, const char *);
extern int commonio_update(struct commonio_db *, const void *);
extern int commonio_remove(struct commonio_db *, const char *);
extern int commonio_rewind(struct commonio_db *);
extern const void *commonio_next(struct commonio_db *);
extern int commonio_close(struct commonio_db *);
extern int commonio_unlock(struct commonio_db *);
extern void commonio_del_entry(struct commonio_db *, const struct commonio_entry *);

View File

@@ -1,4 +1,4 @@
/* $Id: defines.h,v 1.15 1999/08/27 19:02:50 marekm Exp $ */
/* $Id: defines.h,v 1.16 2000/08/26 18:27:17 marekm Exp $ */
/* some useful defines */
#ifndef _DEFINES_H_
@@ -29,14 +29,6 @@
# define _(Text) Text
#endif
#ifndef P_
# ifdef PROTOTYPES
# define P_(x) x
# else
# define P_(x) ()
# endif
#endif
#if STDC_HEADERS
# include <stdlib.h>
# include <string.h>
@@ -194,7 +186,25 @@ char *strchr(), *strrchr(), *strtok();
#ifdef STAT_MACROS_BROKEN
# define S_ISDIR(x) ((x) & S_IFMT) == S_IFDIR)
# define S_ISREG(x) ((x) & S_IFMT) == S_IFREG)
# define S_ISLNK(x) ((x) & S_IFMT) == S_IFLNK)
# ifdef S_IFLNK
# define S_ISLNK(x) ((x) & S_IFMT) == S_IFLNK)
# endif
#endif
#ifndef S_ISLNK
#define S_ISLNK(x) (0)
#endif
#if HAVE_LCHOWN
#define LCHOWN lchown
#else
#define LCHOWN chown
#endif
#if HAVE_LSTAT
#define LSTAT lstat
#else
#define LSTAT stat
#endif
#if HAVE_TERMIOS_H

View File

@@ -1,4 +1,4 @@
/* $Id: dialchk.h,v 1.1 1997/12/07 23:26:49 marekm Exp $ */
/* $Id: dialchk.h,v 1.2 2000/08/26 18:27:17 marekm Exp $ */
#ifndef _DIALCHK_H_
#define _DIALCHK_H_
@@ -11,6 +11,6 @@
* line. If so, a dialup password may be required if the shell
* is listed as one which requires a second password.
*/
extern int dialcheck P_((const char *tty, const char *sh));
extern int dialcheck(const char *, const char *);
#endif

View File

@@ -41,7 +41,7 @@
* lines. Each line consists of the last component of the path
* name. The leading "/dev/" string is removed.
*
* $Id: dialup.h,v 1.2 1997/05/01 23:14:39 marekm Exp $
* $Id: dialup.h,v 1.3 2000/08/26 18:27:17 marekm Exp $
*/
#ifndef _DIALUP_H
@@ -52,13 +52,13 @@ struct dialup {
char *du_passwd;
};
extern void setduent P_((void));
extern void endduent P_((void));
extern struct dialup *fgetduent P_((FILE *));
extern struct dialup *getduent P_((void));
extern struct dialup *getdushell P_((const char *));
extern int putduent P_((const struct dialup *, FILE *));
extern int isadialup P_((const char *));
extern void setduent(void);
extern void endduent(void);
extern struct dialup *fgetduent(FILE *);
extern struct dialup *getduent(void);
extern struct dialup *getdushell(const char *);
extern int putduent(const struct dialup *, FILE *);
extern int isadialup(const char *);
#define DIALPWD "/etc/d_passwd"
#define DIALUPS "/etc/dialups"

View File

@@ -30,13 +30,13 @@
#include <config.h>
#include "rcsid.h"
RCSID("$Id: encrypt.c,v 1.6 1999/03/07 19:14:35 marekm Exp $")
RCSID("$Id: encrypt.c,v 1.7 2000/08/26 18:27:17 marekm Exp $")
#include "prototypes.h"
#include "defines.h"
extern char *crypt();
extern char *libshadow_md5_crypt P_((const char *, const char *));
extern char *libshadow_md5_crypt(const char *, const char *);
char *
pw_encrypt(const char *clear, const char *salt)

View File

@@ -30,7 +30,7 @@
#include <config.h>
#include "rcsid.h"
RCSID("$Id: getdef.c,v 1.13 1999/08/27 19:02:51 marekm Exp $")
RCSID("$Id: getdef.c,v 1.14 2000/08/26 18:27:17 marekm Exp $")
#include "prototypes.h"
#include "defines.h"
@@ -55,6 +55,9 @@ struct itemdef {
static struct itemdef def_table[] = {
{ "CHFN_AUTH", NULL },
{ "CHFN_RESTRICT", NULL },
#ifdef USE_PAM
{ "CLOSE_SESSIONS", NULL },
#endif
{ "CONSOLE", NULL },
{ "CONSOLE_GROUPS", NULL },
{ "CRACKLIB_DICTPATH", NULL },
@@ -63,7 +66,8 @@ static struct itemdef def_table[] = {
{ "DIALUPS_CHECK_ENAB", NULL },
{ "ENVIRON_FILE", NULL },
{ "ENV_HZ", NULL },
{ "ENV_PATH" , NULL },
{ "ENV_PATH", NULL },
{ "ENV_ROOTPATH", NULL }, /* SuSE compatibility? */
{ "ENV_SUPATH", NULL },
{ "ENV_TZ", NULL },
{ "ERASECHAR", NULL },
@@ -130,8 +134,8 @@ static int def_loaded = 0; /* are defs already loaded? */
extern long strtol();
/* local function prototypes */
static struct itemdef *def_find P_((const char *));
static void def_load P_((void));
static struct itemdef *def_find(const char *);
static void def_load(void);
/*

View File

@@ -2,10 +2,10 @@
#define _GETDEF_H
/* getdef.c */
extern int getdef_bool P_((const char *));
extern long getdef_long P_((const char *, long));
extern int getdef_num P_((const char *, int));
extern char *getdef_str P_((const char *));
extern int putdef_str P_((const char *, const char *));
extern int getdef_bool(const char *);
extern long getdef_long(const char *, long);
extern int getdef_num(const char *, int);
extern char *getdef_str(const char *);
extern int putdef_str(const char *, const char *);
#endif /* _GETDEF_H */

View File

@@ -2,7 +2,7 @@
#include <config.h>
#include "rcsid.h"
RCSID("$Id: groupio.c,v 1.7 1998/01/29 23:22:28 marekm Exp $")
RCSID("$Id: groupio.c,v 1.8 2000/08/26 18:27:17 marekm Exp $")
#include "prototypes.h"
#include "defines.h"
@@ -10,8 +10,8 @@ RCSID("$Id: groupio.c,v 1.7 1998/01/29 23:22:28 marekm Exp $")
#include "commonio.h"
#include "groupio.h"
extern int putgrent P_((const struct group *, FILE *));
extern struct group *sgetgrent P_((const char *));
extern int putgrent(const struct group *, FILE *);
extern struct group *sgetgrent(const char *);
struct group *
__gr_dup(const struct group *grent)

View File

@@ -1,12 +1,12 @@
extern struct group *__gr_dup P_((const struct group *));
extern void __gr_set_changed P_((void));
extern int gr_close P_((void));
extern const struct group *gr_locate P_((const char *));
extern int gr_lock P_((void));
extern int gr_name P_((const char *));
extern const struct group *gr_next P_((void));
extern int gr_open P_((int));
extern int gr_remove P_((const char *));
extern int gr_rewind P_((void));
extern int gr_unlock P_((void));
extern int gr_update P_((const struct group *));
extern struct group *__gr_dup(const struct group *);
extern void __gr_set_changed(void);
extern int gr_close(void);
extern const struct group *gr_locate(const char *);
extern int gr_lock(void);
extern int gr_name(const char *);
extern const struct group *gr_next(void);
extern int gr_open(int);
extern int gr_remove(const char *);
extern int gr_rewind(void);
extern int gr_unlock(void);
extern int gr_update(const struct group *);

View File

@@ -6,7 +6,7 @@
* Juha Virtanen, <jiivee@hut.fi>; November 1995
*/
/*
* $Id: prototypes.h,v 1.13 1999/07/09 18:02:43 marekm Exp $
* $Id: prototypes.h,v 1.14 2000/08/26 18:27:17 marekm Exp $
*
* Added a macro to work around ancient (non-ANSI) compilers, just in case
* someone ever tries to compile this with SunOS cc... --marekm
@@ -23,191 +23,206 @@
#include "defines.h"
/* addgrps.c */
extern int add_groups P_((const char *));
extern void add_cons_grps P_((void));
extern int add_groups(const char *);
extern void add_cons_grps(void);
/* age.c */
#ifdef SHADOWPWD
extern void agecheck P_((const struct passwd *pw, const struct spwd *sp));
extern int expire P_((const struct passwd *pw, const struct spwd *sp));
extern int isexpired P_((const struct passwd *pw, const struct spwd *sp));
extern void agecheck(const struct passwd *, const struct spwd *);
extern int expire(const struct passwd *, const struct spwd *);
extern int isexpired(const struct passwd *, const struct spwd *);
#else
extern void agecheck P_((const struct passwd *pw));
extern int expire P_((const struct passwd *pw));
extern int isexpired P_((const struct passwd *pw));
extern void agecheck(const struct passwd *);
extern int expire(const struct passwd *);
extern int isexpired(const struct passwd *);
#endif
/* basename() renamed to Basename() to avoid libc name space confusion */
/* basename.c */
extern char *Basename P_((char *str));
extern char *Basename(char *str);
/* chkshell.c */
extern int check_shell P_((const char *));
extern int check_shell(const char *);
/* chowndir.c */
extern int chown_tree P_((const char *, uid_t, uid_t, gid_t, gid_t));
extern int chown_tree(const char *, uid_t, uid_t, gid_t, gid_t);
/* chowntty.c */
extern void chown_tty P_((const char *, const struct passwd *));
extern void chown_tty(const char *, const struct passwd *);
/* console.c */
extern int console P_((const char *tty));
extern int is_listed P_((const char *cfgin, const char *tty, int def));
extern int console(const char *);
extern int is_listed(const char *, const char *, int);
/* copydir.c */
extern int copy_tree P_((const char *, const char *, uid_t, gid_t));
extern int remove_tree P_((const char *));
extern int copy_tree(const char *, const char *, uid_t, gid_t);
extern int remove_tree(const char *);
/* encrypt.c */
extern char *pw_encrypt P_((const char *, const char *));
extern char *pw_encrypt(const char *, const char *);
/* entry.c */
extern void entry P_((const char *name, struct passwd *pwent));
extern void pw_entry(const char *, struct passwd *);
/* env.c */
extern void addenv P_((const char *, const char *));
extern void initenv P_((void));
extern void set_env P_((int, char * const *));
extern void sanitize_env P_((void));
extern void addenv(const char *, const char *);
extern void initenv(void);
extern void set_env(int, char * const *);
extern void sanitize_env(void);
/* fields.c */
extern void change_field P_((char *buf, size_t maxsize, const char *prompt));
extern int valid_field P_((const char *field, const char *illegal));
extern void change_field(char *, size_t, const char *);
extern int valid_field(const char *, const char *);
/* fputsx.c */
extern char *fgetsx P_((char *, int, FILE *));
extern int fputsx P_((const char *, FILE *));
extern char *fgetsx(char *, int, FILE *);
extern int fputsx(const char *, FILE *);
/* grdbm.c */
extern int gr_dbm_remove P_((const struct group *gr));
extern int gr_dbm_update P_((const struct group *gr));
extern int gr_dbm_present P_((void));
extern int gr_dbm_remove(const struct group *);
extern int gr_dbm_update(const struct group *);
extern int gr_dbm_present(void);
/* grent.c */
extern int putgrent P_((const struct group *, FILE *));
extern int putgrent(const struct group *, FILE *);
/* grpack.c */
extern int gr_pack P_((const struct group *group, char *buf));
extern int gr_unpack P_((char *buf, int len, struct group *group));
extern int gr_pack(const struct group *, char *);
extern int gr_unpack(char *, int, struct group *);
#ifdef SHADOWGRP
/* gsdbm.c */
extern int sg_dbm_remove P_((const char *name));
extern int sg_dbm_update P_((const struct sgrp *sgr));
extern int sg_dbm_present P_((void));
extern int sg_dbm_remove(const char *);
extern int sg_dbm_update(const struct sgrp *);
extern int sg_dbm_present(void);
/* gspack.c */
extern int sgr_pack P_((const struct sgrp *sgrp, char *buf));
extern int sgr_unpack P_((char *buf, int len, struct sgrp *sgrp));
extern int sgr_pack(const struct sgrp *, char *);
extern int sgr_unpack(char *, int, struct sgrp *);
#endif
/* hushed.c */
extern int hushed P_((const struct passwd *pw));
extern int hushed(const struct passwd *);
/* limits.c */
extern void setup_limits P_((const struct passwd *));
extern void setup_limits(const struct passwd *);
/* list.c */
extern char **add_list P_((char **list, const char *member));
extern char **del_list P_((char **list, const char *member));
extern char **dup_list P_((char * const *list));
extern int is_on_list P_((char * const *list, const char *member));
extern char **comma_to_list P_((const char *comma));
extern char **add_list(char **, const char *);
extern char **del_list(char **, const char *);
extern char **dup_list(char * const *);
extern int is_on_list(char * const *, const char *);
extern char **comma_to_list(const char *);
/* login.c */
extern void login_prompt P_((const char *, char *, int));
extern void login_prompt(const char *, char *, int);
/* login_desrpc.c */
extern int login_desrpc P_((const char *));
extern int login_desrpc(const char *);
/* mail.c */
extern void mailcheck P_((void));
extern void mailcheck(void);
/* motd.c */
extern void motd P_((void));
extern void motd(void);
/* myname.c */
extern struct passwd *get_my_pwent P_((void));
extern struct passwd *get_my_pwent(void);
/* obscure.c */
extern int obscure P_((const char *, const char *, const struct passwd *));
extern int obscure(const char *, const char *, const struct passwd *);
/* pam_pass.c */
extern int do_pam_passwd P_((const char *, int, int));
extern int do_pam_passwd(const char *, int, int);
/* port.c */
extern int isttytime P_((const char *, const char *, time_t));
extern int isttytime(const char *, const char *, time_t);
/* pwd2spwd.c */
#ifdef SHADOWPWD
extern struct spwd *pwd_to_spwd P_((const struct passwd *pw));
extern struct spwd *pwd_to_spwd(const struct passwd *);
#endif
/* pwdcheck.c */
extern void passwd_check P_((const char *, const char *, const char *));
extern void passwd_check(const char *, const char *, const char *);
/* pwd_init.c */
extern void pwd_init P_((void));
extern void pwd_init(void);
/* pwdbm.c */
extern int pw_dbm_remove P_((const struct passwd *pw));
extern int pw_dbm_update P_((const struct passwd *pw));
extern int pw_dbm_present P_((void));
extern int pw_dbm_remove(const struct passwd *);
extern int pw_dbm_update(const struct passwd *);
extern int pw_dbm_present(void);
/* pwpack.c */
extern int pw_pack P_((const struct passwd *passwd, char *buf));
extern int pw_unpack P_((char *buf, int len, struct passwd *passwd));
extern int pw_pack(const struct passwd *, char *);
extern int pw_unpack(char *, int, struct passwd *);
/* rad64.c */
extern int c64i P_((char c));
extern int i64c P_((int i));
extern int c64i(int);
extern int i64c(int);
/* rlogin.c */
extern int do_rlogin P_((const char *, char *, int, char *, int));
extern int do_rlogin(const char *, char *, int, char *, int);
/* salt.c */
extern char *crypt_make_salt(void);
/* setugid.c */
extern int setup_groups P_((const struct passwd *));
extern int change_uid P_((const struct passwd *));
extern int setup_uid_gid P_((const struct passwd *, int));
extern int setup_groups(const struct passwd *);
extern int change_uid(const struct passwd *);
extern int setup_uid_gid(const struct passwd *, int);
/* setup.c */
extern void setup P_((struct passwd *info));
extern void setup(struct passwd *);
/* setupenv.c */
extern void setup_env P_((struct passwd *));
extern void setup_env(struct passwd *);
/* shell.c */
extern void shell P_((const char *file, const char *arg));
extern void shell(const char *, const char *);
#ifdef SHADOWPWD
/* spdbm.c */
extern int sp_dbm_remove P_((const char *user));
extern int sp_dbm_update P_((const struct spwd *sp));
extern int sp_dbm_present P_((void));
extern int sp_dbm_remove(const char *);
extern int sp_dbm_update(const struct spwd *);
extern int sp_dbm_present(void);
/* sppack.c */
extern int spw_pack P_((const struct spwd *spwd, char *buf));
extern int spw_unpack P_((char *buf, int len, struct spwd *spwd));
extern int spw_pack(const struct spwd *, char *);
extern int spw_unpack(char *, int, struct spwd *);
#endif
/* strtoday.c */
extern long strtoday P_((const char *str));
extern long strtoday(const char *);
/* suauth.c */
extern int check_su_auth(const char *, const char *);
/* sulog.c */
extern void sulog(const char *, int, const char *, const char *);
/* sub.c */
extern void subsystem(const struct passwd *);
/* ttytype.c */
extern void ttytype P_((const char *line));
extern void ttytype(const char *);
/* tz.c */
extern char *tz(const char *);
/* ulimit.c */
extern void set_filesize_limit P_((int));
extern void set_filesize_limit(int);
/* utmp.c */
extern void checkutmp P_((int));
extern void setutmp P_((const char *, const char *, const char *));
extern void checkutmp(int);
extern void setutmp(const char *, const char *, const char *);
/* valid.c */
extern int valid P_((const char *, const struct passwd *));
extern int valid(const char *, const struct passwd *);
/* xmalloc.c */
extern char *xmalloc P_((size_t size));
extern char *xstrdup P_((const char *str));
extern char *xmalloc(size_t);
extern char *xstrdup(const char *);
#endif /* _PROTOTYPES_H */

View File

@@ -30,7 +30,7 @@
#include <config.h>
#include "rcsid.h"
RCSID("$Id: pwauth.c,v 1.10 1999/08/27 19:02:51 marekm Exp $")
RCSID("$Id: pwauth.c,v 1.11 2000/08/26 18:27:17 marekm Exp $")
#include <sys/types.h>
#include <signal.h>
@@ -68,7 +68,7 @@ extern char *getpass_with_echo();
struct method {
char *name;
int (*func) P_((const char *, int, const char *));
int (*func)(const char *, int, const char *);
};
#ifdef PAD_AUTH

View File

@@ -2,7 +2,7 @@
#include <config.h>
#include "rcsid.h"
RCSID("$Id: pwio.c,v 1.9 1998/01/29 23:22:31 marekm Exp $")
RCSID("$Id: pwio.c,v 1.10 2000/08/26 18:27:17 marekm Exp $")
#include "prototypes.h"
#include "defines.h"
@@ -12,8 +12,8 @@ RCSID("$Id: pwio.c,v 1.9 1998/01/29 23:22:31 marekm Exp $")
#include "commonio.h"
#include "pwio.h"
extern struct passwd *sgetpwent P_((const char *));
extern int putpwent P_((const struct passwd *, FILE *));
extern struct passwd *sgetpwent(const char *);
extern int putpwent(const struct passwd *, FILE *);
struct passwd *
__pw_dup(const struct passwd *pwent)

View File

@@ -1,12 +1,12 @@
extern struct passwd *__pw_dup P_((const struct passwd *));
extern void __pw_set_changed P_((void));
extern int pw_close P_((void));
extern const struct passwd *pw_locate P_((const char *));
extern int pw_lock P_((void));
extern int pw_name P_((const char *));
extern const struct passwd *pw_next P_((void));
extern int pw_open P_((int));
extern int pw_remove P_((const char *));
extern int pw_rewind P_((void));
extern int pw_unlock P_((void));
extern int pw_update P_((const struct passwd *));
extern struct passwd *__pw_dup(const struct passwd *);
extern void __pw_set_changed(void);
extern int pw_close(void);
extern const struct passwd *pw_locate(const char *);
extern int pw_lock(void);
extern int pw_name(const char *);
extern const struct passwd *pw_next(void);
extern int pw_open(int);
extern int pw_remove(const char *);
extern int pw_rewind(void);
extern int pw_unlock(void);
extern int pw_update(const struct passwd *);

View File

@@ -30,14 +30,14 @@
#include <config.h>
#include "rcsid.h"
RCSID("$Id: rad64.c,v 1.4 1997/12/07 23:26:56 marekm Exp $")
RCSID("$Id: rad64.c,v 1.5 2000/08/26 18:27:17 marekm Exp $")
/*
* c64i - convert a radix 64 character to an integer
*/
int
c64i(char c)
c64i(int c)
{
if (c == '.')
return (0);
@@ -117,7 +117,7 @@ a64l(const char *s)
long shift = 0;
for (i = 0, value = 0L;i < 6 && *s;s++) {
value += (c64i (*s) << shift);
value += (c64i ((int) *s) << shift);
shift += 6;
}
return (value);

View File

@@ -4,7 +4,7 @@
#ifdef SHADOWGRP
#include "rcsid.h"
RCSID("$Id: sgroupio.c,v 1.9 1998/01/29 23:22:31 marekm Exp $")
RCSID("$Id: sgroupio.c,v 1.10 2000/08/26 18:27:17 marekm Exp $")
#include "prototypes.h"
#include "defines.h"
@@ -12,8 +12,8 @@ RCSID("$Id: sgroupio.c,v 1.9 1998/01/29 23:22:31 marekm Exp $")
#include "commonio.h"
#include "sgroupio.h"
extern int putsgent P_((const struct sgrp *, FILE *));
extern struct sgrp *sgetsgent P_((const char *));
extern int putsgent(const struct sgrp *, FILE *);
extern struct sgrp *sgetsgent(const char *);
struct sgrp *
__sgr_dup(const struct sgrp *sgent)

View File

@@ -1,13 +1,13 @@
extern struct sgrp *__sgr_dup P_((const struct sgrp *));
extern void __sgr_set_changed P_((void));
extern int sgr_close P_((void));
extern int sgr_file_present P_((void));
extern const struct sgrp *sgr_locate P_((const char *));
extern int sgr_lock P_((void));
extern int sgr_name P_((const char *));
extern const struct sgrp *sgr_next P_((void));
extern int sgr_open P_((int));
extern int sgr_remove P_((const char *));
extern int sgr_rewind P_((void));
extern int sgr_unlock P_((void));
extern int sgr_update P_((const struct sgrp *));
extern struct sgrp *__sgr_dup(const struct sgrp *);
extern void __sgr_set_changed(void);
extern int sgr_close(void);
extern int sgr_file_present(void);
extern const struct sgrp *sgr_locate(const char *);
extern int sgr_lock(void);
extern int sgr_name(const char *);
extern const struct sgrp *sgr_next(void);
extern int sgr_open(int);
extern int sgr_remove(const char *);
extern int sgr_rewind(void);
extern int sgr_unlock(void);
extern int sgr_update(const struct sgrp *);

View File

@@ -1,13 +1,13 @@
extern struct spwd *__spw_dup P_((const struct spwd *));
extern void __spw_set_changed P_((void));
extern int spw_close P_((void));
extern int spw_file_present P_((void));
extern const struct spwd *spw_locate P_((const char *));
extern int spw_lock P_((void));
extern int spw_name P_((const char *));
extern const struct spwd *spw_next P_((void));
extern int spw_open P_((int));
extern int spw_remove P_((const char *));
extern int spw_rewind P_((void));
extern int spw_unlock P_((void));
extern int spw_update P_((const struct spwd *));
extern struct spwd *__spw_dup(const struct spwd *);
extern void __spw_set_changed(void);
extern int spw_close(void);
extern int spw_file_present(void);
extern const struct spwd *spw_locate(const char *);
extern int spw_lock(void);
extern int spw_name(const char *);
extern const struct spwd *spw_next(void);
extern int spw_open(int);
extern int spw_remove(const char *);
extern int spw_rewind(void);
extern int spw_unlock(void);
extern int spw_update(const struct spwd *);

View File

@@ -3,12 +3,12 @@ struct tcfspwd {
char tcfsorig[200]; /* old password */
};
extern int tcfs_close P_((void));
extern int tcfs_file_present P_((void));
extern tcfspwdb *tcfs_locate P_((char *));
extern int tcfs_lock P_((void));
extern int tcfs_name P_((char *));
extern int tcfs_open P_((int));
extern int tcfs_remove P_((char *));
extern int tcfs_unlock P_((void));
extern int tcfs_update P_((char *, struct tcfspwd *));
extern int tcfs_close(void);
extern int tcfs_file_present(void);
extern tcfspwdb *tcfs_locate(char *);
extern int tcfs_lock(void);
extern int tcfs_name(char *);
extern int tcfs_open(int);
extern int tcfs_remove(char *);
extern int tcfs_unlock(void);
extern int tcfs_update(char *, struct tcfspwd *);