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

This commit is contained in:
nekral-guest 2007-10-07 11:44:08 +00:00
parent 45c6603cc8
commit 446e664caa
71 changed files with 12874 additions and 3576 deletions

View File

@ -1,6 +1,6 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -11,7 +11,7 @@
# PARTICULAR PURPOSE.
SHELL = /bin/sh
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@ -32,7 +32,7 @@ mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -46,7 +46,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
@ -59,11 +59,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@ -87,6 +89,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
@ -100,24 +103,23 @@ l = @l@
AUTOMAKE_OPTIONS = 1.0 foreign ansi2knr
SUBDIRS = intl po man lib libmisc src \
contrib debian doc etc old redhat
SUBDIRS = intl po man lib libmisc src contrib debian doc etc old redhat
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
DIST_COMMON = ABOUT-NLS Makefile.am Makefile.in acconfig.h aclocal.m4 \
ansi2knr.1 ansi2knr.c config.guess config.h.in config.sub configure \
configure.in install-sh ltconfig ltmain.sh missing mkinstalldirs \
stamp-h.in
DIST_COMMON = ./stamp-h.in ABOUT-NLS Makefile.am Makefile.in acconfig.h \
aclocal.m4 ansi2knr.1 ansi2knr.c config.guess config.h.in config.sub \
configure configure.in install-sh ltconfig ltmain.sh missing \
mkinstalldirs
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
all: all-recursive-am all-am
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps Makefile
@ -129,22 +131,29 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(ACLOCAL_M4): configure.in
cd $(srcdir) && $(ACLOCAL)
config.status: $(srcdir)/configure
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
config.h: stamp-h
@:
@if test ! -f $@; then \
rm -f stamp-h; \
$(MAKE) stamp-h; \
else :; fi
stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES= CONFIG_HEADERS=config.h \
$(SHELL) ./config.status
@echo timestamp > stamp-h
@echo timestamp > stamp-h 2> /dev/null
$(srcdir)/config.h.in: $(srcdir)/stamp-h.in
@if test ! -f $@; then \
rm -f $(srcdir)/stamp-h.in; \
$(MAKE) $(srcdir)/stamp-h.in; \
else :; fi
$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
cd $(top_srcdir) && $(AUTOHEADER)
@echo timestamp > $(srcdir)/stamp-h.in
@echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
mostlyclean-hdr:
@ -168,41 +177,65 @@ all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive info-recursive dvi-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
target=`echo $@ | sed s/-recursive//`; \
echo "Making $$target in $$subdir"; \
(cd $$subdir && $(MAKE) $$target) \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
test "$$subdir" = "." && dot_seen=yes; \
done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
target=`echo $@ | sed s/-recursive//`; \
echo "Making $$target in $$subdir"; \
(cd $$subdir && $(MAKE) $$target) \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
(cd $$subdir && $(MAKE) tags); \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
&& mkid -f$$here/ID $$unique $(LISP)
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
@ -228,29 +261,31 @@ top_distdir = $(distdir)
# tarfile.
distcheck: dist
-rm -rf $(distdir)
GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
dc_install_base=`cd $(distdir)/=inst && pwd`; \
cd $(distdir)/=build \
&& ../configure --with-included-gettext --srcdir=.. --prefix=$$dc_install_base \
&& $(MAKE) \
&& $(MAKE) dvi \
&& $(MAKE) check \
&& $(MAKE) install \
&& $(MAKE) installcheck \
&& $(MAKE) dist
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) dist
-rm -rf $(distdir)
@echo "========================"; \
echo "$(distdir).tar.gz is ready for distribution"; \
echo "========================"
@banner="$(distdir).tar.gz is ready for distribution"; \
dashes=`echo "$$banner" | sed s/./=/g`; \
echo "$$dashes"; \
echo "$$banner"; \
echo "$$dashes"
dist: distdir
-chmod -R a+r $(distdir)
GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
-rm -rf $(distdir)
dist-all: distdir
-chmod -R a+r $(distdir)
GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
-rm -rf $(distdir)
distdir: $(DISTFILES)
-rm -rf $(distdir)
@ -258,78 +293,83 @@ distdir: $(DISTFILES)
-chmod 777 $(distdir)
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
for subdir in $(SUBDIRS); do \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
|| exit 1; \
fi; \
done
info-am:
info: info-recursive
dvi-am:
dvi: dvi-recursive
check: all-am
$(MAKE) check-recursive
check-am: all-am
check: check-recursive
installcheck-am:
installcheck: installcheck-recursive
all-recursive-am: config.h
$(MAKE) all-recursive
all-am: Makefile config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
install-exec-am:
install-exec: install-exec-recursive
@$(NORMAL_INSTALL)
install-data-am:
install-data: install-data-recursive
@$(NORMAL_INSTALL)
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-recursive
@:
uninstall-am:
uninstall: uninstall-recursive
all-am: Makefile config.h
all-redirect: all-recursive-am
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs-recursive
installdirs-am:
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic
mostlyclean: mostlyclean-recursive
clean-am: clean-hdr clean-tags clean-generic mostlyclean-am
clean: clean-recursive
distclean-am: distclean-hdr distclean-tags distclean-generic clean-am
-rm -f libtool
distclean: distclean-recursive
-rm -f config.status
maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \
maintainer-clean-generic distclean-am
mostlyclean: mostlyclean-recursive mostlyclean-am
clean: clean-recursive clean-am
distclean: distclean-recursive distclean-am
-rm -f config.status
-rm -f libtool
maintainer-clean: maintainer-clean-recursive maintainer-clean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-recursive
-rm -f config.status
.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
@ -338,11 +378,12 @@ uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
all-recursive check-recursive installcheck-recursive info-recursive \
dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
installcheck all-recursive-am all-am install-exec install-data install \
uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \
maintainer-clean
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \
install-exec-am install-exec install-data-am install-data install-am \
install uninstall-am uninstall all-redirect all-am all installdirs-am \
installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.

View File

@ -1,4 +1,4 @@
/* $Id: acconfig.h,v 1.12 1999/06/07 16:40:43 marekm Exp $ */
/* $Id: acconfig.h,v 1.13 1999/08/27 19:02:50 marekm Exp $ */
@ -89,16 +89,13 @@
/* Define to use ndbm. */
#undef NDBM
/* Define to enable the new readpass() that echoes asterisks. */
#undef NEW_READPASS
/* Define to support OPIE one-time password logins. */
#undef OPIE
/* Package name. */
#undef PACKAGE
/* Define if pam_strerror() needs two arguments (Linux-PAM 0.59). */
/* Define if pam_strerror() needs two arguments (Linux-PAM 0.59+). */
#undef PAM_STRERROR_NEEDS_TWO_ARGS
/* Path to passwd program. */

333
aclocal.m4 vendored
View File

@ -1,7 +1,7 @@
dnl aclocal.m4 generated automatically by aclocal 1.3
dnl aclocal.m4 generated automatically by aclocal 1.4
dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
dnl This Makefile.in is free software; the Free Software Foundation
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@ -20,7 +20,7 @@ dnl Usage:
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
AC_DEFUN(AM_INIT_AUTOMAKE,
[AC_REQUIRE([AM_PROG_INSTALL])
[AC_REQUIRE([AC_PROG_INSTALL])
PACKAGE=[$1]
AC_SUBST(PACKAGE)
VERSION=[$2]
@ -30,8 +30,8 @@ if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
ifelse([$3],,
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION"))
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
AC_REQUIRE([AM_SANITY_CHECK])
AC_REQUIRE([AC_ARG_PROGRAM])
dnl FIXME This is truly gross.
@ -43,15 +43,6 @@ AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
AC_REQUIRE([AC_PROG_MAKE_SET])])
# serial 1
AC_DEFUN(AM_PROG_INSTALL,
[AC_REQUIRE([AC_PROG_INSTALL])
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
AC_SUBST(INSTALL_SCRIPT)dnl
])
#
# Check to make sure that the build environment is sane.
#
@ -143,7 +134,7 @@ AC_REQUIRE([AC_PROG_CPP])
AC_MSG_CHECKING([for function prototypes])
if test "$am_cv_prog_cc_stdc" != no; then
AC_MSG_RESULT(yes)
AC_DEFINE(PROTOTYPES)
AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes])
U= ANSI2KNR=
else
AC_MSG_RESULT(no)
@ -245,28 +236,66 @@ esac
])
# serial 24 AM_PROG_LIBTOOL
AC_DEFUN(AM_PROG_LIBTOOL,
[AC_REQUIRE([AM_ENABLE_SHARED])dnl
AC_REQUIRE([AM_ENABLE_STATIC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AM_PROG_LD])dnl
AC_REQUIRE([AM_PROG_NM])dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
dnl
# serial 40 AC_PROG_LIBTOOL
AC_DEFUN(AC_PROG_LIBTOOL,
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
# Save cache, so that ltconfig can load it
AC_CACHE_SAVE
# Actually configure libtool. ac_aux_dir is where install-sh is found.
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|| AC_MSG_ERROR([libtool configure failed])
# Reload cache, that may have been modified by ltconfig
AC_CACHE_LOAD
# This can be used to rebuild libtool when needed
LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh"
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
AC_SUBST(LIBTOOL)dnl
# Redirect the config.log output again, so that the ltconfig log is not
# clobbered by the next message.
exec 5>>./config.log
])
AC_DEFUN(AC_LIBTOOL_SETUP,
[AC_PREREQ(2.13)dnl
AC_REQUIRE([AC_ENABLE_SHARED])dnl
AC_REQUIRE([AC_ENABLE_STATIC])dnl
AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
AC_REQUIRE([AC_PROG_RANLIB])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_PROG_LD])dnl
AC_REQUIRE([AC_PROG_NM])dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
dnl
# Check for any special flags to pass to ltconfig.
libtool_flags=
libtool_flags="--cache-file=$cache_file"
test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared"
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static"
test "$silent" = yes && libtool_flags="$libtool_flags --silent"
test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install"
test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld"
ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN],
[libtool_flags="$libtool_flags --enable-dlopen"])
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
[libtool_flags="$libtool_flags --enable-win32-dll"])
AC_ARG_ENABLE(libtool-lock,
[ --disable-libtool-lock avoid locking (might break parallel builds)])
test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock"
test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
@ -292,30 +321,42 @@ case "$host" in
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
[AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])])
if test x"$lt_cv_cc_needs_belf" != x"yes"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
CFLAGS="$SAVE_CFLAGS"
fi
;;
esac
# Actually configure libtool. ac_aux_dir is where install-sh is found.
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \
|| AC_MSG_ERROR([libtool configure failed])
ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
[*-*-cygwin* | *-*-mingw*)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
;;
])
esac
])
# AM_ENABLE_SHARED - implement the --enable-shared flag
# Usage: AM_ENABLE_SHARED[(DEFAULT)]
# AC_LIBTOOL_DLOPEN - enable checks for dlopen support
AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])])
# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's
AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])])
# AC_ENABLE_SHARED - implement the --enable-shared flag
# Usage: AC_ENABLE_SHARED[(DEFAULT)]
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
# `yes'.
AC_DEFUN(AM_ENABLE_SHARED,
[define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
AC_DEFUN(AC_ENABLE_SHARED, [dnl
define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
AC_ARG_ENABLE(shared,
changequote(<<, >>)dnl
<< --enable-shared build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT]
<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT],
changequote([, ])dnl
[ --enable-shared=PKGS only build shared libraries if the current package
appears as an element in the PKGS list],
[p=${PACKAGE-default}
case "$enableval" in
yes) enable_shared=yes ;;
@ -332,29 +373,23 @@ no) enable_shared=no ;;
IFS="$ac_save_ifs"
;;
esac],
enable_shared=AM_ENABLE_SHARED_DEFAULT)dnl
enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl
])
# AM_DISABLE_SHARED - set the default shared flag to --disable-shared
AC_DEFUN(AM_DISABLE_SHARED,
[AM_ENABLE_SHARED(no)])
# AC_DISABLE_SHARED - set the default shared flag to --disable-shared
AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_ENABLE_SHARED(no)])
# AM_DISABLE_STATIC - set the default static flag to --disable-static
AC_DEFUN(AM_DISABLE_STATIC,
[AM_ENABLE_STATIC(no)])
# AM_ENABLE_STATIC - implement the --enable-static flag
# Usage: AM_ENABLE_STATIC[(DEFAULT)]
# AC_ENABLE_STATIC - implement the --enable-static flag
# Usage: AC_ENABLE_STATIC[(DEFAULT)]
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
# `yes'.
AC_DEFUN(AM_ENABLE_STATIC,
[define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
AC_DEFUN(AC_ENABLE_STATIC, [dnl
define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
AC_ARG_ENABLE(static,
changequote(<<, >>)dnl
<< --enable-static build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT]
<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT],
changequote([, ])dnl
[ --enable-static=PKGS only build shared libraries if the current package
appears as an element in the PKGS list],
[p=${PACKAGE-default}
case "$enableval" in
yes) enable_static=yes ;;
@ -371,26 +406,73 @@ no) enable_static=no ;;
IFS="$ac_save_ifs"
;;
esac],
enable_static=AM_ENABLE_STATIC_DEFAULT)dnl
enable_static=AC_ENABLE_STATIC_DEFAULT)dnl
])
# AC_DISABLE_STATIC - set the default static flag to --disable-static
AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_ENABLE_STATIC(no)])
# AM_PROG_LD - find the path to the GNU or non-GNU linker
AC_DEFUN(AM_PROG_LD,
# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag
# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)]
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
# `yes'.
AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl
define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
AC_ARG_ENABLE(fast-install,
changequote(<<, >>)dnl
<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT],
changequote([, ])dnl
[p=${PACKAGE-default}
case "$enableval" in
yes) enable_fast_install=yes ;;
no) enable_fast_install=no ;;
*)
enable_fast_install=no
# Look at the argument we got. We use all the common list separators.
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:,"
for pkg in $enableval; do
if test "X$pkg" = "X$p"; then
enable_fast_install=yes
fi
done
IFS="$ac_save_ifs"
;;
esac],
enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl
])
# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install
AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_ENABLE_FAST_INSTALL(no)])
# AC_PROG_LD - find the path to the GNU or non-GNU linker
AC_DEFUN(AC_PROG_LD,
[AC_ARG_WITH(gnu-ld,
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
ac_prog=ld
if test "$ac_cv_prog_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
AC_MSG_CHECKING([for ld used by GCC])
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
/* | [A-Za-z]:\\*)
test -z "$LD" && LD="$ac_prog"
;;
# Accept absolute paths.
changequote(,)dnl
[\\/]* | [A-Za-z]:[\\/]*)
re_direlt='/[^/][^/]*/\.\./'
changequote([,])dnl
# Canonicalize the path of ld
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
done
test -z "$LD" && LD="$ac_prog"
;;
"")
# If it fails, then pretend we aren't using GCC.
ac_prog=ld
@ -407,10 +489,10 @@ else
fi
AC_CACHE_VAL(ac_cv_path_LD,
[if test -z "$LD"; then
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog"; then
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
ac_cv_path_LD="$ac_dir/$ac_prog"
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some GNU ld's only accept -v.
@ -418,7 +500,7 @@ AC_CACHE_VAL(ac_cv_path_LD,
if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
test "$with_gnu_ld" != no && break
else
test "$with_gnu_ld" != yes && break
test "$with_gnu_ld" != yes && break
fi
fi
done
@ -434,10 +516,10 @@ else
fi
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
AC_SUBST(LD)
AM_PROG_LD_GNU
AC_PROG_LD_GNU
])
AC_DEFUN(AM_PROG_LD_GNU,
AC_DEFUN(AC_PROG_LD_GNU,
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
@ -447,41 +529,118 @@ else
fi])
])
# AM_PROG_NM - find the path to a BSD-compatible name lister
AC_DEFUN(AM_PROG_NM,
# AC_PROG_NM - find the path to a BSD-compatible name lister
AC_DEFUN(AC_PROG_NM,
[AC_MSG_CHECKING([for BSD-compatible nm])
AC_CACHE_VAL(ac_cv_path_NM,
[case "$NM" in
/* | [A-Za-z]:\\*)
ac_cv_path_NM="$NM" # Let the user override the test with a path.
;;
*)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
[if test -n "$NM"; then
# Let the user override the test.
ac_cv_path_NM="$NM"
else
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
test -z "$ac_dir" && ac_dir=.
if test -f $ac_dir/nm; then
if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then
# Check to see if the nm accepts a BSD-compat flag.
# Adding the `sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
ac_cv_path_NM="$ac_dir/nm -B"
ac_cv_path_NM="$ac_dir/nm -B"
break
elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then
ac_cv_path_NM="$ac_dir/nm -p"
ac_cv_path_NM="$ac_dir/nm -p"
break
else
ac_cv_path_NM="$ac_dir/nm"
ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but
continue # so that we can try to find one that supports BSD flags
fi
break
fi
done
IFS="$ac_save_ifs"
test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
;;
esac])
fi])
NM="$ac_cv_path_NM"
AC_MSG_RESULT([$NM])
AC_SUBST(NM)
])
# AC_CHECK_LIBM - check for math library
AC_DEFUN(AC_CHECK_LIBM,
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
case "$host" in
*-*-beos* | *-*-cygwin*)
# These system don't have libm
;;
*-ncr-sysv4.3*)
AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
AC_CHECK_LIB(m, main, LIBM="$LIBM -lm")
;;
*)
AC_CHECK_LIB(m, main, LIBM="-lm")
;;
esac
])
# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for
# the libltdl convenience library, adds --enable-ltdl-convenience to
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
# '${top_builddir}/' (note the single quotes!) if your package is not
# flat, and, if you're not using automake, define top_builddir as
# appropriate in the Makefiles.
AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
case "$enable_ltdl_convenience" in
no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
"") enable_ltdl_convenience=yes
ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
esac
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
])
# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for
# the libltdl installable library, and adds --enable-ltdl-install to
# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor
# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed
# to be `${top_builddir}/libltdl'. Make sure you start DIR with
# '${top_builddir}/' (note the single quotes!) if your package is not
# flat, and, if you're not using automake, define top_builddir as
# appropriate in the Makefiles.
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
AC_CHECK_LIB(ltdl, main,
[test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
[if test x"$enable_ltdl_install" = xno; then
AC_MSG_WARN([libltdl not installed, but installation disabled])
else
enable_ltdl_install=yes
fi
])
if test x"$enable_ltdl_install" = x"yes"; then
ac_configure_args="$ac_configure_args --enable-ltdl-install"
LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la
INCLTDL=ifelse($#,1,-I$1,['-I${top_builddir}/libltdl'])
else
ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
LIBLTDL="-lltdl"
INCLTDL=
fi
])
dnl old names
AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl
AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl
AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl
AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl
AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl
AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl
AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl
dnl This is just to silence aclocal about the macro not being used
ifelse([AC_DISABLE_FAST_INSTALL])dnl
# Macro to add for using GNU gettext.
# Ulrich Drepper <drepper@cygnus.com>, 1995.
#

View File

@ -1,6 +1,6 @@
/* Copyright (C) 1989, 1997 Aladdin Enterprises. All rights reserved. */
/* Copyright (C) 1989, 1997, 1998 Aladdin Enterprises. All rights reserved. */
/*$Id: ansi2knr.c,v 1.9 1998/04/03 21:56:52 tromey Exp $*/
/*$Id: ansi2knr.c,v 1.10 1998/12/02 12:42:23 tromey Exp $*/
/* Convert ANSI C function definitions to K&R ("traditional C") syntax */
/*
@ -40,9 +40,12 @@ program under the GPL.
* identifier at the left margin, followed by a left parenthesis,
* with a right parenthesis as the last character on the line,
* and with a left brace as the first token on the following line
* (ignoring possible intervening comments).
* It will recognize a multi-line header provided that no intervening
* line ends with a left or right brace or a semicolon.
* (ignoring possible intervening comments), except that a line
* consisting of only
* identifier1(identifier2)
* will not be considered a function definition unless identifier2 is
* the word "void". ansi2knr will recognize a multi-line header provided
* that no intervening line ends with a left or right brace or a semicolon.
* These algorithms ignore whitespace and comments, except that
* the function name must be the first thing on the line.
* The following constructs will confuse it:
@ -55,35 +58,39 @@ program under the GPL.
* The original and principal author of ansi2knr is L. Peter Deutsch
* <ghost@aladdin.com>. Other authors are noted in the change history
* that follows (in reverse chronological order):
lpd 97-12-08 made input_file optional; only closes input and/or
lpd 1998-11-09 added further hack to recognize identifier(void)
as being a procedure
lpd 1998-10-23 added hack to recognize lines consisting of
identifier1(identifier2) as *not* being procedures
lpd 1997-12-08 made input_file optional; only closes input and/or
output file if not stdin or stdout respectively; prints
usage message on stderr rather than stdout; adds
--filename switch (changes suggested by
<ceder@lysator.liu.se>)
lpd 96-01-21 added code to cope with not HAVE_CONFIG_H and with
lpd 1996-01-21 added code to cope with not HAVE_CONFIG_H and with
compilers that don't understand void, as suggested by
Tom Lane
lpd 96-01-15 changed to require that the first non-comment token
lpd 1996-01-15 changed to require that the first non-comment token
on the line following a function header be a left brace,
to reduce sensitivity to macros, as suggested by Tom Lane
<tgl@sss.pgh.pa.us>
lpd 95-06-22 removed #ifndefs whose sole purpose was to define
lpd 1995-06-22 removed #ifndefs whose sole purpose was to define
undefined preprocessor symbols as 0; changed all #ifdefs
for configuration symbols to #ifs
lpd 95-04-05 changed copyright notice to make it clear that
lpd 1995-04-05 changed copyright notice to make it clear that
including ansi2knr in a program does not bring the entire
program under the GPL
lpd 94-12-18 added conditionals for systems where ctype macros
lpd 1994-12-18 added conditionals for systems where ctype macros
don't handle 8-bit characters properly, suggested by
Francois Pinard <pinard@iro.umontreal.ca>;
removed --varargs switch (this is now the default)
lpd 94-10-10 removed CONFIG_BROKETS conditional
lpd 94-07-16 added some conditionals to help GNU `configure',
lpd 1994-10-10 removed CONFIG_BROKETS conditional
lpd 1994-07-16 added some conditionals to help GNU `configure',
suggested by Francois Pinard <pinard@iro.umontreal.ca>;
properly erase prototype args in function parameters,
contributed by Jim Avera <jima@netcom.com>;
correct error in writeblanks (it shouldn't erase EOLs)
lpd 89-xx-xx original version
lpd 1989-xx-xx original version
*/
/* Most of the conditionals here are to make ansi2knr work with */
@ -397,6 +404,34 @@ test1(buf)
key++;
}
}
{
char *id = p;
int len;
/*
* Check for identifier1(identifier2) and not
* identifier1(void).
*/
while ( isidchar(*p) )
p++;
len = p - id;
p = skipspace(p, 1);
if ( *p == ')' && (len != 4 || strncmp(id, "void", 4)) )
return 0; /* not a function */
}
/*
* If the last significant character was a ), we need to count
* parentheses, because it might be part of a formal parameter
* that is a procedure.
*/
if (contin > 0) {
int level = 0;
for (p = skipspace(buf, 1); *p; p = skipspace(p + 1, 1))
level += (*p == '(' ? 1 : *p == ')' ? -1 : 0);
if (level > 0)
contin = -1;
}
return contin;
}

192
config.guess vendored
View File

@ -1,6 +1,7 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999
# Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@ -36,6 +37,20 @@
# (but try to keep the structure clean).
#
# Use $HOST_CC if defined. $CC may point to a cross-compiler
if test x"$CC_FOR_BUILD" = x; then
if test x"$HOST_CC" != x; then
CC_FOR_BUILD="$HOST_CC"
else
if test x"$CC" != x; then
CC_FOR_BUILD="$CC"
else
CC_FOR_BUILD=cc
fi
fi
fi
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 8/24/94.)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
@ -78,7 +93,7 @@ main:
ret \$31,(\$26),1
.end main
EOF
${CC-cc} $dummy.s -o $dummy 2>/dev/null
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
if test "$?" = 0 ; then
./$dummy
case "$?" in
@ -100,7 +115,13 @@ EOF
esac
fi
rm -f $dummy.s $dummy
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]`
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
exit 0 ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
exit 0 ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
@ -144,7 +165,7 @@ EOF
SR2?01:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;
Pyramid*:OSx*:*:*|MIS*:OSx*:*:*|MIS*:SMP_DC-OSx*:*:*)
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
@ -203,6 +224,32 @@ EOF
atari*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
# to the lowercase version "mint" (or "freemint"). Finally
# the system name "TOS" denotes a system which is actually not
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit 0 ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit 0 ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit 0 ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
exit 0 ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
exit 0 ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
exit 0 ;;
sun3*:NetBSD:*:*)
echo m68k-sun-netbsd${UNAME_RELEASE}
exit 0 ;;
@ -236,12 +283,16 @@ EOF
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
2020:CLIX:*:*)
2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
sed 's/^ //' << EOF >$dummy.c
int main (argc, argv) int argc; char **argv; {
#ifdef __cplusplus
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
@ -256,7 +307,7 @@ EOF
exit (-1);
}
EOF
${CC-cc} $dummy.c -o $dummy \
$CC_FOR_BUILD $dummy.c -o $dummy \
&& ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
@ -322,7 +373,7 @@ EOF
exit(0);
}
EOF
${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
@ -370,7 +421,7 @@ EOF
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/6?? | 9000/7?? | 9000/80[24] | 9000/8?[13679] | 9000/892 )
9000/[678][0-9][0-9])
sed 's/^ //' << EOF >$dummy.c
#include <stdlib.h>
#include <unistd.h>
@ -402,7 +453,7 @@ EOF
exit (0);
}
EOF
(${CC-cc} $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
($CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
rm -f $dummy.c $dummy
esac
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
@ -434,7 +485,7 @@ EOF
exit (0);
}
EOF
${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
echo unknown-hitachi-hiuxwe2
exit 0 ;;
@ -444,6 +495,9 @@ EOF
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit 0 ;;
*9??*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
exit 0 ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit 0 ;;
@ -460,6 +514,9 @@ EOF
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit 0 ;;
hppa*:OpenBSD:*:*)
echo hppa-unknown-openbsd
exit 0 ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
exit 0 ;;
@ -499,7 +556,7 @@ EOF
echo cray2-cray-unicos
exit 0 ;;
F300:UNIX_System_V:*:*)
FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;;
@ -512,16 +569,22 @@ EOF
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
i?86:BSD/386:*:* | i?86:BSD/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:FreeBSD:*:*)
if test -x /usr/bin/objformat; then
if test "elf" = "`/usr/bin/objformat`"; then
echo ${UNAME_MACHINE}-unknown-freebsdelf`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'`
exit 0
fi
fi
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit 0 ;;
*:NetBSD:*:*)
@ -536,6 +599,15 @@ EOF
i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit 0 ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i386-pc-interix
exit 0 ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
exit 0 ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
exit 0 ;;
@ -549,13 +621,14 @@ EOF
# uname on the ARM produces all sorts of strangeness, and we need to
# filter it out.
case "$UNAME_MACHINE" in
armv*) ;;
armv*) UNAME_MACHINE=$UNAME_MACHINE ;;
arm* | sa110*) UNAME_MACHINE="arm" ;;
esac
# The BFD linker knows what the default object file format is, so
# first see if it will tell us.
ld_help_string=`ld --help 2>&1`
# first see if it will tell us. cd to the root directory to prevent
# problems with other programs or directories called `ld' in the path.
ld_help_string=`cd /; ld --help 2>&1`
ld_supported_emulations=`echo $ld_help_string \
| sed -ne '/supported emulations:/!d
s/[ ][ ]*/ /g
@ -568,7 +641,36 @@ EOF
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;;
elf32ppc)
# Determine Lib Version
cat >$dummy.c <<EOF
#include <features.h>
#if defined(__GLIBC__)
extern char __libc_version[];
extern char __libc_release[];
#endif
main(argc, argv)
int argc;
char *argv[];
{
#if defined(__GLIBC__)
printf("%s %s\n", __libc_version, __libc_release);
#else
printf("unkown\n");
#endif
return 0;
}
EOF
LIBC=""
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
if test "$?" = 0 ; then
./$dummy | grep 1\.99 > /dev/null
if test "$?" = 0 ; then
LIBC="libc1"
fi
fi
rm -f $dummy.c $dummy
echo powerpc-unknown-linux-gnu${LIBC} ; exit 0 ;;
esac
if test "${UNAME_MACHINE}" = "alpha" ; then
@ -590,7 +692,7 @@ EOF
.end main
EOF
LIBC=""
${CC-cc} $dummy.s -o $dummy 2>/dev/null
$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
if test "$?" = 0 ; then
./$dummy
case "$?" in
@ -621,10 +723,11 @@ EOF
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
elif test "${UNAME_MACHINE}" = "mips" ; then
cat >$dummy.c <<EOF
main(argc, argv)
int argc;
char *argv[];
{
#ifdef __cplusplus
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#ifdef __MIPSEB__
printf ("%s-unknown-linux-gnu\n", argv[1]);
#endif
@ -634,7 +737,7 @@ main(argc, argv)
return 0;
}
EOF
${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
else
# Either a pre-BFD a.out linker (linux-gnuoldld)
@ -656,10 +759,11 @@ EOF
# Determine whether the default compiler is a.out or elf
cat >$dummy.c <<EOF
#include <features.h>
main(argc, argv)
int argc;
char *argv[];
{
#ifdef __cplusplus
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#ifdef __ELF__
# ifdef __GLIBC__
# if __GLIBC__ >= 2
@ -676,7 +780,7 @@ main(argc, argv)
return 0;
}
EOF
${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
fi ;;
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
@ -699,6 +803,14 @@ EOF
echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
fi
exit 0 ;;
i?86:*:5:7*)
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) && UNAME_MACHINE=i586
(/bin/uname -X|egrep '^Machine.*Pent.*II' >/dev/null) && UNAME_MACHINE=i686
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) && UNAME_MACHINE=i585
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}${UNAME_VERSION}-sysv${UNAME_RELEASE}
exit 0 ;;
i?86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
@ -708,18 +820,15 @@ EOF
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
&& UNAME_MACHINE=i686
(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit 0 ;;
i?86:UnixWare:*:*)
if /bin/uname -X 2>/dev/null >/dev/null ; then
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
fi
echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION}
exit 0 ;;
pc:*:*:*)
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
@ -761,7 +870,7 @@ EOF
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit 0 ;;
i?86:LynxOS:2.*:*)
i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;;
TSUNAMI:LynxOS:2.*:*)
@ -773,6 +882,9 @@ EOF
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
@ -803,7 +915,7 @@ EOF
news*:NEWS-OS:*:6*)
echo mips-sony-newsos6
exit 0 ;;
R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*)
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
@ -937,7 +1049,7 @@ main ()
}
EOF
${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy
# Apollos put the system type in the environment.

View File

@ -161,24 +161,15 @@
/* Define to support the MD5-based password hashing algorithm. */
#undef MD5_CRYPT
/* Define to enable the new readpass() that echoes asterisks. */
#undef NEW_READPASS
/* Define to support OPIE one-time password logins. */
#undef OPIE
/* Package name. */
#undef PACKAGE
/* Define if pam_strerror() needs two arguments (Linux-PAM 0.59). */
/* Define if pam_strerror() needs two arguments (Linux-PAM 0.59+). */
#undef PAM_STRERROR_NEEDS_TWO_ARGS
/* Path to passwd program. */
#undef PASSWD_PROGRAM
/* Define if the compiler understands function prototypes. */
#undef PROTOTYPES
/* Define if login should support the -r flag for rlogind. */
#undef RLOGIN
@ -215,9 +206,6 @@
/* Define to ut_name if struct utmp has ut_name (not ut_user). */
#undef ut_user
/* Version. */
#undef VERSION
/* Path for wtmp file. */
#undef _WTMP_FILE
@ -454,3 +442,13 @@
/* Define if you have the socket library (-lsocket). */
#undef HAVE_LIBSOCKET
/* Name of package */
#undef PACKAGE
/* Version number of package */
#undef VERSION
/* Define if compiler has function prototypes */
#undef PROTOTYPES

302
config.sub vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh
# Configuration validation subroutine script, version 1.1.
# Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
# Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
@ -98,11 +98,21 @@ case $os in
os=
basic_machine=$1
;;
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
;;
-scout)
;;
-wrs)
os=vxworks
basic_machine=$1
;;
-hiux*)
os=-hiuxwe2
;;
-sco5)
os=sco3.2v5
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
@ -121,6 +131,9 @@ case $os in
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-udk*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@ -151,15 +164,21 @@ case $basic_machine in
# Some are omitted here because they have special meanings below.
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
| 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 \
| alpha | alphaev5 | alphaev56 | alphapca56 | alphaev6 \
| alphapca57 | alphaev7 | we32k | ns16k | clipper \
| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
| mips64 | mipsel | mips64el | mips64orion | mips64orionel \
| mipstx39 | mipstx39el | armv[34][lb] \
| sparc | sparclet | sparclite | sparc64 | v850)
| 580 | i960 | h8300 \
| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
| alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
| we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
| mips64orion | mips64orionel | mipstx39 | mipstx39el \
| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
| mips64vr5000 | miprs64vr5000el \
| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
| thumb | d10v)
basic_machine=$basic_machine-unknown
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65)
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
@ -175,25 +194,41 @@ case $basic_machine in
vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
| xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \
| alpha-* | alphaev5-* | alphaev56-* | alphapca56-* \
| alphaev6-* | alphapca57-* | alphaev7-* | we32k-* | cydra-* \
| ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
| xmp-* | ymp-* \
| hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
| alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \
| we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
| clipper-* | orion-* \
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
| sparc64-* | mips64-* | mipsel-* | armv[34][lb]-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
| mipstx39-* | mipstx39el-* \
| f301-* | armv*-*)
| f301-* | armv*-* | t3e-* \
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
| thumb-* | v850-* | d30v-* | tic30-* | c30-* )
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
basic_machine=i386-unknown
os=-bsd
;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att
;;
3b*)
basic_machine=we32k-att
;;
a29khif)
basic_machine=a29k-amd
os=-udi
;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
;;
alliant | fx80)
basic_machine=fx80-alliant
;;
@ -223,6 +258,10 @@ case $basic_machine in
basic_machine=m68k-apollo
os=-sysv
;;
apollo68bsd)
basic_machine=m68k-apollo
os=-bsd
;;
aux)
basic_machine=m68k-apple
os=-aux
@ -299,6 +338,10 @@ case $basic_machine in
encore | umax | mmax)
basic_machine=ns32k-encore
;;
es1800 | OSE68k | ose68k | ose | OSE)
basic_machine=m68k-ericsson
os=-ose
;;
fx2800)
basic_machine=i860-alliant
;;
@ -317,6 +360,14 @@ case $basic_machine in
basic_machine=h8300-hitachi
os=-hms
;;
h8300xray)
basic_machine=h8300-hitachi
os=-xray
;;
h8500hms)
basic_machine=h8500-hitachi
os=-hms
;;
harris)
basic_machine=m88k-harris
os=-sysv3
@ -332,13 +383,30 @@ case $basic_machine in
basic_machine=m68k-hp
os=-hpux
;;
hp3k9[0-9][0-9] | hp9[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp
;;
hp9k3[2-9][0-9])
basic_machine=m68k-hp
;;
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
hp9k6[0-9][0-9] | hp6[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k7[0-79][0-9] | hp7[0-79][0-9])
basic_machine=hppa1.1-hp
;;
hp9k78[0-9] | hp78[0-9])
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][13679] | hp8[0-9][13679])
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
@ -347,6 +415,14 @@ case $basic_machine in
hppa-next)
os=-nextstep3
;;
hppaosf)
basic_machine=hppa1.1-hp
os=-osf
;;
hppro)
basic_machine=hppa1.1-hp
os=-proelf
;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
os=-mvs
@ -368,6 +444,22 @@ case $basic_machine in
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
i386mach)
basic_machine=i386-mach
os=-mach
;;
i386-vsta | vsta)
basic_machine=i386-unknown
os=-vsta
;;
i386-go32 | go32)
basic_machine=i386-unknown
os=-go32
;;
i386-mingw32 | mingw32)
basic_machine=i386-unknown
os=-mingw32
;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
@ -396,6 +488,10 @@ case $basic_machine in
miniframe)
basic_machine=m68000-convergent
;;
*mint | *MiNT)
basic_machine=m68k-atari
os=-mint
;;
mipsel*-linux*)
basic_machine=mipsel-unknown
os=-linux-gnu
@ -410,10 +506,22 @@ case $basic_machine in
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
monitor)
basic_machine=m68k-rom68k
os=-coff
;;
msdos)
basic_machine=i386-unknown
os=-msdos
;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
;;
netbsd386)
basic_machine=i386-unknown
os=-netbsd
;;
netwinder)
basic_machine=armv4l-corel
os=-linux
@ -430,6 +538,10 @@ case $basic_machine in
basic_machine=mips-sony
os=-newsos
;;
necv70)
basic_machine=v70-nec
os=-sysv
;;
next | m*-next )
basic_machine=m68k-next
case $os in
@ -455,9 +567,25 @@ case $basic_machine in
basic_machine=i960-intel
os=-nindy
;;
mon960)
basic_machine=i960-intel
os=-mon960
;;
np1)
basic_machine=np1-gould
;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
os=-proelf
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
os=-ose
;;
os68k)
basic_machine=m68k-none
os=-os68k
;;
pa-hitachi)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
@ -475,19 +603,19 @@ case $basic_machine in
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pentium | p5 | k5 | nexen)
pentium | p5 | k5 | k6 | nexen)
basic_machine=i586-pc
;;
pentiumpro | p6 | k6 | 6x86)
pentiumpro | p6 | 6x86)
basic_machine=i686-pc
;;
pentiumii | pentium2)
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | nexen-*)
pentium-* | p5-* | k5-* | k6-* | nexen-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | k6-* | 6x86-*)
pentiumpro-* | p6-* | 6x86-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-*)
@ -511,12 +639,20 @@ case $basic_machine in
ps2)
basic_machine=i386-ibm
;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
;;
rm[46]00)
basic_machine=mips-siemens
;;
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
sa29200)
basic_machine=a29k-amd
os=-udi
;;
sequent)
basic_machine=i386-sequent
;;
@ -524,6 +660,10 @@ case $basic_machine in
basic_machine=sh-hitachi
os=-hms
;;
sparclite-wrs)
basic_machine=sparclite-wrs
os=-vxworks
;;
sps7)
basic_machine=m68k-bull
os=-sysv2
@ -531,6 +671,13 @@ case $basic_machine in
spur)
basic_machine=spur-unknown
;;
st2000)
basic_machine=m68k-tandem
;;
stratus)
basic_machine=i860-stratus
os=-sysv4
;;
sun2)
basic_machine=m68000-sun
;;
@ -575,6 +722,10 @@ case $basic_machine in
basic_machine=i386-sequent
os=-dynix
;;
t3e)
basic_machine=t3e-cray
os=-unicos
;;
tx39)
basic_machine=mipstx39-unknown
;;
@ -592,6 +743,10 @@ case $basic_machine in
basic_machine=a29k-nyu
os=-sym1
;;
v810 | necv810)
basic_machine=v810-nec
os=-none
;;
vaxv)
basic_machine=vax-dec
os=-sysv
@ -615,6 +770,14 @@ case $basic_machine in
basic_machine=a29k-wrs
os=-vxworks
;;
w65*)
basic_machine=w65-wdc
os=-none
;;
w89k-*)
basic_machine=hppa1.1-winbond
os=-proelf
;;
xmp)
basic_machine=xmp-cray
os=-unicos
@ -622,6 +785,10 @@ case $basic_machine in
xps | xps100)
basic_machine=xps100-honeywell
;;
z8k-*-coff)
basic_machine=z8k-unknown
os=-sim
;;
none)
basic_machine=none-none
os=-none
@ -629,6 +796,15 @@ case $basic_machine in
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
w89k)
basic_machine=hppa1.1-winbond
;;
op50n)
basic_machine=hppa1.1-oki
;;
op60c)
basic_machine=hppa1.1-oki
;;
mips)
if [ x$os = x-linux-gnu ]; then
basic_machine=mips-unknown
@ -651,7 +827,7 @@ case $basic_machine in
we32k)
basic_machine=we32k-att
;;
sparc)
sparc | sparcv9)
basic_machine=sparc-sun
;;
cydra)
@ -663,6 +839,16 @@ case $basic_machine in
orion105)
basic_machine=clipper-highlevel
;;
mac | mpw | mac-mpw)
basic_machine=m68k-apple
;;
pmac | pmac-mpw)
basic_machine=powerpc-apple
;;
c4x*)
basic_machine=c4x-none
os=-coff
;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
@ -716,14 +902,21 @@ case $os in
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -rhapsody* \
| -openstep*)
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -rhapsody* | -openstep* | -oskit*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
| -macos* | -mpw* | -magic* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
@ -748,6 +941,9 @@ case $os in
-acis*)
os=-aos
;;
-386bsd)
os=-bsd
;;
-ctix* | -uts*)
os=-sysv
;;
@ -779,9 +975,18 @@ case $os in
# This must come after -sysvr4.
-sysv*)
;;
-ose*)
os=-ose
;;
-es1800*)
os=-ose
;;
-xenix)
os=-xenix
;;
-*mint | -*MiNT)
os=-mint
;;
-none)
;;
*)
@ -831,6 +1036,15 @@ case $basic_machine in
# default.
# os=-sunos4
;;
m68*-cisco)
os=-aout
;;
mips*-cisco)
os=-elf
;;
mips*-*)
os=-elf
;;
*-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3
;;
@ -843,6 +1057,15 @@ case $basic_machine in
*-ibm)
os=-aix
;;
*-wec)
os=-proelf
;;
*-winbond)
os=-proelf
;;
*-oki)
os=-proelf
;;
*-hp)
os=-hpux
;;
@ -906,6 +1129,18 @@ case $basic_machine in
f301-fujitsu)
os=-uxpv
;;
*-rom68k)
os=-coff
;;
*-*bug)
os=-coff
;;
*-apple)
os=-macos
;;
*-atari*)
os=-mint
;;
*)
os=-none
;;
@ -927,9 +1162,15 @@ case $basic_machine in
-aix*)
vendor=ibm
;;
-beos*)
vendor=be
;;
-hpux*)
vendor=hp
;;
-mpeix*)
vendor=hp
;;
-hiux*)
vendor=hitachi
;;
@ -957,6 +1198,15 @@ case $basic_machine in
-aux*)
vendor=apple
;;
-hms*)
vendor=hitachi
;;
-mpw* | -macos*)
vendor=apple
;;
-*mint | -*MiNT)
vendor=atari
;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;

1091
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(lib/dialchk.c)
AM_INIT_AUTOMAKE(shadow, 19990709)
AM_INIT_AUTOMAKE(shadow, 19990827)
AM_CONFIG_HEADER(config.h)
dnl Some hacks...
@ -9,7 +9,7 @@ test "$prefix" = "/usr" && exec_prefix=""
test "$CFLAGS" = "" && CFLAGS="-O2 -Wall"
test "$LDFLAGS" = "" && LDFLAGS="-s"
ALL_LINGUAS="el pl"
ALL_LINGUAS="el fr pl sv"
dnl Checks for programs.
AC_PROG_CC
@ -210,7 +210,6 @@ AC_DEFINE(getpass, libshadow_getpass)
AC_ARG_ENABLE(desrpc, [ --enable-desrpc try to use secure RPC in login (default if found)])
dnl AC_ARG_ENABLE(md5crypt, [ --enable-md5crypt include MD5-compatible crypt function])
AC_ARG_ENABLE(readpass, [ --enable-readpass include code to enter passwords that echoes asterisks])
AC_ARG_ENABLE(shadowgrp, [ --enable-shadowgrp enable shadow group support [default=yes]])
AC_ARG_WITH(libcrack, [ --with-libcrack try to use libcrack (default if found)])
@ -237,10 +236,6 @@ if test "$enable_desrpc" != "no" -a "$ac_cv_header_rpc_key_prot_h" = "yes" ; the
AC_CHECK_LIB(rpcsvc, getsecretkey, AC_DEFINE(DES_RPC)))
fi
if test "$enable_readpass" = "yes" ; then
AC_DEFINE(NEW_READPASS)
fi
if test "$enable_shadowgrp" != "no"; then
AC_DEFINE(SHADOWGRP)
fi

View File

@ -1,6 +1,6 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -14,7 +14,7 @@
# and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
@ -101,8 +104,8 @@ VERSION = @VERSION@
YACC = @YACC@
l = @l@
EXTRA_DIST = README adduser.c adduser-old.c adduser.sh adduser2.sh \
atudel pwdauth.c rpasswd.c shadow-anonftp.patch udbachk.v012.tgz
EXTRA_DIST = README adduser.c adduser-old.c adduser.sh adduser2.sh atudel pwdauth.c rpasswd.c shadow-anonftp.patch udbachk.v012.tgz
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
@ -112,9 +115,8 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
all: Makefile
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps contrib/Makefile
@ -134,61 +136,74 @@ subdir = contrib
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
info:
dvi:
check: all
$(MAKE)
installcheck:
install-exec:
@$(NORMAL_INSTALL)
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data:
@$(NORMAL_INSTALL)
install: install-exec install-data all
@:
uninstall:
install-data-am:
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am:
uninstall: uninstall-am
all-am: Makefile
all-redirect: all-am
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-generic
mostlyclean-am: mostlyclean-generic
clean: clean-generic mostlyclean
mostlyclean: mostlyclean-am
distclean: distclean-generic clean
-rm -f config.status
clean-am: clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool
maintainer-clean: maintainer-clean-generic distclean
distclean: distclean-am
maintainer-clean-am: maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
.PHONY: tags distdir info dvi installcheck install-exec install-data \
install uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \
maintainer-clean
maintainer-clean: maintainer-clean-am
.PHONY: tags distdir info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.

10
debian/Makefile.am vendored
View File

@ -1,9 +1,9 @@
# This is a dummy Makefile.am to get automake work flawlessly,
# and also cooperate to make a distribution for `make dist'
EXTRA_DIST = FILES changelog checksums control login.conffiles \
login.copyright login.postinst login.postrm login.preinst \
login.prerm logoutd passwd.conffiles passwd.copyright \
passwd.postinst porttime rules secure-su.README \
secure-su.conffiles secure-su.copyright secure-su.postrm \
EXTRA_DIST = FILES changelog checksums control control.gnu control.linux \
login.conffiles login.copyright login.postinst login.postrm login.preinst \
login.prerm logoutd.init passwd.conffiles passwd.copyright \
passwd.cron passwd.init passwd.postinst passwd.postrm porttime rules \
secure-su.README secure-su.conffiles secure-su.copyright secure-su.postrm \
secure-su.preinst securetty tar.c

105
debian/Makefile.in vendored
View File

@ -1,6 +1,6 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -14,7 +14,7 @@
# and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
@ -101,12 +104,8 @@ VERSION = @VERSION@
YACC = @YACC@
l = @l@
EXTRA_DIST = FILES changelog checksums control login.conffiles \
login.copyright login.postinst login.postrm login.preinst \
login.prerm logoutd passwd.conffiles passwd.copyright \
passwd.postinst porttime rules secure-su.README \
secure-su.conffiles secure-su.copyright secure-su.postrm \
secure-su.preinst securetty tar.c
EXTRA_DIST = FILES changelog checksums control control.gnu control.linux login.conffiles login.copyright login.postinst login.postrm login.preinst login.prerm logoutd.init passwd.conffiles passwd.copyright passwd.cron passwd.init passwd.postinst passwd.postrm porttime rules secure-su.README secure-su.conffiles secure-su.copyright secure-su.postrm secure-su.preinst securetty tar.c
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
@ -116,9 +115,8 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
all: Makefile
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps debian/Makefile
@ -138,61 +136,74 @@ subdir = debian
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
info:
dvi:
check: all
$(MAKE)
installcheck:
install-exec:
@$(NORMAL_INSTALL)
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data:
@$(NORMAL_INSTALL)
install: install-exec install-data all
@:
uninstall:
install-data-am:
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am:
uninstall: uninstall-am
all-am: Makefile
all-redirect: all-am
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-generic
mostlyclean-am: mostlyclean-generic
clean: clean-generic mostlyclean
mostlyclean: mostlyclean-am
distclean: distclean-generic clean
-rm -f config.status
clean-am: clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool
maintainer-clean: maintainer-clean-generic distclean
distclean: distclean-am
maintainer-clean-am: maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
.PHONY: tags distdir info dvi installcheck install-exec install-data \
install uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \
maintainer-clean
maintainer-clean: maintainer-clean-am
.PHONY: tags distdir info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.

4
debian/changelog vendored
View File

@ -1,4 +1,4 @@
shadow (19990709) unstable; urgency=low
shadow (19990827) unstable; urgency=low
* upstream upgrade, see CHANGES for more details. Note: this is
not the official Debian changelog entry - it is here only for
@ -8,7 +8,7 @@ shadow (19990709) unstable; urgency=low
mine) in the debian/control Maintainer field. Thanks, and keep
up the good work!
-- Marek Michalkiewicz <marekm@linux.org.pl> Fri, 9 Jul 1999 19:40:00 +0200
-- Marek Michalkiewicz <marekm@linux.org.pl> Fri, 27 Aug 1999 21:00:00 +0200
shadow (980403-0.3.2) unstable; urgency=low

16
debian/control.gnu vendored Normal file
View File

@ -0,0 +1,16 @@
Source: shadow
Section: base
Priority: required
Maintainer: Guy Maor <maor@debian.org>
Standards-Version: 2.3.0.0
Package: passwd
Architecture: any
Depends: ${shlibs:Depends}
Section: base
Priority: required
Description: Change and administer password and group data.
This package includes passwd, chsh, chfn, and many other programs to
maintain password and group data.
.
Shadow passwords are supported. See /usr/doc/passwd/README.Debian

41
debian/control.linux vendored Normal file
View File

@ -0,0 +1,41 @@
Source: shadow
Section: base
Priority: required
Maintainer: Marek Michalkiewicz <marekm@linux.org.pl>
Standards-Version: 2.3.0.0
Package: login
Architecture: any
Pre-Depends: ${shlibs:Depends}
Conflicts: shadow-login
Replaces: shadow-login, shadow-passwd
Essential: yes
Section: base
Priority: required
Description: Sign on to the system.
login and newgrp change the user and group.
Package: passwd
Architecture: any
Depends: ${shlibs:Depends}, login (>= 970502-1)
Conflicts: shadow-passwd
Replaces: shadow-passwd
Replaces: manpages (<=1.15-2)
Section: base
Priority: required
Description: Change and administer password and group data.
This package includes passwd, chsh, chfn, and many other programs to
maintain password and group data.
.
Shadow passwords are supported. See /usr/doc/passwd/README.Debian
Package: secure-su
Architecture: any
Depends: ${shlibs:Depends}, login (>= 970502-1)
Conflicts: shadow-su
Replaces: shadow-su
Section: admin
Priority: optional
Description: su with more security options
secure-su offers more security options than the normal su, such as a
wheel group, and from-user and to-user specific restrictions.

2
debian/login.postrm vendored
View File

@ -1,6 +1,6 @@
#!/bin/sh
set -e
if [ $1 = purge ]; then
if [ "$1" = "purge" ] ; then
update-rc.d logoutd remove >/dev/null
fi

View File

@ -21,20 +21,14 @@ case "$1" in
start-stop-daemon --stop --quiet --exec $DAEMON
echo "."
;;
restart)
force-reload|restart)
$0 stop
$0 start
;;
reload)
echo -n "Reloading logoutd configuration..."
start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON
echo "done."
;;
force-reload)
$0 reload
;;
*)
echo "Usage: /etc/init.d/logoutd start|stop"
echo "Usage: /etc/init.d/logoutd start|stop|restart"
exit 1
;;
esac

View File

@ -1 +1,3 @@
/etc/cron.daily/passwd
/etc/init.d/passwd
/etc/shells

8
debian/passwd.cron vendored Normal file
View File

@ -0,0 +1,8 @@
#!/bin/sh
#
# cron.daily script to check integrity of the password and group files
test -f /usr/sbin/pwck || exit 0
pwck -q -r
grpck -r

25
debian/passwd.init vendored Executable file
View File

@ -0,0 +1,25 @@
#!/bin/sh
#
# /etc/init.d/passwd
# script to check integrity of the password and group files at system startup
#
set -e
test -f /usr/sbin/pwck || exit 0
case "$1" in
start)
echo -n 'Checking password and group files... '
pwck -q -r
grpck -r
echo "done."
;;
stop|restart|reload|force-reload)
;;
*)
echo "Usage: /etc/init.d/passwd start"
exit 1
;;
esac
exit 0

View File

@ -15,6 +15,9 @@ permfix () {
permfix /sbin/sulogin
permfix /usr/X11R6/bin/xdm-shadow
# check password and group files at boot time
update-rc.d passwd start 60 S . >/dev/null
grep -q '^shadow:[^:]*:42' /etc/group && exit 0
groupadd -g 42 shadow || (
cat <<EOF

6
debian/passwd.postrm vendored Normal file
View File

@ -0,0 +1,6 @@
#!/bin/sh
set -e
if [ "$1" = "purge" ] ; then
update-rc.d passwd remove >/dev/null
fi

45
debian/rules vendored
View File

@ -2,8 +2,29 @@
package = shadow
# see dpkg-architecture(8)
DEB_BUILD_ARCH := $(shell dpkg --print-installation-architecture)
DEB_BUILD_GNU_CPU := $(patsubst hurd-%,%,$(DEB_BUILD_ARCH))
ifeq ($(filter-out hurd-%,$(DEB_BUILD_ARCH)),)
DEB_BUILD_GNU_SYSTEM := gnu
else
DEB_BUILD_GNU_SYSTEM := linux
endif
DEB_BUILD_GNU_TYPE=$(DEB_BUILD_GNU_CPU)-$(DEB_BUILD_GNU_SYSTEM)
DEB_HOST_GNU_SYSTEM=$(DEB_BUILD_GNU_SYSTEM)
DEB_HOST_GNU_TYPE=$(DEB_BUILD_GNU_TYPE)
ifeq ($(DEB_HOST_GNU_SYSTEM),linux)
package-list = binary-login binary-passwd binary-su
else
package-list = binary-passwd
endif
# set up environment so that dpkg --build runs our tar wrapper
TAR_WRAPPER_SETUP = REAL_TAR=`command -p -v tar` PATH=`cd debian && pwd`:$$PATH
# (XXX this is no longer needed, and will be removed soon - install
# libtricks and use "dpkg-buildpackage -rfakeroot" instead)
#TAR_WRAPPER_SETUP = REAL_TAR=`command -p -v tar` PATH=`cd debian && pwd`:$$PATH
# for "exec login" to work for ordinary users, /bin/login needs to be setuid
# but very few people use this feature, so we make it non-setuid by default
@ -11,10 +32,14 @@ LOGIN_PERM = 0755
build:
$(checkdir)
cp -a debian/control.$(DEB_HOST_GNU_SYSTEM) debian/control
# shared lib support is untested, so...
./configure --disable-shared --disable-desrpc # --without-libcrack
./configure --disable-shared --disable-desrpc \
--build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
$(MAKE)
gcc -O2 -Wall -o debian/tar debian/tar.c
if [ -n "$(TAR_WRAPPER_SETUP)" ] ; then \
gcc -O2 -Wall -o debian/tar debian/tar.c ; \
fi
touch build
clean:
@ -23,12 +48,13 @@ clean:
-$(MAKE) -i distclean
rm -rf {libmisc,lib,src}/.deps
rm -rf debian/tmp{-l,-p,-s} debian/{files*,substvars}
cp -a debian/control.linux debian/control
find . -name '*~' -print0 | xargs -0 rm -f
binary-indep: checkroot build
$(checkdir)
binary-arch: binary-login binary-passwd binary-su
binary-arch: $(package-list)
binary-login: checkroot build
$(checkdir)
@ -45,7 +71,7 @@ binary-login: checkroot build
ln -s newgrp.1.gz debian/tmp-l/usr/man/man1/sg.1.gz
install -m600 etc/login.defs.linux debian/tmp-l/etc/login.defs
install -m600 etc/{login.access,limits} debian/{securetty,porttime} debian/tmp-l/etc/
install debian/logoutd debian/tmp-l/etc/init.d/
install debian/logoutd.init debian/tmp-l/etc/init.d/logoutd
install -m644 debian/changelog debian/tmp-l/usr/doc/login/changelog.Debian
install -m644 doc/CHANGES debian/tmp-l/usr/doc/login/changelog
find debian/tmp-l/usr/{doc,man} -type f | xargs gzip -9
@ -63,8 +89,10 @@ binary-login: checkroot build
binary-passwd: checkroot build
$(checkdir)
-rm -rf debian/tmp-p
install -d debian/tmp-p/{DEBIAN,etc,usr/{sbin,bin,man/{man1,man5,man8},doc/passwd}}
install -d debian/tmp-p/{DEBIAN,etc/{cron.daily,init.d},usr/{sbin,bin,man/{man1,man5,man8},doc/passwd}}
install -m644 etc/shells debian/tmp-p/etc/
install debian/passwd.cron debian/tmp-p/etc/cron.daily/passwd
install debian/passwd.init debian/tmp-p/etc/init.d/passwd
install -s -m4755 src/{chage,chfn,chsh,expiry,gpasswd,passwd} debian/tmp-p/usr/bin/
install -s src/{chpasswd,groupadd,groupdel,groupmod,grpck,grpconv,grpunconv} \
src/{newusers,pwck,pwconv,pwunconv,useradd,userdel} \
@ -87,10 +115,15 @@ binary-passwd: checkroot build
install -m644 debian/passwd.copyright debian/tmp-p/usr/doc/passwd/copyright
install debian/login.preinst debian/tmp-p/DEBIAN/preinst
install debian/passwd.postinst debian/tmp-p/DEBIAN/postinst
install debian/passwd.postrm debian/tmp-p/DEBIAN/postrm
install -m644 debian/passwd.conffiles debian/tmp-p/DEBIAN/conffiles
dpkg-shlibdeps debian/tmp-p/usr/{bin/*,sbin/*}
# dpkg-shlibdeps fails on scripts, so install them now...
install src/shadowconfig.sh debian/tmp-p/usr/sbin/shadowconfig
ifeq ($(DEB_HOST_GNU_SYSTEM),gnu)
install etc/login.defs.hurd debian/tmp-p/etc/login.defs
echo "/etc/login.defs" >> debian/tmp-p/DEBIAN/conffiles
endif
dpkg-gencontrol -isp -ppasswd -Pdebian/tmp-p
./debian/checksums debian/tmp-p
$(TAR_WRAPPER_SETUP) dpkg --build debian/tmp-p ..

View File

@ -1,4 +1,33 @@
$Id: CHANGES,v 1.27 1999/07/09 18:02:43 marekm Exp $
$Id: CHANGES,v 1.28 1999/08/27 19:02:50 marekm Exp $
shadow-19990709 => shadow-19990827
- upgrade to autoconf-2.13, automake-1.4, libtool-1.3.3
- i18n: added French translation by Vincent Renardias <vincent@ldsol.com>
- i18n: added Swedish translation by Kristoffer Brånemyr <ztion@swipnet.se>
- logoutd no longer reads /etc/logoutd.mesg at startup - instead, read
it when sending to luser's tty (no need to reload with SIGHUP)
- added support for "usergroups" feature often found in Linux distributions
(if USERGROUPS_ENAB in login.defs set to "yes", uid != 0, uid == gid, and
username == groupname, then set umask to 002 instead of 022)
- Debian: pwck and grpck are now run from a daily cron job (root will
receive an e-mail if something is wrong), and at system startup
- added support for setting umask in /etc/limits
- when using OPIE, re-prompt with echo on after empty password was entered
- GETPASS_ASTERISKS now run time configurable (login.defs)
- getpass() now uses stdin and stderr (not stdout) if it can't open /dev/tty
- getpass() allows all input to be erased using Control-U, and beeps when
too many characters are entered
- removed obsolete sgtty support, in 1999 everyone should have termios :)
- Debian: tar wrapper no longer needed to build packages as non-root user
(install libtricks, and use "dpkg-buildpackage -rfakeroot" instead)
- Debian: changes for GNU Hurd by Marcus Brinkmann <brinkmd@debian.org>:
dpkg-architecture, cross compilation, only build passwd, add
etc/login.defs.hurd conffile, conditionalize CBAUD
- newgrp sets $HOME before running the new shell
- both "sg group command" (usage message) and "sg group -c command"
(man page) work, updated both the usage message and the man page :)
- i18n: added missing _() for some translatable strings
shadow-19990607 => shadow-19990709

View File

@ -1,7 +1,7 @@
Begin3
Title: Shadow Password Suite
Version: 19990709
Entered-date: 09JUL99
Version: 19990827
Entered-date: 27AUG99
Description: Shadow password file utilities. This package includes
the programs necessary to convert traditional V7 UNIX
password files to the SVR4 shadow password format, and
@ -11,7 +11,7 @@ Keywords: login passwd security shadow
Author: jfh@bga.com (Julianne F. Haugh)
Maintained-by: marekm@linux.org.pl (Marek Michalkiewicz)
Primary-site: piast.t19.ds.pwr.wroc.pl /pub/linux/shadow/
624K shadow-19990709.tar.gz
707K shadow-19990827.tar.gz
Alternate-site: ftp.ists.pwr.wroc.pl /pub/linux/shadow/
Original-site: ftp.uu.net ?
Platforms: Linux, SunOS, ...

View File

@ -1,6 +1,6 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -14,7 +14,7 @@
# and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
@ -101,10 +104,8 @@ VERSION = @VERSION@
YACC = @YACC@
l = @l@
EXTRA_DIST = ANNOUNCE CHANGES HOWTO LICENSE LSM README README.debian \
README.limits README.linux README.mirrors README.nls README.pam \
README.platforms README.shadow-paper README.sun4 \
WISHLIST console.c.spec.txt cracklib26.diff
EXTRA_DIST = ANNOUNCE CHANGES HOWTO LICENSE LSM README README.debian README.limits README.linux README.mirrors README.nls README.pam README.platforms README.shadow-paper README.sun4 WISHLIST console.c.spec.txt cracklib26.diff
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
@ -114,9 +115,8 @@ DIST_COMMON = README INSTALL Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
all: Makefile
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/Makefile
@ -136,61 +136,74 @@ subdir = doc
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
info:
dvi:
check: all
$(MAKE)
installcheck:
install-exec:
@$(NORMAL_INSTALL)
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data:
@$(NORMAL_INSTALL)
install: install-exec install-data all
@:
uninstall:
install-data-am:
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am:
uninstall: uninstall-am
all-am: Makefile
all-redirect: all-am
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-generic
mostlyclean-am: mostlyclean-generic
clean: clean-generic mostlyclean
mostlyclean: mostlyclean-am
distclean: distclean-generic clean
-rm -f config.status
clean-am: clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool
maintainer-clean: maintainer-clean-generic distclean
distclean: distclean-am
maintainer-clean-am: maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
.PHONY: tags distdir info dvi installcheck install-exec install-data \
install uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \
maintainer-clean
maintainer-clean: maintainer-clean-am
.PHONY: tags distdir info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.

View File

@ -50,7 +50,8 @@ Romania:
United States:
none?
ftp://ftp.cqc.com/pub/mirrors/linux-shadow/
pacman@cqc.com
Thanks,
Marek Michalkiewicz <marekm@linux.org.pl>

View File

@ -1,4 +1,4 @@
$Id: WISHLIST,v 1.22 1999/07/09 18:02:43 marekm Exp $
$Id: WISHLIST,v 1.23 1999/08/27 19:02:50 marekm Exp $
This is my wishlist for the shadow suite, in no particular order. Feel
free to do anything from this list and mail me the diffs :-).
@ -32,30 +32,26 @@ New ideas to add to this list are welcome, too. --marekm
- vipw: check password files for errors after editing
- clean up login utmp(x) handling code
- add "maximum time users allowed to stay logged in" limit option to logoutd
- "make" infinite loop on some systems? (Slackware 3.1, possibly others)
- handle quotes in /etc/environment like the shell does (but sshd doesn't...)
- write man pages: dialups.5, d_passwd.5
- better utmpx support (logoutd, ...)
- better OPIE support (check access file, prompt for one-time password
with echo on, report number of logins left, etc.)
- init sometimes fails to remove the utmp entry on logout, why?
(init 2.74 - can't reproduce with 2.71 on Debian 1.3, works fine)
- better OPIE support (report number of logins left, etc.)
- new option for /etc/suauth: don't load user's environment (force "su -")
suggested by Ulisses Alonso Camaro
- clean up error messages - "program_name: text of error message\n"
(maybe some common code for common messages about failing to lock/open
something)
- don't use putgrent() even if available (glibc-2.0.100 bug)
- find out why recent releases won't compile on Solaris
- change logoutd to simply cat the contents of /etc/logoutd.mesg to the
luser's tty (no need to reload with SIGHUP)
- make the new getpass() replacement optional configurable at run time
(some people don't like the asterisks)
- newusers UID/GID selection algorithm should be the same as useradd
(and use UID_MIN, UID_MAX from login.defs)
- newusers should be able to copy /etc/skel to the new home directory
(like useradd)
- change makefiles to work with the latest automake
- include i18n files in Debian packages
- integrate the latest upstream version into the Debian distribution
(they still have shadow-980403, many bugs have been fixed since then)
(as of this writing, they still have shadow-980403 with huge diff,
and many bugs have been fixed since then)
- add directories where other packages can add hooks for package-specific
per-user configuration, to be executed with run-parts. Some hooks should
be executed at package install time for existing users, likewise for
package removal and possibly modification. (Debian Bug#36019)

View File

@ -1,7 +1,7 @@
# This is a dummy Makefile.am to get automake work flawlessly,
# and also cooperate to make a distribution for `make dist'
EXTRA_DIST = limits login.access login.defs login.defs.linux \
EXTRA_DIST = limits login.access login.defs login.defs.hurd login.defs.linux \
shells suauth
SUBDIRS = pam.d

View File

@ -1,6 +1,6 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -14,7 +14,7 @@
# and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
@ -101,8 +104,8 @@ VERSION = @VERSION@
YACC = @YACC@
l = @l@
EXTRA_DIST = limits login.access login.defs login.defs.linux \
shells suauth
EXTRA_DIST = limits login.access login.defs login.defs.hurd login.defs.linux shells suauth
SUBDIRS = pam.d
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -114,9 +117,8 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
all: all-recursive all-am
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps etc/Makefile
@ -139,41 +141,65 @@ all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive info-recursive dvi-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
target=`echo $@ | sed s/-recursive//`; \
echo "Making $$target in $$subdir"; \
(cd $$subdir && $(MAKE) $$target) \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \
test "$$subdir" = "." && dot_seen=yes; \
done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
target=`echo $@ | sed s/-recursive//`; \
echo "Making $$target in $$subdir"; \
(cd $$subdir && $(MAKE) $$target) \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
(cd $$subdir && $(MAKE) tags); \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
&& mkid -f$$here/ID $$unique $(LISP)
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
@ -198,84 +224,90 @@ subdir = etc
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
for subdir in $(SUBDIRS); do \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
|| exit 1; \
chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
|| exit 1; \
fi; \
done
info-am:
info: info-recursive
dvi-am:
dvi: dvi-recursive
check: all-am
$(MAKE) check-recursive
check-am: all-am
check: check-recursive
installcheck-am:
installcheck: installcheck-recursive
all-am: Makefile
install-exec-am:
install-exec: install-exec-recursive
@$(NORMAL_INSTALL)
install-data-am:
install-data: install-data-recursive
@$(NORMAL_INSTALL)
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-recursive
@:
uninstall-am:
uninstall: uninstall-recursive
all-am: Makefile
all-redirect: all-recursive
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs-recursive
installdirs-am:
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean-am: mostlyclean-tags mostlyclean-generic
mostlyclean: mostlyclean-recursive
clean-am: clean-tags clean-generic mostlyclean-am
clean: clean-recursive
distclean-am: distclean-tags distclean-generic clean-am
-rm -f libtool
distclean: distclean-recursive
maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
distclean-am
mostlyclean: mostlyclean-recursive mostlyclean-am
clean: clean-recursive clean-am
distclean: distclean-recursive distclean-am
-rm -f config.status
-rm -f libtool
maintainer-clean: maintainer-clean-recursive maintainer-clean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-recursive
.PHONY: install-data-recursive uninstall-data-recursive \
install-exec-recursive uninstall-exec-recursive installdirs-recursive \
uninstalldirs-recursive all-recursive check-recursive \
installcheck-recursive info-recursive dvi-recursive \
mostlyclean-recursive distclean-recursive clean-recursive \
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
installcheck all-am install-exec install-data install uninstall all \
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
install-exec install-data-am install-data install-am install \
uninstall-am uninstall all-redirect all-am all installdirs-am \
installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean

141
etc/login.defs.hurd Normal file
View File

@ -0,0 +1,141 @@
#
# /etc/login.defs - Configuration control definitions for the login package.
#
# $Id: login.defs.hurd,v 1.1 1999/08/27 19:02:50 marekm Exp $
#
# One item must be defined: MAIL_DIR.
# If unspecified, some arbitrary (and possibly incorrect) value will
# be assumed. All other items are optional - if not specified then
# the described action or option will be inhibited.
#
# Comment lines (lines beginning with "#") and blank lines are ignored.
#
# Modified for the Hurd. --brinkmd
#
# Enable additional checks upon password changes.
#
OBSCURE_CHECKS_ENAB yes
#
# *REQUIRED*
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail
#MAIL_FILE .mail
#
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
#
# If compiled with cracklib support, where are the dictionaries
#
#CRACKLIB_DICTPATH /usr/lib/passwd/pw_dict
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 1000
UID_MAX 60000
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 100
GID_MAX 60000
#
# Maximum number of attempts to change password if rejected (too easy)
#
PASS_CHANGE_TRIES 5
#
# Warn about weak passwords (but still allow them) if you are root.
#
PASS_ALWAYS_WARN yes
#
# Number of significant characters in the password for crypt().
# Default is 8, don't change unless your crypt() is better.
# Ignored if MD5_CRYPT_ENAB set to "yes".
#
#PASS_MAX_LEN 8
#
# Require password before chfn/chsh can make any changes.
#
CHFN_AUTH yes
#
# Which fields may be changed by regular users using chfn - use
# any combination of letters "frwh" (full name, room number, work
# phone, home phone). If not defined, no changes are allowed.
# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
#
CHFN_RESTRICT rwh
#
# Password prompt (%s will be replaced by user name).
#
# XXX - it doesn't work correctly yet, for now leave it commented out
# to use the default which is just "Password: ".
#LOGIN_STRING "%s's Password: "
#
# Only works if compiled with MD5_CRYPT defined:
# If set to "yes", new passwords will be encrypted using the MD5-based
# algorithm compatible with the one used by recent releases of FreeBSD.
# It supports passwords of unlimited length and longer salt strings.
# Set to "no" if you need to copy encrypted passwords to other systems
# which don't understand the new algorithm. Default is "no".
#
#MD5_CRYPT_ENAB no
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#
# When prompting for password without echo, getpass() can optionally
# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*'
# characters for each character typed. This feature is designed to
# confuse people looking over your shoulder when you enter a password :-).
# Also, the new getpass() accepts both Backspace (8) and Delete (127)
# keys to delete previous character (to cope with different terminal
# types), Control-U to delete all characters, and beeps when there are
# no more characters to delete, or too many characters entered.
#
# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour -
# exactly one '*' displayed for each character typed.
#
# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace,
# Delete, Control-U and beep continue to work as described above).
#
# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass()
# without any new features. This is the default.
#
#GETPASS_ASTERISKS 1
#
# Enable setting of the umask group bits to be the same as owner bits
# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is
# the same as gid, and username is the same as the primary group name.
#
USERGROUPS_ENAB yes

View File

@ -1,7 +1,7 @@
#
# /etc/login.defs - Configuration control definitions for the login package.
#
# $Id: login.defs.linux,v 1.10 1999/03/07 19:14:33 marekm Exp $
# $Id: login.defs.linux,v 1.11 1999/08/27 19:02:50 marekm Exp $
#
# Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH.
# If unspecified, some arbitrary (and possibly incorrect) value will
@ -334,7 +334,35 @@ ENVIRON_FILE /etc/environment
#
# If defined, either full pathname of a file containing device names or
# a ":" delimited list of device names. No password is required to log in
# on these devices.
# as a non-root user on these devices.
#
#NO_PASSWORD_CONSOLE tty1:tty2:tty3:tty4:tty5:tty6
#
# When prompting for password without echo, getpass() can optionally
# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*'
# characters for each character typed. This feature is designed to
# confuse people looking over your shoulder when you enter a password :-).
# Also, the new getpass() accepts both Backspace (8) and Delete (127)
# keys to delete previous character (to cope with different terminal
# types), Control-U to delete all characters, and beeps when there are
# no more characters to delete, or too many characters entered.
#
# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour -
# exactly one '*' displayed for each character typed.
#
# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace,
# Delete, Control-U and beep continue to work as described above).
#
# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass()
# without any new features. This is the default.
#
#GETPASS_ASTERISKS 1
#
# Enable setting of the umask group bits to be the same as owner bits
# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is
# the same as gid, and username is the same as the primary group name.
#
USERGROUPS_ENAB yes

View File

@ -1,6 +1,6 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -14,7 +14,7 @@
# and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
@ -111,9 +114,8 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
all: Makefile
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps etc/pam.d/Makefile
@ -133,61 +135,74 @@ subdir = etc/pam.d
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
info:
dvi:
check: all
$(MAKE)
installcheck:
install-exec:
@$(NORMAL_INSTALL)
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data:
@$(NORMAL_INSTALL)
install: install-exec install-data all
@:
uninstall:
install-data-am:
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am:
uninstall: uninstall-am
all-am: Makefile
all-redirect: all-am
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-generic
mostlyclean-am: mostlyclean-generic
clean: clean-generic mostlyclean
mostlyclean: mostlyclean-am
distclean: distclean-generic clean
-rm -f config.status
clean-am: clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool
maintainer-clean: maintainer-clean-generic distclean
distclean: distclean-am
maintainer-clean-am: maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
.PHONY: tags distdir info dvi installcheck install-exec install-data \
install uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \
maintainer-clean
maintainer-clean: maintainer-clean-am
.PHONY: tags distdir info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.

View File

@ -118,6 +118,7 @@ if [ x"$dir_arg" != x ]; then
if [ -d $dst ]; then
instcmd=:
chmodcmd=""
else
instcmd=mkdir
fi

View File

@ -1,6 +1,6 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -11,7 +11,7 @@
# PARTICULAR PURPOSE.
SHELL = /bin/sh
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@ -31,7 +31,7 @@ mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -45,7 +45,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
@ -58,11 +58,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@ -86,6 +88,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
@ -99,10 +102,8 @@ l = @l@
AUTOMAKE_OPTIONS = 1.0 foreign
noinst_HEADERS = commonio.h defines.h dialchk.h dialup.h \
faillog.h getdef.h groupio.h md5.h pam_defs.h port.h prototypes.h \
pwauth.h pwio.h rcsid.h sgroupio.h shadowio.h snprintf.h \
tcfsio.h
noinst_HEADERS = commonio.h defines.h dialchk.h dialup.h faillog.h getdef.h groupio.h md5.h pam_defs.h port.h prototypes.h pwauth.h pwio.h rcsid.h sgroupio.h shadowio.h snprintf.h tcfsio.h
localedir = $(datadir)/locale
DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@
@ -115,24 +116,18 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@
# sources for LIBOBJS (which are normally in libc)
# misc header sources
EXTRA_DIST = grdbm.c gsdbm.c pwdbm.c spdbm.c \
grpack.c gspack.c pwpack.c sppack.c \
gshadow_.h shadow_.h lastlog_.h snprintf.h
EXTRA_DIST = grdbm.c gsdbm.c pwdbm.c spdbm.c grpack.c gspack.c pwpack.c sppack.c gshadow_.h shadow_.h lastlog_.h snprintf.h
EXTRA_libshadow_a_SOURCESS = grent.c pwent.c mkdir.c rename.c rmdir.c strdup.c strcasecmp.c strerror.c strstr.c putgrent.c putpwent.c putspent.c sgetgrent.c sgetpwent.c sgetspent.c snprintf.c md5.c md5crypt.c
EXTRA_libshadow_a_SOURCESS = grent.c pwent.c \
mkdir.c rename.c rmdir.c strdup.c strcasecmp.c strerror.c strstr.c \
putgrent.c putpwent.c putspent.c \
sgetgrent.c sgetpwent.c sgetspent.c snprintf.c \
md5.c md5crypt.c
# We build libshadow for our tools.
noinst_LIBRARIES = libshadow.a
libshadow_a_SOURCES = commonio.c dialchk.c dialup.c encrypt.c \
fputsx.c getdef.c getpass.c groupio.c gshadow.c lockpw.c port.c \
pwauth.c pwio.c rad64.c sgroupio.c shadow.c shadowio.c utent.c \
tcfsio.c
libshadow_a_SOURCES = commonio.c dialchk.c dialup.c encrypt.c fputsx.c getdef.c getpass.c groupio.c gshadow.c lockpw.c port.c pwauth.c pwio.c rad64.c sgroupio.c shadow.c shadowio.c utent.c tcfsio.c
libshadow_a_LIBADD = @LIBOBJS@
@ -167,9 +162,10 @@ 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 \
tcfsio.lo
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
HEADERS = $(noinst_HEADERS)
DIST_COMMON = Makefile.am Makefile.in md5.c md5crypt.c mkdir.c \
@ -181,12 +177,11 @@ strstr.c
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
GZIP_ENV = --best
SOURCES = $(libshadow_a_SOURCES) $(libshadow_la_SOURCES)
OBJECTS = $(libshadow_a_OBJECTS) $(libshadow_la_OBJECTS)
all: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS)
all: all-redirect
.SUFFIXES:
.SUFFIXES: .S .c .lo .o .s
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
@ -263,8 +258,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
$(mkinstalldirs) $(DESTDIR)$(libdir)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
echo "$(LIBTOOL) --mode=install $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p"; \
$(LIBTOOL) --mode=install $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p; \
echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \
$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \
else :; fi; \
done
@ -280,8 +275,12 @@ libshadow.la: $(libshadow_la_OBJECTS) $(libshadow_la_DEPENDENCIES)
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
&& mkid -f$$here/ID $$unique $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \
@ -309,102 +308,115 @@ subdir = lib
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
commonio.o: commonio.c ../config.h rcsid.h defines.h gshadow_.h \
commonio.h
dialchk.o: dialchk.c ../config.h rcsid.h defines.h gshadow_.h \
prototypes.h dialup.h dialchk.h
dialup.o: dialup.c ../config.h rcsid.h prototypes.h defines.h gshadow_.h \
dialup.h
encrypt.o: encrypt.c ../config.h rcsid.h prototypes.h defines.h \
gshadow_.h
fputsx.lo fputsx.o: fputsx.c ../config.h defines.h gshadow_.h rcsid.h
getdef.lo getdef.o: getdef.c ../config.h rcsid.h prototypes.h defines.h \
gshadow_.h getdef.h
getpass.lo getpass.o: getpass.c ../config.h rcsid.h defines.h gshadow_.h
groupio.lo groupio.o: groupio.c ../config.h rcsid.h prototypes.h \
defines.h gshadow_.h commonio.h groupio.h
gshadow.lo gshadow.o: gshadow.c ../config.h rcsid.h prototypes.h \
commonio.lo commonio.o : commonio.c ../config.h rcsid.h defines.h \
gshadow_.h commonio.h
dialchk.lo dialchk.o : dialchk.c ../config.h rcsid.h defines.h \
gshadow_.h prototypes.h dialup.h dialchk.h
dialup.lo dialup.o : dialup.c ../config.h rcsid.h prototypes.h defines.h \
gshadow_.h dialup.h
encrypt.lo encrypt.o : encrypt.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
fputsx.lo fputsx.o : fputsx.c ../config.h defines.h gshadow_.h rcsid.h
getdef.lo getdef.o : getdef.c ../config.h rcsid.h prototypes.h defines.h \
gshadow_.h getdef.h
getpass.lo getpass.o : getpass.c ../config.h rcsid.h defines.h \
gshadow_.h getdef.h
groupio.lo groupio.o : groupio.c ../config.h rcsid.h prototypes.h \
defines.h gshadow_.h commonio.h groupio.h
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
pwauth.lo pwauth.o: pwauth.c ../config.h rcsid.h prototypes.h defines.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 \
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
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
sgroupio.lo sgroupio.o: sgroupio.c ../config.h rcsid.h prototypes.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 \
shadowio.lo shadowio.o : shadowio.c ../config.h rcsid.h prototypes.h \
defines.h gshadow_.h commonio.h shadowio.h
shadow.lo shadow.o: shadow.c ../config.h
tcfsio.lo tcfsio.o: tcfsio.c ../config.h
utent.lo utent.o: utent.c ../config.h
shadow.lo shadow.o : shadow.c ../config.h
tcfsio.lo tcfsio.o : tcfsio.c ../config.h
utent.lo utent.o : utent.c ../config.h
info:
dvi:
check: all
$(MAKE)
installcheck:
install-exec: install-libLTLIBRARIES
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am: install-libLTLIBRARIES
@$(NORMAL_INSTALL)
$(MAKE) install-exec-hook
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
install-exec: install-exec-am
install-data:
@$(NORMAL_INSTALL)
install: install-exec install-data all
@:
uninstall: uninstall-libLTLIBRARIES
install-data-am:
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am: uninstall-libLTLIBRARIES
uninstall: uninstall-am
all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS)
all-redirect: all-am
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
$(mkinstalldirs) $(DATADIR)$(libdir)
$(mkinstalldirs) $(DESTDIR)$(libdir)
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
mostlyclean-libtool mostlyclean-libLTLIBRARIES \
mostlyclean-tags mostlyclean-generic
clean: clean-noinstLIBRARIES clean-compile clean-libtool \
clean-libLTLIBRARIES clean-tags clean-generic \
mostlyclean
mostlyclean: mostlyclean-am
distclean: distclean-noinstLIBRARIES distclean-compile \
clean-am: clean-noinstLIBRARIES clean-compile clean-libtool \
clean-libLTLIBRARIES clean-tags clean-generic \
mostlyclean-am
clean: clean-am
distclean-am: distclean-noinstLIBRARIES distclean-compile \
distclean-libtool distclean-libLTLIBRARIES \
distclean-tags distclean-generic clean
-rm -f config.status
distclean-tags distclean-generic clean-am
-rm -f libtool
maintainer-clean: maintainer-clean-noinstLIBRARIES \
distclean: distclean-am
maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
maintainer-clean-compile maintainer-clean-libtool \
maintainer-clean-libLTLIBRARIES maintainer-clean-tags \
maintainer-clean-generic distclean
maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-am
.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
mostlyclean-compile distclean-compile clean-compile \
@ -413,8 +425,10 @@ clean-libtool maintainer-clean-libtool mostlyclean-libLTLIBRARIES \
distclean-libLTLIBRARIES clean-libLTLIBRARIES \
maintainer-clean-libLTLIBRARIES uninstall-libLTLIBRARIES \
install-libLTLIBRARIES tags mostlyclean-tags distclean-tags clean-tags \
maintainer-clean-tags distdir info dvi installcheck install-exec \
install-data install uninstall all installdirs mostlyclean-generic \
maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean

View File

@ -1,4 +1,4 @@
/* $Id: defines.h,v 1.14 1999/03/07 19:14:34 marekm Exp $ */
/* $Id: defines.h,v 1.15 1999/08/27 19:02:50 marekm Exp $ */
/* some useful defines */
#ifndef _DEFINES_H_
@ -203,19 +203,13 @@ char *strchr(), *strrchr(), *strtok();
# define GTTY(fd, termio) tcgetattr(fd, termio)
# define TERMIO struct termios
# define USE_TERMIOS
#elif HAVE_TERMIO_H
#else /* assumed HAVE_TERMIO_H */
# include <sys/ioctl.h>
# include <termio.h>
# define STTY(fd, termio) ioctl(fd, TCSETA, termio)
# define GTTY(fd, termio) ioctl(fd, TCGETA, termio)
# define TEMRIO struct termio
# define USE_TERMIO
#elif HAVE_SGTTY_H
# include <sgtty.h>
# define STTY(fd, termio) stty(fd, termio)
# define GTTY(fd, termio) gtty(fd, termio)
# define TERMIO struct sgttyb
# define USE_SGTTY
#endif
/*

View File

@ -30,7 +30,7 @@
#include <config.h>
#include "rcsid.h"
RCSID("$Id: dialchk.c,v 1.5 1998/12/28 20:34:34 marekm Exp $")
RCSID("$Id: dialchk.c,v 1.6 1999/08/27 19:02:51 marekm Exp $")
#include <stdio.h>
#include "defines.h"
@ -68,7 +68,7 @@ dialcheck(const char *tty, const char *sh)
if (dialup->du_passwd[0] == '\0')
return (1);
if (! (pass = getpass(_("Dialup Password:"))))
if (! (pass = getpass(_("Dialup Password: "))))
return (0);
cp = pw_encrypt (pass, dialup->du_passwd);

View File

@ -30,7 +30,7 @@
#include <config.h>
#include "rcsid.h"
RCSID("$Id: getdef.c,v 1.12 1999/03/07 19:14:36 marekm Exp $")
RCSID("$Id: getdef.c,v 1.13 1999/08/27 19:02:51 marekm Exp $")
#include "prototypes.h"
#include "defines.h"
@ -71,6 +71,7 @@ static struct itemdef def_table[] = {
{ "FAIL_DELAY", NULL },
{ "FAKE_SHELL", NULL },
{ "FTMP_FILE", NULL },
{ "GETPASS_ASTERISKS", NULL },
{ "GID_MAX", NULL },
{ "GID_MIN", NULL },
{ "HUSHLOGIN_FILE", NULL },
@ -116,6 +117,7 @@ static struct itemdef def_table[] = {
{ "ULIMIT", NULL },
{ "UMASK", NULL },
{ "USERDEL_CMD", NULL },
{ "USERGROUPS_ENAB", NULL }
};
#ifndef LOGINDEFS

View File

@ -31,13 +31,15 @@
#include <config.h>
#include "rcsid.h"
RCSID("$Id: getpass.c,v 1.9 1999/06/07 16:40:44 marekm Exp $")
RCSID("$Id: getpass.c,v 1.10 1999/08/27 19:02:51 marekm Exp $")
#include "defines.h"
#include <signal.h>
#include <stdio.h>
#include "getdef.h"
/* new code, #undef if there are any problems... */
#define USE_SETJMP 1
@ -64,26 +66,33 @@ sig_catch(int sig)
#define MAXLEN 127
#ifndef NEW_READPASS /* ./configure --enable-readpass */
#define OLD_READPASS 1
#endif
#ifndef OLD_READPASS
static char *
readpass(FILE *fp)
readpass(FILE *ifp, FILE *ofp, int with_echo, int max_asterisks)
{
static char input[MAXLEN + 1], asterix[MAXLEN + 1];
static char once;
char *cp, *ap, c;
int i;
if (max_asterisks < 0) {
/* traditional code using fgets() */
if (fgets(input, sizeof input, ifp) != input)
return NULL;
cp = strrchr(input, '\n');
if (cp)
*cp = '\0';
else
input[sizeof input - 1] = '\0';
return input;
}
if (!once) {
srandom(time(0)*getpid());
once = 1;
}
cp = input;
ap = asterix;
while (read(fileno(fp), &c, 1)) {
while (read(fileno(ifp), &c, 1)) {
switch (c) {
case '\n':
case '\r':
@ -91,67 +100,70 @@ readpass(FILE *fp)
case '\b':
case 127:
if (cp > input) {
cp--; ap--;
for (i = 0; i < (*ap); i++) {
putc('\b', stdout);
putc(' ', stdout);
putc('\b', stdout);
}
} else
putc('\a', stdout); /* BEL */
cp--;
ap--;
for (i = *ap; i > 0; i--)
fputs("\b \b", ofp);
*cp = '\0';
*ap = 0;
} else {
putc('\a', ofp); /* BEL */
}
break;
case '\025': /* Ctrl-U = erase everything typed so far */
if (cp == input) {
putc('\a', ofp); /* BEL */
} else while (cp > input) {
cp--;
ap--;
for (i = *ap; i > 0; i--)
fputs("\b \b", ofp);
*cp = '\0';
*ap = 0;
}
break;
default:
*cp++ = c;
*ap++ = (random() % 4)+1;
for (i = 0; i < (*(ap-1)); i++)
putc('*', stdout);
if (with_echo) {
*ap = 1;
putc(c, ofp);
} else if (max_asterisks > 0) {
*ap = (random() % max_asterisks) + 1;
for (i = *ap; i > 0; i--)
putc('*', ofp);
} else {
*ap = 0;
}
ap++;
break;
}
fflush(stdout);
if (cp == input + MAXLEN)
fflush(ofp);
if (cp >= input + MAXLEN) {
putc('\a', ofp); /* BEL */
break;
}
}
endwhile:
*cp = 0;
putc('\n', stdout);
*cp = '\0';
putc('\n', ofp);
return input;
}
#else
static char *
readpass(FILE *fp)
{
static char input[MAXLEN + 1];
char *cp;
if (fgets(input, sizeof input, fp) == input) {
if ((cp = strrchr(input, '\n')))
*cp = '\0';
else
input[sizeof input - 1] = '\0';
#ifdef USE_SGTTY
putc('\n', stdout);
#endif
return input;
}
return NULL;
}
#endif
char *
libshadow_getpass(const char *prompt)
prompt_password(const char *prompt, int with_echo)
{
static char nostring[1] = "";
static char *return_value;
volatile int tty_opened;
static FILE *fp;
static FILE *ifp, *ofp;
volatile int is_tty;
#ifdef HAVE_SIGACTION
struct sigaction old_sigact;
#else
RETSIGTYPE (*old_signal)();
#endif
TERMIO new_modes;
TERMIO old_modes;
int max_asterisks = getdef_num("GETPASS_ASTERISKS", -1);
/*
* set a flag so the SIGINT signal can be re-sent if it
@ -164,24 +176,26 @@ libshadow_getpass(const char *prompt)
/*
* if /dev/tty can't be opened, getpass() needs to read
* from stdin instead.
* from stdin and write to stderr instead.
*/
if ((fp = fopen ("/dev/tty", "r")) == 0) {
fp = stdin;
setbuf (fp, (char *) 0);
if (!(ifp = fopen("/dev/tty", "r+"))) {
ifp = stdin;
ofp = stderr;
} else {
ofp = ifp;
tty_opened = 1;
}
setbuf(ifp, (char *) 0);
/*
* the current tty modes must be saved so they can be
* restored later on. echo will be turned off, except
* for the newline character (BSD has to punt on this)
* for the newline character
*/
is_tty = 1;
if (GTTY(fileno(fp), &old_modes)) {
if (GTTY(fileno(ifp), &old_modes)) {
is_tty = 0;
#if 0 /* to make getpass work with redirected stdin */
return_value = NULL;
@ -204,24 +218,25 @@ libshadow_getpass(const char *prompt)
sigact.sa_flags = 0;
sigaction(SIGINT, &sigact, &old_sigact);
#else
old_signal = signal (SIGINT, sig_catch);
#endif
new_modes = old_modes;
#ifdef USE_SGTTY
new_modes.sg_flags &= ~ECHO ;
#else
#ifdef OLD_READPASS
new_modes.c_lflag &= ~(ECHO|ECHOE|ECHOK);
#else
new_modes.c_lflag &= ~(ECHO|ECHOE|ECHOK|ICANON);
#endif
new_modes.c_lflag |= ECHONL;
old_signal = signal(SIGINT, sig_catch);
#endif
if (is_tty) {
if (STTY(fileno(fp), &new_modes))
TERMIO new_modes = old_modes;
if (max_asterisks < 0)
new_modes.c_lflag |= ICANON;
else
new_modes.c_lflag &= ~(ICANON);
if (with_echo)
new_modes.c_lflag |= (ECHO | ECHOE | ECHOK);
else
new_modes.c_lflag &= ~(ECHO | ECHOE | ECHOK);
new_modes.c_lflag |= ECHONL;
if (STTY(fileno(ifp), &new_modes))
goto out;
}
@ -232,8 +247,8 @@ libshadow_getpass(const char *prompt)
* returned.
*/
if ((fputs(prompt, stdout) != EOF) && (fflush(stdout) != EOF))
return_value = readpass(fp);
if ((fputs(prompt, ofp) != EOF) && (fflush(ofp) != EOF))
return_value = readpass(ifp, ofp, with_echo, max_asterisks);
out:
/*
* the old SIGINT handler is restored after the tty
@ -243,7 +258,7 @@ out:
*/
if (is_tty) {
if (STTY(fileno(fp), &old_modes))
if (STTY(fileno(ifp), &old_modes))
return_value = NULL;
}
@ -254,7 +269,7 @@ out:
#endif
out2:
if (tty_opened)
(void) fclose (fp);
(void) fclose(ifp);
if (sig_caught) {
kill(getpid(), SIGINT);
@ -266,3 +281,16 @@ out2:
}
return return_value;
}
char *
libshadow_getpass(const char *prompt)
{
return prompt_password(prompt, 0);
}
char *
getpass_with_echo(const char *prompt)
{
return prompt_password(prompt, 1);
}

View File

@ -30,7 +30,7 @@
#include <config.h>
#include "rcsid.h"
RCSID("$Id: pwauth.c,v 1.9 1998/12/28 20:34:38 marekm Exp $")
RCSID("$Id: pwauth.c,v 1.10 1999/08/27 19:02:51 marekm Exp $")
#include <sys/types.h>
#include <signal.h>
@ -53,10 +53,11 @@ RCSID("$Id: pwauth.c,v 1.9 1998/12/28 20:34:38 marekm Exp $")
#ifdef __linux__ /* standard password prompt by default */
static const char *PROMPT = gettext_noop("Password: ");
#else
static const char *PROMPT = gettext_noop("%s's Password:");
static const char *PROMPT = gettext_noop("%s's Password: ");
#endif
extern char *getpass();
extern char *getpass();
extern char *getpass_with_echo();
#ifdef AUTH_METHODS
/*
@ -207,7 +208,7 @@ _old_auth(const char *cipher, const char *user, int reason, const char *input)
if (reason != PW_FTP && reason != PW_REXEC && !input) {
if (! (cp = getdef_str ("LOGIN_STRING")))
cp = PROMPT;
cp = _(PROMPT);
#ifdef SKEY
if (use_skey)
printf ("[%s]\n", challenge_info);
@ -219,7 +220,7 @@ _old_auth(const char *cipher, const char *user, int reason, const char *input)
#endif
snprintf(prompt, sizeof prompt, cp, user);
clear = getpass(_(prompt));
clear = getpass(prompt);
if (!clear) {
static char c[1];
c[0] = '\0';
@ -249,6 +250,35 @@ _old_auth(const char *cipher, const char *user, int reason, const char *input)
opieverify(&opie, (char *)NULL);
#endif
#if (defined(SKEY) || defined(OPIE))
/*
* If (1) The password fails to match, and
* (2) The password is empty and
* (3) We are using OPIE or S/Key, then
* ...Re-prompt, with echo on.
* -- AR 8/22/1999
*/
if (retval && !input[0] &&
(0
#ifdef SKEY
|| use_skey
#endif
#ifdef OPIE
|| use_opie
#endif
)) {
strncat(prompt, _("(Echo on) "),
(sizeof(prompt) - strlen(prompt)));
clear = getpass_with_echo(prompt);
if (!clear) {
static char c[1];
c[0] = '\0';
clear = c;
}
input = clear;
}
#endif
#ifdef SKEY
if (retval && use_skey) {
int passcheck = -1;
@ -520,7 +550,7 @@ pw_auth(const char *command, const char *user, int reason, const char *input)
if (strlen (command) >= sizeof buf)
return -1;
strcpy (buf, command); /* safe (because of the above check) --marekm */
strcpy(buf, command); /* safe (because of the above check) --marekm */
/*
* Find each command and make sure it is NUL-terminated. Then

View File

@ -1,6 +1,6 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -11,7 +11,7 @@
# PARTICULAR PURPOSE.
SHELL = /bin/sh
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@ -31,7 +31,7 @@ mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -45,7 +45,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
@ -58,11 +58,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@ -86,6 +88,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
@ -108,13 +111,8 @@ localedir = $(datadir)/locale
INCLUDES = -I$(top_srcdir)/libmisc -I$(top_srcdir)/lib
DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@
libmisc_a_SOURCES = addgrps.c age.c basename.c chkname.c chkshell.c \
chowndir.c chowntty.c console.c copydir.c entry.c env.c failure.c \
fields.c getdate.y hushed.c isexpired.c limits.c list.c log.c \
login_access.c login_desrpc.c login_krb.c loginprompt.c mail.c motd.c \
myname.c obscure.c pam_pass.c pwd2spwd.c pwdcheck.c pwd_init.c rlogin.c \
salt.c setugid.c setup.c setupenv.c shell.c strtoday.c suauth.c sub.c \
sulog.c ttytype.c tz.c ulimit.c utmp.c valid.c xmalloc.c
libmisc_a_SOURCES = addgrps.c age.c basename.c chkname.c chkshell.c chowndir.c chowntty.c console.c copydir.c entry.c env.c failure.c fields.c getdate.y hushed.c isexpired.c limits.c list.c log.c login_access.c login_desrpc.c login_krb.c loginprompt.c mail.c motd.c myname.c obscure.c pam_pass.c pwd2spwd.c pwdcheck.c pwd_init.c rlogin.c salt.c setugid.c setup.c setupenv.c shell.c strtoday.c suauth.c sub.c sulog.c ttytype.c tz.c ulimit.c utmp.c valid.c xmalloc.c
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
@ -133,9 +131,10 @@ salt.o setugid.o setup.o setupenv.o shell.o strtoday.o suauth.o sub.o \
sulog.o ttytype.o tz.o ulimit.o utmp.o valid.o xmalloc.o
AR = ar
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
HEADERS = $(noinst_HEADERS)
DIST_COMMON = Makefile.am Makefile.in getdate.c
@ -144,12 +143,11 @@ DIST_COMMON = Makefile.am Makefile.in getdate.c
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
GZIP_ENV = --best
SOURCES = $(libmisc_a_SOURCES)
OBJECTS = $(libmisc_a_OBJECTS)
all: Makefile $(LIBRARIES) $(HEADERS)
all: all-redirect
.SUFFIXES:
.SUFFIXES: .S .c .lo .o .s .y
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
@ -212,7 +210,7 @@ libmisc.a: $(libmisc_a_OBJECTS) $(libmisc_a_DEPENDENCIES)
$(AR) cru libmisc.a $(libmisc_a_OBJECTS) $(libmisc_a_LIBADD)
$(RANLIB) libmisc.a
.y.c:
$(YACC) $(YFLAGS) $< && mv y.tab.c $*.c
$(YACC) $(AM_YFLAGS) $(YFLAGS) $< && mv y.tab.c $*.c
if test -f y.tab.h; then \
if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \
else :; fi
@ -222,8 +220,12 @@ getdate.h: getdate.c
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
&& mkid -f$$here/ID $$unique $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \
@ -251,9 +253,13 @@ subdir = libmisc
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
addgrps.o: addgrps.c ../config.h ../lib/prototypes.h ../lib/defines.h \
../lib/gshadow_.h ../lib/rcsid.h
@ -347,69 +353,79 @@ valid.o: valid.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
xmalloc.o: xmalloc.c ../config.h ../lib/rcsid.h ../lib/defines.h \
../lib/gshadow_.h
info:
dvi:
check: all
$(MAKE)
installcheck:
install-exec:
@$(NORMAL_INSTALL)
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data:
@$(NORMAL_INSTALL)
install: install-exec install-data all
@:
uninstall:
install-data-am:
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am:
uninstall: uninstall-am
all-am: Makefile $(LIBRARIES) $(HEADERS)
all-redirect: all-am
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
-test -z "getdatehgetdatec" || rm -f getdateh getdatec
mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
mostlyclean-libtool mostlyclean-tags \
mostlyclean-generic
clean: clean-noinstLIBRARIES clean-compile clean-libtool clean-tags \
clean-generic mostlyclean
mostlyclean: mostlyclean-am
distclean: distclean-noinstLIBRARIES distclean-compile \
clean-am: clean-noinstLIBRARIES clean-compile clean-libtool clean-tags \
clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-noinstLIBRARIES distclean-compile \
distclean-libtool distclean-tags distclean-generic \
clean
-rm -f config.status
clean-am
-rm -f libtool
maintainer-clean: maintainer-clean-noinstLIBRARIES \
distclean: distclean-am
maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
maintainer-clean-compile maintainer-clean-libtool \
maintainer-clean-tags maintainer-clean-generic \
distclean
distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-am
.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile mostlyclean-libtool distclean-libtool \
clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
distclean-tags clean-tags maintainer-clean-tags distdir info dvi \
installcheck install-exec install-data install uninstall all \
installdirs mostlyclean-generic distclean-generic clean-generic \
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
install-exec install-data-am install-data install-am install \
uninstall-am uninstall all-redirect all-am all installdirs \
mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean

View File

@ -35,7 +35,7 @@
#include <config.h>
#include "rcsid.h"
RCSID("$Id: limits.c,v 1.9 1999/03/07 19:14:39 marekm Exp $")
RCSID("$Id: limits.c,v 1.10 1999/08/27 19:02:51 marekm Exp $")
#include <sys/types.h>
#include <sys/stat.h>
@ -102,6 +102,20 @@ set_prio(const char *value)
}
static int
set_umask(const char *value)
{
mode_t mask;
char **endptr = (char **) &value;
mask = strtol(value, endptr, 8) & 0777;
if ((mask == 0) && (value == *endptr))
return 0;
umask(mask);
return 0;
}
/* Counts the number of user logins and check against the limit */
static int
check_logins(const char *name, const char *maxlogins)
@ -158,15 +172,16 @@ check_logins(const char *name, const char *maxlogins)
* [Aa]: a = RLIMIT_AS max address space (KB)
* [Cc]: c = RLIMIT_CORE max core file size (KB)
* [Dd]: d = RLIMIT_DATA max data size (KB)
* [Ff]: f = RLIMIT_FSIZE Maximum filesize (KB)
* [Ff]: f = RLIMIT_FSIZE max file size (KB)
* [Mm]: m = RLIMIT_MEMLOCK max locked-in-memory address space (KB)
* [Nn]: n = RLIMIT_NOFILE max number of open files
* [Rr]: r = RLIMIT_RSS max resident set size (KB)
* [Ss]: s = RLIMIT_STACK max stack size (KB)
* [Tt]: t = RLIMIT_CPU max CPU time (MIN)
* [Uu]: u = RLIMIT_NPROC max number of processes
* [Kk]: k = file creation masK (umask)
* [Ll]: l = max number of logins for this user
* [Pp]: p = process priority -20..20 (negative = high priority)
* [Pp]: p = process priority -20..20 (negative = high, positive = low)
*
* Return value:
* 0 = okay, of course
@ -254,6 +269,10 @@ do_user_limits(const char *buf, const char *name)
retval |= setrlimit_value(RLIMIT_STACK, pp, 1024);
break;
#endif
case 'k':
case 'K':
retval |= set_umask(pp);
break;
case 'l':
case 'L':
/* LIMIT the number of concurent logins */
@ -330,6 +349,27 @@ setup_user_limits(const char *uname)
}
#endif /* LIMITS */
static void
setup_usergroups(const struct passwd *info)
{
const struct group *grp;
mode_t oldmask;
/*
* if not root, and uid == gid, and username is the same as primary
* group name, set umask group bits to be the same as owner bits
* (examples: 022 -> 002, 077 -> 007).
*/
if (info->pw_uid != 0 && info->pw_uid == info->pw_gid) {
grp = getgrgid(info->pw_gid);
if (grp && (strcmp(info->pw_name, grp->gr_name) == 0)) {
oldmask = umask(0777);
umask((oldmask & ~070) | ((oldmask >> 3) & 070));
}
}
}
/*
* set the process nice, ulimit, and umask from the password file entry
*/
@ -341,16 +381,8 @@ setup_limits(const struct passwd *info)
int i;
long l;
#ifdef USERGROUPS
if (info->pw_uid != 0 && info->pw_uid == info->pw_gid) {
const struct group *grp;
grp = getgrgid(info->pw_gid);
if (grp && !strcmp(info->pw_name, grp->gr_name)) {
umask(umask(0) & ~070);
}
}
#endif
if (getdef_bool("USERGROUPS_ENAB"))
setup_usergroups(info);
/*
* See if the GECOS field contains values for NICE, UMASK or ULIMIT.
@ -358,9 +390,9 @@ setup_limits(const struct passwd *info)
* values the defaults for this login session.
*/
if ( getdef_bool("QUOTAS_ENAB") ) {
if (getdef_bool("QUOTAS_ENAB")) {
#ifdef LIMITS
if (info->pw_uid)
if (info->pw_uid != 0)
if (setup_user_limits(info->pw_name) & LOGIN_ERROR_LOGIN) {
fprintf(stderr, _("Too many logins.\n"));
sleep(2);

View File

@ -32,7 +32,7 @@
#ifdef RLOGIN
#include "rcsid.h"
RCSID("$Id: rlogin.c,v 1.4 1997/12/14 20:07:20 marekm Exp $")
RCSID("$Id: rlogin.c,v 1.5 1999/08/27 19:02:51 marekm Exp $")
#include "prototypes.h"
#include "defines.h"
@ -140,15 +140,16 @@ do_rlogin(const char *remote_host, char *name, int namelen, char *term, int term
* Put the terminal in cooked mode with echo turned on.
*/
GTTY (0, &termio);
#ifndef USE_SGTTY
GTTY(0, &termio);
termio.c_iflag |= ICRNL|IXON;
termio.c_oflag |= OPOST|ONLCR;
termio.c_lflag |= ICANON|ECHO|ECHOE;
#ifdef CBAUD
termio.c_cflag = (termio.c_cflag & ~CBAUD) | speed_name;
#else
termio.c_cflag = (termio.c_cflag) | speed_name;
#endif
STTY (0, &termio);
STTY(0, &termio);
if (! (pwd = getpwnam (name)))
return 0;

2242
ltconfig

File diff suppressed because it is too large Load Diff

3612
ltmain.sh

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -11,7 +11,7 @@
# PARTICULAR PURPOSE.
SHELL = /bin/sh
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@ -32,7 +32,7 @@ mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -46,7 +46,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
@ -59,11 +59,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@ -87,6 +89,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
@ -100,16 +103,8 @@ l = @l@
AUTOMAKE_OPTIONS = 1.0 foreign
man_MANS = chage.1 chfn.1 chsh.1 gpasswd.1 \
login.1 newgrp.1 passwd.1 su.1 \
shadow.3 \
faillog.5 limits.5 login.access.5 login.defs.5 \
passwd.5 porttime.5 shadow.5 suauth.5 \
chpasswd.8 dpasswd.8 faillog.8 \
groupadd.8 groupdel.8 groupmod.8 \
grpck.8 lastlog.8 logoutd.8 mkpasswd.8 newusers.8 \
pwck.8 pwconv.8 shadowconfig.8 \
useradd.8 userdel.8 usermod.8 vipw.8
man_MANS = chage.1 chfn.1 chsh.1 gpasswd.1 login.1 newgrp.1 passwd.1 su.1 shadow.3 faillog.5 limits.5 login.access.5 login.defs.5 passwd.5 porttime.5 shadow.5 suauth.5 chpasswd.8 dpasswd.8 faillog.8 groupadd.8 groupdel.8 groupmod.8 grpck.8 lastlog.8 logoutd.8 mkpasswd.8 newusers.8 pwck.8 pwconv.8 shadowconfig.8 useradd.8 userdel.8 usermod.8 vipw.8
# XXX - for some reason "make dist" no longer distributes man_MANS
# automatically after upgrade to automake-1.2 (it worked with 1.0).
@ -117,17 +112,8 @@ man_MANS = chage.1 chfn.1 chsh.1 gpasswd.1 \
#
#EXTRA_DIST = groups.1 id.1 pw_auth.3 pwauth.8 sulogin.8
EXTRA_DIST = groups.1 id.1 pw_auth.3 pwauth.8 sulogin.8 \
chage.1 chfn.1 chsh.1 gpasswd.1 \
login.1 newgrp.1 passwd.1 su.1 \
shadow.3 \
faillog.5 limits.5 login.access.5 login.defs.5 \
passwd.5 porttime.5 shadow.5 suauth.5 \
chpasswd.8 dpasswd.8 faillog.8 \
groupadd.8 groupdel.8 groupmod.8 \
grpck.8 lastlog.8 logoutd.8 mkpasswd.8 newusers.8 \
pwck.8 pwconv.8 shadowconfig.8 \
useradd.8 userdel.8 usermod.8 vipw.8
EXTRA_DIST = groups.1 id.1 pw_auth.3 pwauth.8 sulogin.8 chage.1 chfn.1 chsh.1 gpasswd.1 login.1 newgrp.1 passwd.1 su.1 shadow.3 faillog.5 limits.5 login.access.5 login.defs.5 passwd.5 porttime.5 shadow.5 suauth.5 chpasswd.8 dpasswd.8 faillog.8 groupadd.8 groupdel.8 groupmod.8 grpck.8 lastlog.8 logoutd.8 mkpasswd.8 newusers.8 pwck.8 pwconv.8 shadowconfig.8 useradd.8 userdel.8 usermod.8 vipw.8
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
@ -144,9 +130,8 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
all: Makefile $(MANS)
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps man/Makefile
@ -289,10 +274,12 @@ uninstall-man8:
done
install-man: $(MANS)
@$(NORMAL_INSTALL)
$(MAKE) install-man1 install-man3 install-man5 install-man8
$(MAKE) $(AM_MAKEFLAGS) install-man1 install-man3 install-man5 \
install-man8
uninstall-man:
@$(NORMAL_UNINSTALL)
$(MAKE) uninstall-man1 uninstall-man3 uninstall-man5 uninstall-man8
$(MAKE) $(AM_MAKEFLAGS) uninstall-man1 uninstall-man3 uninstall-man5 \
uninstall-man8
tags: TAGS
TAGS:
@ -304,63 +291,76 @@ subdir = man
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
info:
dvi:
check: all
$(MAKE)
installcheck:
install-exec:
@$(NORMAL_INSTALL)
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data: install-man
@$(NORMAL_INSTALL)
install: install-exec install-data all
@:
uninstall: uninstall-man
install-data-am: install-man
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am: uninstall-man
uninstall: uninstall-am
all-am: Makefile $(MANS)
all-redirect: all-am
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
$(mkinstalldirs) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man3 \
$(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man8
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-generic
mostlyclean-am: mostlyclean-generic
clean: clean-generic mostlyclean
mostlyclean: mostlyclean-am
distclean: distclean-generic clean
-rm -f config.status
clean-am: clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool
maintainer-clean: maintainer-clean-generic distclean
distclean: distclean-am
maintainer-clean-am: maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-am
.PHONY: install-man1 uninstall-man1 install-man3 uninstall-man3 \
install-man5 uninstall-man5 install-man8 uninstall-man8 install-man \
uninstall-man tags distdir info dvi installcheck install-exec \
install-data install uninstall all installdirs mostlyclean-generic \
uninstall-man tags distdir info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean

View File

@ -40,6 +40,8 @@ T: max CPU time (MIN)
.br
U: max number of processes
.br
K: file creation mask, set by \fBumask\fR(2).
.br
L: max number of logins for this user
.br
P: process priority, set by \fBsetpriority\fR(2).

View File

@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $Id: newgrp.1,v 1.4 1998/12/28 20:35:16 marekm Exp $
.\" $Id: newgrp.1,v 1.5 1999/08/27 19:02:51 marekm Exp $
.\"
.TH NEWGRP 1
.SH NAME
@ -37,7 +37,7 @@ sg \- Execute command as different group ID
[\fIgroup\fR]
.br
.BR sg " [" - ]
[\fIgroup\fR [\fB-c\fR \fIcommand\fR]]
[\fIgroup\fR [[\fB-c\fR] \fIcommand\fR]]
.SH DESCRIPTION
.B newgrp
is used to change the current group ID during a login session.

26
missing
View File

@ -82,15 +82,17 @@ WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acconfig.h' or \`configure.in'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER([^):]*:\([^)]*\)).*/\1/p' configure.in`
if test -z "$files"; then
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^):]*\)).*/\1/p' configure.in`
test -z "$files" || files="$files.in"
else
files=`echo "$files" | sed -e 's/:/ /g'`
fi
test -z "$files" && files="config.h.in"
touch $files
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake)
@ -99,9 +101,9 @@ WARNING: \`$1' is missing on your system. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print \
| sed 's/^\(.*\).am$/touch \1.in/' \
| sh
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
bison|yacc)

View File

@ -1,6 +1,6 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -14,7 +14,7 @@
# and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
@ -101,10 +104,8 @@ VERSION = @VERSION@
YACC = @YACC@
l = @l@
EXTRA_DIST = Makefile.linux Makefile.sun4 Makefile.svr4 Makefile.xenix \
config.h.linux config.h.sun4 config.h.svr4 config.h.xenix \
orig-config.h pwconv.8 pwconv-old.8 pwconv-old.c pwd.h.m4 \
pwunconv.8 pwunconv-old.8 pwunconv-old.c scologin.c vipw.8
EXTRA_DIST = Makefile.linux Makefile.sun4 Makefile.svr4 Makefile.xenix config.h.linux config.h.sun4 config.h.svr4 config.h.xenix orig-config.h pwconv.8 pwconv-old.8 pwconv-old.c pwd.h.m4 pwunconv.8 pwunconv-old.8 pwunconv-old.c scologin.c vipw.8
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
@ -114,9 +115,8 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
all: Makefile
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps old/Makefile
@ -136,61 +136,74 @@ subdir = old
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
info:
dvi:
check: all
$(MAKE)
installcheck:
install-exec:
@$(NORMAL_INSTALL)
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data:
@$(NORMAL_INSTALL)
install: install-exec install-data all
@:
uninstall:
install-data-am:
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am:
uninstall: uninstall-am
all-am: Makefile
all-redirect: all-am
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-generic
mostlyclean-am: mostlyclean-generic
clean: clean-generic mostlyclean
mostlyclean: mostlyclean-am
distclean: distclean-generic clean
-rm -f config.status
clean-am: clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool
maintainer-clean: maintainer-clean-generic distclean
distclean: distclean-am
maintainer-clean-am: maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
.PHONY: tags distdir info dvi installcheck install-exec install-data \
install uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \
maintainer-clean
maintainer-clean: maintainer-clean-am
.PHONY: tags distdir info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.

View File

@ -43,458 +43,460 @@ const struct _msg_ent _msg_tbl[] = {
{"Invalid root directory \"%s\"\n", 34},
{"Can't change root directory to \"%s\"\n", 35},
{"malloc(%d) failed\n", 36},
{"Dialup Password:", 37},
{"Dialup Password: ", 37},
{"Could not allocate space for config info.\n", 38},
{"configuration error - unknown item '%s' (notify administrator)\n", 39},
{"error - lookup '%s' failed\n", 40},
{"%s not found\n", 41},
{"Password: ", 42},
{"%s's Password:", 43},
{"Unknown error %d", 44},
{"%s's Password: ", 43},
{"(Echo on) ", 44},
{"Unknown error %d", 45},
{"\
Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ]\n\
[ -I inactive ] [ -E expire ] [ -d last_day ] user\n", 45},
{"Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -d last_day ] user\n", 46},
[ -I inactive ] [ -E expire ] [ -d last_day ] user\n", 46},
{"Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -d last_day ] user\n", 47},
{"\
Enter the new value, or press return for the default\n\
\n", 47},
{"Minimum Password Age", 48},
{"Maximum Password Age", 49},
{"Last Password Change (YYYY-MM-DD)", 50},
{"Password Expiration Warning", 51},
{"Password Inactive", 52},
{"Account Expiration Date (YYYY-MM-DD)", 53},
{"Minimum:\t%ld\n", 54},
{"Maximum:\t%ld\n", 55},
{"Warning:\t%ld\n", 56},
{"Inactive:\t%ld\n", 57},
{"Last Change:\t\t", 58},
{"Never\n", 59},
{"Password Expires:\t", 60},
{"%s: do not include \"l\" with other flags\n", 61},
{"%s: permission denied\n", 62},
{"%s: can't lock password file\n", 63},
{"%s: can't open password file\n", 64},
{"%s: unknown user: %s\n", 65},
{"%s: can't lock shadow password file\n", 66},
{"%s: can't open shadow password file\n", 67},
{"Changing the aging information for %s\n", 68},
{"%s: error changing fields\n", 69},
{"%s: can't update password file\n", 70},
{"%s: can't update shadow password file\n", 71},
{"Error updating the DBM password entry.\n", 72},
{"%s: can't rewrite shadow password file\n", 73},
{"%s: can't rewrite password file\n", 74},
{"%s: no aging information present\n", 75},
\n", 48},
{"Minimum Password Age", 49},
{"Maximum Password Age", 50},
{"Last Password Change (YYYY-MM-DD)", 51},
{"Password Expiration Warning", 52},
{"Password Inactive", 53},
{"Account Expiration Date (YYYY-MM-DD)", 54},
{"Minimum:\t%ld\n", 55},
{"Maximum:\t%ld\n", 56},
{"Warning:\t%ld\n", 57},
{"Inactive:\t%ld\n", 58},
{"Last Change:\t\t", 59},
{"Never\n", 60},
{"Password Expires:\t", 61},
{"Password Inactive:\t", 62},
{"Account Expires:\t", 63},
{"%s: do not include \"l\" with other flags\n", 64},
{"%s: permission denied\n", 65},
{"%s: can't lock password file\n", 66},
{"%s: can't open password file\n", 67},
{"%s: unknown user: %s\n", 68},
{"%s: can't lock shadow password file\n", 69},
{"%s: can't open shadow password file\n", 70},
{"Changing the aging information for %s\n", 71},
{"%s: error changing fields\n", 72},
{"%s: can't update password file\n", 73},
{"%s: can't update shadow password file\n", 74},
{"Error updating the DBM password entry.\n", 75},
{"%s: can't rewrite shadow password file\n", 76},
{"%s: can't rewrite password file\n", 77},
{"%s: no aging information present\n", 78},
{"\
Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ]\n\
\t[ -h home_ph ] [ -o other ] [ user ]\n", 76},
\t[ -h home_ph ] [ -o other ] [ user ]\n", 79},
{"\
Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ] [ -h home_ph ]\n", 77},
{"Enter the new value, or press return for the default\n", 78},
{"Full Name", 79},
{"\tFull Name: %s\n", 80},
{"Room Number", 81},
{"\tRoom Number: %s\n", 82},
{"Work Phone", 83},
{"\tWork Phone: %s\n", 84},
{"Home Phone", 85},
{"\tHome Phone: %s\n", 86},
{"Other", 87},
{"%s: Permission denied.\n", 88},
{"%s: Unknown user %s\n", 89},
{"%s: Cannot determine your user name.\n", 90},
{"%s: cannot change user `%s' on NIS client.\n", 91},
{"%s: `%s' is the NIS master for this client.\n", 92},
{"Changing the user information for %s\n", 93},
{"%s: invalid name: \"%s\"\n", 94},
{"%s: invalid room number: \"%s\"\n", 95},
{"%s: invalid work phone: \"%s\"\n", 96},
{"%s: invalid home phone: \"%s\"\n", 97},
{"%s: \"%s\" contains illegal characters\n", 98},
{"%s: fields too long\n", 99},
{"Cannot change ID to root.\n", 100},
{"Cannot lock the password file; try again later.\n", 101},
{"Cannot open the password file.\n", 102},
{"%s: %s not found in /etc/passwd\n", 103},
{"Error updating the password entry.\n", 104},
{"Cannot commit password file changes.\n", 105},
{"Cannot unlock the password file.\n", 106},
{"usage: %s [-e]\n", 107},
{"%s: can't lock shadow file\n", 108},
{"%s: can't open shadow file\n", 109},
{"%s: line %d: line too long\n", 110},
{"%s: line %d: missing new password\n", 111},
{"%s: line %d: unknown user %s\n", 112},
{"%s: line %d: cannot update password entry\n", 113},
{"%s: error detected, changes ignored\n", 114},
{"%s: error updating shadow file\n", 115},
{"%s: error updating password file\n", 116},
{"Usage: %s [ -s shell ] [ name ]\n", 117},
{"Login Shell", 118},
{"You may not change the shell for %s.\n", 119},
{"Changing the login shell for %s\n", 120},
{"%s: Invalid entry: %s\n", 121},
{"%s is an invalid shell.\n", 122},
{"Usage: %s [ -(a|d) ] shell\n", 123},
{"Shell password:", 124},
{"re-enter Shell password:", 125},
{"%s: Passwords do not match, try again.\n", 126},
{"%s: can't create %s", 127},
{"%s: can't open %s", 128},
{"%s: Shell %s not found.\n", 129},
{"Usage: expiry { -f | -c }\n", 130},
{"%s: WARNING! Must be set-UID root!\n", 131},
{"%s: unknown user\n", 132},
{"usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n", 133},
{"Unknown User: %s\n", 134},
{"Username Failures Maximum Latest\n", 135},
{" %s on %s", 136},
{" [%lds left]", 137},
{" [%lds lock]", 138},
{"usage: %s [-r|-R] group\n", 139},
{" %s [-a user] group\n", 140},
{" %s [-d user] group\n", 141},
{" %s [-A user,...] [-M user,...] group\n", 142},
{" %s [-M user,...] group\n", 143},
{"%s: unknown user %s\n", 144},
{"Permission denied.\n", 145},
{"%s: shadow group passwords required for -A\n", 146},
{"Who are you?\n", 147},
{"unknown group: %s\n", 148},
{"Adding user %s to group %s\n", 149},
{"Removing user %s from group %s\n", 150},
{"%s: unknown member %s\n", 151},
{"%s: Not a tty\n", 152},
{"Changing the password for group %s\n", 153},
{"New Password:", 154},
{"Re-enter new password:", 155},
{"They don't match; try again", 156},
{"%s: Try again later\n", 157},
{"%s: can't get lock\n", 158},
{"%s: can't get shadow lock\n", 159},
{"%s: can't open file\n", 160},
{"%s: can't update entry\n", 161},
{"%s: can't update shadow entry\n", 162},
{"%s: can't re-write file\n", 163},
{"%s: can't re-write shadow file\n", 164},
{"%s: can't unlock file\n", 165},
{"%s: can't update DBM files\n", 166},
{"%s: can't update DBM shadow files\n", 167},
{"usage: groupadd [-g gid [-o]] group\n", 168},
{"%s: error adding new group entry\n", 169},
{"%s: cannot add new dbm group entry\n", 170},
{"%s: name %s is not unique\n", 171},
{"%s: gid %ld is not unique\n", 172},
{"%s: can't get unique gid\n", 173},
{"%s: %s is a not a valid group name\n", 174},
{"%s: invalid group %s\n", 175},
{"%s: -O requires NAME=VALUE\n", 176},
{"%s: cannot rewrite group file\n", 177},
{"%s: cannot rewrite shadow group file\n", 178},
{"%s: unable to lock group file\n", 179},
{"%s: unable to open group file\n", 180},
{"%s: unable to lock shadow group file\n", 181},
{"%s: unable to open shadow group file\n", 182},
{"%s: group %s exists\n", 183},
{"usage: groupdel group\n", 184},
{"%s: error removing group entry\n", 185},
{"%s: error removing group dbm entry\n", 186},
{"%s: error removing shadow group entry\n", 187},
{"%s: error removing shadow group dbm entry\n", 188},
{"%s: cannot remove user's primary group.\n", 189},
{"%s: group %s does not exist\n", 190},
{"%s: group %s is a NIS group\n", 191},
{"%s: %s is the NIS master\n", 192},
{"usage: groupmod [-g gid [-o]] [-n name] group\n", 193},
{"%s: %s not found in /etc/group\n", 194},
{"%s: cannot add new dbm shadow group entry\n", 195},
{"%s: %ld is not a unique gid\n", 196},
{"%s: %s is not a unique name\n", 197},
{"unknown user %s\n", 198},
{"Usage: %s [ -r ] [ group [ gshadow ] ]\n", 199},
{"Usage: %s [ -r ] [ group ]\n", 200},
{"No", 201},
{"%s: cannot lock file %s\n", 202},
{"%s: cannot open file %s\n", 203},
{"invalid group file entry\n", 204},
{"delete line `%s'? ", 205},
{"duplicate group entry\n", 206},
{"invalid group name `%s'\n", 207},
{"group %s: bad GID (%d)\n", 208},
{"group %s: no user %s\n", 209},
{"delete member `%s'? ", 210},
{"invalid shadow group file entry\n", 211},
{"duplicate shadow group entry\n", 212},
{"no matching group file entry\n", 213},
{"shadow group %s: no administrative user %s\n", 214},
{"delete administrative member `%s'? ", 215},
{"shadow group %s: no user %s\n", 216},
{"%s: cannot update file %s\n", 217},
{"%s: the files have been updated; run mkpasswd\n", 218},
{"%s: no changes\n", 219},
{"%s: the files have been updated\n", 220},
{"%s: can't lock group file\n", 221},
{"%s: can't open group file\n", 222},
{"%s: can't lock shadow group file\n", 223},
{"%s: can't open shadow group file\n", 224},
{"%s: can't remove shadow group %s\n", 225},
{"%s: can't update shadow entry for %s\n", 226},
{"%s: can't update entry for group %s\n", 227},
{"%s: can't update shadow group file\n", 228},
{"%s: can't update group file\n", 229},
{"%s: not configured for shadow group support.\n", 230},
{"%s: can't delete shadow group file\n", 231},
{"usage: id [ -a ]\n", 232},
{"usage: id\n", 233},
{"uid=%d(%s)", 234},
{"uid=%d", 235},
{" gid=%d(%s)", 236},
{" gid=%d", 237},
{" euid=%d(%s)", 238},
{" euid=%d", 239},
{" egid=%d(%s)", 240},
{" egid=%d", 241},
{" groups=", 242},
{"Username Port From Latest\n", 243},
{"Username Port Latest\n", 244},
{"**Never logged in**", 245},
{"usage: %s [-p] [name]\n", 246},
{" %s [-p] [-h host] [-f name]\n", 247},
{" %s [-p] -r host\n", 248},
{"Invalid login time\n", 249},
Usage: %s [ -f full_name ] [ -r room_no ] [ -w work_ph ] [ -h home_ph ]\n", 80},
{"Enter the new value, or press return for the default\n", 81},
{"Full Name", 82},
{"\tFull Name: %s\n", 83},
{"Room Number", 84},
{"\tRoom Number: %s\n", 85},
{"Work Phone", 86},
{"\tWork Phone: %s\n", 87},
{"Home Phone", 88},
{"\tHome Phone: %s\n", 89},
{"Other", 90},
{"%s: Permission denied.\n", 91},
{"%s: Unknown user %s\n", 92},
{"%s: Cannot determine your user name.\n", 93},
{"%s: cannot change user `%s' on NIS client.\n", 94},
{"%s: `%s' is the NIS master for this client.\n", 95},
{"Changing the user information for %s\n", 96},
{"%s: invalid name: \"%s\"\n", 97},
{"%s: invalid room number: \"%s\"\n", 98},
{"%s: invalid work phone: \"%s\"\n", 99},
{"%s: invalid home phone: \"%s\"\n", 100},
{"%s: \"%s\" contains illegal characters\n", 101},
{"%s: fields too long\n", 102},
{"Cannot change ID to root.\n", 103},
{"Cannot lock the password file; try again later.\n", 104},
{"Cannot open the password file.\n", 105},
{"%s: %s not found in /etc/passwd\n", 106},
{"Error updating the password entry.\n", 107},
{"Cannot commit password file changes.\n", 108},
{"Cannot unlock the password file.\n", 109},
{"usage: %s [-e]\n", 110},
{"%s: can't lock shadow file\n", 111},
{"%s: can't open shadow file\n", 112},
{"%s: line %d: line too long\n", 113},
{"%s: line %d: missing new password\n", 114},
{"%s: line %d: unknown user %s\n", 115},
{"%s: line %d: cannot update password entry\n", 116},
{"%s: error detected, changes ignored\n", 117},
{"%s: error updating shadow file\n", 118},
{"%s: error updating password file\n", 119},
{"Usage: %s [ -s shell ] [ name ]\n", 120},
{"Login Shell", 121},
{"You may not change the shell for %s.\n", 122},
{"Changing the login shell for %s\n", 123},
{"%s: Invalid entry: %s\n", 124},
{"%s is an invalid shell.\n", 125},
{"Usage: %s [ -(a|d) ] shell\n", 126},
{"Shell password: ", 127},
{"re-enter Shell password: ", 128},
{"%s: Passwords do not match, try again.\n", 129},
{"%s: can't create %s", 130},
{"%s: can't open %s", 131},
{"%s: Shell %s not found.\n", 132},
{"Usage: expiry { -f | -c }\n", 133},
{"%s: WARNING! Must be set-UID root!\n", 134},
{"%s: unknown user\n", 135},
{"usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n", 136},
{"Unknown User: %s\n", 137},
{"Username Failures Maximum Latest\n", 138},
{" %s on %s", 139},
{" [%lds left]", 140},
{" [%lds lock]", 141},
{"usage: %s [-r|-R] group\n", 142},
{" %s [-a user] group\n", 143},
{" %s [-d user] group\n", 144},
{" %s [-A user,...] [-M user,...] group\n", 145},
{" %s [-M user,...] group\n", 146},
{"%s: unknown user %s\n", 147},
{"Permission denied.\n", 148},
{"%s: shadow group passwords required for -A\n", 149},
{"Who are you?\n", 150},
{"unknown group: %s\n", 151},
{"Adding user %s to group %s\n", 152},
{"Removing user %s from group %s\n", 153},
{"%s: unknown member %s\n", 154},
{"%s: Not a tty\n", 155},
{"Changing the password for group %s\n", 156},
{"New Password: ", 157},
{"Re-enter new password: ", 158},
{"They don't match; try again", 159},
{"%s: Try again later\n", 160},
{"%s: can't get lock\n", 161},
{"%s: can't get shadow lock\n", 162},
{"%s: can't open file\n", 163},
{"%s: can't update entry\n", 164},
{"%s: can't update shadow entry\n", 165},
{"%s: can't re-write file\n", 166},
{"%s: can't re-write shadow file\n", 167},
{"%s: can't unlock file\n", 168},
{"%s: can't update DBM files\n", 169},
{"%s: can't update DBM shadow files\n", 170},
{"usage: groupadd [-g gid [-o]] group\n", 171},
{"%s: error adding new group entry\n", 172},
{"%s: cannot add new dbm group entry\n", 173},
{"%s: name %s is not unique\n", 174},
{"%s: gid %ld is not unique\n", 175},
{"%s: can't get unique gid\n", 176},
{"%s: %s is a not a valid group name\n", 177},
{"%s: invalid group %s\n", 178},
{"%s: -O requires NAME=VALUE\n", 179},
{"%s: cannot rewrite group file\n", 180},
{"%s: cannot rewrite shadow group file\n", 181},
{"%s: unable to lock group file\n", 182},
{"%s: unable to open group file\n", 183},
{"%s: unable to lock shadow group file\n", 184},
{"%s: unable to open shadow group file\n", 185},
{"%s: group %s exists\n", 186},
{"usage: groupdel group\n", 187},
{"%s: error removing group entry\n", 188},
{"%s: error removing group dbm entry\n", 189},
{"%s: error removing shadow group entry\n", 190},
{"%s: error removing shadow group dbm entry\n", 191},
{"%s: cannot remove user's primary group.\n", 192},
{"%s: group %s does not exist\n", 193},
{"%s: group %s is a NIS group\n", 194},
{"%s: %s is the NIS master\n", 195},
{"usage: groupmod [-g gid [-o]] [-n name] group\n", 196},
{"%s: %s not found in /etc/group\n", 197},
{"%s: cannot add new dbm shadow group entry\n", 198},
{"%s: %ld is not a unique gid\n", 199},
{"%s: %s is not a unique name\n", 200},
{"unknown user %s\n", 201},
{"Usage: %s [ -r ] [ group [ gshadow ] ]\n", 202},
{"Usage: %s [ -r ] [ group ]\n", 203},
{"No", 204},
{"%s: cannot lock file %s\n", 205},
{"%s: cannot open file %s\n", 206},
{"invalid group file entry\n", 207},
{"delete line `%s'? ", 208},
{"duplicate group entry\n", 209},
{"invalid group name `%s'\n", 210},
{"group %s: bad GID (%d)\n", 211},
{"group %s: no user %s\n", 212},
{"delete member `%s'? ", 213},
{"invalid shadow group file entry\n", 214},
{"duplicate shadow group entry\n", 215},
{"no matching group file entry\n", 216},
{"shadow group %s: no administrative user %s\n", 217},
{"delete administrative member `%s'? ", 218},
{"shadow group %s: no user %s\n", 219},
{"%s: cannot update file %s\n", 220},
{"%s: the files have been updated; run mkpasswd\n", 221},
{"%s: no changes\n", 222},
{"%s: the files have been updated\n", 223},
{"%s: can't lock group file\n", 224},
{"%s: can't open group file\n", 225},
{"%s: can't lock shadow group file\n", 226},
{"%s: can't open shadow group file\n", 227},
{"%s: can't remove shadow group %s\n", 228},
{"%s: can't update shadow entry for %s\n", 229},
{"%s: can't update entry for group %s\n", 230},
{"%s: can't update shadow group file\n", 231},
{"%s: can't update group file\n", 232},
{"%s: not configured for shadow group support.\n", 233},
{"%s: can't delete shadow group file\n", 234},
{"usage: id [ -a ]\n", 235},
{"usage: id\n", 236},
{"uid=%d(%s)", 237},
{"uid=%d", 238},
{" gid=%d(%s)", 239},
{" gid=%d", 240},
{" euid=%d(%s)", 241},
{" euid=%d", 242},
{" egid=%d(%s)", 243},
{" egid=%d", 244},
{" groups=", 245},
{"Username Port From Latest\n", 246},
{"Username Port Latest\n", 247},
{"**Never logged in**", 248},
{"usage: %s [-p] [name]\n", 249},
{" %s [-p] [-h host] [-f name]\n", 250},
{" %s [-p] -r host\n", 251},
{"Invalid login time\n", 252},
{"\
\n\
System closed for routine maintenance\n", 250},
System closed for routine maintenance\n", 253},
{"\
\n\
[Disconnect bypassed -- root login allowed.]\n", 251},
[Disconnect bypassed -- root login allowed.]\n", 254},
{"\
\n\
Login timed out after %d seconds.\n", 252},
{" on `%.100s' from `%.200s'", 253},
{" on `%.100s'", 254},
Login timed out after %d seconds.\n", 255},
{" on `%.100s' from `%.200s'", 256},
{" on `%.100s'", 257},
{"\
\n\
%s login: ", 255},
{"login: ", 256},
{"Login incorrect", 257},
{"Warning: login re-enabled after temporary lockout.\n", 258},
{"Last login: %s on %s", 259},
{"Last login: %.19s on %s", 260},
{" from %.*s", 261},
{"Starting rad_login\n", 262},
{"%s: no DBM database on system - no action performed\n", 263},
{"%s: cannot overwrite file %s\n", 264},
{"%s: cannot open DBM files for %s\n", 265},
{"%s: the beginning with ", 266},
{"%s: error parsing line \"%s\"\n", 267},
{"adding record for name ", 268},
{"%s: error adding record for ", 269},
{"added %d entries, longest was %d\n", 270},
{"Usage: %s [ -vf ] [ -p|g|sp|sg ] file\n", 271},
{"Usage: %s [ -vf ] [ -p|g|sp ] file\n", 272},
{"Usage: %s [ -vf ] [ -p|g ] file\n", 273},
{"usage: newgrp [ - ] [ group ]\n", 274},
{"usage: sg group [ command ]\n", 275},
{"unknown uid: %d\n", 276},
{"unknown gid: %ld\n", 277},
{"unknown gid: %d\n", 278},
{"Password:", 279},
{"Sorry.\n", 280},
{"too many groups\n", 281},
{"Usage: %s [ input ]\n", 282},
{"%s: can't lock /etc/passwd.\n", 283},
{"%s: can't lock files, try again later\n", 284},
{"%s: can't open files\n", 285},
{"%s: line %d: invalid line\n", 286},
{"%s: line %d: can't create GID\n", 287},
{"%s: line %d: can't create UID\n", 288},
{"%s: line %d: cannot find user %s\n", 289},
{"%s: line %d: can't update password\n", 290},
{"%s: line %d: mkdir failed\n", 291},
{"%s: line %d: chown failed\n", 292},
{"%s: line %d: can't update entry\n", 293},
{"%s: error updating files\n", 294},
{"usage: %s [ -f | -s ] [ name ]\n", 295},
{" %s [ -x max ] [ -n min ] [ -w warn ] [ -i inact ] name\n", 296},
{" %s { -l | -u | -d | -S | -e } name\n", 297},
{"User %s has a TCFS key, his old password is required.\n", 298},
{"You can use -t option to force the change.\n", 299},
{"Old password:", 300},
{"Incorrect password for `%s'\n", 301},
{"Warning: user %s has a TCFS key.\n", 302},
%s login: ", 258},
{"login: ", 259},
{"Login incorrect", 260},
{"Warning: login re-enabled after temporary lockout.\n", 261},
{"Last login: %s on %s", 262},
{"Last login: %.19s on %s", 263},
{" from %.*s", 264},
{"Starting rad_login\n", 265},
{"%s: no DBM database on system - no action performed\n", 266},
{"%s: cannot overwrite file %s\n", 267},
{"%s: cannot open DBM files for %s\n", 268},
{"%s: the beginning with ", 269},
{"%s: error parsing line \"%s\"\n", 270},
{"adding record for name ", 271},
{"%s: error adding record for ", 272},
{"added %d entries, longest was %d\n", 273},
{"Usage: %s [ -vf ] [ -p|g|sp|sg ] file\n", 274},
{"Usage: %s [ -vf ] [ -p|g|sp ] file\n", 275},
{"Usage: %s [ -vf ] [ -p|g ] file\n", 276},
{"usage: newgrp [ - ] [ group ]\n", 277},
{"usage: sg group [[-c] command ]\n", 278},
{"unknown uid: %d\n", 279},
{"unknown gid: %ld\n", 280},
{"unknown gid: %d\n", 281},
{"Sorry.\n", 282},
{"too many groups\n", 283},
{"Usage: %s [ input ]\n", 284},
{"%s: can't lock /etc/passwd.\n", 285},
{"%s: can't lock files, try again later\n", 286},
{"%s: can't open files\n", 287},
{"%s: line %d: invalid line\n", 288},
{"%s: line %d: can't create GID\n", 289},
{"%s: line %d: can't create UID\n", 290},
{"%s: line %d: cannot find user %s\n", 291},
{"%s: line %d: can't update password\n", 292},
{"%s: line %d: mkdir failed\n", 293},
{"%s: line %d: chown failed\n", 294},
{"%s: line %d: can't update entry\n", 295},
{"%s: error updating files\n", 296},
{"usage: %s [ -f | -s ] [ name ]\n", 297},
{" %s [ -x max ] [ -n min ] [ -w warn ] [ -i inact ] name\n", 298},
{" %s { -l | -u | -d | -S | -e } name\n", 299},
{"User %s has a TCFS key, his old password is required.\n", 300},
{"You can use -t option to force the change.\n", 301},
{"Old password: ", 302},
{"Incorrect password for `%s'\n", 303},
{"Warning: user %s has a TCFS key.\n", 304},
{"\
Enter the new password (minimum of %d, maximum of %d characters)\n\
Please use a combination of upper and lower case letters and numbers.\n", 303},
{"New password:", 304},
{"Try again.\n", 305},
Please use a combination of upper and lower case letters and numbers.\n", 305},
{"New password: ", 306},
{"Try again.\n", 307},
{"\
\n\
Warning: weak password (enter it again to use it anyway).\n", 306},
{"They don't match; try again.\n", 307},
{"The password for %s cannot be changed.\n", 308},
{"Sorry, the password for %s cannot be changed yet.\n", 309},
{"%s: out of memory\n", 310},
{"Cannot lock the TCFS key database; try again later\n", 311},
{"Cannot open the TCFS key database.\n", 312},
{"Error updating the TCFS key database.\n", 313},
{"Cannot commit TCFS changes.\n", 314},
{"%s: Cannot execute %s", 315},
{"%s: repository %s not supported\n", 316},
{"%s: Permission denied\n", 317},
{"You may not change the password for %s.\n", 318},
{"Changing password for %s\n", 319},
{"The password for %s is unchanged.\n", 320},
{"Password changed.\n", 321},
{"Usage: %s [ -qr ] [ passwd [ shadow ] ]\n", 322},
{"Usage: %s [ -qr ] [ passwd ]\n", 323},
{"invalid password file entry\n", 324},
{"duplicate password entry\n", 325},
{"invalid user name `%s'\n", 326},
{"user %s: bad UID (%d)\n", 327},
{"user %s: no group %d\n", 328},
{"user %s: directory %s does not exist\n", 329},
{"user %s: program %s does not exist\n", 330},
{"invalid shadow password file entry\n", 331},
{"duplicate shadow password entry\n", 332},
{"no matching password file entry\n", 333},
{"user %s: last password change in the future\n", 334},
{"%s: can't lock passwd file\n", 335},
{"%s: can't open passwd file\n", 336},
{"%s: can't remove shadow entry for %s\n", 337},
{"%s: can't update passwd entry for %s\n", 338},
{"%s: can't update shadow file\n", 339},
{"%s: can't update passwd file\n", 340},
{"%s: Shadow passwords are not configured.\n", 341},
{"%s: can't update entry for user %s\n", 342},
{"%s: can't delete shadow password file\n", 343},
{"Sorry.", 344},
{"%s: must be run from a terminal\n", 345},
{"%s: pam_start: error %d\n", 346},
{"Unknown id: %s\n", 347},
{"You are not authorized to su %s\n", 348},
{"(Enter your own password.)", 349},
{"%s: permission denied (shell).\n", 350},
Warning: weak password (enter it again to use it anyway).\n", 308},
{"They don't match; try again.\n", 309},
{"The password for %s cannot be changed.\n", 310},
{"Sorry, the password for %s cannot be changed yet.\n", 311},
{"%s: out of memory\n", 312},
{"Cannot lock the TCFS key database; try again later\n", 313},
{"Cannot open the TCFS key database.\n", 314},
{"Error updating the TCFS key database.\n", 315},
{"Cannot commit TCFS changes.\n", 316},
{"%s: Cannot execute %s", 317},
{"%s: repository %s not supported\n", 318},
{"%s: Permission denied\n", 319},
{"You may not change the password for %s.\n", 320},
{"Changing password for %s\n", 321},
{"The password for %s is unchanged.\n", 322},
{"Password changed.\n", 323},
{"Usage: %s [ -qr ] [ passwd [ shadow ] ]\n", 324},
{"Usage: %s [ -qr ] [ passwd ]\n", 325},
{"invalid password file entry\n", 326},
{"duplicate password entry\n", 327},
{"invalid user name `%s'\n", 328},
{"user %s: bad UID (%d)\n", 329},
{"user %s: no group %d\n", 330},
{"user %s: directory %s does not exist\n", 331},
{"user %s: program %s does not exist\n", 332},
{"invalid shadow password file entry\n", 333},
{"duplicate shadow password entry\n", 334},
{"no matching password file entry\n", 335},
{"user %s: last password change in the future\n", 336},
{"%s: can't lock passwd file\n", 337},
{"%s: can't open passwd file\n", 338},
{"%s: can't remove shadow entry for %s\n", 339},
{"%s: can't update passwd entry for %s\n", 340},
{"%s: can't update shadow file\n", 341},
{"%s: can't update passwd file\n", 342},
{"%s: Shadow passwords are not configured.\n", 343},
{"%s: can't update entry for user %s\n", 344},
{"%s: can't delete shadow password file\n", 345},
{"Sorry.", 346},
{"%s: must be run from a terminal\n", 347},
{"%s: pam_start: error %d\n", 348},
{"Unknown id: %s\n", 349},
{"You are not authorized to su %s\n", 350},
{"(Enter your own password.)", 351},
{"%s: permission denied (shell).\n", 352},
{"\
%s: %s\n\
(Ignored)\n", 351},
{"No shell\n", 352},
{"No password file\n", 353},
{"No password entry for 'root'\n", 354},
(Ignored)\n", 353},
{"No shell\n", 354},
{"No password file\n", 355},
{"No password entry for 'root'\n", 356},
{"\
\n\
Type control-d to proceed with normal startup,\n\
(or give root password for system maintenance):", 355},
{"Entering System Maintenance Mode\n", 356},
{"%s: rebuild the group database\n", 357},
{"%s: rebuild the shadow group database\n", 358},
{"%s: invalid numeric argument `%s'\n", 359},
{"%s: unknown gid %s\n", 360},
{"%s: unknown group %s\n", 361},
{"group=%s,%ld basedir=%s skel=%s\n", 362},
{"shell=%s ", 363},
{"inactive=%ld expire=%s", 364},
{"GROUP=%ld\n", 365},
{"HOME=%s\n", 366},
{"INACTIVE=%ld\n", 367},
{"EXPIRE=%s\n", 368},
{"SHELL=%s\n", 369},
{"SKEL=%s\n", 370},
{"%s: cannot create new defaults file\n", 371},
{"%s: rename: %s", 372},
{"%s: group `%s' is a NIS group.\n", 373},
{"%s: too many groups specified (max %d).\n", 374},
{"usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n", 375},
{"\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n", 376},
{"[-f inactive] [-e expire ] ", 377},
{"[-A program] ", 378},
{"[-p passwd] name\n", 379},
{" %s\t-D [-g group] [-b base] [-s shell]\n", 380},
{"\t\t[-f inactive] [-e expire ]\n", 381},
{"%s: error locking group file\n", 382},
{"%s: error opening group file\n", 383},
{"%s: error locking shadow group file\n", 384},
{"%s: error opening shadow group file\n", 385},
{"%s: uid %d is not unique\n", 386},
{"%s: can't get unique uid\n", 387},
{"%s: invalid field `%s'\n", 388},
{"%s: invalid base directory `%s'\n", 389},
{"%s: invalid comment `%s'\n", 390},
{"%s: invalid home directory `%s'\n", 391},
{"%s: invalid date `%s'\n", 392},
{"%s: shadow passwords required for -e\n", 393},
{"%s: shadow passwords required for -f\n", 394},
{"%s: invalid shell `%s'\n", 395},
{"%s: invalid user name `%s'\n", 396},
{"%s: cannot rewrite password file\n", 397},
{"%s: cannot rewrite shadow password file\n", 398},
{"%s: unable to lock password file\n", 399},
{"%s: unable to open password file\n", 400},
{"%s: cannot lock shadow password file\n", 401},
{"%s: cannot open shadow password file\n", 402},
{"%s: error adding authentication method\n", 403},
{"%s: error adding new password entry\n", 404},
{"%s: error updating password dbm entry\n", 405},
{"%s: error adding new shadow password entry\n", 406},
{"%s: error updating shadow passwd dbm entry\n", 407},
{"%s: cannot create directory %s\n", 408},
{"%s: user %s exists\n", 409},
{"%s: warning: CREATE_HOME not supported, please use -m instead.\n", 410},
{"usage: %s [-r] name\n", 411},
{"%s: error updating group entry\n", 412},
{"%s: cannot update dbm group entry\n", 413},
{"%s: cannot rewrite TCFS key file\n", 414},
{"%s: cannot lock TCFS key file\n", 415},
{"%s: cannot open TCFS key file\n", 416},
{"%s: cannot open group file\n", 417},
{"%s: cannot open shadow group file\n", 418},
{"%s: error deleting authentication\n", 419},
{"%s: error deleting password entry\n", 420},
{"%s: error deleting shadow password entry\n", 421},
{"%s: error deleting TCFS entry\n", 422},
{"%s: error deleting password dbm entry\n", 423},
{"%s: error deleting shadow passwd dbm entry\n", 424},
{"%s: user %s is currently logged in\n", 425},
{"%s: warning: %s not owned by %s, not removing\n", 426},
{"%s: warning: can't remove ", 427},
{"%s: user %s does not exist\n", 428},
{"%s: user %s is a NIS user\n", 429},
{"%s: %s not owned by %s, not removing\n", 430},
{"%s: not removing directory %s (would remove home of user %s)\n", 431},
{"%s: error removing directory %s\n", 432},
{"\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n", 433},
{"[-A {DEFAULT|program},... ] ", 434},
{"%s: out of memory in update_group\n", 435},
{"%s: out of memory in update_gshadow\n", 436},
{"%s: no flags given\n", 437},
{"%s: shadow passwords required for -e and -f\n", 438},
{"%s: uid %ld is not unique\n", 439},
{"%s: error deleting authentication method\n", 440},
{"%s: error changing authentication method\n", 441},
{"%s: error changing password entry\n", 442},
{"%s: error removing password entry\n", 443},
{"%s: error adding password dbm entry\n", 444},
{"%s: error removing passwd dbm entry\n", 445},
{"%s: error removing shadow password entry\n", 446},
{"%s: error removing shadow passwd dbm entry\n", 447},
{"%s: directory %s exists\n", 448},
{"%s: can't create %s\n", 449},
{"%s: can't chown %s\n", 450},
{"%s: cannot rename directory %s to %s\n", 451},
{"%s: warning: %s not owned by %s\n", 452},
{"failed to change mailbox owner", 453},
{"failed to rename mailbox", 454},
(or give root password for system maintenance):", 357},
{"Entering System Maintenance Mode\n", 358},
{"%s: rebuild the group database\n", 359},
{"%s: rebuild the shadow group database\n", 360},
{"%s: invalid numeric argument `%s'\n", 361},
{"%s: unknown gid %s\n", 362},
{"%s: unknown group %s\n", 363},
{"group=%s,%ld basedir=%s skel=%s\n", 364},
{"shell=%s ", 365},
{"inactive=%ld expire=%s", 366},
{"GROUP=%ld\n", 367},
{"HOME=%s\n", 368},
{"INACTIVE=%ld\n", 369},
{"EXPIRE=%s\n", 370},
{"SHELL=%s\n", 371},
{"SKEL=%s\n", 372},
{"%s: cannot create new defaults file\n", 373},
{"%s: rename: %s", 374},
{"%s: group `%s' is a NIS group.\n", 375},
{"%s: too many groups specified (max %d).\n", 376},
{"usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n", 377},
{"\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n", 378},
{"[-f inactive] [-e expire ] ", 379},
{"[-A program] ", 380},
{"[-p passwd] name\n", 381},
{" %s\t-D [-g group] [-b base] [-s shell]\n", 382},
{"\t\t[-f inactive] [-e expire ]\n", 383},
{"%s: error locking group file\n", 384},
{"%s: error opening group file\n", 385},
{"%s: error locking shadow group file\n", 386},
{"%s: error opening shadow group file\n", 387},
{"%s: uid %d is not unique\n", 388},
{"%s: can't get unique uid\n", 389},
{"%s: invalid field `%s'\n", 390},
{"%s: invalid base directory `%s'\n", 391},
{"%s: invalid comment `%s'\n", 392},
{"%s: invalid home directory `%s'\n", 393},
{"%s: invalid date `%s'\n", 394},
{"%s: shadow passwords required for -e\n", 395},
{"%s: shadow passwords required for -f\n", 396},
{"%s: invalid shell `%s'\n", 397},
{"%s: invalid user name `%s'\n", 398},
{"%s: cannot rewrite password file\n", 399},
{"%s: cannot rewrite shadow password file\n", 400},
{"%s: unable to lock password file\n", 401},
{"%s: unable to open password file\n", 402},
{"%s: cannot lock shadow password file\n", 403},
{"%s: cannot open shadow password file\n", 404},
{"%s: error adding authentication method\n", 405},
{"%s: error adding new password entry\n", 406},
{"%s: error updating password dbm entry\n", 407},
{"%s: error adding new shadow password entry\n", 408},
{"%s: error updating shadow passwd dbm entry\n", 409},
{"%s: cannot create directory %s\n", 410},
{"%s: user %s exists\n", 411},
{"%s: warning: CREATE_HOME not supported, please use -m instead.\n", 412},
{"usage: %s [-r] name\n", 413},
{"%s: error updating group entry\n", 414},
{"%s: cannot update dbm group entry\n", 415},
{"%s: cannot rewrite TCFS key file\n", 416},
{"%s: cannot lock TCFS key file\n", 417},
{"%s: cannot open TCFS key file\n", 418},
{"%s: cannot open group file\n", 419},
{"%s: cannot open shadow group file\n", 420},
{"%s: error deleting authentication\n", 421},
{"%s: error deleting password entry\n", 422},
{"%s: error deleting shadow password entry\n", 423},
{"%s: error deleting TCFS entry\n", 424},
{"%s: error deleting password dbm entry\n", 425},
{"%s: error deleting shadow passwd dbm entry\n", 426},
{"%s: user %s is currently logged in\n", 427},
{"%s: warning: %s not owned by %s, not removing\n", 428},
{"%s: warning: can't remove ", 429},
{"%s: user %s does not exist\n", 430},
{"%s: user %s is a NIS user\n", 431},
{"%s: %s not owned by %s, not removing\n", 432},
{"%s: not removing directory %s (would remove home of user %s)\n", 433},
{"%s: error removing directory %s\n", 434},
{"\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n", 435},
{"[-A {DEFAULT|program},... ] ", 436},
{"%s: out of memory in update_group\n", 437},
{"%s: out of memory in update_gshadow\n", 438},
{"%s: no flags given\n", 439},
{"%s: shadow passwords required for -e and -f\n", 440},
{"%s: uid %ld is not unique\n", 441},
{"%s: error deleting authentication method\n", 442},
{"%s: error changing authentication method\n", 443},
{"%s: error changing password entry\n", 444},
{"%s: error removing password entry\n", 445},
{"%s: error adding password dbm entry\n", 446},
{"%s: error removing passwd dbm entry\n", 447},
{"%s: error removing shadow password entry\n", 448},
{"%s: error removing shadow passwd dbm entry\n", 449},
{"%s: directory %s exists\n", 450},
{"%s: can't create %s\n", 451},
{"%s: can't chown %s\n", 452},
{"%s: cannot rename directory %s to %s\n", 453},
{"%s: warning: %s not owned by %s\n", 454},
{"failed to change mailbox owner", 455},
{"failed to rename mailbox", 456},
{"\
\n\
%s: %s is unchanged\n", 455},
{"Couldn't lock file", 456},
{"Couldn't make backup", 457},
{"%s: can't restore %s: %s (your changes are in %s)\n", 458},
%s: %s is unchanged\n", 457},
{"Couldn't lock file", 458},
{"Couldn't make backup", 459},
{"%s: can't restore %s: %s (your changes are in %s)\n", 460},
{"\
Usage:\n\
`vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\n\
`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n", 459},
`vigr' edits /etc/group `vigr -s' edits /etc/gshadow\n", 461},
};
int _msg_tbl_length = 459;
int _msg_tbl_length = 461;

BIN
po/el.gmo

Binary file not shown.

135
po/el.po
View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Shadow 980726\n"
"POT-Creation-Date: 1999-07-09 20:02+0200\n"
"POT-Creation-Date: 1999-08-27 21:03+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Nikos Mavroyanopoulos <nmav@i-net.paiko.gr>\n"
"Language-Team: Hellenic <el@li.org>\n"
@ -83,7 +83,7 @@ msgstr "
msgid "failure"
msgstr "áðïôõ÷ßá"
#: libmisc/limits.c:365
#: libmisc/limits.c:397
msgid "Too many logins.\n"
msgstr "ÐïëëÝò åßóïäïé óôï óýóôçìá.\n"
@ -178,41 +178,49 @@ msgid "malloc(%d) failed\n"
msgstr "Ç êëÞóç malloc(%d) áðÝôõ÷å\n"
#: lib/dialchk.c:71
msgid "Dialup Password:"
msgstr "Óõíèçìáôéêü ôçëåöùíéêÞò óýíäåóçò:"
msgid "Dialup Password: "
msgstr "Óõíèçìáôéêü ôçëåöùíéêÞò óýíäåóçò: "
#: lib/getdef.c:247
#: lib/getdef.c:249
msgid "Could not allocate space for config info.\n"
msgstr "Áäõíáìßá äÝóìåõóçò ÷þñïõ ãéá ðëçñïöïñßåò äéáìüñöùóçò.\n"
#.
#. * Item was never found.
#.
#: lib/getdef.c:301
#: lib/getdef.c:303
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"óöÜëìá äéáìüñöùóçò - Üãíùóôï áíôéêåßìåíï '%s' (åéäïðïéåßóôå ôïí "
"äéá÷åéñéóôÞ)\n"
#: lib/getdef.c:388
#: lib/getdef.c:390
#, c-format
msgid "error - lookup '%s' failed\n"
msgstr "óöÜëìá - ç áíáæÞôçóç '%s' áðÝôõ÷å\n"
#: lib/getdef.c:396
#: lib/getdef.c:398
#, c-format
msgid "%s not found\n"
msgstr "%s äåí âñÝèçêå\n"
#: lib/pwauth.c:54
#.
#. * get the password from her, and set the salt for
#. * the decryption from the group file.
#.
#: lib/pwauth.c:54 src/newgrp.c:297
msgid "Password: "
msgstr "Óõíèçìáôéêü: "
#: lib/pwauth.c:56
#, c-format
msgid "%s's Password:"
msgstr "Ôïõ %s ôï Óõíèçìáôéêü:"
msgid "%s's Password: "
msgstr "Ôïõ %s ôï Óõíèçìáôéêü: "
#: lib/pwauth.c:270
msgid "(Echo on) "
msgstr ""
#: lib/strerror.c:20
#, c-format
@ -304,7 +312,7 @@ msgstr "
msgid "Last Change:\t\t"
msgstr "Ôåëåõôáßá áëëáãÞ:\t\t"
#: src/chage.c:281 src/chage.c:295
#: src/chage.c:281 src/chage.c:295 src/chage.c:312 src/chage.c:325
msgid "Never\n"
msgstr "ÐïôÝ\n"
@ -317,12 +325,32 @@ msgstr "
msgid "Password Expires:\t"
msgstr "Ôï óõíèçìáôéêü ëÞãåé:\t"
#.
#. * The account becomes inactive if the password is expired
#. * for more than "inactdays". The expiration date is calculated
#. * and the number of inactive days is added. The resulting date
#. * is when the active will be disabled.
#.
#: src/chage.c:309
#, fuzzy
msgid "Password Inactive:\t"
msgstr "Áíåíåñãü óõíèçìáôéêü"
#.
#. * The account will expire on the given date regardless of the
#. * password expiring or not.
#.
#: src/chage.c:323
#, fuzzy
msgid "Account Expires:\t"
msgstr "Ôï óõíèçìáôéêü ëÞãåé:\t"
#: src/chage.c:468
#, c-format
msgid "%s: do not include \"l\" with other flags\n"
msgstr "%s: Íá ìçí óõìðåñéëáìâÜíåôå ôï \"l\" ìå ôéò Üëëåò åíäåßîåéò\n"
#: src/chage.c:480 src/chage.c:592 src/login.c:532
#: src/chage.c:480 src/chage.c:592 src/login.c:529
#, c-format
msgid "%s: permission denied\n"
msgstr "%s: Üäåéá áðïññßöèçêå\n"
@ -632,12 +660,12 @@ msgid "Usage: %s [ -(a|d) ] shell\n"
msgstr "×ñÞóç: %s [ -(ald) ] öëïéüò\n"
#: src/dpasswd.c:136
msgid "Shell password:"
msgstr "Óõíèçìáôéêü öëïéïý:"
msgid "Shell password: "
msgstr "Óõíèçìáôéêü öëïéïý: "
#: src/dpasswd.c:142
msgid "re-enter Shell password:"
msgstr "ÅðáíåéóÜãåôå ôï óõíèçìáôéêü öëïéïý:"
msgid "re-enter Shell password: "
msgstr "ÅðáíåéóÜãåôå ôï óõíèçìáôéêü öëïéïý: "
#: src/dpasswd.c:149
#, c-format
@ -747,7 +775,7 @@ msgstr "%s:
msgid "Who are you?\n"
msgstr "Ðïéïò åßóáé;\n"
#: src/gpasswd.c:330 src/newgrp.c:241
#: src/gpasswd.c:330 src/newgrp.c:247
#, c-format
msgid "unknown group: %s\n"
msgstr "Üãíùóôç ïìÜäá: %s\n"
@ -785,12 +813,12 @@ msgid "Changing the password for group %s\n"
msgstr "ÁëëáãÞ ôïõ óõíèÞìáôïò ãéá ôçí ïìÜäá %s\n"
#: src/gpasswd.c:540
msgid "New Password:"
msgstr "ÍÝï Óõíèçìáôéêü:"
msgid "New Password: "
msgstr "ÍÝï Óõíèçìáôéêü: "
#: src/gpasswd.c:545 src/passwd.c:424
msgid "Re-enter new password:"
msgstr "ÅðáíåéóÜãåôå ôï íÝï óõíèçìáôéêü:"
msgid "Re-enter new password: "
msgstr "ÅðáíåéóÜãåôå ôï íÝï óõíèçìáôéêü: "
#: src/gpasswd.c:557
msgid "They don't match; try again"
@ -1292,11 +1320,11 @@ msgstr " %s [-p] [-h
msgid " %s [-p] -r host\n"
msgstr " %s [-p] -r óýóôçìá\n"
#: src/login.c:290
#: src/login.c:287
msgid "Invalid login time\n"
msgstr "ÅóöáëìÝíç þñá åéóüäïõ\n"
#: src/login.c:345
#: src/login.c:342
msgid ""
"\n"
"System closed for routine maintenance\n"
@ -1304,7 +1332,7 @@ msgstr ""
"\n"
"Ôï óýóôçìá Ýêëåéóå ãéá óõíôÞñçóç ñïõôßíáò\n"
#: src/login.c:355
#: src/login.c:352
msgid ""
"\n"
"[Disconnect bypassed -- root login allowed.]\n"
@ -1312,7 +1340,7 @@ msgstr ""
"\n"
"[ÐáñÜêáìøç áðïóýíäåóçò -- Ç åßóïäïò ôïõ root åðåôñÜðç.]\n"
#: src/login.c:394
#: src/login.c:391
#, c-format
msgid ""
"\n"
@ -1321,17 +1349,17 @@ msgstr ""
"\n"
"Ç äéáäéêáóßá åéóüäïõ ôåñìáôßóôçêå ìåôÜ áðü %d äåõôåñüëåðôá.\n"
#: src/login.c:695
#: src/login.c:692
#, c-format
msgid " on `%.100s' from `%.200s'"
msgstr " óôï `%.100s' áðü `%.200s'"
#: src/login.c:697
#: src/login.c:694
#, c-format
msgid " on `%.100s'"
msgstr " óôï `%.100s'"
#: src/login.c:810
#: src/login.c:807
#, c-format
msgid ""
"\n"
@ -1340,35 +1368,35 @@ msgstr ""
"\n"
"%s login: "
#: src/login.c:812
#: src/login.c:809
msgid "login: "
msgstr "login: "
#: src/login.c:994 src/sulogin.c:239
#: src/login.c:991 src/sulogin.c:233
msgid "Login incorrect"
msgstr "Äéáäéêáóßá åéóüäïõ áðÝôõ÷å"
#: src/login.c:1166
#: src/login.c:1163
msgid "Warning: login re-enabled after temporary lockout.\n"
msgstr ""
"Ðñïåéäïðïßçóç: Ç åßóïäïò åðáíåíåñãïðïéÞèçêå ìåôÜ áðü ðñïóùñéíü áðïêëåéóìü.\n"
#: src/login.c:1176
#: src/login.c:1173
#, c-format
msgid "Last login: %s on %s"
msgstr "Ôåëåõôáßá åßóïäïò: %s óôï %s"
#: src/login.c:1179
#: src/login.c:1176
#, c-format
msgid "Last login: %.19s on %s"
msgstr "Ôåëåõôáßá åßóïäïò: %.19s óôï %s"
#: src/login.c:1184
#: src/login.c:1181
#, c-format
msgid " from %.*s"
msgstr " áðü %.*s"
#: src/login.c:1249
#: src/login.c:1246
msgid "Starting rad_login\n"
msgstr "¸íáñîç rad_login\n"
@ -1433,7 +1461,8 @@ msgid "usage: newgrp [ - ] [ group ]\n"
msgstr "÷ñÞóç: newgrp [ - ] [ ïìÜäá ]\n"
#: src/newgrp.c:69
msgid "usage: sg group [ command ]\n"
#, fuzzy
msgid "usage: sg group [[-c] command ]\n"
msgstr "÷ñÞóç: sg ïìÜäá [ åíôïëÞ ]\n"
#: src/newgrp.c:122
@ -1441,29 +1470,21 @@ msgstr "
msgid "unknown uid: %d\n"
msgstr "Üãíùóôï uid: %d\n"
#: src/newgrp.c:190
#: src/newgrp.c:198
#, c-format
msgid "unknown gid: %ld\n"
msgstr "Üãíùóôï gid: %ld\n"
#: src/newgrp.c:236
#: src/newgrp.c:242
#, c-format
msgid "unknown gid: %d\n"
msgstr "Üãíùóôï gid: %d\n"
#.
#. * get the password from her, and set the salt for
#. * the decryption from the group file.
#.
#: src/newgrp.c:291
msgid "Password:"
msgstr "Óõíèçìáôéêü:"
#: src/newgrp.c:309 src/newgrp.c:318
#: src/newgrp.c:315 src/newgrp.c:324
msgid "Sorry.\n"
msgstr "ËõðÜìáé.\n"
#: src/newgrp.c:350
#: src/newgrp.c:356
msgid "too many groups\n"
msgstr "ðÜñá ðïëëÝò ïìÜäåò\n"
@ -1560,8 +1581,8 @@ msgstr ""
"ðñáãìáôïðïßçóç ôçò áëëáãÞò.\n"
#: src/passwd.c:356
msgid "Old password:"
msgstr "Ðáëéü Óõíèçìáôéêü:"
msgid "Old password: "
msgstr "Ðáëéü Óõíèçìáôéêü: "
#: src/passwd.c:363
#, c-format
@ -1584,8 +1605,8 @@ msgstr ""
"êáèþò êáé áñéèìïýò.\n"
#: src/passwd.c:401
msgid "New password:"
msgstr "ÍÝï Óõíèçìáôéêü:"
msgid "New password: "
msgstr "ÍÝï Óõíèçìáôéêü: "
#: src/passwd.c:411
msgid "Try again.\n"
@ -1853,14 +1874,14 @@ msgid "No shell\n"
msgstr "Äåí õðÜñ÷åé öëïéüò\n"
#. must be a password file!
#: src/sulogin.c:144
#: src/sulogin.c:138
msgid "No password file\n"
msgstr "Äåí õðÜñ÷åé áñ÷åßï óõíèçìáôéêþí\n"
#.
#. * Fail secure
#.
#: src/sulogin.c:186
#: src/sulogin.c:180
msgid "No password entry for 'root'\n"
msgstr "Äåí õðÜñ÷åé êáôá÷þñçóç óõíèçìáôéêïý ãéá ôïí 'root'\n"
@ -1869,7 +1890,7 @@ msgstr "
#. * given we just exit.
#.
#. get a password for root
#: src/sulogin.c:200
#: src/sulogin.c:194
msgid ""
"\n"
"Type control-d to proceed with normal startup,\n"
@ -1880,7 +1901,7 @@ msgstr ""
"(Þ äþóôå ôï óõíèçìáôéêü ôïõ root ãéá óõíôÞñçóç ôïõ óõóôÞìáôïò):"
#. make new environment active
#: src/sulogin.c:249
#: src/sulogin.c:243
msgid "Entering System Maintenance Mode\n"
msgstr "¸íáñîç ÊáôÜóôáóçò ÓõíôÞñçóçò ÓõóôÞìáôïò\n"

BIN
po/fr.gmo Normal file

Binary file not shown.

2407
po/fr.po Normal file

File diff suppressed because it is too large Load Diff

BIN
po/pl.gmo

Binary file not shown.

137
po/pl.po
View File

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: shadow-981228\n"
"POT-Creation-Date: 1999-07-09 20:02+0200\n"
"POT-Creation-Date: 1999-08-27 21:03+0200\n"
"PO-Revision-Date: 1999-03-02 22:29+01:00\n"
"Last-Translator: Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>\n"
"Language-Team: PL <pl@li.org>\n"
@ -84,7 +84,7 @@ msgstr "niepowodzenia"
msgid "failure"
msgstr "niepowodzenie"
#: libmisc/limits.c:365
#: libmisc/limits.c:397
msgid "Too many logins.\n"
msgstr "Zbyt wiele otwartych sesji.\n"
@ -177,40 +177,48 @@ msgid "malloc(%d) failed\n"
msgstr "malloc(%d) nie powiod³o siê\n"
#: lib/dialchk.c:71
msgid "Dialup Password:"
msgstr "Has這 dost瘼u modemowego:"
msgid "Dialup Password: "
msgstr "Has這 dost瘼u modemowego: "
#: lib/getdef.c:247
#: lib/getdef.c:249
msgid "Could not allocate space for config info.\n"
msgstr "Nie mogê przydzieliæ miejsca dla informacji o konfiguracji.\n"
#.
#. * Item was never found.
#.
#: lib/getdef.c:301
#: lib/getdef.c:303
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"b³±d w konfiguracji - nieznana pozycja '%s' (powiadom administratora)\n"
#: lib/getdef.c:388
#: lib/getdef.c:390
#, c-format
msgid "error - lookup '%s' failed\n"
msgstr "b³±d - wyszukiwanie '%s' niepowiod³o siê\n"
#: lib/getdef.c:396
#: lib/getdef.c:398
#, c-format
msgid "%s not found\n"
msgstr "%s nie znaleziony\n"
#: lib/pwauth.c:54
#.
#. * get the password from her, and set the salt for
#. * the decryption from the group file.
#.
#: lib/pwauth.c:54 src/newgrp.c:297
msgid "Password: "
msgstr "Has³o: "
#: lib/pwauth.c:56
#, c-format
msgid "%s's Password:"
msgstr "Has這 u篡tkownika %s:"
msgid "%s's Password: "
msgstr "Has這 u篡tkownika %s: "
#: lib/pwauth.c:270
msgid "(Echo on) "
msgstr ""
#: lib/strerror.c:20
#, c-format
@ -276,7 +284,7 @@ msgstr "Data utraty wa
#: src/chage.c:266
#, c-format
msgid "Minimum:\t%ld\n"
msgstr "Minimum:\\t%ld\n"
msgstr "Minimum:\t%ld\n"
#: src/chage.c:267
#, c-format
@ -302,7 +310,7 @@ msgstr "Nieaktywne:\t%ld\n"
msgid "Last Change:\t\t"
msgstr "Ostatnia zmiana:\t\t"
#: src/chage.c:281 src/chage.c:295
#: src/chage.c:281 src/chage.c:295 src/chage.c:312 src/chage.c:325
msgid "Never\n"
msgstr "Nigdy\n"
@ -315,12 +323,32 @@ msgstr "Nigdy\n"
msgid "Password Expires:\t"
msgstr "Has³o traci wa¿no¶æ:\t"
#.
#. * The account becomes inactive if the password is expired
#. * for more than "inactdays". The expiration date is calculated
#. * and the number of inactive days is added. The resulting date
#. * is when the active will be disabled.
#.
#: src/chage.c:309
#, fuzzy
msgid "Password Inactive:\t"
msgstr "Has這 nieaktywne:\t"
#.
#. * The account will expire on the given date regardless of the
#. * password expiring or not.
#.
#: src/chage.c:323
#, fuzzy
msgid "Account Expires:\t"
msgstr "Has這 traci wa積o嗆:\t"
#: src/chage.c:468
#, c-format
msgid "%s: do not include \"l\" with other flags\n"
msgstr "%s: nie ³±cz \"l\" z innymi flagami\n"
#: src/chage.c:480 src/chage.c:592 src/login.c:532
#: src/chage.c:480 src/chage.c:592 src/login.c:529
#, c-format
msgid "%s: permission denied\n"
msgstr "%s: odmowa dostêpu\n"
@ -628,12 +656,12 @@ msgid "Usage: %s [ -(a|d) ] shell\n"
msgstr "U¿ycie: %s [ -(a|d) ] pow³oka\n"
#: src/dpasswd.c:136
msgid "Shell password:"
msgstr "Has這 pow這ki:"
msgid "Shell password: "
msgstr "Has這 pow這ki: "
#: src/dpasswd.c:142
msgid "re-enter Shell password:"
msgstr "Wpisz ponownie has這 pow這ki:"
msgid "re-enter Shell password: "
msgstr "Wpisz ponownie has這 pow這ki: "
#: src/dpasswd.c:149
#, c-format
@ -741,7 +769,7 @@ msgstr "%s: plik z ukrytymi has
msgid "Who are you?\n"
msgstr "Kim jeste¶?\n"
#: src/gpasswd.c:330 src/newgrp.c:241
#: src/gpasswd.c:330 src/newgrp.c:247
#, c-format
msgid "unknown group: %s\n"
msgstr "nieznana grupa: %s\n"
@ -779,12 +807,12 @@ msgid "Changing the password for group %s\n"
msgstr "Zmieniam has³o dla grupy %s\n"
#: src/gpasswd.c:540
msgid "New Password:"
msgstr "Nowe has這:"
msgid "New Password: "
msgstr "Nowe has這: "
#: src/gpasswd.c:545 src/passwd.c:424
msgid "Re-enter new password:"
msgstr "Wpisz has這 ponownie:"
msgid "Re-enter new password: "
msgstr "Wpisz has這 ponownie: "
#: src/gpasswd.c:557
msgid "They don't match; try again"
@ -1275,11 +1303,11 @@ msgstr " %s [-p] [-h host] [-f nazwa]\n"
msgid " %s [-p] -r host\n"
msgstr " %s [-p] -r host\n"
#: src/login.c:290
#: src/login.c:287
msgid "Invalid login time\n"
msgstr "Nieprawid³owy czas logowania\n"
#: src/login.c:345
#: src/login.c:342
msgid ""
"\n"
"System closed for routine maintenance\n"
@ -1287,7 +1315,7 @@ msgstr ""
"\n"
"System zamkniêty do rutynowej konserwacji.\n"
#: src/login.c:355
#: src/login.c:352
msgid ""
"\n"
"[Disconnect bypassed -- root login allowed.]\n"
@ -1295,7 +1323,7 @@ msgstr ""
"\n"
"[Roz³±czenie pominiête -- zezwolenie na logowanie siê root-a.]\n"
#: src/login.c:394
#: src/login.c:391
#, c-format
msgid ""
"\n"
@ -1304,17 +1332,17 @@ msgstr ""
"\n"
"Limit czasu logowania przekroczony po %d sekundach.\n"
#: src/login.c:695
#: src/login.c:692
#, c-format
msgid " on `%.100s' from `%.200s'"
msgstr " na `%s.100s' z `%.200s'"
#: src/login.c:697
#: src/login.c:694
#, c-format
msgid " on `%.100s'"
msgstr " na `%.100s'"
#: src/login.c:810
#: src/login.c:807
#, c-format
msgid ""
"\n"
@ -1323,34 +1351,34 @@ msgstr ""
"\n"
"%s login: "
#: src/login.c:812
#: src/login.c:809
msgid "login: "
msgstr "login: "
#: src/login.c:994 src/sulogin.c:239
#: src/login.c:991 src/sulogin.c:233
msgid "Login incorrect"
msgstr "Nieprawid³owe logowanie"
#: src/login.c:1166
#: src/login.c:1163
msgid "Warning: login re-enabled after temporary lockout.\n"
msgstr "Ostrze¿enie: logowanie ponownie odblokowanie po czasowej blokadzie.\n"
#: src/login.c:1176
#: src/login.c:1173
#, c-format
msgid "Last login: %s on %s"
msgstr "Ostatnie logowanie: %s na %s"
#: src/login.c:1179
#: src/login.c:1176
#, c-format
msgid "Last login: %.19s on %s"
msgstr "Ostatnie logowanie: %s na %s"
#: src/login.c:1184
#: src/login.c:1181
#, c-format
msgid " from %.*s"
msgstr " z %.*s"
#: src/login.c:1249
#: src/login.c:1246
msgid "Starting rad_login\n"
msgstr "Startujê rad_login\n"
@ -1414,7 +1442,8 @@ msgid "usage: newgrp [ - ] [ group ]\n"
msgstr "u¿ycie: newgrp [ - ] [ grupa ]\n"
#: src/newgrp.c:69
msgid "usage: sg group [ command ]\n"
#, fuzzy
msgid "usage: sg group [[-c] command ]\n"
msgstr "u¿ycie: sg grupa [ komenda ]\n"
#: src/newgrp.c:122
@ -1422,29 +1451,21 @@ msgstr "u
msgid "unknown uid: %d\n"
msgstr "nieznany uid: %d\n"
#: src/newgrp.c:190
#: src/newgrp.c:198
#, c-format
msgid "unknown gid: %ld\n"
msgstr "nieznany gid: %ld\n"
#: src/newgrp.c:236
#: src/newgrp.c:242
#, c-format
msgid "unknown gid: %d\n"
msgstr "nieznany gid: %d\n"
#.
#. * get the password from her, and set the salt for
#. * the decryption from the group file.
#.
#: src/newgrp.c:291
msgid "Password:"
msgstr "Has這:"
#: src/newgrp.c:309 src/newgrp.c:318
#: src/newgrp.c:315 src/newgrp.c:324
msgid "Sorry.\n"
msgstr "Wybacz.\n"
#: src/newgrp.c:350
#: src/newgrp.c:356
msgid "too many groups\n"
msgstr "zbyt wiele grup\n"
@ -1538,8 +1559,8 @@ msgid "You can use -t option to force the change.\n"
msgstr "Nie mo¿esz u¿ywaæ opcji -t by wymusiæ zmianê.\n"
#: src/passwd.c:356
msgid "Old password:"
msgstr "Stare has這:"
msgid "Old password: "
msgstr "Stare has這: "
#: src/passwd.c:363
#, c-format
@ -1561,8 +1582,8 @@ msgstr ""
"Proszê u¿yj kombinacji wielkich i ma³ych znaków oraz cyfr.\n"
#: src/passwd.c:401
msgid "New password:"
msgstr "Nowe has這:"
msgid "New password: "
msgstr "Nowe has這: "
#: src/passwd.c:411
msgid "Try again.\n"
@ -1828,14 +1849,14 @@ msgid "No shell\n"
msgstr "Brak pow³oki\n"
#. must be a password file!
#: src/sulogin.c:144
#: src/sulogin.c:138
msgid "No password file\n"
msgstr "Brak pliku z has³ami\n"
#.
#. * Fail secure
#.
#: src/sulogin.c:186
#: src/sulogin.c:180
msgid "No password entry for 'root'\n"
msgstr "Brak wpisu do bazy hase³ dla 'root'\n"
@ -1844,7 +1865,7 @@ msgstr "Brak wpisu do bazy hase
#. * given we just exit.
#.
#. get a password for root
#: src/sulogin.c:200
#: src/sulogin.c:194
msgid ""
"\n"
"Type control-d to proceed with normal startup,\n"
@ -1855,7 +1876,7 @@ msgstr ""
"(lub podaj has³o root-a by przej¶æ do trybu utrzymania systemu):"
#. make new environment active
#: src/sulogin.c:249
#: src/sulogin.c:243
msgid "Entering System Maintenance Mode\n"
msgstr "Wchodzê w tryb utrzymania systemu\n"

View File

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 1999-07-09 20:02+0200\n"
"POT-Creation-Date: 1999-08-27 21:03+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -83,7 +83,7 @@ msgstr ""
msgid "failure"
msgstr ""
#: libmisc/limits.c:365
#: libmisc/limits.c:397
msgid "Too many logins.\n"
msgstr ""
@ -176,38 +176,46 @@ msgid "malloc(%d) failed\n"
msgstr ""
#: lib/dialchk.c:71
msgid "Dialup Password:"
msgid "Dialup Password: "
msgstr ""
#: lib/getdef.c:247
#: lib/getdef.c:249
msgid "Could not allocate space for config info.\n"
msgstr ""
#.
#. * Item was never found.
#.
#: lib/getdef.c:301
#: lib/getdef.c:303
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
#: lib/getdef.c:388
#: lib/getdef.c:390
#, c-format
msgid "error - lookup '%s' failed\n"
msgstr ""
#: lib/getdef.c:396
#: lib/getdef.c:398
#, c-format
msgid "%s not found\n"
msgstr ""
#: lib/pwauth.c:54
#.
#. * get the password from her, and set the salt for
#. * the decryption from the group file.
#.
#: lib/pwauth.c:54 src/newgrp.c:297
msgid "Password: "
msgstr ""
#: lib/pwauth.c:56
#, c-format
msgid "%s's Password:"
msgid "%s's Password: "
msgstr ""
#: lib/pwauth.c:270
msgid "(Echo on) "
msgstr ""
#: lib/strerror.c:20
@ -294,7 +302,7 @@ msgstr ""
msgid "Last Change:\t\t"
msgstr ""
#: src/chage.c:281 src/chage.c:295
#: src/chage.c:281 src/chage.c:295 src/chage.c:312 src/chage.c:325
msgid "Never\n"
msgstr ""
@ -307,12 +315,30 @@ msgstr ""
msgid "Password Expires:\t"
msgstr ""
#.
#. * The account becomes inactive if the password is expired
#. * for more than "inactdays". The expiration date is calculated
#. * and the number of inactive days is added. The resulting date
#. * is when the active will be disabled.
#.
#: src/chage.c:309
msgid "Password Inactive:\t"
msgstr ""
#.
#. * The account will expire on the given date regardless of the
#. * password expiring or not.
#.
#: src/chage.c:323
msgid "Account Expires:\t"
msgstr ""
#: src/chage.c:468
#, c-format
msgid "%s: do not include \"l\" with other flags\n"
msgstr ""
#: src/chage.c:480 src/chage.c:592 src/login.c:532
#: src/chage.c:480 src/chage.c:592 src/login.c:529
#, c-format
msgid "%s: permission denied\n"
msgstr ""
@ -616,11 +642,11 @@ msgid "Usage: %s [ -(a|d) ] shell\n"
msgstr ""
#: src/dpasswd.c:136
msgid "Shell password:"
msgid "Shell password: "
msgstr ""
#: src/dpasswd.c:142
msgid "re-enter Shell password:"
msgid "re-enter Shell password: "
msgstr ""
#: src/dpasswd.c:149
@ -729,7 +755,7 @@ msgstr ""
msgid "Who are you?\n"
msgstr ""
#: src/gpasswd.c:330 src/newgrp.c:241
#: src/gpasswd.c:330 src/newgrp.c:247
#, c-format
msgid "unknown group: %s\n"
msgstr ""
@ -767,11 +793,11 @@ msgid "Changing the password for group %s\n"
msgstr ""
#: src/gpasswd.c:540
msgid "New Password:"
msgid "New Password: "
msgstr ""
#: src/gpasswd.c:545 src/passwd.c:424
msgid "Re-enter new password:"
msgid "Re-enter new password: "
msgstr ""
#: src/gpasswd.c:557
@ -1263,74 +1289,74 @@ msgstr ""
msgid " %s [-p] -r host\n"
msgstr ""
#: src/login.c:290
#: src/login.c:287
msgid "Invalid login time\n"
msgstr ""
#: src/login.c:345
#: src/login.c:342
msgid ""
"\n"
"System closed for routine maintenance\n"
msgstr ""
#: src/login.c:355
#: src/login.c:352
msgid ""
"\n"
"[Disconnect bypassed -- root login allowed.]\n"
msgstr ""
#: src/login.c:394
#: src/login.c:391
#, c-format
msgid ""
"\n"
"Login timed out after %d seconds.\n"
msgstr ""
#: src/login.c:695
#: src/login.c:692
#, c-format
msgid " on `%.100s' from `%.200s'"
msgstr ""
#: src/login.c:697
#: src/login.c:694
#, c-format
msgid " on `%.100s'"
msgstr ""
#: src/login.c:810
#: src/login.c:807
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
#: src/login.c:812
#: src/login.c:809
msgid "login: "
msgstr ""
#: src/login.c:994 src/sulogin.c:239
#: src/login.c:991 src/sulogin.c:233
msgid "Login incorrect"
msgstr ""
#: src/login.c:1166
#: src/login.c:1163
msgid "Warning: login re-enabled after temporary lockout.\n"
msgstr ""
#: src/login.c:1176
#: src/login.c:1173
#, c-format
msgid "Last login: %s on %s"
msgstr ""
#: src/login.c:1179
#: src/login.c:1176
#, c-format
msgid "Last login: %.19s on %s"
msgstr ""
#: src/login.c:1184
#: src/login.c:1181
#, c-format
msgid " from %.*s"
msgstr ""
#: src/login.c:1249
#: src/login.c:1246
msgid "Starting rad_login\n"
msgstr ""
@ -1393,7 +1419,7 @@ msgid "usage: newgrp [ - ] [ group ]\n"
msgstr ""
#: src/newgrp.c:69
msgid "usage: sg group [ command ]\n"
msgid "usage: sg group [[-c] command ]\n"
msgstr ""
#: src/newgrp.c:122
@ -1401,29 +1427,21 @@ msgstr ""
msgid "unknown uid: %d\n"
msgstr ""
#: src/newgrp.c:190
#: src/newgrp.c:198
#, c-format
msgid "unknown gid: %ld\n"
msgstr ""
#: src/newgrp.c:236
#: src/newgrp.c:242
#, c-format
msgid "unknown gid: %d\n"
msgstr ""
#.
#. * get the password from her, and set the salt for
#. * the decryption from the group file.
#.
#: src/newgrp.c:291
msgid "Password:"
msgstr ""
#: src/newgrp.c:309 src/newgrp.c:318
#: src/newgrp.c:315 src/newgrp.c:324
msgid "Sorry.\n"
msgstr ""
#: src/newgrp.c:350
#: src/newgrp.c:356
msgid "too many groups\n"
msgstr ""
@ -1517,7 +1535,7 @@ msgid "You can use -t option to force the change.\n"
msgstr ""
#: src/passwd.c:356
msgid "Old password:"
msgid "Old password: "
msgstr ""
#: src/passwd.c:363
@ -1538,7 +1556,7 @@ msgid ""
msgstr ""
#: src/passwd.c:401
msgid "New password:"
msgid "New password: "
msgstr ""
#: src/passwd.c:411
@ -1801,14 +1819,14 @@ msgid "No shell\n"
msgstr ""
#. must be a password file!
#: src/sulogin.c:144
#: src/sulogin.c:138
msgid "No password file\n"
msgstr ""
#.
#. * Fail secure
#.
#: src/sulogin.c:186
#: src/sulogin.c:180
msgid "No password entry for 'root'\n"
msgstr ""
@ -1817,7 +1835,7 @@ msgstr ""
#. * given we just exit.
#.
#. get a password for root
#: src/sulogin.c:200
#: src/sulogin.c:194
msgid ""
"\n"
"Type control-d to proceed with normal startup,\n"
@ -1825,7 +1843,7 @@ msgid ""
msgstr ""
#. make new environment active
#: src/sulogin.c:249
#: src/sulogin.c:243
msgid "Entering System Maintenance Mode\n"
msgstr ""

BIN
po/sv.gmo Normal file

Binary file not shown.

2396
po/sv.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -14,7 +14,7 @@
# and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
@ -101,11 +104,8 @@ VERSION = @VERSION@
YACC = @YACC@
l = @l@
EXTRA_DIST = README shadow-utils.spec shadow-utils.spec.in \
shadow-970616-fix.patch shadow-970616-glibc.patch \
shadow-970616-rh.patch shadow-970616-utuser.patch \
shadow-970616.login.defs shadow-970616.useradd \
shadow-utils-970616.spec
EXTRA_DIST = README shadow-utils.spec shadow-utils.spec.in shadow-970616-fix.patch shadow-970616-glibc.patch shadow-970616-rh.patch shadow-970616-utuser.patch shadow-970616.login.defs shadow-970616.useradd shadow-utils-970616.spec
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = shadow-utils.spec
@ -115,9 +115,8 @@ DIST_COMMON = README Makefile.am Makefile.in shadow-utils.spec.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
all: Makefile
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps redhat/Makefile
@ -127,7 +126,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
shadow-utils.spec: $(top_builddir)/config.status shadow-utils.spec.in
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
tags: TAGS
TAGS:
@ -139,61 +138,74 @@ subdir = redhat
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
info:
dvi:
check: all
$(MAKE)
installcheck:
install-exec:
@$(NORMAL_INSTALL)
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data:
@$(NORMAL_INSTALL)
install: install-exec install-data all
@:
uninstall:
install-data-am:
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am:
uninstall: uninstall-am
all-am: Makefile
all-redirect: all-am
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-generic
mostlyclean-am: mostlyclean-generic
clean: clean-generic mostlyclean
mostlyclean: mostlyclean-am
distclean: distclean-generic clean
-rm -f config.status
clean-am: clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool
maintainer-clean: maintainer-clean-generic distclean
distclean: distclean-am
maintainer-clean-am: maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
.PHONY: tags distdir info dvi installcheck install-exec install-data \
install uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \
maintainer-clean
maintainer-clean: maintainer-clean-am
.PHONY: tags distdir info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean
# Tell versions [3.59,3.63) of GNU make to not export all variables.

View File

@ -2,11 +2,11 @@
# $Id: shadow-utils.spec.in,v 1.2 1999/06/07 16:40:45 marekm Exp $
Summary: Shadow password file utilities for Linux
Name: shadow-utils
Version: 19990709
Version: 19990827
Release: 1
Copyright: Free
Group: Utilities/System
Source: ftp://ftp.ists.pwr.wroc.pl/pub/linux/shadow/shadow-19990709.tar.gz
Source: ftp://ftp.ists.pwr.wroc.pl/pub/linux/shadow/shadow-19990827.tar.gz
BuildRoot: /var/tmp/shadow-utils
Packager: Timo Karjalainen <timok@iki.fi>
# Obsoletes: adduser
@ -38,7 +38,7 @@ and shadow passwords in general.
%prep
# This is just a few of the core utilities from the shadow suite...
# packaged up for use w/PAM
%setup -n shadow-19990709
%setup -n shadow-19990827
%build
# shared lib support is untested, so...

View File

@ -1,6 +1,6 @@
# Makefile.in generated automatically by automake 1.3 from Makefile.am
# Makefile.in generated automatically by automake 1.4 from Makefile.am
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -11,7 +11,7 @@
# PARTICULAR PURPOSE.
SHELL = /bin/sh
SHELL = @SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@ -29,7 +29,7 @@ mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DISTDIR =
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@ -43,7 +43,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
@ -56,11 +56,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@ -84,6 +86,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POSUB = @POSUB@
@ -121,14 +124,12 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@
# and installation would be much simpler (just two directories,
# $prefix/bin and $prefix/sbin, no install-data hacks...)
bin_PROGRAMS = login \
su
ubin_PROGRAMS = faillog lastlog \
chage chfn chsh expiry gpasswd newgrp passwd
usbin_PROGRAMS = chpasswd dpasswd groupadd groupdel groupmod \
logoutd mkpasswd newusers \
useradd userdel usermod grpck pwck vipw \
grpconv grpunconv pwconv pwunconv
bin_PROGRAMS = login su
ubin_PROGRAMS = faillog lastlog chage chfn chsh expiry gpasswd newgrp passwd
usbin_PROGRAMS = chpasswd dpasswd groupadd groupdel groupmod logoutd mkpasswd newusers useradd userdel usermod grpck pwck vipw grpconv grpunconv pwconv pwunconv
EXTRA_DIST = shadowconfig.sh
@ -368,9 +369,10 @@ pwunconv_DEPENDENCIES = ../lib/libshadow.la ../libmisc/libmisc.a \
../lib/libshadow.a
pwunconv_LDFLAGS =
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
HEADERS = $(noinst_HEADERS)
DIST_COMMON = Makefile.am Makefile.in
@ -379,12 +381,11 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP = --best
GZIP_ENV = --best
SOURCES = login.c su.c groups.c id.c sulogin.c faillog.c lastlog.c chage.c chfn.c chsh.c expiry.c gpasswd.c newgrp.c passwd.c chpasswd.c dpasswd.c groupadd.c groupdel.c groupmod.c logoutd.c mkpasswd.c newusers.c useradd.c userdel.c usermod.c grpck.c pwck.c vipw.c grpconv.c grpunconv.c pwconv.c pwunconv.c
OBJECTS = login.o su.o groups.o id.o sulogin.o faillog.o lastlog.o chage.o chfn.o chsh.o expiry.o gpasswd.o newgrp.o passwd.o chpasswd.o dpasswd.o groupadd.o groupdel.o groupmod.o logoutd.o mkpasswd.o newusers.o useradd.o userdel.o usermod.o grpck.o pwck.o vipw.o grpconv.o grpunconv.o pwconv.o pwunconv.o
all: Makefile $(PROGRAMS) $(HEADERS)
all: all-redirect
.SUFFIXES:
.SUFFIXES: .S .c .lo .o .s
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
@ -409,15 +410,15 @@ install-binPROGRAMS: $(bin_PROGRAMS)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
list='$(bin_PROGRAMS)'; for p in $$list; do \
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
done
mostlyclean-noinstPROGRAMS:
@ -443,15 +444,15 @@ install-ubinPROGRAMS: $(ubin_PROGRAMS)
$(mkinstalldirs) $(DESTDIR)$(ubindir)
@list='$(ubin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(ubindir)/`echo $$p|sed '$(transform)'`"; \
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(ubindir)/`echo $$p|sed '$(transform)'`; \
echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(ubindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(ubindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \
done
uninstall-ubinPROGRAMS:
@$(NORMAL_UNINSTALL)
list='$(ubin_PROGRAMS)'; for p in $$list; do \
rm -f $(DESTDIR)$(ubindir)/`echo $$p|sed '$(transform)'`; \
rm -f $(DESTDIR)$(ubindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
done
mostlyclean-usbinPROGRAMS:
@ -468,15 +469,15 @@ install-usbinPROGRAMS: $(usbin_PROGRAMS)
$(mkinstalldirs) $(DESTDIR)$(usbindir)
@list='$(usbin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(usbindir)/`echo $$p|sed '$(transform)'`"; \
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(usbindir)/`echo $$p|sed '$(transform)'`; \
echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(usbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(usbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \
done
uninstall-usbinPROGRAMS:
@$(NORMAL_UNINSTALL)
list='$(usbin_PROGRAMS)'; for p in $$list; do \
rm -f $(DESTDIR)$(usbindir)/`echo $$p|sed '$(transform)'`; \
rm -f $(DESTDIR)$(usbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
done
.c.o:
@ -648,8 +649,12 @@ pwunconv: $(pwunconv_OBJECTS) $(pwunconv_DEPENDENCIES)
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \
awk ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
&& mkid -f$$here/ID $$unique $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \
@ -677,9 +682,13 @@ subdir = src
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
d=$(srcdir); \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file; \
if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \
else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
chage.o: chage.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
../lib/defines.h ../lib/gshadow_.h ../lib/pwio.h \
@ -774,70 +783,80 @@ vipw.o: vipw.c ../config.h ../lib/rcsid.h ../lib/defines.h \
../lib/gshadow_.h ../lib/prototypes.h ../lib/pwio.h \
../lib/shadowio.h ../lib/groupio.h ../lib/sgroupio.h
info:
dvi:
check: all
$(MAKE)
installcheck:
install-exec: install-binPROGRAMS
info-am:
info: info-am
dvi-am:
dvi: dvi-am
check-am: all-am
check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am: install-binPROGRAMS
@$(NORMAL_INSTALL)
$(MAKE) install-exec-hook
$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
install-exec: install-exec-am
install-data: install-ubinPROGRAMS install-usbinPROGRAMS
install-data-am: install-ubinPROGRAMS install-usbinPROGRAMS
@$(NORMAL_INSTALL)
$(MAKE) install-data-hook
install: install-exec install-data all
@:
uninstall: uninstall-binPROGRAMS uninstall-ubinPROGRAMS uninstall-usbinPROGRAMS
$(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am: uninstall-binPROGRAMS uninstall-ubinPROGRAMS \
uninstall-usbinPROGRAMS
uninstall: uninstall-am
all-am: Makefile $(PROGRAMS) $(HEADERS)
all-redirect: all-am
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
$(mkinstalldirs) $(DATADIR)$(bindir) $(DATADIR)$(ubindir) \
$(DATADIR)$(usbindir)
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(ubindir) \
$(DESTDIR)$(usbindir)
mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(DISTCLEANFILES)
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
mostlyclean-ubinPROGRAMS mostlyclean-usbinPROGRAMS \
mostlyclean-compile mostlyclean-libtool \
mostlyclean-tags mostlyclean-generic
clean: clean-binPROGRAMS clean-noinstPROGRAMS clean-ubinPROGRAMS \
clean-usbinPROGRAMS clean-compile clean-libtool \
clean-tags clean-generic mostlyclean
mostlyclean: mostlyclean-am
distclean: distclean-binPROGRAMS distclean-noinstPROGRAMS \
clean-am: clean-binPROGRAMS clean-noinstPROGRAMS clean-ubinPROGRAMS \
clean-usbinPROGRAMS clean-compile clean-libtool \
clean-tags clean-generic mostlyclean-am
clean: clean-am
distclean-am: distclean-binPROGRAMS distclean-noinstPROGRAMS \
distclean-ubinPROGRAMS distclean-usbinPROGRAMS \
distclean-compile distclean-libtool distclean-tags \
distclean-generic clean
-rm -f config.status
distclean-generic clean-am
-rm -f libtool
maintainer-clean: maintainer-clean-binPROGRAMS \
distclean: distclean-am
maintainer-clean-am: maintainer-clean-binPROGRAMS \
maintainer-clean-noinstPROGRAMS \
maintainer-clean-ubinPROGRAMS \
maintainer-clean-usbinPROGRAMS maintainer-clean-compile \
maintainer-clean-libtool maintainer-clean-tags \
maintainer-clean-generic distclean
maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-am
.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \
@ -850,10 +869,12 @@ uninstall-usbinPROGRAMS install-usbinPROGRAMS mostlyclean-compile \
distclean-compile clean-compile maintainer-clean-compile \
mostlyclean-libtool distclean-libtool clean-libtool \
maintainer-clean-libtool tags mostlyclean-tags distclean-tags \
clean-tags maintainer-clean-tags distdir info dvi installcheck \
install-exec install-data install uninstall all installdirs \
mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
check-am installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean
install-exec-hook:

View File

@ -30,7 +30,7 @@
#include <config.h>
#include "rcsid.h"
RCSID(PKG_VER "$Id: chage.c,v 1.15 1999/06/07 16:40:45 marekm Exp $")
RCSID(PKG_VER "$Id: chage.c,v 1.16 1999/08/27 19:02:51 marekm Exp $")
#include <sys/types.h>
#include <stdio.h>
@ -306,10 +306,10 @@ list_fields(void)
* is when the active will be disabled.
*/
printf ("Password Inactive:\t");
printf(_("Password Inactive:\t"));
if (lastday <= 0 || inactdays <= 0 ||
maxdays >= 10000*(DAY/SCALE) || maxdays <= 0) {
printf ("Never\n");
printf (_("Never\n"));
} else {
expires = changed + (maxdays + inactdays) * SCALE;
print_date(expires);
@ -320,9 +320,9 @@ list_fields(void)
* password expiring or not.
*/
printf ("Account Expires:\t");
printf(_("Account Expires:\t"));
if (expdays <= 0) {
printf ("Never\n");
printf (_("Never\n"));
} else {
expires = expdays * SCALE;
print_date(expires);

View File

@ -30,7 +30,7 @@
#include <config.h>
#include "rcsid.h"
RCSID(PKG_VER "$Id: dpasswd.c,v 1.9 1999/06/07 16:40:45 marekm Exp $")
RCSID(PKG_VER "$Id: dpasswd.c,v 1.10 1999/08/27 19:02:51 marekm Exp $")
#include <sys/types.h>
#include <sys/stat.h>
@ -133,13 +133,13 @@ main(int argc, char **argv)
dent.du_passwd = ""; /* XXX warning: const */
again:
if (! (cp = getpass(_("Shell password:"))))
if (! (cp = getpass(_("Shell password: "))))
exit (1);
STRFCPY(pass, cp);
strzero(cp);
if (! (cp = getpass(_("re-enter Shell password:"))))
if (! (cp = getpass(_("re-enter Shell password: "))))
exit (1);
if (strcmp (pass, cp)) {

View File

@ -30,7 +30,7 @@
#include <config.h>
#include "rcsid.h"
RCSID(PKG_VER "$Id: gpasswd.c,v 1.14 1999/06/07 16:40:45 marekm Exp $")
RCSID(PKG_VER "$Id: gpasswd.c,v 1.15 1999/08/27 19:02:51 marekm Exp $")
#include <sys/types.h>
#include <stdio.h>
@ -537,12 +537,12 @@ main(int argc, char **argv)
printf(_("Changing the password for group %s\n"), group);
for (retries = 0; retries < RETRIES; retries++) {
if (! (cp = getpass(_("New Password:"))))
if (! (cp = getpass(_("New Password: "))))
exit (1);
STRFCPY(pass, cp);
strzero(cp);
if (! (cp = getpass (_("Re-enter new password:"))))
if (! (cp = getpass (_("Re-enter new password: "))))
exit (1);
if (strcmp(pass, cp) == 0) {

View File

@ -30,7 +30,7 @@
#include <config.h>
#include "rcsid.h"
RCSID(PKG_VER "$Id: login.c,v 1.15 1999/06/07 16:40:45 marekm Exp $")
RCSID(PKG_VER "$Id: login.c,v 1.16 1999/08/27 19:02:51 marekm Exp $")
#include "prototypes.h"
#include "defines.h"
@ -218,7 +218,6 @@ setup_tty(void)
* Add your favorite terminal modes here ...
*/
#ifndef USE_SGTTY
termio.c_lflag |= ISIG|ICANON|ECHO|ECHOE;
termio.c_iflag |= ICRNL;
@ -261,8 +260,6 @@ setup_tty(void)
* effect after the first username login
*/
#else
#endif /* !BSD */
STTY(0, &termio);
}

View File

@ -30,7 +30,7 @@
#include <config.h>
#include "rcsid.h"
RCSID(PKG_VER "$Id: logoutd.c,v 1.13 1999/06/07 16:40:45 marekm Exp $")
RCSID(PKG_VER "$Id: logoutd.c,v 1.14 1999/08/27 19:02:51 marekm Exp $")
#include <sys/types.h>
#include <sys/stat.h>
@ -51,59 +51,18 @@ RCSID(PKG_VER "$Id: logoutd.c,v 1.13 1999/06/07 16:40:45 marekm Exp $")
static char *Prog;
static char *mesg_buf = "login time exceeded\r\n"; /* XXX warning: const */
static int mesg_len = 21;
static int mesg_size;
#ifndef DEFAULT_HUP_MESG
#define DEFAULT_HUP_MESG "login time exceeded\r\n"
#endif
#ifndef HUP_MESG_FILE
#define HUP_MESG_FILE "/etc/logoutd.mesg"
#endif
/* local function prototypes */
static RETSIGTYPE reload_mesg P_((int));
static int check_login P_((const struct utmp *));
int main P_((int, char **));
/*
* reload_mesg - reload the message that is output when killing a process
*/
static RETSIGTYPE
reload_mesg(int sig)
{
int fd;
struct stat sb;
signal (sig, reload_mesg);
if (stat (HUP_MESG_FILE, &sb))
return;
if ((sb.st_mode & S_IFMT) != S_IFREG)
return;
if ((fd = open (HUP_MESG_FILE, O_RDONLY)) != -1) {
if (sb.st_size + 1 > mesg_size) {
if (mesg_buf && mesg_size)
free (mesg_buf);
mesg_len = sb.st_size;
mesg_size = mesg_len + 1;
if (! (mesg_buf = (char *) malloc (mesg_len + 1)))
goto end;
} else
mesg_len = sb.st_size;
if (read (fd, mesg_buf, mesg_len) != mesg_len) {
mesg_len = 0;
goto end;
}
} else
return;
end:
close (fd);
}
/*
* check_login - check if user (struct utmp) allowed to stay logged in
@ -140,6 +99,47 @@ check_login(const struct utmp *ut)
return 1;
}
static void
send_mesg_to_tty(int tty_fd)
{
TERMIO oldt, newt;
FILE *mesg_file, *tty_file;
int c, is_tty;
tty_file = fdopen(tty_fd, "w");
if (!tty_file)
return;
is_tty = (GTTY(tty_fd, &oldt) == 0);
if (is_tty) {
/* Suggested by Ivan Nejgebauar <ian@unsux.ns.ac.yu>:
set OPOST before writing the message. */
newt = oldt;
newt.c_oflag |= OPOST;
STTY(tty_fd, &newt);
}
mesg_file = fopen(HUP_MESG_FILE, "r");
if (mesg_file) {
while ((c = getc(mesg_file)) != EOF) {
if (c == '\n')
putc('\r', tty_file);
putc(c, tty_file);
}
fclose(mesg_file);
} else {
fputs(DEFAULT_HUP_MESG, tty_file);
}
fflush(tty_file);
fclose(tty_file);
if (is_tty) {
STTY(tty_fd, &oldt);
}
}
/*
* logoutd - logout daemon to enforce /etc/porttime file policy
*
@ -154,6 +154,7 @@ main(int argc, char **argv)
{
int i;
int status;
pid_t pid;
struct utmp *ut;
char user[sizeof(ut->ut_user) + 1]; /* terminating NUL */
char tty_name[sizeof(ut->ut_line) + 6]; /* /dev/ + NUL */
@ -177,14 +178,19 @@ main(int argc, char **argv)
setpgid(getpid(), getpid()); /* BSD || SUN || SUN4 */
#endif /* !HAVE_SETPGRP */
reload_mesg (SIGHUP);
/*
* Put this process in the background.
*/
if ((i = fork ()))
exit (i < 0 ? 1:0);
pid = fork();
if (pid > 0) {
/* parent */
exit(0);
} else if (pid < 0) {
/* error */
perror("fork");
exit(1);
}
#endif /* !DEBUG */
/*
@ -201,9 +207,6 @@ main(int argc, char **argv)
*/
while (1) {
#ifndef DEBUG
sleep(60);
#endif
/*
* Attempt to re-open the utmp file. The file is only
@ -233,8 +236,15 @@ main(int argc, char **argv)
* keeps the scan from waiting on other ports to die.
*/
if (fork() != 0)
pid = fork();
if (pid > 0) {
/* parent */
continue;
} else if (pid < 0) {
/* failed - give up until the next scan */
break;
}
/* child */
if (strncmp(ut->ut_line, "/dev/", 5) != 0)
strcpy(tty_name, "/dev/");
@ -245,22 +255,10 @@ main(int argc, char **argv)
#ifndef O_NOCTTY
#define O_NOCTTY 0
#endif
if ((tty_fd = open (tty_name,
O_WRONLY|O_NDELAY|O_NOCTTY)) != -1) {
/* Suggested by Ivan Nejgebauar <ian@unsux.ns.ac.yu>: set OPOST
before writing the message. --marekm */
TERMIO oldt, newt;
GTTY(tty_fd, &oldt);
newt = oldt;
#ifdef OPOST
newt.c_oflag |= OPOST;
#else /* XXX - I'm too young to know bsd sgtty, sorry :). --marekm */
#endif
STTY(tty_fd, &newt);
write (tty_fd, mesg_buf, mesg_len);
STTY(tty_fd, &oldt);
close (tty_fd);
tty_fd = open(tty_name, O_WRONLY|O_NDELAY|O_NOCTTY);
if (tty_fd != -1) {
send_mesg_to_tty(tty_fd);
close(tty_fd);
sleep(10);
}
#ifdef USER_PROCESS /* USG_UTMP */
@ -282,19 +280,11 @@ main(int argc, char **argv)
close (tty_fd);
#endif /* BSD || SUN || SUN4 */
#if 0
SYSLOG((LOG_NOTICE,
"logged off user `%.*s' on `%.*s'\n",
(int) sizeof(ut->ut_user), ut->ut_user,
(int) sizeof(ut->ut_line), ut->ut_line));
#else
/* avoid gcc warnings about %.*s in syslog() */
strncpy(user, ut->ut_line, sizeof(user) - 1);
user[sizeof(user) - 1] = '\0';
SYSLOG((LOG_NOTICE, "logged off user `%s' on `%s'\n",
user, tty_name));
#endif
/*
* This child has done all it can, drop dead.
@ -305,6 +295,9 @@ main(int argc, char **argv)
endutent();
#ifndef DEBUG
sleep(60);
#endif
/*
* Reap any dead babies ...
*/

View File

@ -30,7 +30,7 @@
#include <config.h>
#include "rcsid.h"
RCSID(PKG_VER "$Id: newgrp.c,v 1.13 1999/07/09 18:02:43 marekm Exp $")
RCSID(PKG_VER "$Id: newgrp.c,v 1.14 1999/08/27 19:02:51 marekm Exp $")
#include <stdio.h>
#include <errno.h>
@ -66,7 +66,7 @@ usage(void)
if (is_newgrp)
fprintf (stderr, _("usage: newgrp [ - ] [ group ]\n"));
else
fprintf (stderr, _("usage: sg group [ command ]\n"));
fprintf (stderr, _("usage: sg group [[-c] command ]\n"));
}
/*
@ -163,7 +163,15 @@ main(int argc, char **argv)
exit (1);
}
if (argc > 0) {
command = argv[1];
/* skip -c if specified so both forms work:
"sg group -c command" (as in the man page) or
"sg group command" (as in the usage message). */
if (argc > 1 && strcmp(argv[0], "-c") == 0)
command = argv[1];
else
command = argv[0];
cflag++;
}
} else {
@ -209,8 +217,6 @@ main(int argc, char **argv)
for (;;) {
grouplist = (GETGROUPS_T *) xmalloc(i * sizeof(GETGROUPS_T));
ngroups = getgroups(i, grouplist);
/* XXX Bug#38672
login: newgrp/sg fails with user in 17 groups */
if (i > ngroups && !(ngroups == -1 && errno == EINVAL))
break;
/* not enough room, so try allocating a larger buffer */
@ -288,7 +294,7 @@ main(int argc, char **argv)
* the decryption from the group file.
*/
if (! (cp = getpass (_("Password:"))))
if (! (cp = getpass (_("Password: "))))
goto failure;
/*
@ -443,6 +449,12 @@ okay:
addenv(*envp++, NULL);
}
/* sanitize_env() removes $HOME from the environment (maybe it
shouldn't - please tell me if you are sure that $HOME can't
cause security problems) - add it from user's passwd entry.
*/
addenv("HOME", pwd->pw_dir);
/*
* exec the login shell and go away. we are trying to get
* back to the previous environment which should be the

View File

@ -30,7 +30,7 @@
#include <config.h>
#include "rcsid.h"
RCSID(PKG_VER "$Id: passwd.c,v 1.17 1999/07/09 18:02:43 marekm Exp $")
RCSID(PKG_VER "$Id: passwd.c,v 1.18 1999/08/27 19:02:51 marekm Exp $")
#include "prototypes.h"
#include "defines.h"
@ -353,7 +353,7 @@ new_password(const struct passwd *pw)
if (! amroot && crypt_passwd[0]) {
#endif
if (!(clear = getpass(_("Old password:"))))
if (!(clear = getpass(_("Old password: "))))
return -1;
cipher = pw_encrypt(clear, crypt_passwd);
@ -398,7 +398,7 @@ Please use a combination of upper and lower case letters and numbers.\n"),
warned = 0;
for (i = getdef_num("PASS_CHANGE_TRIES", 5); i > 0; i--) {
if (!(cp = getpass(_("New password:")))) {
if (!(cp = getpass(_("New password: ")))) {
memzero(orig, sizeof orig);
return -1;
}
@ -421,7 +421,7 @@ Please use a combination of upper and lower case letters and numbers.\n"),
warned++;
continue;
}
if (!(cp = getpass(_("Re-enter new password:")))) {
if (!(cp = getpass(_("Re-enter new password: ")))) {
memzero(orig, sizeof orig);
return -1;
}

View File

@ -30,7 +30,7 @@
#include <config.h>
#include "rcsid.h"
RCSID(PKG_VER "$Id: sulogin.c,v 1.9 1999/06/07 16:40:45 marekm Exp $")
RCSID(PKG_VER "$Id: sulogin.c,v 1.10 1999/08/27 19:02:51 marekm Exp $")
#include "prototypes.h"
#include "defines.h"
@ -94,12 +94,6 @@ main(int argc, char **argv)
char **envp = environ;
TERMIO termio;
#ifdef USE_SGTTY
ioctl (0, TIOCGETP, &termio);
termio.sg_flags |= (ECHO|CRMOD);
termio.sg_flags &= ~(RAW|CBREAK);
ioctl (0, TIOCSETN, &termio);
#endif
#ifdef USE_TERMIO
ioctl (0, TCGETA, &termio);
termio.c_iflag |= (ICRNL|IXON);