[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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -11,7 +11,7 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
SHELL = /bin/sh SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
@ -32,7 +32,7 @@ mandir = @mandir@
includedir = @includedir@ includedir = @includedir@
oldincludedir = /usr/include oldincludedir = /usr/include
DISTDIR = DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@ -46,7 +46,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
@ -59,11 +59,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
@ -87,6 +89,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
NM = @NM@ NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@ -100,26 +103,25 @@ l = @l@
AUTOMAKE_OPTIONS = 1.0 foreign ansi2knr AUTOMAKE_OPTIONS = 1.0 foreign ansi2knr
SUBDIRS = intl po man lib libmisc src \ SUBDIRS = intl po man lib libmisc src contrib debian doc etc old redhat
contrib debian doc etc old redhat
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
DIST_COMMON = ABOUT-NLS Makefile.am Makefile.in acconfig.h aclocal.m4 \ DIST_COMMON = ./stamp-h.in ABOUT-NLS Makefile.am Makefile.in acconfig.h \
ansi2knr.1 ansi2knr.c config.guess config.h.in config.sub configure \ aclocal.m4 ansi2knr.1 ansi2knr.c config.guess config.h.in config.sub \
configure.in install-sh ltconfig ltmain.sh missing mkinstalldirs \ configure configure.in install-sh ltconfig ltmain.sh missing \
stamp-h.in mkinstalldirs
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar TAR = tar
GZIP = --best GZIP_ENV = --best
all: all-recursive-am all-am all: all-redirect
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps Makefile cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@ -129,22 +131,29 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
$(ACLOCAL_M4): configure.in $(ACLOCAL_M4): configure.in
cd $(srcdir) && $(ACLOCAL) cd $(srcdir) && $(ACLOCAL)
config.status: $(srcdir)/configure config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck $(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) $(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF) cd $(srcdir) && $(AUTOCONF)
config.h: stamp-h 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 stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
cd $(top_builddir) \ cd $(top_builddir) \
&& CONFIG_FILES= CONFIG_HEADERS=config.h \ && CONFIG_FILES= CONFIG_HEADERS=config.h \
$(SHELL) ./config.status $(SHELL) ./config.status
@echo timestamp > stamp-h @echo timestamp > stamp-h 2> /dev/null
$(srcdir)/config.h.in: $(srcdir)/stamp-h.in $(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 $(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
cd $(top_srcdir) && $(AUTOHEADER) cd $(top_srcdir) && $(AUTOHEADER)
@echo timestamp > $(srcdir)/stamp-h.in @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
mostlyclean-hdr: mostlyclean-hdr:
@ -168,41 +177,65 @@ all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \ installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive info-recursive dvi-recursive: check-recursive installcheck-recursive info-recursive dvi-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \ @set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
target=`echo $@ | sed s/-recursive//`; \
echo "Making $$target in $$subdir"; \ 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; \ || 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 \ mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive: maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \ @set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \ rev="$$subdir $$rev"; \
test "$$subdir" = "." && dot_seen=yes; \
done; \ done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \ for subdir in $$rev; do \
target=`echo $@ | sed s/-recursive//`; \
echo "Making $$target in $$subdir"; \ 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; \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail" done && test -z "$$fail"
tags-recursive: tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
(cd $$subdir && $(MAKE) tags); \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done done
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) 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) \ 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: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \ 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; \ done; \
list='$(SOURCES) $(HEADERS)'; \ list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \ unique=`for i in $$list; do echo $$i; done | \
@ -228,29 +261,31 @@ top_distdir = $(distdir)
# tarfile. # tarfile.
distcheck: dist distcheck: dist
-rm -rf $(distdir) -rm -rf $(distdir)
GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
mkdir $(distdir)/=build mkdir $(distdir)/=build
mkdir $(distdir)/=inst mkdir $(distdir)/=inst
dc_install_base=`cd $(distdir)/=inst && pwd`; \ dc_install_base=`cd $(distdir)/=inst && pwd`; \
cd $(distdir)/=build \ cd $(distdir)/=build \
&& ../configure --with-included-gettext --srcdir=.. --prefix=$$dc_install_base \ && ../configure --with-included-gettext --srcdir=.. --prefix=$$dc_install_base \
&& $(MAKE) \ && $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) dvi \ && $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) check \ && $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) install \ && $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) dist && $(MAKE) $(AM_MAKEFLAGS) dist
-rm -rf $(distdir) -rm -rf $(distdir)
@echo "========================"; \ @banner="$(distdir).tar.gz is ready for distribution"; \
echo "$(distdir).tar.gz is ready for distribution"; \ dashes=`echo "$$banner" | sed s/./=/g`; \
echo "========================" echo "$$dashes"; \
echo "$$banner"; \
echo "$$dashes"
dist: distdir dist: distdir
-chmod -R a+r $(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) -rm -rf $(distdir)
dist-all: distdir dist-all: distdir
-chmod -R a+r $(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) -rm -rf $(distdir)
distdir: $(DISTFILES) distdir: $(DISTFILES)
-rm -rf $(distdir) -rm -rf $(distdir)
@ -258,78 +293,83 @@ distdir: $(DISTFILES)
-chmod 777 $(distdir) -chmod 777 $(distdir)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
d=$(srcdir); \ d=$(srcdir); \
test -f $(distdir)/$$file \ if test -d $$d/$$file; then \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ cp -pr $$/$$file $(distdir)/$$file; \
|| cp -p $$d/$$file $(distdir)/$$file; \ else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done done
for subdir in $(SUBDIRS); do \ for subdir in $(SUBDIRS); do \
test -d $(distdir)/$$subdir \ if test "$$subdir" = .; then :; else \
|| mkdir $(distdir)/$$subdir \ test -d $(distdir)/$$subdir \
|| exit 1; \ || mkdir $(distdir)/$$subdir \
chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
|| exit 1; \ || exit 1; \
chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
|| exit 1; \
fi; \
done done
info-am:
info: info-recursive info: info-recursive
dvi-am:
dvi: dvi-recursive dvi: dvi-recursive
check: all-am check-am: all-am
$(MAKE) check-recursive check: check-recursive
installcheck-am:
installcheck: installcheck-recursive installcheck: installcheck-recursive
all-recursive-am: config.h all-recursive-am: config.h
$(MAKE) all-recursive $(MAKE) $(AM_MAKEFLAGS) all-recursive
all-am: Makefile config.h
install-exec-am:
install-exec: install-exec-recursive install-exec: install-exec-recursive
@$(NORMAL_INSTALL)
install-data-am:
install-data: install-data-recursive install-data: install-data-recursive
@$(NORMAL_INSTALL)
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-recursive install: install-recursive
@: uninstall-am:
uninstall: uninstall-recursive uninstall: uninstall-recursive
all-am: Makefile config.h
all-redirect: all-recursive-am
install-strip: 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: installdirs-recursive
installdirs-am:
mostlyclean-generic: mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]* -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: 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-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic
mostlyclean: mostlyclean-recursive
clean-am: clean-hdr clean-tags clean-generic mostlyclean-am clean-am: clean-hdr clean-tags clean-generic mostlyclean-am
clean: clean-recursive
distclean-am: distclean-hdr distclean-tags distclean-generic clean-am 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-am: maintainer-clean-hdr maintainer-clean-tags \
maintainer-clean-generic distclean-am 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 "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-recursive
-rm -f config.status -rm -f config.status
.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ .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 \ all-recursive check-recursive installcheck-recursive info-recursive \
dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
distclean-tags clean-tags maintainer-clean-tags distdir info dvi \ distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
installcheck all-recursive-am all-am install-exec install-data install \ dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \
uninstall all installdirs mostlyclean-generic distclean-generic \ install-exec-am install-exec install-data-am install-data install-am \
clean-generic maintainer-clean-generic clean mostlyclean distclean \ install uninstall-am uninstall all-redirect all-am all installdirs-am \
maintainer-clean 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. # 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. */ /* Define to use ndbm. */
#undef NDBM #undef NDBM
/* Define to enable the new readpass() that echoes asterisks. */
#undef NEW_READPASS
/* Define to support OPIE one-time password logins. */ /* Define to support OPIE one-time password logins. */
#undef OPIE #undef OPIE
/* Package name. */ /* Package name. */
#undef PACKAGE #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 #undef PAM_STRERROR_NEEDS_TWO_ARGS
/* Path to passwd program. */ /* 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 Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
dnl This Makefile.in is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved. 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]) dnl AM_INIT_AUTOMAKE(package,version, [no-define])
AC_DEFUN(AM_INIT_AUTOMAKE, AC_DEFUN(AM_INIT_AUTOMAKE,
[AC_REQUIRE([AM_PROG_INSTALL]) [AC_REQUIRE([AC_PROG_INSTALL])
PACKAGE=[$1] PACKAGE=[$1]
AC_SUBST(PACKAGE) AC_SUBST(PACKAGE)
VERSION=[$2] 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]) AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi fi
ifelse([$3],, ifelse([$3],,
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
AC_REQUIRE([AM_SANITY_CHECK]) AC_REQUIRE([AM_SANITY_CHECK])
AC_REQUIRE([AC_ARG_PROGRAM]) AC_REQUIRE([AC_ARG_PROGRAM])
dnl FIXME This is truly gross. dnl FIXME This is truly gross.
@ -43,15 +43,6 @@ AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
AC_REQUIRE([AC_PROG_MAKE_SET])]) 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. # 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]) AC_MSG_CHECKING([for function prototypes])
if test "$am_cv_prog_cc_stdc" != no; then if test "$am_cv_prog_cc_stdc" != no; then
AC_MSG_RESULT(yes) AC_MSG_RESULT(yes)
AC_DEFINE(PROTOTYPES) AC_DEFINE(PROTOTYPES,1,[Define if compiler has function prototypes])
U= ANSI2KNR= U= ANSI2KNR=
else else
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
@ -245,28 +236,66 @@ esac
]) ])
# serial 24 AM_PROG_LIBTOOL # serial 40 AC_PROG_LIBTOOL
AC_DEFUN(AM_PROG_LIBTOOL, AC_DEFUN(AC_PROG_LIBTOOL,
[AC_REQUIRE([AM_ENABLE_SHARED])dnl [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
AC_REQUIRE([AM_ENABLE_STATIC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl # Save cache, so that ltconfig can load it
AC_REQUIRE([AC_PROG_RANLIB])dnl AC_CACHE_SAVE
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AM_PROG_LD])dnl # Actually configure libtool. ac_aux_dir is where install-sh is found.
AC_REQUIRE([AM_PROG_NM])dnl CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
AC_REQUIRE([AC_PROG_LN_S])dnl LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
dnl 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. # Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool' LIBTOOL='$(SHELL) $(top_builddir)/libtool'
AC_SUBST(LIBTOOL)dnl 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. # 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_shared" = no && libtool_flags="$libtool_flags --disable-shared"
test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" 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_gcc" = yes && libtool_flags="$libtool_flags --with-gcc"
test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" 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 # Some flags need to be propagated to the compiler or linker for good
# libtool support. # libtool support.
@ -292,30 +321,42 @@ case "$host" in
*-*-sco3.2v5*) *-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries. # On SCO OpenServer 5, we need -belf to get full-featured binaries.
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf" 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. ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL],
CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ [*-*-cygwin* | *-*-mingw*)
LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \ AC_CHECK_TOOL(AS, as, false)
$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ AC_CHECK_TOOL(OBJDUMP, objdump, false)
|| AC_MSG_ERROR([libtool configure failed]) ;;
])
esac
]) ])
# AM_ENABLE_SHARED - implement the --enable-shared flag # AC_LIBTOOL_DLOPEN - enable checks for dlopen support
# Usage: AM_ENABLE_SHARED[(DEFAULT)] 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 # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
# `yes'. # `yes'.
AC_DEFUN(AM_ENABLE_SHARED, AC_DEFUN(AC_ENABLE_SHARED, [dnl
[define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
AC_ARG_ENABLE(shared, AC_ARG_ENABLE(shared,
changequote(<<, >>)dnl 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 changequote([, ])dnl
[ --enable-shared=PKGS only build shared libraries if the current package
appears as an element in the PKGS list],
[p=${PACKAGE-default} [p=${PACKAGE-default}
case "$enableval" in case "$enableval" in
yes) enable_shared=yes ;; yes) enable_shared=yes ;;
@ -332,29 +373,23 @@ no) enable_shared=no ;;
IFS="$ac_save_ifs" IFS="$ac_save_ifs"
;; ;;
esac], 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_DISABLE_SHARED - set the default shared flag to --disable-shared
AC_DEFUN(AM_DISABLE_SHARED, AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
[AM_ENABLE_SHARED(no)]) AC_ENABLE_SHARED(no)])
# AM_DISABLE_STATIC - set the default static flag to --disable-static # AC_ENABLE_STATIC - implement the --enable-static flag
AC_DEFUN(AM_DISABLE_STATIC, # Usage: AC_ENABLE_STATIC[(DEFAULT)]
[AM_ENABLE_STATIC(no)])
# AM_ENABLE_STATIC - implement the --enable-static flag
# Usage: AM_ENABLE_STATIC[(DEFAULT)]
# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to
# `yes'. # `yes'.
AC_DEFUN(AM_ENABLE_STATIC, AC_DEFUN(AC_ENABLE_STATIC, [dnl
[define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
AC_ARG_ENABLE(static, AC_ARG_ENABLE(static,
changequote(<<, >>)dnl 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 changequote([, ])dnl
[ --enable-static=PKGS only build shared libraries if the current package
appears as an element in the PKGS list],
[p=${PACKAGE-default} [p=${PACKAGE-default}
case "$enableval" in case "$enableval" in
yes) enable_static=yes ;; yes) enable_static=yes ;;
@ -371,26 +406,73 @@ no) enable_static=no ;;
IFS="$ac_save_ifs" IFS="$ac_save_ifs"
;; ;;
esac], 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, [AC_ARG_WITH(gnu-ld,
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=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 ac_prog=ld
if test "$ac_cv_prog_gcc" = yes; then if test "$ac_cv_prog_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path. # Check if gcc -print-prog-name=ld gives a path.
AC_MSG_CHECKING([for ld used by GCC]) AC_MSG_CHECKING([for ld used by GCC])
ac_prog=`($CC -print-prog-name=ld) 2>&5` ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in case "$ac_prog" in
# Accept absolute paths. # Accept absolute paths.
/* | [A-Za-z]:\\*) changequote(,)dnl
test -z "$LD" && LD="$ac_prog" [\\/]* | [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. # If it fails, then pretend we aren't using GCC.
ac_prog=ld ac_prog=ld
@ -407,10 +489,10 @@ else
fi fi
AC_CACHE_VAL(ac_cv_path_LD, AC_CACHE_VAL(ac_cv_path_LD,
[if test -z "$LD"; then [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 for ac_dir in $PATH; do
test -z "$ac_dir" && ac_dir=. 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" ac_cv_path_LD="$ac_dir/$ac_prog"
# Check to see if the program is GNU ld. I'd rather use --version, # Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some GNU ld's only accept -v. # 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 if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
test "$with_gnu_ld" != no && break test "$with_gnu_ld" != no && break
else else
test "$with_gnu_ld" != yes && break test "$with_gnu_ld" != yes && break
fi fi
fi fi
done done
@ -434,10 +516,10 @@ else
fi fi
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
AC_SUBST(LD) 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, [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. [# 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 if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
@ -447,41 +529,118 @@ else
fi]) fi])
]) ])
# AM_PROG_NM - find the path to a BSD-compatible name lister # AC_PROG_NM - find the path to a BSD-compatible name lister
AC_DEFUN(AM_PROG_NM, AC_DEFUN(AC_PROG_NM,
[AC_MSG_CHECKING([for BSD-compatible nm]) [AC_MSG_CHECKING([for BSD-compatible nm])
AC_CACHE_VAL(ac_cv_path_NM, AC_CACHE_VAL(ac_cv_path_NM,
[case "$NM" in [if test -n "$NM"; then
/* | [A-Za-z]:\\*) # Let the user override the test.
ac_cv_path_NM="$NM" # Let the user override the test with a path. ac_cv_path_NM="$NM"
;; else
*) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do
for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do
test -z "$ac_dir" && ac_dir=. 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. # Check to see if the nm accepts a BSD-compat flag.
# Adding the `sed 1q' prevents false positives on HP-UX, which says: # Adding the `sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored # nm: unknown option "B" ignored
if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then 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 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 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 fi
break
fi fi
done done
IFS="$ac_save_ifs" IFS="$ac_save_ifs"
test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm
;; fi])
esac])
NM="$ac_cv_path_NM" NM="$ac_cv_path_NM"
AC_MSG_RESULT([$NM]) AC_MSG_RESULT([$NM])
AC_SUBST(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. # Macro to add for using GNU gettext.
# Ulrich Drepper <drepper@cygnus.com>, 1995. # 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 */ /* 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, * identifier at the left margin, followed by a left parenthesis,
* with a right parenthesis as the last character on the line, * with a right parenthesis as the last character on the line,
* and with a left brace as the first token on the following line * and with a left brace as the first token on the following line
* (ignoring possible intervening comments). * (ignoring possible intervening comments), except that a line
* It will recognize a multi-line header provided that no intervening * consisting of only
* line ends with a left or right brace or a semicolon. * 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 * These algorithms ignore whitespace and comments, except that
* the function name must be the first thing on the line. * the function name must be the first thing on the line.
* The following constructs will confuse it: * 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 * The original and principal author of ansi2knr is L. Peter Deutsch
* <ghost@aladdin.com>. Other authors are noted in the change history * <ghost@aladdin.com>. Other authors are noted in the change history
* that follows (in reverse chronological order): * 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 output file if not stdin or stdout respectively; prints
usage message on stderr rather than stdout; adds usage message on stderr rather than stdout; adds
--filename switch (changes suggested by --filename switch (changes suggested by
<ceder@lysator.liu.se>) <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 compilers that don't understand void, as suggested by
Tom Lane 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, on the line following a function header be a left brace,
to reduce sensitivity to macros, as suggested by Tom Lane to reduce sensitivity to macros, as suggested by Tom Lane
<tgl@sss.pgh.pa.us> <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 undefined preprocessor symbols as 0; changed all #ifdefs
for configuration symbols to #ifs 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 including ansi2knr in a program does not bring the entire
program under the GPL 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 don't handle 8-bit characters properly, suggested by
Francois Pinard <pinard@iro.umontreal.ca>; Francois Pinard <pinard@iro.umontreal.ca>;
removed --varargs switch (this is now the default) removed --varargs switch (this is now the default)
lpd 94-10-10 removed CONFIG_BROKETS conditional lpd 1994-10-10 removed CONFIG_BROKETS conditional
lpd 94-07-16 added some conditionals to help GNU `configure', lpd 1994-07-16 added some conditionals to help GNU `configure',
suggested by Francois Pinard <pinard@iro.umontreal.ca>; suggested by Francois Pinard <pinard@iro.umontreal.ca>;
properly erase prototype args in function parameters, properly erase prototype args in function parameters,
contributed by Jim Avera <jima@netcom.com>; contributed by Jim Avera <jima@netcom.com>;
correct error in writeblanks (it shouldn't erase EOLs) 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 */ /* Most of the conditionals here are to make ansi2knr work with */
@ -397,6 +404,34 @@ test1(buf)
key++; 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; return contin;
} }

192
config.guess vendored
View File

@ -1,6 +1,7 @@
#! /bin/sh #! /bin/sh
# Attempt to guess a canonical system name. # 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 # 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 # under the terms of the GNU General Public License as published by
@ -36,6 +37,20 @@
# (but try to keep the structure clean). # (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. # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 8/24/94.) # (ghazi@noc.rutgers.edu 8/24/94.)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
@ -78,7 +93,7 @@ main:
ret \$31,(\$26),1 ret \$31,(\$26),1
.end main .end main
EOF EOF
${CC-cc} $dummy.s -o $dummy 2>/dev/null $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
if test "$?" = 0 ; then if test "$?" = 0 ; then
./$dummy ./$dummy
case "$?" in case "$?" in
@ -100,7 +115,13 @@ EOF
esac esac
fi fi
rm -f $dummy.s $dummy 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 ;; exit 0 ;;
21064:Windows_NT:50:3) 21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5 echo alpha-dec-winnt3.5
@ -144,7 +165,7 @@ EOF
SR2?01:HI-UX/MPP:*:*) SR2?01:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp echo hppa1.1-hitachi-hiuxmpp
exit 0;; 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. # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3 echo pyramid-pyramid-sysv3
@ -203,6 +224,32 @@ EOF
atari*:OpenBSD:*:*) atari*:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE} echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;; 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:*:*) sun3*:NetBSD:*:*)
echo m68k-sun-netbsd${UNAME_RELEASE} echo m68k-sun-netbsd${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
@ -236,12 +283,16 @@ EOF
VAX*:ULTRIX*:*:*) VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE} echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
2020:CLIX:*:*) 2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE} echo clipper-intergraph-clix${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
mips:*:*:UMIPS | mips:*:*:RISCos) mips:*:*:UMIPS | mips:*:*:RISCos)
sed 's/^ //' << EOF >$dummy.c 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 (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV) #if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
@ -256,7 +307,7 @@ EOF
exit (-1); exit (-1);
} }
EOF 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'` \ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
&& rm $dummy.c $dummy && exit 0 && rm $dummy.c $dummy && exit 0
rm -f $dummy.c $dummy rm -f $dummy.c $dummy
@ -322,7 +373,7 @@ EOF
exit(0); exit(0);
} }
EOF 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 rm -f $dummy.c $dummy
echo rs6000-ibm-aix3.2.5 echo rs6000-ibm-aix3.2.5
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
@ -370,7 +421,7 @@ EOF
case "${UNAME_MACHINE}" in case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;; 9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;; 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 sed 's/^ //' << EOF >$dummy.c
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
@ -402,7 +453,7 @@ EOF
exit (0); exit (0);
} }
EOF 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 rm -f $dummy.c $dummy
esac esac
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
@ -434,7 +485,7 @@ EOF
exit (0); exit (0);
} }
EOF 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 rm -f $dummy.c $dummy
echo unknown-hitachi-hiuxwe2 echo unknown-hitachi-hiuxwe2
exit 0 ;; exit 0 ;;
@ -444,6 +495,9 @@ EOF
9000/8??:4.3bsd:*:*) 9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd echo hppa1.0-hp-bsd
exit 0 ;; exit 0 ;;
*9??*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
exit 0 ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf echo hppa1.1-hp-osf
exit 0 ;; exit 0 ;;
@ -460,6 +514,9 @@ EOF
parisc*:Lites*:*:*) parisc*:Lites*:*:*)
echo hppa1.1-hp-lites echo hppa1.1-hp-lites
exit 0 ;; exit 0 ;;
hppa*:OpenBSD:*:*)
echo hppa-unknown-openbsd
exit 0 ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd echo c1-convex-bsd
exit 0 ;; exit 0 ;;
@ -499,7 +556,7 @@ EOF
echo cray2-cray-unicos echo cray2-cray-unicos
exit 0 ;; exit 0 ;;
F300:UNIX_System_V:*:*) 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/ /_/'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit 0 ;; exit 0 ;;
@ -512,16 +569,22 @@ EOF
hp300:OpenBSD:*:*) hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE} echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
i?86:BSD/386:*:* | i?86:BSD/OS:*:*) i?86:BSD/386:*:* | i?86:BSD/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
exit 0 ;;
*:BSD/OS:*:*) *:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
*:FreeBSD:*:*) *: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/[-(].*//'` echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit 0 ;; exit 0 ;;
*:NetBSD:*:*) *:NetBSD:*:*)
@ -536,6 +599,15 @@ EOF
i*:MINGW*:*) i*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32 echo ${UNAME_MACHINE}-pc-mingw32
exit 0 ;; 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*:*) p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin echo powerpcle-unknown-cygwin
exit 0 ;; exit 0 ;;
@ -549,13 +621,14 @@ EOF
# uname on the ARM produces all sorts of strangeness, and we need to # uname on the ARM produces all sorts of strangeness, and we need to
# filter it out. # filter it out.
case "$UNAME_MACHINE" in case "$UNAME_MACHINE" in
armv*) ;; armv*) UNAME_MACHINE=$UNAME_MACHINE ;;
arm* | sa110*) UNAME_MACHINE="arm" ;; arm* | sa110*) UNAME_MACHINE="arm" ;;
esac esac
# The BFD linker knows what the default object file format is, so # The BFD linker knows what the default object file format is, so
# first see if it will tell us. # first see if it will tell us. cd to the root directory to prevent
ld_help_string=`ld --help 2>&1` # 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 \ ld_supported_emulations=`echo $ld_help_string \
| sed -ne '/supported emulations:/!d | sed -ne '/supported emulations:/!d
s/[ ][ ]*/ /g s/[ ][ ]*/ /g
@ -568,7 +641,36 @@ EOF
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
armlinux) 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 ;; 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 esac
if test "${UNAME_MACHINE}" = "alpha" ; then if test "${UNAME_MACHINE}" = "alpha" ; then
@ -590,7 +692,7 @@ EOF
.end main .end main
EOF EOF
LIBC="" LIBC=""
${CC-cc} $dummy.s -o $dummy 2>/dev/null $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
if test "$?" = 0 ; then if test "$?" = 0 ; then
./$dummy ./$dummy
case "$?" in case "$?" in
@ -621,10 +723,11 @@ EOF
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0
elif test "${UNAME_MACHINE}" = "mips" ; then elif test "${UNAME_MACHINE}" = "mips" ; then
cat >$dummy.c <<EOF cat >$dummy.c <<EOF
main(argc, argv) #ifdef __cplusplus
int argc; int main (int argc, char *argv[]) {
char *argv[]; #else
{ int main (argc, argv) int argc; char *argv[]; {
#endif
#ifdef __MIPSEB__ #ifdef __MIPSEB__
printf ("%s-unknown-linux-gnu\n", argv[1]); printf ("%s-unknown-linux-gnu\n", argv[1]);
#endif #endif
@ -634,7 +737,7 @@ main(argc, argv)
return 0; return 0;
} }
EOF 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 rm -f $dummy.c $dummy
else else
# Either a pre-BFD a.out linker (linux-gnuoldld) # Either a pre-BFD a.out linker (linux-gnuoldld)
@ -656,10 +759,11 @@ EOF
# Determine whether the default compiler is a.out or elf # Determine whether the default compiler is a.out or elf
cat >$dummy.c <<EOF cat >$dummy.c <<EOF
#include <features.h> #include <features.h>
main(argc, argv) #ifdef __cplusplus
int argc; int main (int argc, char *argv[]) {
char *argv[]; #else
{ int main (argc, argv) int argc; char *argv[]; {
#endif
#ifdef __ELF__ #ifdef __ELF__
# ifdef __GLIBC__ # ifdef __GLIBC__
# if __GLIBC__ >= 2 # if __GLIBC__ >= 2
@ -676,7 +780,7 @@ main(argc, argv)
return 0; return 0;
} }
EOF 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 rm -f $dummy.c $dummy
fi ;; fi ;;
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions # 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} echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
fi fi
exit 0 ;; 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:*) i?86:*:3.2:*)
if test -f /usr/options/cb.name; then if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` 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 i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586 && 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 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else else
echo ${UNAME_MACHINE}-pc-sysv32 echo ${UNAME_MACHINE}-pc-sysv32
fi fi
exit 0 ;; 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:*:*:*) pc:*:*:*)
# uname -m prints for DJGPP always 'pc', but it prints nothing about # uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386. # the processor, so we play safe by assuming i386.
@ -761,7 +870,7 @@ EOF
mc68030:UNIX_System_V:4.*:*) mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4 echo m68k-atari-sysv4
exit 0 ;; exit 0 ;;
i?86:LynxOS:2.*:*) i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*)
echo i386-unknown-lynxos${UNAME_RELEASE} echo i386-unknown-lynxos${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
TSUNAMI:LynxOS:2.*:*) TSUNAMI:LynxOS:2.*:*)
@ -773,6 +882,9 @@ EOF
SM[BE]S:UNIX_SV:*:*) SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE} echo mips-dde-sysv${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
exit 0 ;;
RM*:SINIX-*:*:*) RM*:SINIX-*:*:*)
echo mips-sni-sysv4 echo mips-sni-sysv4
exit 0 ;; exit 0 ;;
@ -803,7 +915,7 @@ EOF
news*:NEWS-OS:*:6*) news*:NEWS-OS:*:6*)
echo mips-sony-newsos6 echo mips-sony-newsos6
exit 0 ;; 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 if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE} echo mips-nec-sysv${UNAME_RELEASE}
else else
@ -937,7 +1049,7 @@ main ()
} }
EOF 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 rm -f $dummy.c $dummy
# Apollos put the system type in the environment. # Apollos put the system type in the environment.

View File

@ -161,24 +161,15 @@
/* Define to support the MD5-based password hashing algorithm. */ /* Define to support the MD5-based password hashing algorithm. */
#undef MD5_CRYPT #undef MD5_CRYPT
/* Define to enable the new readpass() that echoes asterisks. */
#undef NEW_READPASS
/* Define to support OPIE one-time password logins. */ /* Define to support OPIE one-time password logins. */
#undef OPIE #undef OPIE
/* Package name. */ /* Define if pam_strerror() needs two arguments (Linux-PAM 0.59+). */
#undef PACKAGE
/* Define if pam_strerror() needs two arguments (Linux-PAM 0.59). */
#undef PAM_STRERROR_NEEDS_TWO_ARGS #undef PAM_STRERROR_NEEDS_TWO_ARGS
/* Path to passwd program. */ /* Path to passwd program. */
#undef PASSWD_PROGRAM #undef PASSWD_PROGRAM
/* Define if the compiler understands function prototypes. */
#undef PROTOTYPES
/* Define if login should support the -r flag for rlogind. */ /* Define if login should support the -r flag for rlogind. */
#undef RLOGIN #undef RLOGIN
@ -215,9 +206,6 @@
/* Define to ut_name if struct utmp has ut_name (not ut_user). */ /* Define to ut_name if struct utmp has ut_name (not ut_user). */
#undef ut_user #undef ut_user
/* Version. */
#undef VERSION
/* Path for wtmp file. */ /* Path for wtmp file. */
#undef _WTMP_FILE #undef _WTMP_FILE
@ -454,3 +442,13 @@
/* Define if you have the socket library (-lsocket). */ /* Define if you have the socket library (-lsocket). */
#undef HAVE_LIBSOCKET #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 #! /bin/sh
# Configuration validation subroutine script, version 1.1. # 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. # This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME 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. # can handle that machine. It does not imply ALL GNU software can.
@ -98,11 +98,21 @@ case $os in
os= os=
basic_machine=$1 basic_machine=$1
;; ;;
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
;;
-scout)
;;
-wrs)
os=vxworks
basic_machine=$1
;;
-hiux*) -hiux*)
os=-hiuxwe2 os=-hiuxwe2
;; ;;
-sco5) -sco5)
os=sco3.2v5 os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-sco4) -sco4)
@ -121,6 +131,9 @@ case $os in
os=-sco3.2v2 os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;; ;;
-udk*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-isc) -isc)
os=-isc2.2 os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 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. # Some are omitted here because they have special meanings below.
tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \ | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
| 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 \ | 580 | i960 | h8300 \
| alpha | alphaev5 | alphaev56 | alphapca56 | alphaev6 \ | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
| alphapca57 | alphaev7 | we32k | ns16k | clipper \ | alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
| i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \ | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
| mips64 | mipsel | mips64el | mips64orion | mips64orionel \ | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
| mipstx39 | mipstx39el | armv[34][lb] \ | mips64orion | mips64orionel | mipstx39 | mipstx39el \
| sparc | sparclet | sparclite | sparc64 | v850) | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
| mips64vr5000 | miprs64vr5000el \
| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
| thumb | d10v)
basic_machine=$basic_machine-unknown basic_machine=$basic_machine-unknown
;; ;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65)
;;
# We use `pc' rather than `unknown' # We use `pc' rather than `unknown'
# because (1) that's what they normally are, and # because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users. # (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-* \ vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
| power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \ | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
| xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \ | xmp-* | ymp-* \
| alpha-* | alphaev5-* | alphaev56-* | alphapca56-* \ | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
| alphaev6-* | alphapca57-* | alphaev7-* | we32k-* | cydra-* \ | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \
| ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \ | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
| clipper-* | orion-* \
| sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
| sparc64-* | mips64-* | mipsel-* | armv[34][lb]-* \ | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
| mips64el-* | mips64orion-* | mips64orionel-* \ | mips64el-* | mips64orion-* | mips64orionel-* \
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
| mipstx39-* | mipstx39el-* \ | 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 # Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS. # 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) 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att basic_machine=m68000-att
;; ;;
3b*) 3b*)
basic_machine=we32k-att basic_machine=we32k-att
;; ;;
a29khif)
basic_machine=a29k-amd
os=-udi
;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
;;
alliant | fx80) alliant | fx80)
basic_machine=fx80-alliant basic_machine=fx80-alliant
;; ;;
@ -223,6 +258,10 @@ case $basic_machine in
basic_machine=m68k-apollo basic_machine=m68k-apollo
os=-sysv os=-sysv
;; ;;
apollo68bsd)
basic_machine=m68k-apollo
os=-bsd
;;
aux) aux)
basic_machine=m68k-apple basic_machine=m68k-apple
os=-aux os=-aux
@ -299,6 +338,10 @@ case $basic_machine in
encore | umax | mmax) encore | umax | mmax)
basic_machine=ns32k-encore basic_machine=ns32k-encore
;; ;;
es1800 | OSE68k | ose68k | ose | OSE)
basic_machine=m68k-ericsson
os=-ose
;;
fx2800) fx2800)
basic_machine=i860-alliant basic_machine=i860-alliant
;; ;;
@ -317,6 +360,14 @@ case $basic_machine in
basic_machine=h8300-hitachi basic_machine=h8300-hitachi
os=-hms os=-hms
;; ;;
h8300xray)
basic_machine=h8300-hitachi
os=-xray
;;
h8500hms)
basic_machine=h8500-hitachi
os=-hms
;;
harris) harris)
basic_machine=m88k-harris basic_machine=m88k-harris
os=-sysv3 os=-sysv3
@ -332,13 +383,30 @@ case $basic_machine in
basic_machine=m68k-hp basic_machine=m68k-hp
os=-hpux 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]) hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp basic_machine=m68000-hp
;; ;;
hp9k3[2-9][0-9]) hp9k3[2-9][0-9])
basic_machine=m68k-hp 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 basic_machine=hppa1.1-hp
;; ;;
hp9k8[0-9][0-9] | hp8[0-9][0-9]) hp9k8[0-9][0-9] | hp8[0-9][0-9])
@ -347,6 +415,14 @@ case $basic_machine in
hppa-next) hppa-next)
os=-nextstep3 os=-nextstep3
;; ;;
hppaosf)
basic_machine=hppa1.1-hp
os=-osf
;;
hppro)
basic_machine=hppa1.1-hp
os=-proelf
;;
i370-ibm* | ibm*) i370-ibm* | ibm*)
basic_machine=i370-ibm basic_machine=i370-ibm
os=-mvs os=-mvs
@ -368,6 +444,22 @@ case $basic_machine in
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2 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) iris | iris4d)
basic_machine=mips-sgi basic_machine=mips-sgi
case $os in case $os in
@ -396,6 +488,10 @@ case $basic_machine in
miniframe) miniframe)
basic_machine=m68000-convergent basic_machine=m68000-convergent
;; ;;
*mint | *MiNT)
basic_machine=m68k-atari
os=-mint
;;
mipsel*-linux*) mipsel*-linux*)
basic_machine=mipsel-unknown basic_machine=mipsel-unknown
os=-linux-gnu os=-linux-gnu
@ -410,10 +506,22 @@ case $basic_machine in
mips3*) mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 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) ncr3000)
basic_machine=i486-ncr basic_machine=i486-ncr
os=-sysv4 os=-sysv4
;; ;;
netbsd386)
basic_machine=i386-unknown
os=-netbsd
;;
netwinder) netwinder)
basic_machine=armv4l-corel basic_machine=armv4l-corel
os=-linux os=-linux
@ -430,6 +538,10 @@ case $basic_machine in
basic_machine=mips-sony basic_machine=mips-sony
os=-newsos os=-newsos
;; ;;
necv70)
basic_machine=v70-nec
os=-sysv
;;
next | m*-next ) next | m*-next )
basic_machine=m68k-next basic_machine=m68k-next
case $os in case $os in
@ -455,9 +567,25 @@ case $basic_machine in
basic_machine=i960-intel basic_machine=i960-intel
os=-nindy os=-nindy
;; ;;
mon960)
basic_machine=i960-intel
os=-mon960
;;
np1) np1)
basic_machine=np1-gould 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) pa-hitachi)
basic_machine=hppa1.1-hitachi basic_machine=hppa1.1-hitachi
os=-hiuxwe2 os=-hiuxwe2
@ -475,19 +603,19 @@ case $basic_machine in
pc532 | pc532-*) pc532 | pc532-*)
basic_machine=ns32k-pc532 basic_machine=ns32k-pc532
;; ;;
pentium | p5 | k5 | nexen) pentium | p5 | k5 | k6 | nexen)
basic_machine=i586-pc basic_machine=i586-pc
;; ;;
pentiumpro | p6 | k6 | 6x86) pentiumpro | p6 | 6x86)
basic_machine=i686-pc basic_machine=i686-pc
;; ;;
pentiumii | pentium2) pentiumii | pentium2)
basic_machine=i786-pc basic_machine=i786-pc
;; ;;
pentium-* | p5-* | k5-* | nexen-*) pentium-* | p5-* | k5-* | k6-* | nexen-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
pentiumpro-* | p6-* | k6-* | 6x86-*) pentiumpro-* | p6-* | 6x86-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;; ;;
pentiumii-* | pentium2-*) pentiumii-* | pentium2-*)
@ -511,12 +639,20 @@ case $basic_machine in
ps2) ps2)
basic_machine=i386-ibm basic_machine=i386-ibm
;; ;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
;;
rm[46]00) rm[46]00)
basic_machine=mips-siemens basic_machine=mips-siemens
;; ;;
rtpc | rtpc-*) rtpc | rtpc-*)
basic_machine=romp-ibm basic_machine=romp-ibm
;; ;;
sa29200)
basic_machine=a29k-amd
os=-udi
;;
sequent) sequent)
basic_machine=i386-sequent basic_machine=i386-sequent
;; ;;
@ -524,6 +660,10 @@ case $basic_machine in
basic_machine=sh-hitachi basic_machine=sh-hitachi
os=-hms os=-hms
;; ;;
sparclite-wrs)
basic_machine=sparclite-wrs
os=-vxworks
;;
sps7) sps7)
basic_machine=m68k-bull basic_machine=m68k-bull
os=-sysv2 os=-sysv2
@ -531,6 +671,13 @@ case $basic_machine in
spur) spur)
basic_machine=spur-unknown basic_machine=spur-unknown
;; ;;
st2000)
basic_machine=m68k-tandem
;;
stratus)
basic_machine=i860-stratus
os=-sysv4
;;
sun2) sun2)
basic_machine=m68000-sun basic_machine=m68000-sun
;; ;;
@ -575,6 +722,10 @@ case $basic_machine in
basic_machine=i386-sequent basic_machine=i386-sequent
os=-dynix os=-dynix
;; ;;
t3e)
basic_machine=t3e-cray
os=-unicos
;;
tx39) tx39)
basic_machine=mipstx39-unknown basic_machine=mipstx39-unknown
;; ;;
@ -592,6 +743,10 @@ case $basic_machine in
basic_machine=a29k-nyu basic_machine=a29k-nyu
os=-sym1 os=-sym1
;; ;;
v810 | necv810)
basic_machine=v810-nec
os=-none
;;
vaxv) vaxv)
basic_machine=vax-dec basic_machine=vax-dec
os=-sysv os=-sysv
@ -615,6 +770,14 @@ case $basic_machine in
basic_machine=a29k-wrs basic_machine=a29k-wrs
os=-vxworks os=-vxworks
;; ;;
w65*)
basic_machine=w65-wdc
os=-none
;;
w89k-*)
basic_machine=hppa1.1-winbond
os=-proelf
;;
xmp) xmp)
basic_machine=xmp-cray basic_machine=xmp-cray
os=-unicos os=-unicos
@ -622,6 +785,10 @@ case $basic_machine in
xps | xps100) xps | xps100)
basic_machine=xps100-honeywell basic_machine=xps100-honeywell
;; ;;
z8k-*-coff)
basic_machine=z8k-unknown
os=-sim
;;
none) none)
basic_machine=none-none basic_machine=none-none
os=-none os=-none
@ -629,6 +796,15 @@ case $basic_machine in
# Here we handle the default manufacturer of certain CPU types. It is 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. # 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) mips)
if [ x$os = x-linux-gnu ]; then if [ x$os = x-linux-gnu ]; then
basic_machine=mips-unknown basic_machine=mips-unknown
@ -651,7 +827,7 @@ case $basic_machine in
we32k) we32k)
basic_machine=we32k-att basic_machine=we32k-att
;; ;;
sparc) sparc | sparcv9)
basic_machine=sparc-sun basic_machine=sparc-sun
;; ;;
cydra) cydra)
@ -663,6 +839,16 @@ case $basic_machine in
orion105) orion105)
basic_machine=clipper-highlevel 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 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1 exit 1
@ -716,14 +902,21 @@ case $os in
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ | -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* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -rhapsody* \ | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
| -openstep*) | -interix* | -uwin* | -rhapsody* | -openstep* | -oskit*)
# Remember, each alternative MUST END IN *, to match a version number. # 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*) -linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'` os=`echo $os | sed -e 's|linux|linux-gnu|'`
;; ;;
@ -748,6 +941,9 @@ case $os in
-acis*) -acis*)
os=-aos os=-aos
;; ;;
-386bsd)
os=-bsd
;;
-ctix* | -uts*) -ctix* | -uts*)
os=-sysv os=-sysv
;; ;;
@ -779,9 +975,18 @@ case $os in
# This must come after -sysvr4. # This must come after -sysvr4.
-sysv*) -sysv*)
;; ;;
-ose*)
os=-ose
;;
-es1800*)
os=-ose
;;
-xenix) -xenix)
os=-xenix os=-xenix
;; ;;
-*mint | -*MiNT)
os=-mint
;;
-none) -none)
;; ;;
*) *)
@ -831,6 +1036,15 @@ case $basic_machine in
# default. # default.
# os=-sunos4 # 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. *-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3 os=-sysv3
;; ;;
@ -843,6 +1057,15 @@ case $basic_machine in
*-ibm) *-ibm)
os=-aix os=-aix
;; ;;
*-wec)
os=-proelf
;;
*-winbond)
os=-proelf
;;
*-oki)
os=-proelf
;;
*-hp) *-hp)
os=-hpux os=-hpux
;; ;;
@ -906,6 +1129,18 @@ case $basic_machine in
f301-fujitsu) f301-fujitsu)
os=-uxpv os=-uxpv
;; ;;
*-rom68k)
os=-coff
;;
*-*bug)
os=-coff
;;
*-apple)
os=-macos
;;
*-atari*)
os=-mint
;;
*) *)
os=-none os=-none
;; ;;
@ -927,9 +1162,15 @@ case $basic_machine in
-aix*) -aix*)
vendor=ibm vendor=ibm
;; ;;
-beos*)
vendor=be
;;
-hpux*) -hpux*)
vendor=hp vendor=hp
;; ;;
-mpeix*)
vendor=hp
;;
-hiux*) -hiux*)
vendor=hitachi vendor=hitachi
;; ;;
@ -957,6 +1198,15 @@ case $basic_machine in
-aux*) -aux*)
vendor=apple vendor=apple
;; ;;
-hms*)
vendor=hitachi
;;
-mpw* | -macos*)
vendor=apple
;;
-*mint | -*MiNT)
vendor=atari
;;
esac esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 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. dnl Process this file with autoconf to produce a configure script.
AC_INIT(lib/dialchk.c) AC_INIT(lib/dialchk.c)
AM_INIT_AUTOMAKE(shadow, 19990709) AM_INIT_AUTOMAKE(shadow, 19990827)
AM_CONFIG_HEADER(config.h) AM_CONFIG_HEADER(config.h)
dnl Some hacks... dnl Some hacks...
@ -9,7 +9,7 @@ test "$prefix" = "/usr" && exec_prefix=""
test "$CFLAGS" = "" && CFLAGS="-O2 -Wall" test "$CFLAGS" = "" && CFLAGS="-O2 -Wall"
test "$LDFLAGS" = "" && LDFLAGS="-s" test "$LDFLAGS" = "" && LDFLAGS="-s"
ALL_LINGUAS="el pl" ALL_LINGUAS="el fr pl sv"
dnl Checks for programs. dnl Checks for programs.
AC_PROG_CC 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)]) 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]) 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_ENABLE(shadowgrp, [ --enable-shadowgrp enable shadow group support [default=yes]])
AC_ARG_WITH(libcrack, [ --with-libcrack try to use libcrack (default if found)]) 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))) AC_CHECK_LIB(rpcsvc, getsecretkey, AC_DEFINE(DES_RPC)))
fi fi
if test "$enable_readpass" = "yes" ; then
AC_DEFINE(NEW_READPASS)
fi
if test "$enable_shadowgrp" != "no"; then if test "$enable_shadowgrp" != "no"; then
AC_DEFINE(SHADOWGRP) AC_DEFINE(SHADOWGRP)
fi 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # 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' # and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@ includedir = @includedir@
oldincludedir = /usr/include oldincludedir = /usr/include
DISTDIR = DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
NM = @NM@ NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@ -101,8 +104,8 @@ VERSION = @VERSION@
YACC = @YACC@ YACC = @YACC@
l = @l@ l = @l@
EXTRA_DIST = README adduser.c adduser-old.c adduser.sh adduser2.sh \ EXTRA_DIST = README adduser.c adduser-old.c adduser.sh adduser2.sh atudel pwdauth.c rpasswd.c shadow-anonftp.patch udbachk.v012.tgz
atudel pwdauth.c rpasswd.c shadow-anonftp.patch udbachk.v012.tgz
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@ -112,11 +115,10 @@ DIST_COMMON = README Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar TAR = tar
GZIP = --best GZIP_ENV = --best
all: Makefile all: all-redirect
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps contrib/Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps contrib/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@ -134,61 +136,74 @@ subdir = contrib
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
d=$(srcdir); \ d=$(srcdir); \
test -f $(distdir)/$$file \ if test -d $$d/$$file; then \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ cp -pr $$/$$file $(distdir)/$$file; \
|| cp -p $$d/$$file $(distdir)/$$file; \ else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done done
info: info-am:
dvi: info: info-am
check: all dvi-am:
$(MAKE) dvi: dvi-am
installcheck: check-am: all-am
install-exec: check: check-am
@$(NORMAL_INSTALL) installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data: install-data-am:
@$(NORMAL_INSTALL) install-data: install-data-am
install: install-exec install-data all
@:
uninstall:
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: install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs:
mostlyclean-generic: mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]* -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: maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) mostlyclean-am: mostlyclean-generic
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-generic
clean: clean-generic mostlyclean mostlyclean: mostlyclean-am
distclean: distclean-generic clean clean-am: clean-generic mostlyclean-am
-rm -f config.status
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool -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 "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
.PHONY: tags distdir info dvi installcheck install-exec install-data \ maintainer-clean: maintainer-clean-am
install uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \ .PHONY: tags distdir info-am info dvi-am dvi check check-am \
maintainer-clean 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. # 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, # This is a dummy Makefile.am to get automake work flawlessly,
# and also cooperate to make a distribution for `make dist' # and also cooperate to make a distribution for `make dist'
EXTRA_DIST = FILES changelog checksums control login.conffiles \ EXTRA_DIST = FILES changelog checksums control control.gnu control.linux \
login.copyright login.postinst login.postrm login.preinst \ login.conffiles login.copyright login.postinst login.postrm login.preinst \
login.prerm logoutd passwd.conffiles passwd.copyright \ login.prerm logoutd.init passwd.conffiles passwd.copyright \
passwd.postinst porttime rules secure-su.README \ passwd.cron passwd.init passwd.postinst passwd.postrm porttime rules \
secure-su.conffiles secure-su.copyright secure-su.postrm \ secure-su.README secure-su.conffiles secure-su.copyright secure-su.postrm \
secure-su.preinst securetty tar.c secure-su.preinst securetty tar.c

107
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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # 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' # and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@ includedir = @includedir@
oldincludedir = /usr/include oldincludedir = /usr/include
DISTDIR = DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
NM = @NM@ NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@ -101,12 +104,8 @@ VERSION = @VERSION@
YACC = @YACC@ YACC = @YACC@
l = @l@ l = @l@
EXTRA_DIST = FILES changelog checksums control login.conffiles \ 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
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
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@ -116,11 +115,10 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar TAR = tar
GZIP = --best GZIP_ENV = --best
all: Makefile all: all-redirect
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps debian/Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps debian/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@ -138,61 +136,74 @@ subdir = debian
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
d=$(srcdir); \ d=$(srcdir); \
test -f $(distdir)/$$file \ if test -d $$d/$$file; then \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ cp -pr $$/$$file $(distdir)/$$file; \
|| cp -p $$d/$$file $(distdir)/$$file; \ else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done done
info: info-am:
dvi: info: info-am
check: all dvi-am:
$(MAKE) dvi: dvi-am
installcheck: check-am: all-am
install-exec: check: check-am
@$(NORMAL_INSTALL) installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data: install-data-am:
@$(NORMAL_INSTALL) install-data: install-data-am
install: install-exec install-data all
@:
uninstall:
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: install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs:
mostlyclean-generic: mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]* -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: maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) mostlyclean-am: mostlyclean-generic
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-generic
clean: clean-generic mostlyclean mostlyclean: mostlyclean-am
distclean: distclean-generic clean clean-am: clean-generic mostlyclean-am
-rm -f config.status
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool -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 "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
.PHONY: tags distdir info dvi installcheck install-exec install-data \ maintainer-clean: maintainer-clean-am
install uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \ .PHONY: tags distdir info-am info dvi-am dvi check check-am \
maintainer-clean 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. # 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 * upstream upgrade, see CHANGES for more details. Note: this is
not the official Debian changelog entry - it is here only for 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 mine) in the debian/control Maintainer field. Thanks, and keep
up the good work! 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 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 #!/bin/sh
set -e set -e
if [ $1 = purge ]; then if [ "$1" = "purge" ] ; then
update-rc.d logoutd remove >/dev/null update-rc.d logoutd remove >/dev/null
fi fi

View File

@ -21,20 +21,14 @@ case "$1" in
start-stop-daemon --stop --quiet --exec $DAEMON start-stop-daemon --stop --quiet --exec $DAEMON
echo "." echo "."
;; ;;
restart) force-reload|restart)
$0 stop $0 stop
$0 start $0 start
;; ;;
reload) 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 exit 1
;; ;;
esac esac

View File

@ -1 +1,3 @@
/etc/cron.daily/passwd
/etc/init.d/passwd
/etc/shells /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 /sbin/sulogin
permfix /usr/X11R6/bin/xdm-shadow 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 grep -q '^shadow:[^:]*:42' /etc/group && exit 0
groupadd -g 42 shadow || ( groupadd -g 42 shadow || (
cat <<EOF 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 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 # 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 # 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 # but very few people use this feature, so we make it non-setuid by default
@ -11,10 +32,14 @@ LOGIN_PERM = 0755
build: build:
$(checkdir) $(checkdir)
cp -a debian/control.$(DEB_HOST_GNU_SYSTEM) debian/control
# shared lib support is untested, so... # 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) $(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 touch build
clean: clean:
@ -23,12 +48,13 @@ clean:
-$(MAKE) -i distclean -$(MAKE) -i distclean
rm -rf {libmisc,lib,src}/.deps rm -rf {libmisc,lib,src}/.deps
rm -rf debian/tmp{-l,-p,-s} debian/{files*,substvars} rm -rf debian/tmp{-l,-p,-s} debian/{files*,substvars}
cp -a debian/control.linux debian/control
find . -name '*~' -print0 | xargs -0 rm -f find . -name '*~' -print0 | xargs -0 rm -f
binary-indep: checkroot build binary-indep: checkroot build
$(checkdir) $(checkdir)
binary-arch: binary-login binary-passwd binary-su binary-arch: $(package-list)
binary-login: checkroot build binary-login: checkroot build
$(checkdir) $(checkdir)
@ -45,7 +71,7 @@ binary-login: checkroot build
ln -s newgrp.1.gz debian/tmp-l/usr/man/man1/sg.1.gz 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.defs.linux debian/tmp-l/etc/login.defs
install -m600 etc/{login.access,limits} debian/{securetty,porttime} debian/tmp-l/etc/ 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 debian/changelog debian/tmp-l/usr/doc/login/changelog.Debian
install -m644 doc/CHANGES debian/tmp-l/usr/doc/login/changelog install -m644 doc/CHANGES debian/tmp-l/usr/doc/login/changelog
find debian/tmp-l/usr/{doc,man} -type f | xargs gzip -9 find debian/tmp-l/usr/{doc,man} -type f | xargs gzip -9
@ -63,8 +89,10 @@ binary-login: checkroot build
binary-passwd: checkroot build binary-passwd: checkroot build
$(checkdir) $(checkdir)
-rm -rf debian/tmp-p -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 -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 -m4755 src/{chage,chfn,chsh,expiry,gpasswd,passwd} debian/tmp-p/usr/bin/
install -s src/{chpasswd,groupadd,groupdel,groupmod,grpck,grpconv,grpunconv} \ install -s src/{chpasswd,groupadd,groupdel,groupmod,grpck,grpconv,grpunconv} \
src/{newusers,pwck,pwconv,pwunconv,useradd,userdel} \ 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 -m644 debian/passwd.copyright debian/tmp-p/usr/doc/passwd/copyright
install debian/login.preinst debian/tmp-p/DEBIAN/preinst install debian/login.preinst debian/tmp-p/DEBIAN/preinst
install debian/passwd.postinst debian/tmp-p/DEBIAN/postinst 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 install -m644 debian/passwd.conffiles debian/tmp-p/DEBIAN/conffiles
dpkg-shlibdeps debian/tmp-p/usr/{bin/*,sbin/*} dpkg-shlibdeps debian/tmp-p/usr/{bin/*,sbin/*}
# dpkg-shlibdeps fails on scripts, so install them now... # dpkg-shlibdeps fails on scripts, so install them now...
install src/shadowconfig.sh debian/tmp-p/usr/sbin/shadowconfig 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 dpkg-gencontrol -isp -ppasswd -Pdebian/tmp-p
./debian/checksums debian/tmp-p ./debian/checksums debian/tmp-p
$(TAR_WRAPPER_SETUP) dpkg --build 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<42>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 shadow-19990607 => shadow-19990709

View File

@ -1,7 +1,7 @@
Begin3 Begin3
Title: Shadow Password Suite Title: Shadow Password Suite
Version: 19990709 Version: 19990827
Entered-date: 09JUL99 Entered-date: 27AUG99
Description: Shadow password file utilities. This package includes Description: Shadow password file utilities. This package includes
the programs necessary to convert traditional V7 UNIX the programs necessary to convert traditional V7 UNIX
password files to the SVR4 shadow password format, and 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) Author: jfh@bga.com (Julianne F. Haugh)
Maintained-by: marekm@linux.org.pl (Marek Michalkiewicz) Maintained-by: marekm@linux.org.pl (Marek Michalkiewicz)
Primary-site: piast.t19.ds.pwr.wroc.pl /pub/linux/shadow/ 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/ Alternate-site: ftp.ists.pwr.wroc.pl /pub/linux/shadow/
Original-site: ftp.uu.net ? Original-site: ftp.uu.net ?
Platforms: Linux, SunOS, ... 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # 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' # and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@ includedir = @includedir@
oldincludedir = /usr/include oldincludedir = /usr/include
DISTDIR = DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
NM = @NM@ NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@ -101,10 +104,8 @@ VERSION = @VERSION@
YACC = @YACC@ YACC = @YACC@
l = @l@ l = @l@
EXTRA_DIST = ANNOUNCE CHANGES HOWTO LICENSE LSM README README.debian \ 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
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 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@ -114,11 +115,10 @@ DIST_COMMON = README INSTALL Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar TAR = tar
GZIP = --best GZIP_ENV = --best
all: Makefile all: all-redirect
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps doc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@ -136,61 +136,74 @@ subdir = doc
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
d=$(srcdir); \ d=$(srcdir); \
test -f $(distdir)/$$file \ if test -d $$d/$$file; then \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ cp -pr $$/$$file $(distdir)/$$file; \
|| cp -p $$d/$$file $(distdir)/$$file; \ else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done done
info: info-am:
dvi: info: info-am
check: all dvi-am:
$(MAKE) dvi: dvi-am
installcheck: check-am: all-am
install-exec: check: check-am
@$(NORMAL_INSTALL) installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data: install-data-am:
@$(NORMAL_INSTALL) install-data: install-data-am
install: install-exec install-data all
@:
uninstall:
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: install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs:
mostlyclean-generic: mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]* -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: maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) mostlyclean-am: mostlyclean-generic
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-generic
clean: clean-generic mostlyclean mostlyclean: mostlyclean-am
distclean: distclean-generic clean clean-am: clean-generic mostlyclean-am
-rm -f config.status
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool -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 "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
.PHONY: tags distdir info dvi installcheck install-exec install-data \ maintainer-clean: maintainer-clean-am
install uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \ .PHONY: tags distdir info-am info dvi-am dvi check check-am \
maintainer-clean 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. # Tell versions [3.59,3.63) of GNU make to not export all variables.

View File

@ -50,7 +50,8 @@ Romania:
United States: United States:
none? ftp://ftp.cqc.com/pub/mirrors/linux-shadow/
pacman@cqc.com
Thanks, Thanks,
Marek Michalkiewicz <marekm@linux.org.pl> 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 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 :-). 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 - vipw: check password files for errors after editing
- clean up login utmp(x) handling code - clean up login utmp(x) handling code
- add "maximum time users allowed to stay logged in" limit option to logoutd - 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...) - handle quotes in /etc/environment like the shell does (but sshd doesn't...)
- write man pages: dialups.5, d_passwd.5 - write man pages: dialups.5, d_passwd.5
- better utmpx support (logoutd, ...) - better utmpx support (logoutd, ...)
- better OPIE support (check access file, prompt for one-time password - better OPIE support (report number of logins left, etc.)
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)
- new option for /etc/suauth: don't load user's environment (force "su -") - new option for /etc/suauth: don't load user's environment (force "su -")
suggested by Ulisses Alonso Camaro suggested by Ulisses Alonso Camaro
- clean up error messages - "program_name: text of error message\n" - clean up error messages - "program_name: text of error message\n"
(maybe some common code for common messages about failing to lock/open (maybe some common code for common messages about failing to lock/open
something) something)
- don't use putgrent() even if available (glibc-2.0.100 bug)
- find out why recent releases won't compile on Solaris - 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 - newusers UID/GID selection algorithm should be the same as useradd
(and use UID_MIN, UID_MAX from login.defs) (and use UID_MIN, UID_MAX from login.defs)
- newusers should be able to copy /etc/skel to the new home directory - newusers should be able to copy /etc/skel to the new home directory
(like useradd) (like useradd)
- change makefiles to work with the latest automake
- include i18n files in Debian packages - include i18n files in Debian packages
- integrate the latest upstream version into the Debian distribution - 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, # This is a dummy Makefile.am to get automake work flawlessly,
# and also cooperate to make a distribution for `make dist' # 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 shells suauth
SUBDIRS = pam.d 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # 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' # and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@ includedir = @includedir@
oldincludedir = /usr/include oldincludedir = /usr/include
DISTDIR = DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
NM = @NM@ NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@ -101,8 +104,8 @@ VERSION = @VERSION@
YACC = @YACC@ YACC = @YACC@
l = @l@ l = @l@
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
shells suauth
SUBDIRS = pam.d SUBDIRS = pam.d
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -114,11 +117,10 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar TAR = tar
GZIP = --best GZIP_ENV = --best
all: all-recursive all-am all: all-redirect
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps etc/Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps etc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@ -139,41 +141,65 @@ all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \ installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive info-recursive dvi-recursive: check-recursive installcheck-recursive info-recursive dvi-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \ @set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
target=`echo $@ | sed s/-recursive//`; \
echo "Making $$target in $$subdir"; \ 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; \ || 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 \ mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive: maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \ @set fnord $(MAKEFLAGS); amf=$$2; \
dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \ rev="$$subdir $$rev"; \
test "$$subdir" = "." && dot_seen=yes; \
done; \ done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \ for subdir in $$rev; do \
target=`echo $@ | sed s/-recursive//`; \
echo "Making $$target in $$subdir"; \ 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; \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail" done && test -z "$$fail"
tags-recursive: tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
(cd $$subdir && $(MAKE) tags); \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done done
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) 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) \ 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: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
list='$(SUBDIRS)'; for subdir in $$list; do \ 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; \ done; \
list='$(SOURCES) $(HEADERS)'; \ list='$(SOURCES) $(HEADERS)'; \
unique=`for i in $$list; do echo $$i; done | \ unique=`for i in $$list; do echo $$i; done | \
@ -198,84 +224,90 @@ subdir = etc
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
d=$(srcdir); \ d=$(srcdir); \
test -f $(distdir)/$$file \ if test -d $$d/$$file; then \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ cp -pr $$/$$file $(distdir)/$$file; \
|| cp -p $$d/$$file $(distdir)/$$file; \ else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done done
for subdir in $(SUBDIRS); do \ for subdir in $(SUBDIRS); do \
test -d $(distdir)/$$subdir \ if test "$$subdir" = .; then :; else \
|| mkdir $(distdir)/$$subdir \ test -d $(distdir)/$$subdir \
|| exit 1; \ || mkdir $(distdir)/$$subdir \
chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
|| exit 1; \ || exit 1; \
chmod 777 $(distdir)/$$subdir; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(top_distdir) distdir=../$(distdir)/$$subdir distdir) \
|| exit 1; \
fi; \
done done
info-am:
info: info-recursive info: info-recursive
dvi-am:
dvi: dvi-recursive dvi: dvi-recursive
check: all-am check-am: all-am
$(MAKE) check-recursive check: check-recursive
installcheck-am:
installcheck: installcheck-recursive installcheck: installcheck-recursive
all-am: Makefile install-exec-am:
install-exec: install-exec-recursive install-exec: install-exec-recursive
@$(NORMAL_INSTALL)
install-data-am:
install-data: install-data-recursive install-data: install-data-recursive
@$(NORMAL_INSTALL)
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-recursive install: install-recursive
@: uninstall-am:
uninstall: uninstall-recursive uninstall: uninstall-recursive
all-am: Makefile
all-redirect: all-recursive
install-strip: 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: installdirs-recursive
installdirs-am:
mostlyclean-generic: mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]* -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: maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean-am: mostlyclean-tags mostlyclean-generic mostlyclean-am: mostlyclean-tags mostlyclean-generic
mostlyclean: mostlyclean-recursive
clean-am: clean-tags clean-generic mostlyclean-am clean-am: clean-tags clean-generic mostlyclean-am
clean: clean-recursive
distclean-am: distclean-tags distclean-generic clean-am distclean-am: distclean-tags distclean-generic clean-am
-rm -f libtool
distclean: distclean-recursive
maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \ maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
distclean-am 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 "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-recursive
.PHONY: install-data-recursive uninstall-data-recursive \ .PHONY: install-data-recursive uninstall-data-recursive \
install-exec-recursive uninstall-exec-recursive installdirs-recursive \ install-exec-recursive uninstall-exec-recursive installdirs-recursive \
uninstalldirs-recursive all-recursive check-recursive \ uninstalldirs-recursive all-recursive check-recursive \
installcheck-recursive info-recursive dvi-recursive \ installcheck-recursive info-recursive dvi-recursive \
mostlyclean-recursive distclean-recursive clean-recursive \ mostlyclean-recursive distclean-recursive clean-recursive \
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \ maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
distclean-tags clean-tags maintainer-clean-tags distdir info dvi \ distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
installcheck all-am install-exec install-data install uninstall all \ 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 \ installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean 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. # /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. # Three items must be defined: MAIL_DIR, ENV_SUPATH, and ENV_PATH.
# If unspecified, some arbitrary (and possibly incorrect) value will # 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 # 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 # 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 #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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # 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' # and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@ includedir = @includedir@
oldincludedir = /usr/include oldincludedir = /usr/include
DISTDIR = DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
NM = @NM@ NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@ -111,11 +114,10 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar TAR = tar
GZIP = --best GZIP_ENV = --best
all: Makefile all: all-redirect
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps etc/pam.d/Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps etc/pam.d/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@ -133,61 +135,74 @@ subdir = etc/pam.d
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
d=$(srcdir); \ d=$(srcdir); \
test -f $(distdir)/$$file \ if test -d $$d/$$file; then \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ cp -pr $$/$$file $(distdir)/$$file; \
|| cp -p $$d/$$file $(distdir)/$$file; \ else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done done
info: info-am:
dvi: info: info-am
check: all dvi-am:
$(MAKE) dvi: dvi-am
installcheck: check-am: all-am
install-exec: check: check-am
@$(NORMAL_INSTALL) installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data: install-data-am:
@$(NORMAL_INSTALL) install-data: install-data-am
install: install-exec install-data all
@:
uninstall:
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: install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs:
mostlyclean-generic: mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]* -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: maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) mostlyclean-am: mostlyclean-generic
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-generic
clean: clean-generic mostlyclean mostlyclean: mostlyclean-am
distclean: distclean-generic clean clean-am: clean-generic mostlyclean-am
-rm -f config.status
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool -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 "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
.PHONY: tags distdir info dvi installcheck install-exec install-data \ maintainer-clean: maintainer-clean-am
install uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \ .PHONY: tags distdir info-am info dvi-am dvi check check-am \
maintainer-clean 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. # 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 if [ -d $dst ]; then
instcmd=: instcmd=:
chmodcmd=""
else else
instcmd=mkdir instcmd=mkdir
fi 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -11,7 +11,7 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
SHELL = /bin/sh SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
@ -31,7 +31,7 @@ mandir = @mandir@
includedir = @includedir@ includedir = @includedir@
oldincludedir = /usr/include oldincludedir = /usr/include
DISTDIR = DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@ -45,7 +45,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
@ -58,11 +58,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
@ -86,6 +88,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
NM = @NM@ NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@ -99,10 +102,8 @@ l = @l@
AUTOMAKE_OPTIONS = 1.0 foreign AUTOMAKE_OPTIONS = 1.0 foreign
noinst_HEADERS = commonio.h defines.h dialchk.h dialup.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
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 localedir = $(datadir)/locale
DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@ 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) # sources for LIBOBJS (which are normally in libc)
# misc header sources # misc header sources
EXTRA_DIST = grdbm.c gsdbm.c pwdbm.c spdbm.c \ 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
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. # We build libshadow for our tools.
noinst_LIBRARIES = libshadow.a noinst_LIBRARIES = libshadow.a
libshadow_a_SOURCES = commonio.c dialchk.c dialup.c encrypt.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
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@ 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 \ pwauth.lo pwio.lo rad64.lo sgroupio.lo shadow.lo shadowio.lo utent.lo \
tcfsio.lo tcfsio.lo
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
HEADERS = $(noinst_HEADERS) HEADERS = $(noinst_HEADERS)
DIST_COMMON = Makefile.am Makefile.in md5.c md5crypt.c mkdir.c \ DIST_COMMON = Makefile.am Makefile.in md5.c md5crypt.c mkdir.c \
@ -181,15 +177,14 @@ strstr.c
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar TAR = tar
GZIP = --best GZIP_ENV = --best
SOURCES = $(libshadow_a_SOURCES) $(libshadow_la_SOURCES) SOURCES = $(libshadow_a_SOURCES) $(libshadow_la_SOURCES)
OBJECTS = $(libshadow_a_OBJECTS) $(libshadow_la_OBJECTS) OBJECTS = $(libshadow_a_OBJECTS) $(libshadow_la_OBJECTS)
all: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) all: all-redirect
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .S .c .lo .o .s .SUFFIXES: .S .c .lo .o .s
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps lib/Makefile cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps lib/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@ -263,8 +258,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
$(mkinstalldirs) $(DESTDIR)$(libdir) $(mkinstalldirs) $(DESTDIR)$(libdir)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \ if test -f $$p; then \
echo "$(LIBTOOL) --mode=install $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p"; \ echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \
$(LIBTOOL) --mode=install $(INSTALL_DATA) $$p $(DESTDIR)$(libdir)/$$p; \ $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \
else :; fi; \ else :; fi; \
done done
@ -280,8 +275,12 @@ libshadow.la: $(libshadow_la_OBJECTS) $(libshadow_la_DEPENDENCIES)
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) 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) \ here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) && mkid -f$$here/ID $$unique $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \ tags=; \
@ -309,102 +308,115 @@ subdir = lib
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
d=$(srcdir); \ d=$(srcdir); \
test -f $(distdir)/$$file \ if test -d $$d/$$file; then \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ cp -pr $$/$$file $(distdir)/$$file; \
|| cp -p $$d/$$file $(distdir)/$$file; \ else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done done
commonio.o: commonio.c ../config.h rcsid.h defines.h gshadow_.h \ commonio.lo commonio.o : commonio.c ../config.h rcsid.h defines.h \
commonio.h gshadow_.h commonio.h
dialchk.o: dialchk.c ../config.h rcsid.h defines.h gshadow_.h \ dialchk.lo dialchk.o : dialchk.c ../config.h rcsid.h defines.h \
prototypes.h dialup.h dialchk.h gshadow_.h prototypes.h dialup.h dialchk.h
dialup.o: dialup.c ../config.h rcsid.h prototypes.h defines.h gshadow_.h \ dialup.lo dialup.o : dialup.c ../config.h rcsid.h prototypes.h defines.h \
dialup.h gshadow_.h dialup.h
encrypt.o: encrypt.c ../config.h rcsid.h prototypes.h defines.h \ encrypt.lo encrypt.o : encrypt.c ../config.h rcsid.h prototypes.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 \
defines.h gshadow_.h defines.h gshadow_.h
lockpw.lo lockpw.o: lockpw.c ../config.h fputsx.lo fputsx.o : fputsx.c ../config.h defines.h gshadow_.h rcsid.h
port.lo port.o: port.c ../config.h rcsid.h defines.h gshadow_.h port.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 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 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 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 sgetgrent.o: sgetgrent.c ../config.h rcsid.h defines.h gshadow_.h
sgetpwent.o: sgetpwent.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 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 defines.h gshadow_.h commonio.h shadowio.h
shadow.lo shadow.o: shadow.c ../config.h shadow.lo shadow.o : shadow.c ../config.h
tcfsio.lo tcfsio.o: tcfsio.c ../config.h tcfsio.lo tcfsio.o : tcfsio.c ../config.h
utent.lo utent.o: utent.c ../config.h utent.lo utent.o : utent.c ../config.h
info: info-am:
dvi: info: info-am
check: all dvi-am:
$(MAKE) dvi: dvi-am
installcheck: check-am: all-am
install-exec: install-libLTLIBRARIES check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am: install-libLTLIBRARIES
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(MAKE) install-exec-hook $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
install-exec: install-exec-am
install-data: install-data-am:
@$(NORMAL_INSTALL) install-data: install-data-am
install: install-exec install-data all
@:
uninstall: uninstall-libLTLIBRARIES
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: install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs:
$(mkinstalldirs) $(DATADIR)$(libdir) $(mkinstalldirs) $(DESTDIR)$(libdir)
mostlyclean-generic: mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]* -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: maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
mostlyclean-libtool mostlyclean-libLTLIBRARIES \ mostlyclean-libtool mostlyclean-libLTLIBRARIES \
mostlyclean-tags mostlyclean-generic mostlyclean-tags mostlyclean-generic
clean: clean-noinstLIBRARIES clean-compile clean-libtool \ mostlyclean: mostlyclean-am
clean-libLTLIBRARIES clean-tags clean-generic \
mostlyclean
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-libtool distclean-libLTLIBRARIES \
distclean-tags distclean-generic clean distclean-tags distclean-generic clean-am
-rm -f config.status
-rm -f libtool -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-compile maintainer-clean-libtool \
maintainer-clean-libLTLIBRARIES maintainer-clean-tags \ 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 "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-am
.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ .PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
mostlyclean-compile distclean-compile clean-compile \ mostlyclean-compile distclean-compile clean-compile \
@ -413,8 +425,10 @@ clean-libtool maintainer-clean-libtool mostlyclean-libLTLIBRARIES \
distclean-libLTLIBRARIES clean-libLTLIBRARIES \ distclean-libLTLIBRARIES clean-libLTLIBRARIES \
maintainer-clean-libLTLIBRARIES uninstall-libLTLIBRARIES \ maintainer-clean-libLTLIBRARIES uninstall-libLTLIBRARIES \
install-libLTLIBRARIES tags mostlyclean-tags distclean-tags clean-tags \ install-libLTLIBRARIES tags mostlyclean-tags distclean-tags clean-tags \
maintainer-clean-tags distdir info dvi installcheck install-exec \ maintainer-clean-tags distdir info-am info dvi-am dvi check check-am \
install-data install uninstall all installdirs mostlyclean-generic \ 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 \ distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-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 */ /* some useful defines */
#ifndef _DEFINES_H_ #ifndef _DEFINES_H_
@ -203,19 +203,13 @@ char *strchr(), *strrchr(), *strtok();
# define GTTY(fd, termio) tcgetattr(fd, termio) # define GTTY(fd, termio) tcgetattr(fd, termio)
# define TERMIO struct termios # define TERMIO struct termios
# define USE_TERMIOS # define USE_TERMIOS
#elif HAVE_TERMIO_H #else /* assumed HAVE_TERMIO_H */
# include <sys/ioctl.h> # include <sys/ioctl.h>
# include <termio.h> # include <termio.h>
# define STTY(fd, termio) ioctl(fd, TCSETA, termio) # define STTY(fd, termio) ioctl(fd, TCSETA, termio)
# define GTTY(fd, termio) ioctl(fd, TCGETA, termio) # define GTTY(fd, termio) ioctl(fd, TCGETA, termio)
# define TEMRIO struct termio # define TEMRIO struct termio
# define USE_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 #endif
/* /*

View File

@ -30,7 +30,7 @@
#include <config.h> #include <config.h>
#include "rcsid.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 <stdio.h>
#include "defines.h" #include "defines.h"
@ -68,7 +68,7 @@ dialcheck(const char *tty, const char *sh)
if (dialup->du_passwd[0] == '\0') if (dialup->du_passwd[0] == '\0')
return (1); return (1);
if (! (pass = getpass(_("Dialup Password:")))) if (! (pass = getpass(_("Dialup Password: "))))
return (0); return (0);
cp = pw_encrypt (pass, dialup->du_passwd); cp = pw_encrypt (pass, dialup->du_passwd);

View File

@ -30,7 +30,7 @@
#include <config.h> #include <config.h>
#include "rcsid.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 "prototypes.h"
#include "defines.h" #include "defines.h"
@ -71,6 +71,7 @@ static struct itemdef def_table[] = {
{ "FAIL_DELAY", NULL }, { "FAIL_DELAY", NULL },
{ "FAKE_SHELL", NULL }, { "FAKE_SHELL", NULL },
{ "FTMP_FILE", NULL }, { "FTMP_FILE", NULL },
{ "GETPASS_ASTERISKS", NULL },
{ "GID_MAX", NULL }, { "GID_MAX", NULL },
{ "GID_MIN", NULL }, { "GID_MIN", NULL },
{ "HUSHLOGIN_FILE", NULL }, { "HUSHLOGIN_FILE", NULL },
@ -116,6 +117,7 @@ static struct itemdef def_table[] = {
{ "ULIMIT", NULL }, { "ULIMIT", NULL },
{ "UMASK", NULL }, { "UMASK", NULL },
{ "USERDEL_CMD", NULL }, { "USERDEL_CMD", NULL },
{ "USERGROUPS_ENAB", NULL }
}; };
#ifndef LOGINDEFS #ifndef LOGINDEFS

View File

@ -31,13 +31,15 @@
#include <config.h> #include <config.h>
#include "rcsid.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 "defines.h"
#include <signal.h> #include <signal.h>
#include <stdio.h> #include <stdio.h>
#include "getdef.h"
/* new code, #undef if there are any problems... */ /* new code, #undef if there are any problems... */
#define USE_SETJMP 1 #define USE_SETJMP 1
@ -64,26 +66,33 @@ sig_catch(int sig)
#define MAXLEN 127 #define MAXLEN 127
#ifndef NEW_READPASS /* ./configure --enable-readpass */
#define OLD_READPASS 1
#endif
#ifndef OLD_READPASS
static char * 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 input[MAXLEN + 1], asterix[MAXLEN + 1];
static char once; static char once;
char *cp, *ap, c; char *cp, *ap, c;
int i; 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) { if (!once) {
srandom(time(0)*getpid()); srandom(time(0)*getpid());
once = 1; once = 1;
} }
cp = input; cp = input;
ap = asterix; ap = asterix;
while (read(fileno(fp), &c, 1)) { while (read(fileno(ifp), &c, 1)) {
switch (c) { switch (c) {
case '\n': case '\n':
case '\r': case '\r':
@ -91,67 +100,70 @@ readpass(FILE *fp)
case '\b': case '\b':
case 127: case 127:
if (cp > input) { if (cp > input) {
cp--; ap--; cp--;
for (i = 0; i < (*ap); i++) { ap--;
putc('\b', stdout); for (i = *ap; i > 0; i--)
putc(' ', stdout); fputs("\b \b", ofp);
putc('\b', stdout); *cp = '\0';
} *ap = 0;
} else } else {
putc('\a', stdout); /* BEL */ 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; break;
default: default:
*cp++ = c; *cp++ = c;
*ap++ = (random() % 4)+1; if (with_echo) {
for (i = 0; i < (*(ap-1)); i++) *ap = 1;
putc('*', stdout); 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; break;
} }
fflush(stdout); fflush(ofp);
if (cp == input + MAXLEN) if (cp >= input + MAXLEN) {
putc('\a', ofp); /* BEL */
break; break;
}
} }
endwhile: endwhile:
*cp = 0; *cp = '\0';
putc('\n', stdout); putc('\n', ofp);
return input; return input;
} }
#else
static char * static char *
readpass(FILE *fp) prompt_password(const char *prompt, int with_echo)
{
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)
{ {
static char nostring[1] = ""; static char nostring[1] = "";
static char *return_value; static char *return_value;
volatile int tty_opened; volatile int tty_opened;
static FILE *fp; static FILE *ifp, *ofp;
volatile int is_tty; volatile int is_tty;
#ifdef HAVE_SIGACTION #ifdef HAVE_SIGACTION
struct sigaction old_sigact; struct sigaction old_sigact;
#else #else
RETSIGTYPE (*old_signal)(); RETSIGTYPE (*old_signal)();
#endif #endif
TERMIO new_modes;
TERMIO old_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 * 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 * 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) { if (!(ifp = fopen("/dev/tty", "r+"))) {
fp = stdin; ifp = stdin;
setbuf (fp, (char *) 0); ofp = stderr;
} else { } else {
ofp = ifp;
tty_opened = 1; tty_opened = 1;
} }
setbuf(ifp, (char *) 0);
/* /*
* the current tty modes must be saved so they can be * the current tty modes must be saved so they can be
* restored later on. echo will be turned off, except * 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; is_tty = 1;
if (GTTY(fileno(fp), &old_modes)) { if (GTTY(fileno(ifp), &old_modes)) {
is_tty = 0; is_tty = 0;
#if 0 /* to make getpass work with redirected stdin */ #if 0 /* to make getpass work with redirected stdin */
return_value = NULL; return_value = NULL;
@ -204,24 +218,25 @@ libshadow_getpass(const char *prompt)
sigact.sa_flags = 0; sigact.sa_flags = 0;
sigaction(SIGINT, &sigact, &old_sigact); sigaction(SIGINT, &sigact, &old_sigact);
#else #else
old_signal = signal (SIGINT, sig_catch); 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;
#endif #endif
if (is_tty) { 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; goto out;
} }
@ -232,8 +247,8 @@ libshadow_getpass(const char *prompt)
* returned. * returned.
*/ */
if ((fputs(prompt, stdout) != EOF) && (fflush(stdout) != EOF)) if ((fputs(prompt, ofp) != EOF) && (fflush(ofp) != EOF))
return_value = readpass(fp); return_value = readpass(ifp, ofp, with_echo, max_asterisks);
out: out:
/* /*
* the old SIGINT handler is restored after the tty * the old SIGINT handler is restored after the tty
@ -243,7 +258,7 @@ out:
*/ */
if (is_tty) { if (is_tty) {
if (STTY(fileno(fp), &old_modes)) if (STTY(fileno(ifp), &old_modes))
return_value = NULL; return_value = NULL;
} }
@ -254,7 +269,7 @@ out:
#endif #endif
out2: out2:
if (tty_opened) if (tty_opened)
(void) fclose (fp); (void) fclose(ifp);
if (sig_caught) { if (sig_caught) {
kill(getpid(), SIGINT); kill(getpid(), SIGINT);
@ -266,3 +281,16 @@ out2:
} }
return return_value; 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 <config.h>
#include "rcsid.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 <sys/types.h>
#include <signal.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 */ #ifdef __linux__ /* standard password prompt by default */
static const char *PROMPT = gettext_noop("Password: "); static const char *PROMPT = gettext_noop("Password: ");
#else #else
static const char *PROMPT = gettext_noop("%s's Password:"); static const char *PROMPT = gettext_noop("%s's Password: ");
#endif #endif
extern char *getpass(); extern char *getpass();
extern char *getpass_with_echo();
#ifdef AUTH_METHODS #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 (reason != PW_FTP && reason != PW_REXEC && !input) {
if (! (cp = getdef_str ("LOGIN_STRING"))) if (! (cp = getdef_str ("LOGIN_STRING")))
cp = PROMPT; cp = _(PROMPT);
#ifdef SKEY #ifdef SKEY
if (use_skey) if (use_skey)
printf ("[%s]\n", challenge_info); printf ("[%s]\n", challenge_info);
@ -219,7 +220,7 @@ _old_auth(const char *cipher, const char *user, int reason, const char *input)
#endif #endif
snprintf(prompt, sizeof prompt, cp, user); snprintf(prompt, sizeof prompt, cp, user);
clear = getpass(_(prompt)); clear = getpass(prompt);
if (!clear) { if (!clear) {
static char c[1]; static char c[1];
c[0] = '\0'; c[0] = '\0';
@ -249,6 +250,35 @@ _old_auth(const char *cipher, const char *user, int reason, const char *input)
opieverify(&opie, (char *)NULL); opieverify(&opie, (char *)NULL);
#endif #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 #ifdef SKEY
if (retval && use_skey) { if (retval && use_skey) {
int passcheck = -1; 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) if (strlen (command) >= sizeof buf)
return -1; 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 * 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -11,7 +11,7 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
SHELL = /bin/sh SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
@ -31,7 +31,7 @@ mandir = @mandir@
includedir = @includedir@ includedir = @includedir@
oldincludedir = /usr/include oldincludedir = /usr/include
DISTDIR = DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@ -45,7 +45,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
@ -58,11 +58,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
@ -86,6 +88,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
NM = @NM@ NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@ -108,13 +111,8 @@ localedir = $(datadir)/locale
INCLUDES = -I$(top_srcdir)/libmisc -I$(top_srcdir)/lib INCLUDES = -I$(top_srcdir)/libmisc -I$(top_srcdir)/lib
DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@ DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@
libmisc_a_SOURCES = addgrps.c age.c basename.c chkname.c chkshell.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
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 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = 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 sulog.o ttytype.o tz.o ulimit.o utmp.o valid.o xmalloc.o
AR = ar AR = ar
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
HEADERS = $(noinst_HEADERS) HEADERS = $(noinst_HEADERS)
DIST_COMMON = Makefile.am Makefile.in getdate.c DIST_COMMON = Makefile.am Makefile.in getdate.c
@ -144,15 +143,14 @@ DIST_COMMON = Makefile.am Makefile.in getdate.c
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar TAR = tar
GZIP = --best GZIP_ENV = --best
SOURCES = $(libmisc_a_SOURCES) SOURCES = $(libmisc_a_SOURCES)
OBJECTS = $(libmisc_a_OBJECTS) OBJECTS = $(libmisc_a_OBJECTS)
all: Makefile $(LIBRARIES) $(HEADERS) all: all-redirect
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .S .c .lo .o .s .y .SUFFIXES: .S .c .lo .o .s .y
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps libmisc/Makefile cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps libmisc/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@ -212,7 +210,7 @@ libmisc.a: $(libmisc_a_OBJECTS) $(libmisc_a_DEPENDENCIES)
$(AR) cru libmisc.a $(libmisc_a_OBJECTS) $(libmisc_a_LIBADD) $(AR) cru libmisc.a $(libmisc_a_OBJECTS) $(libmisc_a_LIBADD)
$(RANLIB) libmisc.a $(RANLIB) libmisc.a
.y.c: .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 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; \ if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \
else :; fi else :; fi
@ -222,8 +220,12 @@ getdate.h: getdate.c
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) 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) \ here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) && mkid -f$$here/ID $$unique $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \ tags=; \
@ -251,9 +253,13 @@ subdir = libmisc
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
d=$(srcdir); \ d=$(srcdir); \
test -f $(distdir)/$$file \ if test -d $$d/$$file; then \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ cp -pr $$/$$file $(distdir)/$$file; \
|| cp -p $$d/$$file $(distdir)/$$file; \ else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done done
addgrps.o: addgrps.c ../config.h ../lib/prototypes.h ../lib/defines.h \ addgrps.o: addgrps.c ../config.h ../lib/prototypes.h ../lib/defines.h \
../lib/gshadow_.h ../lib/rcsid.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 \ xmalloc.o: xmalloc.c ../config.h ../lib/rcsid.h ../lib/defines.h \
../lib/gshadow_.h ../lib/gshadow_.h
info: info-am:
dvi: info: info-am
check: all dvi-am:
$(MAKE) dvi: dvi-am
installcheck: check-am: all-am
install-exec: check: check-am
@$(NORMAL_INSTALL) installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data: install-data-am:
@$(NORMAL_INSTALL) install-data: install-data-am
install: install-exec install-data all
@:
uninstall:
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: install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs:
mostlyclean-generic: mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]* -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: maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -test -z "getdatehgetdatec" || rm -f getdateh getdatec
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
mostlyclean-libtool mostlyclean-tags \ mostlyclean-libtool mostlyclean-tags \
mostlyclean-generic mostlyclean-generic
clean: clean-noinstLIBRARIES clean-compile clean-libtool clean-tags \ mostlyclean: mostlyclean-am
clean-generic mostlyclean
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 \ distclean-libtool distclean-tags distclean-generic \
clean clean-am
-rm -f config.status
-rm -f libtool -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-compile maintainer-clean-libtool \
maintainer-clean-tags maintainer-clean-generic \ maintainer-clean-tags maintainer-clean-generic \
distclean distclean-am
@echo "This command is intended for maintainers to use;" @echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-am
.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \ .PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \ clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
mostlyclean-compile distclean-compile clean-compile \ mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile mostlyclean-libtool distclean-libtool \ maintainer-clean-compile mostlyclean-libtool distclean-libtool \
clean-libtool maintainer-clean-libtool tags mostlyclean-tags \ clean-libtool maintainer-clean-libtool tags mostlyclean-tags \
distclean-tags clean-tags maintainer-clean-tags distdir info dvi \ distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
installcheck install-exec install-data install uninstall all \ dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
installdirs mostlyclean-generic distclean-generic clean-generic \ 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 maintainer-clean-generic clean mostlyclean distclean maintainer-clean

View File

@ -35,7 +35,7 @@
#include <config.h> #include <config.h>
#include "rcsid.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/types.h>
#include <sys/stat.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 */ /* Counts the number of user logins and check against the limit */
static int static int
check_logins(const char *name, const char *maxlogins) 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) * [Aa]: a = RLIMIT_AS max address space (KB)
* [Cc]: c = RLIMIT_CORE max core file size (KB) * [Cc]: c = RLIMIT_CORE max core file size (KB)
* [Dd]: d = RLIMIT_DATA max data 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) * [Mm]: m = RLIMIT_MEMLOCK max locked-in-memory address space (KB)
* [Nn]: n = RLIMIT_NOFILE max number of open files * [Nn]: n = RLIMIT_NOFILE max number of open files
* [Rr]: r = RLIMIT_RSS max resident set size (KB) * [Rr]: r = RLIMIT_RSS max resident set size (KB)
* [Ss]: s = RLIMIT_STACK max stack size (KB) * [Ss]: s = RLIMIT_STACK max stack size (KB)
* [Tt]: t = RLIMIT_CPU max CPU time (MIN) * [Tt]: t = RLIMIT_CPU max CPU time (MIN)
* [Uu]: u = RLIMIT_NPROC max number of processes * [Uu]: u = RLIMIT_NPROC max number of processes
* [Kk]: k = file creation masK (umask)
* [Ll]: l = max number of logins for this user * [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: * Return value:
* 0 = okay, of course * 0 = okay, of course
@ -254,6 +269,10 @@ do_user_limits(const char *buf, const char *name)
retval |= setrlimit_value(RLIMIT_STACK, pp, 1024); retval |= setrlimit_value(RLIMIT_STACK, pp, 1024);
break; break;
#endif #endif
case 'k':
case 'K':
retval |= set_umask(pp);
break;
case 'l': case 'l':
case 'L': case 'L':
/* LIMIT the number of concurent logins */ /* LIMIT the number of concurent logins */
@ -330,6 +349,27 @@ setup_user_limits(const char *uname)
} }
#endif /* LIMITS */ #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 * set the process nice, ulimit, and umask from the password file entry
*/ */
@ -341,16 +381,8 @@ setup_limits(const struct passwd *info)
int i; int i;
long l; long l;
#ifdef USERGROUPS if (getdef_bool("USERGROUPS_ENAB"))
if (info->pw_uid != 0 && info->pw_uid == info->pw_gid) { setup_usergroups(info);
const struct group *grp;
grp = getgrgid(info->pw_gid);
if (grp && !strcmp(info->pw_name, grp->gr_name)) {
umask(umask(0) & ~070);
}
}
#endif
/* /*
* See if the GECOS field contains values for NICE, UMASK or ULIMIT. * 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. * values the defaults for this login session.
*/ */
if ( getdef_bool("QUOTAS_ENAB") ) { if (getdef_bool("QUOTAS_ENAB")) {
#ifdef LIMITS #ifdef LIMITS
if (info->pw_uid) if (info->pw_uid != 0)
if (setup_user_limits(info->pw_name) & LOGIN_ERROR_LOGIN) { if (setup_user_limits(info->pw_name) & LOGIN_ERROR_LOGIN) {
fprintf(stderr, _("Too many logins.\n")); fprintf(stderr, _("Too many logins.\n"));
sleep(2); sleep(2);

View File

@ -32,7 +32,7 @@
#ifdef RLOGIN #ifdef RLOGIN
#include "rcsid.h" #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 "prototypes.h"
#include "defines.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. * Put the terminal in cooked mode with echo turned on.
*/ */
GTTY (0, &termio); GTTY(0, &termio);
#ifndef USE_SGTTY
termio.c_iflag |= ICRNL|IXON; termio.c_iflag |= ICRNL|IXON;
termio.c_oflag |= OPOST|ONLCR; termio.c_oflag |= OPOST|ONLCR;
termio.c_lflag |= ICANON|ECHO|ECHOE; termio.c_lflag |= ICANON|ECHO|ECHOE;
#ifdef CBAUD
termio.c_cflag = (termio.c_cflag & ~CBAUD) | speed_name; termio.c_cflag = (termio.c_cflag & ~CBAUD) | speed_name;
#else #else
termio.c_cflag = (termio.c_cflag) | speed_name;
#endif #endif
STTY (0, &termio); STTY(0, &termio);
if (! (pwd = getpwnam (name))) if (! (pwd = getpwnam (name)))
return 0; return 0;

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

View File

@ -40,6 +40,8 @@ T: max CPU time (MIN)
.br .br
U: max number of processes U: max number of processes
.br .br
K: file creation mask, set by \fBumask\fR(2).
.br
L: max number of logins for this user L: max number of logins for this user
.br .br
P: process priority, set by \fBsetpriority\fR(2). 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 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE. .\" 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 .TH NEWGRP 1
.SH NAME .SH NAME
@ -37,7 +37,7 @@ sg \- Execute command as different group ID
[\fIgroup\fR] [\fIgroup\fR]
.br .br
.BR sg " [" - ] .BR sg " [" - ]
[\fIgroup\fR [\fB-c\fR \fIcommand\fR]] [\fIgroup\fR [[\fB-c\fR] \fIcommand\fR]]
.SH DESCRIPTION .SH DESCRIPTION
.B newgrp .B newgrp
is used to change the current group ID during a login session. 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 you modified \`acconfig.h' or \`configure.in'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site." from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER([^):]*:\([^)]*\)).*/\1/p' configure.in` files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
if test -z "$files"; then test -z "$files" && files="config.h"
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^):]*\)).*/\1/p' configure.in` touch_files=
test -z "$files" || files="$files.in" for f in $files; do
else case "$f" in
files=`echo "$files" | sed -e 's/:/ /g'` *:*) touch_files="$touch_files "`echo "$f" |
fi sed -e 's/^[^:]*://' -e 's/:.*//'`;;
test -z "$files" && files="config.h.in" *) touch_files="$touch_files $f.in";;
touch $files esac
done
touch $touch_files
;; ;;
automake) 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 modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
You might want to install the \`Automake' and \`Perl' packages. You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site." Grab them from any GNU archive site."
find . -type f -name Makefile.am -print \ find . -type f -name Makefile.am -print |
| sed 's/^\(.*\).am$/touch \1.in/' \ sed 's/\.am$/.in/' |
| sh while read f; do touch "$f"; done
;; ;;
bison|yacc) 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # 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' # and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@ includedir = @includedir@
oldincludedir = /usr/include oldincludedir = /usr/include
DISTDIR = DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
NM = @NM@ NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@ -101,10 +104,8 @@ VERSION = @VERSION@
YACC = @YACC@ YACC = @YACC@
l = @l@ l = @l@
EXTRA_DIST = Makefile.linux Makefile.sun4 Makefile.svr4 Makefile.xenix \ 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
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 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
@ -114,11 +115,10 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar TAR = tar
GZIP = --best GZIP_ENV = --best
all: Makefile all: all-redirect
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps old/Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps old/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@ -136,61 +136,74 @@ subdir = old
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
d=$(srcdir); \ d=$(srcdir); \
test -f $(distdir)/$$file \ if test -d $$d/$$file; then \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ cp -pr $$/$$file $(distdir)/$$file; \
|| cp -p $$d/$$file $(distdir)/$$file; \ else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done done
info: info-am:
dvi: info: info-am
check: all dvi-am:
$(MAKE) dvi: dvi-am
installcheck: check-am: all-am
install-exec: check: check-am
@$(NORMAL_INSTALL) installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data: install-data-am:
@$(NORMAL_INSTALL) install-data: install-data-am
install: install-exec install-data all
@:
uninstall:
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: install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs:
mostlyclean-generic: mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]* -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: maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) mostlyclean-am: mostlyclean-generic
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-generic
clean: clean-generic mostlyclean mostlyclean: mostlyclean-am
distclean: distclean-generic clean clean-am: clean-generic mostlyclean-am
-rm -f config.status
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool -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 "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
.PHONY: tags distdir info dvi installcheck install-exec install-data \ maintainer-clean: maintainer-clean-am
install uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \ .PHONY: tags distdir info-am info dvi-am dvi check check-am \
maintainer-clean 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. # 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}, {"Invalid root directory \"%s\"\n", 34},
{"Can't change root directory to \"%s\"\n", 35}, {"Can't change root directory to \"%s\"\n", 35},
{"malloc(%d) failed\n", 36}, {"malloc(%d) failed\n", 36},
{"Dialup Password:", 37}, {"Dialup Password: ", 37},
{"Could not allocate space for config info.\n", 38}, {"Could not allocate space for config info.\n", 38},
{"configuration error - unknown item '%s' (notify administrator)\n", 39}, {"configuration error - unknown item '%s' (notify administrator)\n", 39},
{"error - lookup '%s' failed\n", 40}, {"error - lookup '%s' failed\n", 40},
{"%s not found\n", 41}, {"%s not found\n", 41},
{"Password: ", 42}, {"Password: ", 42},
{"%s's Password:", 43}, {"%s's Password: ", 43},
{"Unknown error %d", 44}, {"(Echo on) ", 44},
{"Unknown error %d", 45},
{"\ {"\
Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ]\n\ Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -W warn ]\n\
[ -I inactive ] [ -E expire ] [ -d last_day ] user\n", 45}, [ -I inactive ] [ -E expire ] [ -d last_day ] user\n", 46},
{"Usage: %s [ -l ] [ -m min_days ] [ -M max_days ] [ -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\ Enter the new value, or press return for the default\n\
\n", 47}, \n", 48},
{"Minimum Password Age", 48}, {"Minimum Password Age", 49},
{"Maximum Password Age", 49}, {"Maximum Password Age", 50},
{"Last Password Change (YYYY-MM-DD)", 50}, {"Last Password Change (YYYY-MM-DD)", 51},
{"Password Expiration Warning", 51}, {"Password Expiration Warning", 52},
{"Password Inactive", 52}, {"Password Inactive", 53},
{"Account Expiration Date (YYYY-MM-DD)", 53}, {"Account Expiration Date (YYYY-MM-DD)", 54},
{"Minimum:\t%ld\n", 54}, {"Minimum:\t%ld\n", 55},
{"Maximum:\t%ld\n", 55}, {"Maximum:\t%ld\n", 56},
{"Warning:\t%ld\n", 56}, {"Warning:\t%ld\n", 57},
{"Inactive:\t%ld\n", 57}, {"Inactive:\t%ld\n", 58},
{"Last Change:\t\t", 58}, {"Last Change:\t\t", 59},
{"Never\n", 59}, {"Never\n", 60},
{"Password Expires:\t", 60}, {"Password Expires:\t", 61},
{"%s: do not include \"l\" with other flags\n", 61}, {"Password Inactive:\t", 62},
{"%s: permission denied\n", 62}, {"Account Expires:\t", 63},
{"%s: can't lock password file\n", 63}, {"%s: do not include \"l\" with other flags\n", 64},
{"%s: can't open password file\n", 64}, {"%s: permission denied\n", 65},
{"%s: unknown user: %s\n", 65}, {"%s: can't lock password file\n", 66},
{"%s: can't lock shadow password file\n", 66}, {"%s: can't open password file\n", 67},
{"%s: can't open shadow password file\n", 67}, {"%s: unknown user: %s\n", 68},
{"Changing the aging information for %s\n", 68}, {"%s: can't lock shadow password file\n", 69},
{"%s: error changing fields\n", 69}, {"%s: can't open shadow password file\n", 70},
{"%s: can't update password file\n", 70}, {"Changing the aging information for %s\n", 71},
{"%s: can't update shadow password file\n", 71}, {"%s: error changing fields\n", 72},
{"Error updating the DBM password entry.\n", 72}, {"%s: can't update password file\n", 73},
{"%s: can't rewrite shadow password file\n", 73}, {"%s: can't update shadow password file\n", 74},
{"%s: can't rewrite password file\n", 74}, {"Error updating the DBM password entry.\n", 75},
{"%s: no aging information present\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\ 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}, 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", 78}, {"Enter the new value, or press return for the default\n", 81},
{"Full Name", 79}, {"Full Name", 82},
{"\tFull Name: %s\n", 80}, {"\tFull Name: %s\n", 83},
{"Room Number", 81}, {"Room Number", 84},
{"\tRoom Number: %s\n", 82}, {"\tRoom Number: %s\n", 85},
{"Work Phone", 83}, {"Work Phone", 86},
{"\tWork Phone: %s\n", 84}, {"\tWork Phone: %s\n", 87},
{"Home Phone", 85}, {"Home Phone", 88},
{"\tHome Phone: %s\n", 86}, {"\tHome Phone: %s\n", 89},
{"Other", 87}, {"Other", 90},
{"%s: Permission denied.\n", 88}, {"%s: Permission denied.\n", 91},
{"%s: Unknown user %s\n", 89}, {"%s: Unknown user %s\n", 92},
{"%s: Cannot determine your user name.\n", 90}, {"%s: Cannot determine your user name.\n", 93},
{"%s: cannot change user `%s' on NIS client.\n", 91}, {"%s: cannot change user `%s' on NIS client.\n", 94},
{"%s: `%s' is the NIS master for this client.\n", 92}, {"%s: `%s' is the NIS master for this client.\n", 95},
{"Changing the user information for %s\n", 93}, {"Changing the user information for %s\n", 96},
{"%s: invalid name: \"%s\"\n", 94}, {"%s: invalid name: \"%s\"\n", 97},
{"%s: invalid room number: \"%s\"\n", 95}, {"%s: invalid room number: \"%s\"\n", 98},
{"%s: invalid work phone: \"%s\"\n", 96}, {"%s: invalid work phone: \"%s\"\n", 99},
{"%s: invalid home phone: \"%s\"\n", 97}, {"%s: invalid home phone: \"%s\"\n", 100},
{"%s: \"%s\" contains illegal characters\n", 98}, {"%s: \"%s\" contains illegal characters\n", 101},
{"%s: fields too long\n", 99}, {"%s: fields too long\n", 102},
{"Cannot change ID to root.\n", 100}, {"Cannot change ID to root.\n", 103},
{"Cannot lock the password file; try again later.\n", 101}, {"Cannot lock the password file; try again later.\n", 104},
{"Cannot open the password file.\n", 102}, {"Cannot open the password file.\n", 105},
{"%s: %s not found in /etc/passwd\n", 103}, {"%s: %s not found in /etc/passwd\n", 106},
{"Error updating the password entry.\n", 104}, {"Error updating the password entry.\n", 107},
{"Cannot commit password file changes.\n", 105}, {"Cannot commit password file changes.\n", 108},
{"Cannot unlock the password file.\n", 106}, {"Cannot unlock the password file.\n", 109},
{"usage: %s [-e]\n", 107}, {"usage: %s [-e]\n", 110},
{"%s: can't lock shadow file\n", 108}, {"%s: can't lock shadow file\n", 111},
{"%s: can't open shadow file\n", 109}, {"%s: can't open shadow file\n", 112},
{"%s: line %d: line too long\n", 110}, {"%s: line %d: line too long\n", 113},
{"%s: line %d: missing new password\n", 111}, {"%s: line %d: missing new password\n", 114},
{"%s: line %d: unknown user %s\n", 112}, {"%s: line %d: unknown user %s\n", 115},
{"%s: line %d: cannot update password entry\n", 113}, {"%s: line %d: cannot update password entry\n", 116},
{"%s: error detected, changes ignored\n", 114}, {"%s: error detected, changes ignored\n", 117},
{"%s: error updating shadow file\n", 115}, {"%s: error updating shadow file\n", 118},
{"%s: error updating password file\n", 116}, {"%s: error updating password file\n", 119},
{"Usage: %s [ -s shell ] [ name ]\n", 117}, {"Usage: %s [ -s shell ] [ name ]\n", 120},
{"Login Shell", 118}, {"Login Shell", 121},
{"You may not change the shell for %s.\n", 119}, {"You may not change the shell for %s.\n", 122},
{"Changing the login shell for %s\n", 120}, {"Changing the login shell for %s\n", 123},
{"%s: Invalid entry: %s\n", 121}, {"%s: Invalid entry: %s\n", 124},
{"%s is an invalid shell.\n", 122}, {"%s is an invalid shell.\n", 125},
{"Usage: %s [ -(a|d) ] shell\n", 123}, {"Usage: %s [ -(a|d) ] shell\n", 126},
{"Shell password:", 124}, {"Shell password: ", 127},
{"re-enter Shell password:", 125}, {"re-enter Shell password: ", 128},
{"%s: Passwords do not match, try again.\n", 126}, {"%s: Passwords do not match, try again.\n", 129},
{"%s: can't create %s", 127}, {"%s: can't create %s", 130},
{"%s: can't open %s", 128}, {"%s: can't open %s", 131},
{"%s: Shell %s not found.\n", 129}, {"%s: Shell %s not found.\n", 132},
{"Usage: expiry { -f | -c }\n", 130}, {"Usage: expiry { -f | -c }\n", 133},
{"%s: WARNING! Must be set-UID root!\n", 131}, {"%s: WARNING! Must be set-UID root!\n", 134},
{"%s: unknown user\n", 132}, {"%s: unknown user\n", 135},
{"usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n", 133}, {"usage: %s [-a|-u user] [-m max] [-r] [-t days] [-l locksecs]\n", 136},
{"Unknown User: %s\n", 134}, {"Unknown User: %s\n", 137},
{"Username Failures Maximum Latest\n", 135}, {"Username Failures Maximum Latest\n", 138},
{" %s on %s", 136}, {" %s on %s", 139},
{" [%lds left]", 137}, {" [%lds left]", 140},
{" [%lds lock]", 138}, {" [%lds lock]", 141},
{"usage: %s [-r|-R] group\n", 139}, {"usage: %s [-r|-R] group\n", 142},
{" %s [-a user] group\n", 140}, {" %s [-a user] group\n", 143},
{" %s [-d user] group\n", 141}, {" %s [-d user] group\n", 144},
{" %s [-A user,...] [-M user,...] group\n", 142}, {" %s [-A user,...] [-M user,...] group\n", 145},
{" %s [-M user,...] group\n", 143}, {" %s [-M user,...] group\n", 146},
{"%s: unknown user %s\n", 144}, {"%s: unknown user %s\n", 147},
{"Permission denied.\n", 145}, {"Permission denied.\n", 148},
{"%s: shadow group passwords required for -A\n", 146}, {"%s: shadow group passwords required for -A\n", 149},
{"Who are you?\n", 147}, {"Who are you?\n", 150},
{"unknown group: %s\n", 148}, {"unknown group: %s\n", 151},
{"Adding user %s to group %s\n", 149}, {"Adding user %s to group %s\n", 152},
{"Removing user %s from group %s\n", 150}, {"Removing user %s from group %s\n", 153},
{"%s: unknown member %s\n", 151}, {"%s: unknown member %s\n", 154},
{"%s: Not a tty\n", 152}, {"%s: Not a tty\n", 155},
{"Changing the password for group %s\n", 153}, {"Changing the password for group %s\n", 156},
{"New Password:", 154}, {"New Password: ", 157},
{"Re-enter new password:", 155}, {"Re-enter new password: ", 158},
{"They don't match; try again", 156}, {"They don't match; try again", 159},
{"%s: Try again later\n", 157}, {"%s: Try again later\n", 160},
{"%s: can't get lock\n", 158}, {"%s: can't get lock\n", 161},
{"%s: can't get shadow lock\n", 159}, {"%s: can't get shadow lock\n", 162},
{"%s: can't open file\n", 160}, {"%s: can't open file\n", 163},
{"%s: can't update entry\n", 161}, {"%s: can't update entry\n", 164},
{"%s: can't update shadow entry\n", 162}, {"%s: can't update shadow entry\n", 165},
{"%s: can't re-write file\n", 163}, {"%s: can't re-write file\n", 166},
{"%s: can't re-write shadow file\n", 164}, {"%s: can't re-write shadow file\n", 167},
{"%s: can't unlock file\n", 165}, {"%s: can't unlock file\n", 168},
{"%s: can't update DBM files\n", 166}, {"%s: can't update DBM files\n", 169},
{"%s: can't update DBM shadow files\n", 167}, {"%s: can't update DBM shadow files\n", 170},
{"usage: groupadd [-g gid [-o]] group\n", 168}, {"usage: groupadd [-g gid [-o]] group\n", 171},
{"%s: error adding new group entry\n", 169}, {"%s: error adding new group entry\n", 172},
{"%s: cannot add new dbm group entry\n", 170}, {"%s: cannot add new dbm group entry\n", 173},
{"%s: name %s is not unique\n", 171}, {"%s: name %s is not unique\n", 174},
{"%s: gid %ld is not unique\n", 172}, {"%s: gid %ld is not unique\n", 175},
{"%s: can't get unique gid\n", 173}, {"%s: can't get unique gid\n", 176},
{"%s: %s is a not a valid group name\n", 174}, {"%s: %s is a not a valid group name\n", 177},
{"%s: invalid group %s\n", 175}, {"%s: invalid group %s\n", 178},
{"%s: -O requires NAME=VALUE\n", 176}, {"%s: -O requires NAME=VALUE\n", 179},
{"%s: cannot rewrite group file\n", 177}, {"%s: cannot rewrite group file\n", 180},
{"%s: cannot rewrite shadow group file\n", 178}, {"%s: cannot rewrite shadow group file\n", 181},
{"%s: unable to lock group file\n", 179}, {"%s: unable to lock group file\n", 182},
{"%s: unable to open group file\n", 180}, {"%s: unable to open group file\n", 183},
{"%s: unable to lock shadow group file\n", 181}, {"%s: unable to lock shadow group file\n", 184},
{"%s: unable to open shadow group file\n", 182}, {"%s: unable to open shadow group file\n", 185},
{"%s: group %s exists\n", 183}, {"%s: group %s exists\n", 186},
{"usage: groupdel group\n", 184}, {"usage: groupdel group\n", 187},
{"%s: error removing group entry\n", 185}, {"%s: error removing group entry\n", 188},
{"%s: error removing group dbm entry\n", 186}, {"%s: error removing group dbm entry\n", 189},
{"%s: error removing shadow group entry\n", 187}, {"%s: error removing shadow group entry\n", 190},
{"%s: error removing shadow group dbm entry\n", 188}, {"%s: error removing shadow group dbm entry\n", 191},
{"%s: cannot remove user's primary group.\n", 189}, {"%s: cannot remove user's primary group.\n", 192},
{"%s: group %s does not exist\n", 190}, {"%s: group %s does not exist\n", 193},
{"%s: group %s is a NIS group\n", 191}, {"%s: group %s is a NIS group\n", 194},
{"%s: %s is the NIS master\n", 192}, {"%s: %s is the NIS master\n", 195},
{"usage: groupmod [-g gid [-o]] [-n name] group\n", 193}, {"usage: groupmod [-g gid [-o]] [-n name] group\n", 196},
{"%s: %s not found in /etc/group\n", 194}, {"%s: %s not found in /etc/group\n", 197},
{"%s: cannot add new dbm shadow group entry\n", 195}, {"%s: cannot add new dbm shadow group entry\n", 198},
{"%s: %ld is not a unique gid\n", 196}, {"%s: %ld is not a unique gid\n", 199},
{"%s: %s is not a unique name\n", 197}, {"%s: %s is not a unique name\n", 200},
{"unknown user %s\n", 198}, {"unknown user %s\n", 201},
{"Usage: %s [ -r ] [ group [ gshadow ] ]\n", 199}, {"Usage: %s [ -r ] [ group [ gshadow ] ]\n", 202},
{"Usage: %s [ -r ] [ group ]\n", 200}, {"Usage: %s [ -r ] [ group ]\n", 203},
{"No", 201}, {"No", 204},
{"%s: cannot lock file %s\n", 202}, {"%s: cannot lock file %s\n", 205},
{"%s: cannot open file %s\n", 203}, {"%s: cannot open file %s\n", 206},
{"invalid group file entry\n", 204}, {"invalid group file entry\n", 207},
{"delete line `%s'? ", 205}, {"delete line `%s'? ", 208},
{"duplicate group entry\n", 206}, {"duplicate group entry\n", 209},
{"invalid group name `%s'\n", 207}, {"invalid group name `%s'\n", 210},
{"group %s: bad GID (%d)\n", 208}, {"group %s: bad GID (%d)\n", 211},
{"group %s: no user %s\n", 209}, {"group %s: no user %s\n", 212},
{"delete member `%s'? ", 210}, {"delete member `%s'? ", 213},
{"invalid shadow group file entry\n", 211}, {"invalid shadow group file entry\n", 214},
{"duplicate shadow group entry\n", 212}, {"duplicate shadow group entry\n", 215},
{"no matching group file entry\n", 213}, {"no matching group file entry\n", 216},
{"shadow group %s: no administrative user %s\n", 214}, {"shadow group %s: no administrative user %s\n", 217},
{"delete administrative member `%s'? ", 215}, {"delete administrative member `%s'? ", 218},
{"shadow group %s: no user %s\n", 216}, {"shadow group %s: no user %s\n", 219},
{"%s: cannot update file %s\n", 217}, {"%s: cannot update file %s\n", 220},
{"%s: the files have been updated; run mkpasswd\n", 218}, {"%s: the files have been updated; run mkpasswd\n", 221},
{"%s: no changes\n", 219}, {"%s: no changes\n", 222},
{"%s: the files have been updated\n", 220}, {"%s: the files have been updated\n", 223},
{"%s: can't lock group file\n", 221}, {"%s: can't lock group file\n", 224},
{"%s: can't open group file\n", 222}, {"%s: can't open group file\n", 225},
{"%s: can't lock shadow group file\n", 223}, {"%s: can't lock shadow group file\n", 226},
{"%s: can't open shadow group file\n", 224}, {"%s: can't open shadow group file\n", 227},
{"%s: can't remove shadow group %s\n", 225}, {"%s: can't remove shadow group %s\n", 228},
{"%s: can't update shadow entry for %s\n", 226}, {"%s: can't update shadow entry for %s\n", 229},
{"%s: can't update entry for group %s\n", 227}, {"%s: can't update entry for group %s\n", 230},
{"%s: can't update shadow group file\n", 228}, {"%s: can't update shadow group file\n", 231},
{"%s: can't update group file\n", 229}, {"%s: can't update group file\n", 232},
{"%s: not configured for shadow group support.\n", 230}, {"%s: not configured for shadow group support.\n", 233},
{"%s: can't delete shadow group file\n", 231}, {"%s: can't delete shadow group file\n", 234},
{"usage: id [ -a ]\n", 232}, {"usage: id [ -a ]\n", 235},
{"usage: id\n", 233}, {"usage: id\n", 236},
{"uid=%d(%s)", 234}, {"uid=%d(%s)", 237},
{"uid=%d", 235}, {"uid=%d", 238},
{" gid=%d(%s)", 236}, {" gid=%d(%s)", 239},
{" gid=%d", 237}, {" gid=%d", 240},
{" euid=%d(%s)", 238}, {" euid=%d(%s)", 241},
{" euid=%d", 239}, {" euid=%d", 242},
{" egid=%d(%s)", 240}, {" egid=%d(%s)", 243},
{" egid=%d", 241}, {" egid=%d", 244},
{" groups=", 242}, {" groups=", 245},
{"Username Port From Latest\n", 243}, {"Username Port From Latest\n", 246},
{"Username Port Latest\n", 244}, {"Username Port Latest\n", 247},
{"**Never logged in**", 245}, {"**Never logged in**", 248},
{"usage: %s [-p] [name]\n", 246}, {"usage: %s [-p] [name]\n", 249},
{" %s [-p] [-h host] [-f name]\n", 247}, {" %s [-p] [-h host] [-f name]\n", 250},
{" %s [-p] -r host\n", 248}, {" %s [-p] -r host\n", 251},
{"Invalid login time\n", 249}, {"Invalid login time\n", 252},
{"\ {"\
\n\ \n\
System closed for routine maintenance\n", 250}, System closed for routine maintenance\n", 253},
{"\ {"\
\n\ \n\
[Disconnect bypassed -- root login allowed.]\n", 251}, [Disconnect bypassed -- root login allowed.]\n", 254},
{"\ {"\
\n\ \n\
Login timed out after %d seconds.\n", 252}, Login timed out after %d seconds.\n", 255},
{" on `%.100s' from `%.200s'", 253}, {" on `%.100s' from `%.200s'", 256},
{" on `%.100s'", 254}, {" on `%.100s'", 257},
{"\ {"\
\n\ \n\
%s login: ", 255}, %s login: ", 258},
{"login: ", 256}, {"login: ", 259},
{"Login incorrect", 257}, {"Login incorrect", 260},
{"Warning: login re-enabled after temporary lockout.\n", 258}, {"Warning: login re-enabled after temporary lockout.\n", 261},
{"Last login: %s on %s", 259}, {"Last login: %s on %s", 262},
{"Last login: %.19s on %s", 260}, {"Last login: %.19s on %s", 263},
{" from %.*s", 261}, {" from %.*s", 264},
{"Starting rad_login\n", 262}, {"Starting rad_login\n", 265},
{"%s: no DBM database on system - no action performed\n", 263}, {"%s: no DBM database on system - no action performed\n", 266},
{"%s: cannot overwrite file %s\n", 264}, {"%s: cannot overwrite file %s\n", 267},
{"%s: cannot open DBM files for %s\n", 265}, {"%s: cannot open DBM files for %s\n", 268},
{"%s: the beginning with ", 266}, {"%s: the beginning with ", 269},
{"%s: error parsing line \"%s\"\n", 267}, {"%s: error parsing line \"%s\"\n", 270},
{"adding record for name ", 268}, {"adding record for name ", 271},
{"%s: error adding record for ", 269}, {"%s: error adding record for ", 272},
{"added %d entries, longest was %d\n", 270}, {"added %d entries, longest was %d\n", 273},
{"Usage: %s [ -vf ] [ -p|g|sp|sg ] file\n", 271}, {"Usage: %s [ -vf ] [ -p|g|sp|sg ] file\n", 274},
{"Usage: %s [ -vf ] [ -p|g|sp ] file\n", 272}, {"Usage: %s [ -vf ] [ -p|g|sp ] file\n", 275},
{"Usage: %s [ -vf ] [ -p|g ] file\n", 273}, {"Usage: %s [ -vf ] [ -p|g ] file\n", 276},
{"usage: newgrp [ - ] [ group ]\n", 274}, {"usage: newgrp [ - ] [ group ]\n", 277},
{"usage: sg group [ command ]\n", 275}, {"usage: sg group [[-c] command ]\n", 278},
{"unknown uid: %d\n", 276}, {"unknown uid: %d\n", 279},
{"unknown gid: %ld\n", 277}, {"unknown gid: %ld\n", 280},
{"unknown gid: %d\n", 278}, {"unknown gid: %d\n", 281},
{"Password:", 279}, {"Sorry.\n", 282},
{"Sorry.\n", 280}, {"too many groups\n", 283},
{"too many groups\n", 281}, {"Usage: %s [ input ]\n", 284},
{"Usage: %s [ input ]\n", 282}, {"%s: can't lock /etc/passwd.\n", 285},
{"%s: can't lock /etc/passwd.\n", 283}, {"%s: can't lock files, try again later\n", 286},
{"%s: can't lock files, try again later\n", 284}, {"%s: can't open files\n", 287},
{"%s: can't open files\n", 285}, {"%s: line %d: invalid line\n", 288},
{"%s: line %d: invalid line\n", 286}, {"%s: line %d: can't create GID\n", 289},
{"%s: line %d: can't create GID\n", 287}, {"%s: line %d: can't create UID\n", 290},
{"%s: line %d: can't create UID\n", 288}, {"%s: line %d: cannot find user %s\n", 291},
{"%s: line %d: cannot find user %s\n", 289}, {"%s: line %d: can't update password\n", 292},
{"%s: line %d: can't update password\n", 290}, {"%s: line %d: mkdir failed\n", 293},
{"%s: line %d: mkdir failed\n", 291}, {"%s: line %d: chown failed\n", 294},
{"%s: line %d: chown failed\n", 292}, {"%s: line %d: can't update entry\n", 295},
{"%s: line %d: can't update entry\n", 293}, {"%s: error updating files\n", 296},
{"%s: error updating files\n", 294}, {"usage: %s [ -f | -s ] [ name ]\n", 297},
{"usage: %s [ -f | -s ] [ name ]\n", 295}, {" %s [ -x max ] [ -n min ] [ -w warn ] [ -i inact ] name\n", 298},
{" %s [ -x max ] [ -n min ] [ -w warn ] [ -i inact ] name\n", 296}, {" %s { -l | -u | -d | -S | -e } name\n", 299},
{" %s { -l | -u | -d | -S | -e } name\n", 297}, {"User %s has a TCFS key, his old password is required.\n", 300},
{"User %s has a TCFS key, his old password is required.\n", 298}, {"You can use -t option to force the change.\n", 301},
{"You can use -t option to force the change.\n", 299}, {"Old password: ", 302},
{"Old password:", 300}, {"Incorrect password for `%s'\n", 303},
{"Incorrect password for `%s'\n", 301}, {"Warning: user %s has a TCFS key.\n", 304},
{"Warning: user %s has a TCFS key.\n", 302},
{"\ {"\
Enter the new password (minimum of %d, maximum of %d characters)\n\ 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}, Please use a combination of upper and lower case letters and numbers.\n", 305},
{"New password:", 304}, {"New password: ", 306},
{"Try again.\n", 305}, {"Try again.\n", 307},
{"\ {"\
\n\ \n\
Warning: weak password (enter it again to use it anyway).\n", 306}, Warning: weak password (enter it again to use it anyway).\n", 308},
{"They don't match; try again.\n", 307}, {"They don't match; try again.\n", 309},
{"The password for %s cannot be changed.\n", 308}, {"The password for %s cannot be changed.\n", 310},
{"Sorry, the password for %s cannot be changed yet.\n", 309}, {"Sorry, the password for %s cannot be changed yet.\n", 311},
{"%s: out of memory\n", 310}, {"%s: out of memory\n", 312},
{"Cannot lock the TCFS key database; try again later\n", 311}, {"Cannot lock the TCFS key database; try again later\n", 313},
{"Cannot open the TCFS key database.\n", 312}, {"Cannot open the TCFS key database.\n", 314},
{"Error updating the TCFS key database.\n", 313}, {"Error updating the TCFS key database.\n", 315},
{"Cannot commit TCFS changes.\n", 314}, {"Cannot commit TCFS changes.\n", 316},
{"%s: Cannot execute %s", 315}, {"%s: Cannot execute %s", 317},
{"%s: repository %s not supported\n", 316}, {"%s: repository %s not supported\n", 318},
{"%s: Permission denied\n", 317}, {"%s: Permission denied\n", 319},
{"You may not change the password for %s.\n", 318}, {"You may not change the password for %s.\n", 320},
{"Changing password for %s\n", 319}, {"Changing password for %s\n", 321},
{"The password for %s is unchanged.\n", 320}, {"The password for %s is unchanged.\n", 322},
{"Password changed.\n", 321}, {"Password changed.\n", 323},
{"Usage: %s [ -qr ] [ passwd [ shadow ] ]\n", 322}, {"Usage: %s [ -qr ] [ passwd [ shadow ] ]\n", 324},
{"Usage: %s [ -qr ] [ passwd ]\n", 323}, {"Usage: %s [ -qr ] [ passwd ]\n", 325},
{"invalid password file entry\n", 324}, {"invalid password file entry\n", 326},
{"duplicate password entry\n", 325}, {"duplicate password entry\n", 327},
{"invalid user name `%s'\n", 326}, {"invalid user name `%s'\n", 328},
{"user %s: bad UID (%d)\n", 327}, {"user %s: bad UID (%d)\n", 329},
{"user %s: no group %d\n", 328}, {"user %s: no group %d\n", 330},
{"user %s: directory %s does not exist\n", 329}, {"user %s: directory %s does not exist\n", 331},
{"user %s: program %s does not exist\n", 330}, {"user %s: program %s does not exist\n", 332},
{"invalid shadow password file entry\n", 331}, {"invalid shadow password file entry\n", 333},
{"duplicate shadow password entry\n", 332}, {"duplicate shadow password entry\n", 334},
{"no matching password file entry\n", 333}, {"no matching password file entry\n", 335},
{"user %s: last password change in the future\n", 334}, {"user %s: last password change in the future\n", 336},
{"%s: can't lock passwd file\n", 335}, {"%s: can't lock passwd file\n", 337},
{"%s: can't open passwd file\n", 336}, {"%s: can't open passwd file\n", 338},
{"%s: can't remove shadow entry for %s\n", 337}, {"%s: can't remove shadow entry for %s\n", 339},
{"%s: can't update passwd entry for %s\n", 338}, {"%s: can't update passwd entry for %s\n", 340},
{"%s: can't update shadow file\n", 339}, {"%s: can't update shadow file\n", 341},
{"%s: can't update passwd file\n", 340}, {"%s: can't update passwd file\n", 342},
{"%s: Shadow passwords are not configured.\n", 341}, {"%s: Shadow passwords are not configured.\n", 343},
{"%s: can't update entry for user %s\n", 342}, {"%s: can't update entry for user %s\n", 344},
{"%s: can't delete shadow password file\n", 343}, {"%s: can't delete shadow password file\n", 345},
{"Sorry.", 344}, {"Sorry.", 346},
{"%s: must be run from a terminal\n", 345}, {"%s: must be run from a terminal\n", 347},
{"%s: pam_start: error %d\n", 346}, {"%s: pam_start: error %d\n", 348},
{"Unknown id: %s\n", 347}, {"Unknown id: %s\n", 349},
{"You are not authorized to su %s\n", 348}, {"You are not authorized to su %s\n", 350},
{"(Enter your own password.)", 349}, {"(Enter your own password.)", 351},
{"%s: permission denied (shell).\n", 350}, {"%s: permission denied (shell).\n", 352},
{"\ {"\
%s: %s\n\ %s: %s\n\
(Ignored)\n", 351}, (Ignored)\n", 353},
{"No shell\n", 352}, {"No shell\n", 354},
{"No password file\n", 353}, {"No password file\n", 355},
{"No password entry for 'root'\n", 354}, {"No password entry for 'root'\n", 356},
{"\ {"\
\n\ \n\
Type control-d to proceed with normal startup,\n\ Type control-d to proceed with normal startup,\n\
(or give root password for system maintenance):", 355}, (or give root password for system maintenance):", 357},
{"Entering System Maintenance Mode\n", 356}, {"Entering System Maintenance Mode\n", 358},
{"%s: rebuild the group database\n", 357}, {"%s: rebuild the group database\n", 359},
{"%s: rebuild the shadow group database\n", 358}, {"%s: rebuild the shadow group database\n", 360},
{"%s: invalid numeric argument `%s'\n", 359}, {"%s: invalid numeric argument `%s'\n", 361},
{"%s: unknown gid %s\n", 360}, {"%s: unknown gid %s\n", 362},
{"%s: unknown group %s\n", 361}, {"%s: unknown group %s\n", 363},
{"group=%s,%ld basedir=%s skel=%s\n", 362}, {"group=%s,%ld basedir=%s skel=%s\n", 364},
{"shell=%s ", 363}, {"shell=%s ", 365},
{"inactive=%ld expire=%s", 364}, {"inactive=%ld expire=%s", 366},
{"GROUP=%ld\n", 365}, {"GROUP=%ld\n", 367},
{"HOME=%s\n", 366}, {"HOME=%s\n", 368},
{"INACTIVE=%ld\n", 367}, {"INACTIVE=%ld\n", 369},
{"EXPIRE=%s\n", 368}, {"EXPIRE=%s\n", 370},
{"SHELL=%s\n", 369}, {"SHELL=%s\n", 371},
{"SKEL=%s\n", 370}, {"SKEL=%s\n", 372},
{"%s: cannot create new defaults file\n", 371}, {"%s: cannot create new defaults file\n", 373},
{"%s: rename: %s", 372}, {"%s: rename: %s", 374},
{"%s: group `%s' is a NIS group.\n", 373}, {"%s: group `%s' is a NIS group.\n", 375},
{"%s: too many groups specified (max %d).\n", 374}, {"%s: too many groups specified (max %d).\n", 376},
{"usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n", 375}, {"usage: %s\t[-u uid [-o]] [-g group] [-G group,...] \n", 377},
{"\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n", 376}, {"\t\t[-d home] [-s shell] [-c comment] [-m [-k template]]\n", 378},
{"[-f inactive] [-e expire ] ", 377}, {"[-f inactive] [-e expire ] ", 379},
{"[-A program] ", 378}, {"[-A program] ", 380},
{"[-p passwd] name\n", 379}, {"[-p passwd] name\n", 381},
{" %s\t-D [-g group] [-b base] [-s shell]\n", 380}, {" %s\t-D [-g group] [-b base] [-s shell]\n", 382},
{"\t\t[-f inactive] [-e expire ]\n", 381}, {"\t\t[-f inactive] [-e expire ]\n", 383},
{"%s: error locking group file\n", 382}, {"%s: error locking group file\n", 384},
{"%s: error opening group file\n", 383}, {"%s: error opening group file\n", 385},
{"%s: error locking shadow group file\n", 384}, {"%s: error locking shadow group file\n", 386},
{"%s: error opening shadow group file\n", 385}, {"%s: error opening shadow group file\n", 387},
{"%s: uid %d is not unique\n", 386}, {"%s: uid %d is not unique\n", 388},
{"%s: can't get unique uid\n", 387}, {"%s: can't get unique uid\n", 389},
{"%s: invalid field `%s'\n", 388}, {"%s: invalid field `%s'\n", 390},
{"%s: invalid base directory `%s'\n", 389}, {"%s: invalid base directory `%s'\n", 391},
{"%s: invalid comment `%s'\n", 390}, {"%s: invalid comment `%s'\n", 392},
{"%s: invalid home directory `%s'\n", 391}, {"%s: invalid home directory `%s'\n", 393},
{"%s: invalid date `%s'\n", 392}, {"%s: invalid date `%s'\n", 394},
{"%s: shadow passwords required for -e\n", 393}, {"%s: shadow passwords required for -e\n", 395},
{"%s: shadow passwords required for -f\n", 394}, {"%s: shadow passwords required for -f\n", 396},
{"%s: invalid shell `%s'\n", 395}, {"%s: invalid shell `%s'\n", 397},
{"%s: invalid user name `%s'\n", 396}, {"%s: invalid user name `%s'\n", 398},
{"%s: cannot rewrite password file\n", 397}, {"%s: cannot rewrite password file\n", 399},
{"%s: cannot rewrite shadow password file\n", 398}, {"%s: cannot rewrite shadow password file\n", 400},
{"%s: unable to lock password file\n", 399}, {"%s: unable to lock password file\n", 401},
{"%s: unable to open password file\n", 400}, {"%s: unable to open password file\n", 402},
{"%s: cannot lock shadow password file\n", 401}, {"%s: cannot lock shadow password file\n", 403},
{"%s: cannot open shadow password file\n", 402}, {"%s: cannot open shadow password file\n", 404},
{"%s: error adding authentication method\n", 403}, {"%s: error adding authentication method\n", 405},
{"%s: error adding new password entry\n", 404}, {"%s: error adding new password entry\n", 406},
{"%s: error updating password dbm entry\n", 405}, {"%s: error updating password dbm entry\n", 407},
{"%s: error adding new shadow password entry\n", 406}, {"%s: error adding new shadow password entry\n", 408},
{"%s: error updating shadow passwd dbm entry\n", 407}, {"%s: error updating shadow passwd dbm entry\n", 409},
{"%s: cannot create directory %s\n", 408}, {"%s: cannot create directory %s\n", 410},
{"%s: user %s exists\n", 409}, {"%s: user %s exists\n", 411},
{"%s: warning: CREATE_HOME not supported, please use -m instead.\n", 410}, {"%s: warning: CREATE_HOME not supported, please use -m instead.\n", 412},
{"usage: %s [-r] name\n", 411}, {"usage: %s [-r] name\n", 413},
{"%s: error updating group entry\n", 412}, {"%s: error updating group entry\n", 414},
{"%s: cannot update dbm group entry\n", 413}, {"%s: cannot update dbm group entry\n", 415},
{"%s: cannot rewrite TCFS key file\n", 414}, {"%s: cannot rewrite TCFS key file\n", 416},
{"%s: cannot lock TCFS key file\n", 415}, {"%s: cannot lock TCFS key file\n", 417},
{"%s: cannot open TCFS key file\n", 416}, {"%s: cannot open TCFS key file\n", 418},
{"%s: cannot open group file\n", 417}, {"%s: cannot open group file\n", 419},
{"%s: cannot open shadow group file\n", 418}, {"%s: cannot open shadow group file\n", 420},
{"%s: error deleting authentication\n", 419}, {"%s: error deleting authentication\n", 421},
{"%s: error deleting password entry\n", 420}, {"%s: error deleting password entry\n", 422},
{"%s: error deleting shadow password entry\n", 421}, {"%s: error deleting shadow password entry\n", 423},
{"%s: error deleting TCFS entry\n", 422}, {"%s: error deleting TCFS entry\n", 424},
{"%s: error deleting password dbm entry\n", 423}, {"%s: error deleting password dbm entry\n", 425},
{"%s: error deleting shadow passwd dbm entry\n", 424}, {"%s: error deleting shadow passwd dbm entry\n", 426},
{"%s: user %s is currently logged in\n", 425}, {"%s: user %s is currently logged in\n", 427},
{"%s: warning: %s not owned by %s, not removing\n", 426}, {"%s: warning: %s not owned by %s, not removing\n", 428},
{"%s: warning: can't remove ", 427}, {"%s: warning: can't remove ", 429},
{"%s: user %s does not exist\n", 428}, {"%s: user %s does not exist\n", 430},
{"%s: user %s is a NIS user\n", 429}, {"%s: user %s is a NIS user\n", 431},
{"%s: %s not owned by %s, not removing\n", 430}, {"%s: %s not owned by %s, not removing\n", 432},
{"%s: not removing directory %s (would remove home of user %s)\n", 431}, {"%s: not removing directory %s (would remove home of user %s)\n", 433},
{"%s: error removing directory %s\n", 432}, {"%s: error removing directory %s\n", 434},
{"\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n", 433}, {"\t\t[-d home [-m]] [-s shell] [-c comment] [-l new_name]\n", 435},
{"[-A {DEFAULT|program},... ] ", 434}, {"[-A {DEFAULT|program},... ] ", 436},
{"%s: out of memory in update_group\n", 435}, {"%s: out of memory in update_group\n", 437},
{"%s: out of memory in update_gshadow\n", 436}, {"%s: out of memory in update_gshadow\n", 438},
{"%s: no flags given\n", 437}, {"%s: no flags given\n", 439},
{"%s: shadow passwords required for -e and -f\n", 438}, {"%s: shadow passwords required for -e and -f\n", 440},
{"%s: uid %ld is not unique\n", 439}, {"%s: uid %ld is not unique\n", 441},
{"%s: error deleting authentication method\n", 440}, {"%s: error deleting authentication method\n", 442},
{"%s: error changing authentication method\n", 441}, {"%s: error changing authentication method\n", 443},
{"%s: error changing password entry\n", 442}, {"%s: error changing password entry\n", 444},
{"%s: error removing password entry\n", 443}, {"%s: error removing password entry\n", 445},
{"%s: error adding password dbm entry\n", 444}, {"%s: error adding password dbm entry\n", 446},
{"%s: error removing passwd dbm entry\n", 445}, {"%s: error removing passwd dbm entry\n", 447},
{"%s: error removing shadow password entry\n", 446}, {"%s: error removing shadow password entry\n", 448},
{"%s: error removing shadow passwd dbm entry\n", 447}, {"%s: error removing shadow passwd dbm entry\n", 449},
{"%s: directory %s exists\n", 448}, {"%s: directory %s exists\n", 450},
{"%s: can't create %s\n", 449}, {"%s: can't create %s\n", 451},
{"%s: can't chown %s\n", 450}, {"%s: can't chown %s\n", 452},
{"%s: cannot rename directory %s to %s\n", 451}, {"%s: cannot rename directory %s to %s\n", 453},
{"%s: warning: %s not owned by %s\n", 452}, {"%s: warning: %s not owned by %s\n", 454},
{"failed to change mailbox owner", 453}, {"failed to change mailbox owner", 455},
{"failed to rename mailbox", 454}, {"failed to rename mailbox", 456},
{"\ {"\
\n\ \n\
%s: %s is unchanged\n", 455}, %s: %s is unchanged\n", 457},
{"Couldn't lock file", 456}, {"Couldn't lock file", 458},
{"Couldn't make backup", 457}, {"Couldn't make backup", 459},
{"%s: can't restore %s: %s (your changes are in %s)\n", 458}, {"%s: can't restore %s: %s (your changes are in %s)\n", 460},
{"\ {"\
Usage:\n\ Usage:\n\
`vipw' edits /etc/passwd `vipw -s' edits /etc/shadow\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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Shadow 980726\n" "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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Nikos Mavroyanopoulos <nmav@i-net.paiko.gr>\n" "Last-Translator: Nikos Mavroyanopoulos <nmav@i-net.paiko.gr>\n"
"Language-Team: Hellenic <el@li.org>\n" "Language-Team: Hellenic <el@li.org>\n"
@ -83,7 +83,7 @@ msgstr "
msgid "failure" msgid "failure"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: libmisc/limits.c:365 #: libmisc/limits.c:397
msgid "Too many logins.\n" msgid "Too many logins.\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n"
@ -178,41 +178,49 @@ msgid "malloc(%d) failed\n"
msgstr "<22> <20><><EFBFBD><EFBFBD><EFBFBD> malloc(%d) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n" msgstr "<22> <20><><EFBFBD><EFBFBD><EFBFBD> malloc(%d) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
#: lib/dialchk.c:71 #: lib/dialchk.c:71
msgid "Dialup Password:" msgid "Dialup Password: "
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "
#: lib/getdef.c:247 #: lib/getdef.c:249
msgid "Could not allocate space for config info.\n" msgid "Could not allocate space for config info.\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n"
#. #.
#. * Item was never found. #. * Item was never found.
#. #.
#: lib/getdef.c:301 #: lib/getdef.c:303
#, c-format #, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n" msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "" msgstr ""
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '%s' (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> " "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '%s' (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> "
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)\n" "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)\n"
#: lib/getdef.c:388 #: lib/getdef.c:390
#, c-format #, c-format
msgid "error - lookup '%s' failed\n" msgid "error - lookup '%s' failed\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '%s' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '%s' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
#: lib/getdef.c:396 #: lib/getdef.c:398
#, c-format #, c-format
msgid "%s not found\n" msgid "%s not found\n"
msgstr "%s <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n" msgstr "%s <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\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: " msgid "Password: "
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: " msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "
#: lib/pwauth.c:56 #: lib/pwauth.c:56
#, c-format #, c-format
msgid "%s's Password:" msgid "%s's Password: "
msgstr "<22><><EFBFBD> %s <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" msgstr "<22><><EFBFBD> %s <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "
#: lib/pwauth.c:270
msgid "(Echo on) "
msgstr ""
#: lib/strerror.c:20 #: lib/strerror.c:20
#, c-format #, c-format
@ -304,7 +312,7 @@ msgstr "
msgid "Last Change:\t\t" msgid "Last Change:\t\t"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\t\t" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\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" msgid "Never\n"
msgstr "<22><><EFBFBD><EFBFBD>\n" msgstr "<22><><EFBFBD><EFBFBD>\n"
@ -317,12 +325,32 @@ msgstr "
msgid "Password Expires:\t" msgid "Password Expires:\t"
msgstr "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>:\t" msgstr "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>:\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 "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#.
#. * 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 "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>:\t"
#: src/chage.c:468 #: src/chage.c:468
#, c-format #, c-format
msgid "%s: do not include \"l\" with other flags\n" msgid "%s: do not include \"l\" with other flags\n"
msgstr "%s: <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> \"l\" <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n" msgstr "%s: <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> \"l\" <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\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 #, c-format
msgid "%s: permission denied\n" msgid "%s: permission denied\n"
msgstr "%s: <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n" msgstr "%s: <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
@ -632,12 +660,12 @@ msgid "Usage: %s [ -(a|d) ] shell\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>: %s [ -(ald) ] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>: %s [ -(ald) ] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
#: src/dpasswd.c:136 #: src/dpasswd.c:136
msgid "Shell password:" msgid "Shell password: "
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "
#: src/dpasswd.c:142 #: src/dpasswd.c:142
msgid "re-enter Shell password:" msgid "re-enter Shell password: "
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "
#: src/dpasswd.c:149 #: src/dpasswd.c:149
#, c-format #, c-format
@ -747,7 +775,7 @@ msgstr "%s:
msgid "Who are you?\n" msgid "Who are you?\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>;\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>;\n"
#: src/gpasswd.c:330 src/newgrp.c:241 #: src/gpasswd.c:330 src/newgrp.c:247
#, c-format #, c-format
msgid "unknown group: %s\n" msgid "unknown group: %s\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>: %s\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>: %s\n"
@ -785,12 +813,12 @@ msgid "Changing the password for group %s\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> %s\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> %s\n"
#: src/gpasswd.c:540 #: src/gpasswd.c:540
msgid "New Password:" msgid "New Password: "
msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "
#: src/gpasswd.c:545 src/passwd.c:424 #: src/gpasswd.c:545 src/passwd.c:424
msgid "Re-enter new password:" msgid "Re-enter new password: "
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "
#: src/gpasswd.c:557 #: src/gpasswd.c:557
msgid "They don't match; try again" msgid "They don't match; try again"
@ -1292,11 +1320,11 @@ msgstr " %s [-p] [-h
msgid " %s [-p] -r host\n" msgid " %s [-p] -r host\n"
msgstr " %s [-p] -r <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n" msgstr " %s [-p] -r <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
#: src/login.c:290 #: src/login.c:287
msgid "Invalid login time\n" msgid "Invalid login time\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
#: src/login.c:345 #: src/login.c:342
msgid "" msgid ""
"\n" "\n"
"System closed for routine maintenance\n" "System closed for routine maintenance\n"
@ -1304,7 +1332,7 @@ msgstr ""
"\n" "\n"
"<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n" "<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
#: src/login.c:355 #: src/login.c:352
msgid "" msgid ""
"\n" "\n"
"[Disconnect bypassed -- root login allowed.]\n" "[Disconnect bypassed -- root login allowed.]\n"
@ -1312,7 +1340,7 @@ msgstr ""
"\n" "\n"
"[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> root <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.]\n" "[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> -- <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> root <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.]\n"
#: src/login.c:394 #: src/login.c:391
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
@ -1321,17 +1349,17 @@ msgstr ""
"\n" "\n"
"<22> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> %d <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n" "<22> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> %d <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n"
#: src/login.c:695 #: src/login.c:692
#, c-format #, c-format
msgid " on `%.100s' from `%.200s'" msgid " on `%.100s' from `%.200s'"
msgstr " <20><><EFBFBD> `%.100s' <20><><EFBFBD> `%.200s'" msgstr " <20><><EFBFBD> `%.100s' <20><><EFBFBD> `%.200s'"
#: src/login.c:697 #: src/login.c:694
#, c-format #, c-format
msgid " on `%.100s'" msgid " on `%.100s'"
msgstr " <20><><EFBFBD> `%.100s'" msgstr " <20><><EFBFBD> `%.100s'"
#: src/login.c:810 #: src/login.c:807
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
@ -1340,35 +1368,35 @@ msgstr ""
"\n" "\n"
"%s login: " "%s login: "
#: src/login.c:812 #: src/login.c:809
msgid "login: " msgid "login: "
msgstr "login: " msgstr "login: "
#: src/login.c:994 src/sulogin.c:239 #: src/login.c:991 src/sulogin.c:233
msgid "Login incorrect" msgid "Login incorrect"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
#: src/login.c:1166 #: src/login.c:1163
msgid "Warning: login re-enabled after temporary lockout.\n" msgid "Warning: login re-enabled after temporary lockout.\n"
msgstr "" msgstr ""
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n" "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n"
#: src/login.c:1176 #: src/login.c:1173
#, c-format #, c-format
msgid "Last login: %s on %s" msgid "Last login: %s on %s"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %s <20><><EFBFBD> %s" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %s <20><><EFBFBD> %s"
#: src/login.c:1179 #: src/login.c:1176
#, c-format #, c-format
msgid "Last login: %.19s on %s" msgid "Last login: %.19s on %s"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %.19s <20><><EFBFBD> %s" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %.19s <20><><EFBFBD> %s"
#: src/login.c:1184 #: src/login.c:1181
#, c-format #, c-format
msgid " from %.*s" msgid " from %.*s"
msgstr " <20><><EFBFBD> %.*s" msgstr " <20><><EFBFBD> %.*s"
#: src/login.c:1249 #: src/login.c:1246
msgid "Starting rad_login\n" msgid "Starting rad_login\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> rad_login\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> rad_login\n"
@ -1433,7 +1461,8 @@ msgid "usage: newgrp [ - ] [ group ]\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>: newgrp [ - ] [ <20><><EFBFBD><EFBFBD><EFBFBD> ]\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>: newgrp [ - ] [ <20><><EFBFBD><EFBFBD><EFBFBD> ]\n"
#: src/newgrp.c:69 #: src/newgrp.c:69
msgid "usage: sg group [ command ]\n" #, fuzzy
msgid "usage: sg group [[-c] command ]\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>: sg <20><><EFBFBD><EFBFBD><EFBFBD> [ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ]\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD>: sg <20><><EFBFBD><EFBFBD><EFBFBD> [ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ]\n"
#: src/newgrp.c:122 #: src/newgrp.c:122
@ -1441,29 +1470,21 @@ msgstr "
msgid "unknown uid: %d\n" msgid "unknown uid: %d\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> uid: %d\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> uid: %d\n"
#: src/newgrp.c:190 #: src/newgrp.c:198
#, c-format #, c-format
msgid "unknown gid: %ld\n" msgid "unknown gid: %ld\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> gid: %ld\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> gid: %ld\n"
#: src/newgrp.c:236 #: src/newgrp.c:242
#, c-format #, c-format
msgid "unknown gid: %d\n" msgid "unknown gid: %d\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> gid: %d\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> gid: %d\n"
#. #: src/newgrp.c:315 src/newgrp.c:324
#. * get the password from her, and set the salt for
#. * the decryption from the group file.
#.
#: src/newgrp.c:291
msgid "Password:"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:"
#: src/newgrp.c:309 src/newgrp.c:318
msgid "Sorry.\n" msgid "Sorry.\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n"
#: src/newgrp.c:350 #: src/newgrp.c:356
msgid "too many groups\n" msgid "too many groups\n"
msgstr "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n" msgstr "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
@ -1560,8 +1581,8 @@ msgstr ""
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n" "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n"
#: src/passwd.c:356 #: src/passwd.c:356
msgid "Old password:" msgid "Old password: "
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "
#: src/passwd.c:363 #: src/passwd.c:363
#, c-format #, c-format
@ -1584,8 +1605,8 @@ msgstr ""
"<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n" "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n"
#: src/passwd.c:401 #: src/passwd.c:401
msgid "New password:" msgid "New password: "
msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: "
#: src/passwd.c:411 #: src/passwd.c:411
msgid "Try again.\n" msgid "Try again.\n"
@ -1853,14 +1874,14 @@ msgid "No shell\n"
msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n" msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
#. must be a password file! #. must be a password file!
#: src/sulogin.c:144 #: src/sulogin.c:138
msgid "No password file\n" msgid "No password file\n"
msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n" msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
#. #.
#. * Fail secure #. * Fail secure
#. #.
#: src/sulogin.c:186 #: src/sulogin.c:180
msgid "No password entry for 'root'\n" msgid "No password entry for 'root'\n"
msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> 'root'\n" msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> 'root'\n"
@ -1869,7 +1890,7 @@ msgstr "
#. * given we just exit. #. * given we just exit.
#. #.
#. get a password for root #. get a password for root
#: src/sulogin.c:200 #: src/sulogin.c:194
msgid "" msgid ""
"\n" "\n"
"Type control-d to proceed with normal startup,\n" "Type control-d to proceed with normal startup,\n"
@ -1880,7 +1901,7 @@ msgstr ""
"(<28> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> root <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>):" "(<28> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> root <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>):"
#. make new environment active #. make new environment active
#: src/sulogin.c:249 #: src/sulogin.c:243
msgid "Entering System Maintenance Mode\n" msgid "Entering System Maintenance Mode\n"
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n" msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: shadow-981228\n" "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" "PO-Revision-Date: 1999-03-02 22:29+01:00\n"
"Last-Translator: Arkadiusz Mi<4D>kiewicz <misiek@misiek.eu.org>\n" "Last-Translator: Arkadiusz Mi<4D>kiewicz <misiek@misiek.eu.org>\n"
"Language-Team: PL <pl@li.org>\n" "Language-Team: PL <pl@li.org>\n"
@ -84,7 +84,7 @@ msgstr "niepowodzenia"
msgid "failure" msgid "failure"
msgstr "niepowodzenie" msgstr "niepowodzenie"
#: libmisc/limits.c:365 #: libmisc/limits.c:397
msgid "Too many logins.\n" msgid "Too many logins.\n"
msgstr "Zbyt wiele otwartych sesji.\n" msgstr "Zbyt wiele otwartych sesji.\n"
@ -177,40 +177,48 @@ msgid "malloc(%d) failed\n"
msgstr "malloc(%d) nie powiod<6F>o si<73>\n" msgstr "malloc(%d) nie powiod<6F>o si<73>\n"
#: lib/dialchk.c:71 #: lib/dialchk.c:71
msgid "Dialup Password:" msgid "Dialup Password: "
msgstr "Has<61>o dost<73>pu modemowego:" msgstr "Has<61>o dost<73>pu modemowego: "
#: lib/getdef.c:247 #: lib/getdef.c:249
msgid "Could not allocate space for config info.\n" msgid "Could not allocate space for config info.\n"
msgstr "Nie mog<6F> przydzieli<6C> miejsca dla informacji o konfiguracji.\n" msgstr "Nie mog<6F> przydzieli<6C> miejsca dla informacji o konfiguracji.\n"
#. #.
#. * Item was never found. #. * Item was never found.
#. #.
#: lib/getdef.c:301 #: lib/getdef.c:303
#, c-format #, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n" msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "" msgstr ""
"b<><62>d w konfiguracji - nieznana pozycja '%s' (powiadom administratora)\n" "b<><62>d w konfiguracji - nieznana pozycja '%s' (powiadom administratora)\n"
#: lib/getdef.c:388 #: lib/getdef.c:390
#, c-format #, c-format
msgid "error - lookup '%s' failed\n" msgid "error - lookup '%s' failed\n"
msgstr "b<><62>d - wyszukiwanie '%s' niepowiod<6F>o si<73>\n" msgstr "b<><62>d - wyszukiwanie '%s' niepowiod<6F>o si<73>\n"
#: lib/getdef.c:396 #: lib/getdef.c:398
#, c-format #, c-format
msgid "%s not found\n" msgid "%s not found\n"
msgstr "%s nie znaleziony\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: " msgid "Password: "
msgstr "Has<61>o: " msgstr "Has<61>o: "
#: lib/pwauth.c:56 #: lib/pwauth.c:56
#, c-format #, c-format
msgid "%s's Password:" msgid "%s's Password: "
msgstr "Has<61>o u<>ytkownika %s:" msgstr "Has<61>o u<>ytkownika %s: "
#: lib/pwauth.c:270
msgid "(Echo on) "
msgstr ""
#: lib/strerror.c:20 #: lib/strerror.c:20
#, c-format #, c-format
@ -276,7 +284,7 @@ msgstr "Data utraty wa
#: src/chage.c:266 #: src/chage.c:266
#, c-format #, c-format
msgid "Minimum:\t%ld\n" msgid "Minimum:\t%ld\n"
msgstr "Minimum:\\t%ld\n" msgstr "Minimum:\t%ld\n"
#: src/chage.c:267 #: src/chage.c:267
#, c-format #, c-format
@ -302,7 +310,7 @@ msgstr "Nieaktywne:\t%ld\n"
msgid "Last Change:\t\t" msgid "Last Change:\t\t"
msgstr "Ostatnia zmiana:\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" msgid "Never\n"
msgstr "Nigdy\n" msgstr "Nigdy\n"
@ -315,12 +323,32 @@ msgstr "Nigdy\n"
msgid "Password Expires:\t" msgid "Password Expires:\t"
msgstr "Has<61>o traci wa<77>no<6E><6F>:\t" msgstr "Has<61>o traci wa<77>no<6E><6F>:\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<61>o 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<61>o traci wa<77>no<6E><6F>:\t"
#: src/chage.c:468 #: src/chage.c:468
#, c-format #, c-format
msgid "%s: do not include \"l\" with other flags\n" msgid "%s: do not include \"l\" with other flags\n"
msgstr "%s: nie <20><>cz \"l\" z innymi flagami\n" msgstr "%s: nie <20><>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 #, c-format
msgid "%s: permission denied\n" msgid "%s: permission denied\n"
msgstr "%s: odmowa dost<73>pu\n" msgstr "%s: odmowa dost<73>pu\n"
@ -628,12 +656,12 @@ msgid "Usage: %s [ -(a|d) ] shell\n"
msgstr "U<>ycie: %s [ -(a|d) ] pow<6F>oka\n" msgstr "U<>ycie: %s [ -(a|d) ] pow<6F>oka\n"
#: src/dpasswd.c:136 #: src/dpasswd.c:136
msgid "Shell password:" msgid "Shell password: "
msgstr "Has<61>o pow<6F>oki:" msgstr "Has<61>o pow<6F>oki: "
#: src/dpasswd.c:142 #: src/dpasswd.c:142
msgid "re-enter Shell password:" msgid "re-enter Shell password: "
msgstr "Wpisz ponownie has<61>o pow<6F>oki:" msgstr "Wpisz ponownie has<61>o pow<6F>oki: "
#: src/dpasswd.c:149 #: src/dpasswd.c:149
#, c-format #, c-format
@ -741,7 +769,7 @@ msgstr "%s: plik z ukrytymi has
msgid "Who are you?\n" msgid "Who are you?\n"
msgstr "Kim jeste<74>?\n" msgstr "Kim jeste<74>?\n"
#: src/gpasswd.c:330 src/newgrp.c:241 #: src/gpasswd.c:330 src/newgrp.c:247
#, c-format #, c-format
msgid "unknown group: %s\n" msgid "unknown group: %s\n"
msgstr "nieznana grupa: %s\n" msgstr "nieznana grupa: %s\n"
@ -779,12 +807,12 @@ msgid "Changing the password for group %s\n"
msgstr "Zmieniam has<61>o dla grupy %s\n" msgstr "Zmieniam has<61>o dla grupy %s\n"
#: src/gpasswd.c:540 #: src/gpasswd.c:540
msgid "New Password:" msgid "New Password: "
msgstr "Nowe has<61>o:" msgstr "Nowe has<61>o: "
#: src/gpasswd.c:545 src/passwd.c:424 #: src/gpasswd.c:545 src/passwd.c:424
msgid "Re-enter new password:" msgid "Re-enter new password: "
msgstr "Wpisz has<61>o ponownie:" msgstr "Wpisz has<61>o ponownie: "
#: src/gpasswd.c:557 #: src/gpasswd.c:557
msgid "They don't match; try again" 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" msgid " %s [-p] -r host\n"
msgstr " %s [-p] -r host\n" msgstr " %s [-p] -r host\n"
#: src/login.c:290 #: src/login.c:287
msgid "Invalid login time\n" msgid "Invalid login time\n"
msgstr "Nieprawid<69>owy czas logowania\n" msgstr "Nieprawid<69>owy czas logowania\n"
#: src/login.c:345 #: src/login.c:342
msgid "" msgid ""
"\n" "\n"
"System closed for routine maintenance\n" "System closed for routine maintenance\n"
@ -1287,7 +1315,7 @@ msgstr ""
"\n" "\n"
"System zamkni<6E>ty do rutynowej konserwacji.\n" "System zamkni<6E>ty do rutynowej konserwacji.\n"
#: src/login.c:355 #: src/login.c:352
msgid "" msgid ""
"\n" "\n"
"[Disconnect bypassed -- root login allowed.]\n" "[Disconnect bypassed -- root login allowed.]\n"
@ -1295,7 +1323,7 @@ msgstr ""
"\n" "\n"
"[Roz<6F><7A>czenie pomini<6E>te -- zezwolenie na logowanie si<73> root-a.]\n" "[Roz<6F><7A>czenie pomini<6E>te -- zezwolenie na logowanie si<73> root-a.]\n"
#: src/login.c:394 #: src/login.c:391
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
@ -1304,17 +1332,17 @@ msgstr ""
"\n" "\n"
"Limit czasu logowania przekroczony po %d sekundach.\n" "Limit czasu logowania przekroczony po %d sekundach.\n"
#: src/login.c:695 #: src/login.c:692
#, c-format #, c-format
msgid " on `%.100s' from `%.200s'" msgid " on `%.100s' from `%.200s'"
msgstr " na `%s.100s' z `%.200s'" msgstr " na `%s.100s' z `%.200s'"
#: src/login.c:697 #: src/login.c:694
#, c-format #, c-format
msgid " on `%.100s'" msgid " on `%.100s'"
msgstr " na `%.100s'" msgstr " na `%.100s'"
#: src/login.c:810 #: src/login.c:807
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
@ -1323,34 +1351,34 @@ msgstr ""
"\n" "\n"
"%s login: " "%s login: "
#: src/login.c:812 #: src/login.c:809
msgid "login: " msgid "login: "
msgstr "login: " msgstr "login: "
#: src/login.c:994 src/sulogin.c:239 #: src/login.c:991 src/sulogin.c:233
msgid "Login incorrect" msgid "Login incorrect"
msgstr "Nieprawid<69>owe logowanie" msgstr "Nieprawid<69>owe logowanie"
#: src/login.c:1166 #: src/login.c:1163
msgid "Warning: login re-enabled after temporary lockout.\n" msgid "Warning: login re-enabled after temporary lockout.\n"
msgstr "Ostrze<7A>enie: logowanie ponownie odblokowanie po czasowej blokadzie.\n" msgstr "Ostrze<7A>enie: logowanie ponownie odblokowanie po czasowej blokadzie.\n"
#: src/login.c:1176 #: src/login.c:1173
#, c-format #, c-format
msgid "Last login: %s on %s" msgid "Last login: %s on %s"
msgstr "Ostatnie logowanie: %s na %s" msgstr "Ostatnie logowanie: %s na %s"
#: src/login.c:1179 #: src/login.c:1176
#, c-format #, c-format
msgid "Last login: %.19s on %s" msgid "Last login: %.19s on %s"
msgstr "Ostatnie logowanie: %s na %s" msgstr "Ostatnie logowanie: %s na %s"
#: src/login.c:1184 #: src/login.c:1181
#, c-format #, c-format
msgid " from %.*s" msgid " from %.*s"
msgstr " z %.*s" msgstr " z %.*s"
#: src/login.c:1249 #: src/login.c:1246
msgid "Starting rad_login\n" msgid "Starting rad_login\n"
msgstr "Startuj<75> rad_login\n" msgstr "Startuj<75> rad_login\n"
@ -1414,7 +1442,8 @@ msgid "usage: newgrp [ - ] [ group ]\n"
msgstr "u<>ycie: newgrp [ - ] [ grupa ]\n" msgstr "u<>ycie: newgrp [ - ] [ grupa ]\n"
#: src/newgrp.c:69 #: 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" msgstr "u<>ycie: sg grupa [ komenda ]\n"
#: src/newgrp.c:122 #: src/newgrp.c:122
@ -1422,29 +1451,21 @@ msgstr "u
msgid "unknown uid: %d\n" msgid "unknown uid: %d\n"
msgstr "nieznany uid: %d\n" msgstr "nieznany uid: %d\n"
#: src/newgrp.c:190 #: src/newgrp.c:198
#, c-format #, c-format
msgid "unknown gid: %ld\n" msgid "unknown gid: %ld\n"
msgstr "nieznany gid: %ld\n" msgstr "nieznany gid: %ld\n"
#: src/newgrp.c:236 #: src/newgrp.c:242
#, c-format #, c-format
msgid "unknown gid: %d\n" msgid "unknown gid: %d\n"
msgstr "nieznany gid: %d\n" msgstr "nieznany gid: %d\n"
#. #: src/newgrp.c:315 src/newgrp.c:324
#. * get the password from her, and set the salt for
#. * the decryption from the group file.
#.
#: src/newgrp.c:291
msgid "Password:"
msgstr "Has<61>o:"
#: src/newgrp.c:309 src/newgrp.c:318
msgid "Sorry.\n" msgid "Sorry.\n"
msgstr "Wybacz.\n" msgstr "Wybacz.\n"
#: src/newgrp.c:350 #: src/newgrp.c:356
msgid "too many groups\n" msgid "too many groups\n"
msgstr "zbyt wiele grup\n" msgstr "zbyt wiele grup\n"
@ -1538,8 +1559,8 @@ msgid "You can use -t option to force the change.\n"
msgstr "Nie mo<6D>esz u<>ywa<77> opcji -t by wymusi<73> zmian<61>.\n" msgstr "Nie mo<6D>esz u<>ywa<77> opcji -t by wymusi<73> zmian<61>.\n"
#: src/passwd.c:356 #: src/passwd.c:356
msgid "Old password:" msgid "Old password: "
msgstr "Stare has<61>o:" msgstr "Stare has<61>o: "
#: src/passwd.c:363 #: src/passwd.c:363
#, c-format #, c-format
@ -1561,8 +1582,8 @@ msgstr ""
"Prosz<73> u<>yj kombinacji wielkich i ma<6D>ych znak<61>w oraz cyfr.\n" "Prosz<73> u<>yj kombinacji wielkich i ma<6D>ych znak<61>w oraz cyfr.\n"
#: src/passwd.c:401 #: src/passwd.c:401
msgid "New password:" msgid "New password: "
msgstr "Nowe has<61>o:" msgstr "Nowe has<61>o: "
#: src/passwd.c:411 #: src/passwd.c:411
msgid "Try again.\n" msgid "Try again.\n"
@ -1828,14 +1849,14 @@ msgid "No shell\n"
msgstr "Brak pow<6F>oki\n" msgstr "Brak pow<6F>oki\n"
#. must be a password file! #. must be a password file!
#: src/sulogin.c:144 #: src/sulogin.c:138
msgid "No password file\n" msgid "No password file\n"
msgstr "Brak pliku z has<61>ami\n" msgstr "Brak pliku z has<61>ami\n"
#. #.
#. * Fail secure #. * Fail secure
#. #.
#: src/sulogin.c:186 #: src/sulogin.c:180
msgid "No password entry for 'root'\n" msgid "No password entry for 'root'\n"
msgstr "Brak wpisu do bazy hase<73> dla 'root'\n" msgstr "Brak wpisu do bazy hase<73> dla 'root'\n"
@ -1844,7 +1865,7 @@ msgstr "Brak wpisu do bazy hase
#. * given we just exit. #. * given we just exit.
#. #.
#. get a password for root #. get a password for root
#: src/sulogin.c:200 #: src/sulogin.c:194
msgid "" msgid ""
"\n" "\n"
"Type control-d to proceed with normal startup,\n" "Type control-d to proceed with normal startup,\n"
@ -1855,7 +1876,7 @@ msgstr ""
"(lub podaj has<61>o root-a by przej<65><6A> do trybu utrzymania systemu):" "(lub podaj has<61>o root-a by przej<65><6A> do trybu utrzymania systemu):"
#. make new environment active #. make new environment active
#: src/sulogin.c:249 #: src/sulogin.c:243
msgid "Entering System Maintenance Mode\n" msgid "Entering System Maintenance Mode\n"
msgstr "Wchodz<64> w tryb utrzymania systemu\n" msgstr "Wchodz<64> w tryb utrzymania systemu\n"

View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -83,7 +83,7 @@ msgstr ""
msgid "failure" msgid "failure"
msgstr "" msgstr ""
#: libmisc/limits.c:365 #: libmisc/limits.c:397
msgid "Too many logins.\n" msgid "Too many logins.\n"
msgstr "" msgstr ""
@ -176,38 +176,46 @@ msgid "malloc(%d) failed\n"
msgstr "" msgstr ""
#: lib/dialchk.c:71 #: lib/dialchk.c:71
msgid "Dialup Password:" msgid "Dialup Password: "
msgstr "" msgstr ""
#: lib/getdef.c:247 #: lib/getdef.c:249
msgid "Could not allocate space for config info.\n" msgid "Could not allocate space for config info.\n"
msgstr "" msgstr ""
#. #.
#. * Item was never found. #. * Item was never found.
#. #.
#: lib/getdef.c:301 #: lib/getdef.c:303
#, c-format #, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n" msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "" msgstr ""
#: lib/getdef.c:388 #: lib/getdef.c:390
#, c-format #, c-format
msgid "error - lookup '%s' failed\n" msgid "error - lookup '%s' failed\n"
msgstr "" msgstr ""
#: lib/getdef.c:396 #: lib/getdef.c:398
#, c-format #, c-format
msgid "%s not found\n" msgid "%s not found\n"
msgstr "" 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: " msgid "Password: "
msgstr "" msgstr ""
#: lib/pwauth.c:56 #: lib/pwauth.c:56
#, c-format #, c-format
msgid "%s's Password:" msgid "%s's Password: "
msgstr ""
#: lib/pwauth.c:270
msgid "(Echo on) "
msgstr "" msgstr ""
#: lib/strerror.c:20 #: lib/strerror.c:20
@ -294,7 +302,7 @@ msgstr ""
msgid "Last Change:\t\t" msgid "Last Change:\t\t"
msgstr "" 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" msgid "Never\n"
msgstr "" msgstr ""
@ -307,12 +315,30 @@ msgstr ""
msgid "Password Expires:\t" msgid "Password Expires:\t"
msgstr "" 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 #: src/chage.c:468
#, c-format #, c-format
msgid "%s: do not include \"l\" with other flags\n" msgid "%s: do not include \"l\" with other flags\n"
msgstr "" 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 #, c-format
msgid "%s: permission denied\n" msgid "%s: permission denied\n"
msgstr "" msgstr ""
@ -616,11 +642,11 @@ msgid "Usage: %s [ -(a|d) ] shell\n"
msgstr "" msgstr ""
#: src/dpasswd.c:136 #: src/dpasswd.c:136
msgid "Shell password:" msgid "Shell password: "
msgstr "" msgstr ""
#: src/dpasswd.c:142 #: src/dpasswd.c:142
msgid "re-enter Shell password:" msgid "re-enter Shell password: "
msgstr "" msgstr ""
#: src/dpasswd.c:149 #: src/dpasswd.c:149
@ -729,7 +755,7 @@ msgstr ""
msgid "Who are you?\n" msgid "Who are you?\n"
msgstr "" msgstr ""
#: src/gpasswd.c:330 src/newgrp.c:241 #: src/gpasswd.c:330 src/newgrp.c:247
#, c-format #, c-format
msgid "unknown group: %s\n" msgid "unknown group: %s\n"
msgstr "" msgstr ""
@ -767,11 +793,11 @@ msgid "Changing the password for group %s\n"
msgstr "" msgstr ""
#: src/gpasswd.c:540 #: src/gpasswd.c:540
msgid "New Password:" msgid "New Password: "
msgstr "" msgstr ""
#: src/gpasswd.c:545 src/passwd.c:424 #: src/gpasswd.c:545 src/passwd.c:424
msgid "Re-enter new password:" msgid "Re-enter new password: "
msgstr "" msgstr ""
#: src/gpasswd.c:557 #: src/gpasswd.c:557
@ -1263,74 +1289,74 @@ msgstr ""
msgid " %s [-p] -r host\n" msgid " %s [-p] -r host\n"
msgstr "" msgstr ""
#: src/login.c:290 #: src/login.c:287
msgid "Invalid login time\n" msgid "Invalid login time\n"
msgstr "" msgstr ""
#: src/login.c:345 #: src/login.c:342
msgid "" msgid ""
"\n" "\n"
"System closed for routine maintenance\n" "System closed for routine maintenance\n"
msgstr "" msgstr ""
#: src/login.c:355 #: src/login.c:352
msgid "" msgid ""
"\n" "\n"
"[Disconnect bypassed -- root login allowed.]\n" "[Disconnect bypassed -- root login allowed.]\n"
msgstr "" msgstr ""
#: src/login.c:394 #: src/login.c:391
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
"Login timed out after %d seconds.\n" "Login timed out after %d seconds.\n"
msgstr "" msgstr ""
#: src/login.c:695 #: src/login.c:692
#, c-format #, c-format
msgid " on `%.100s' from `%.200s'" msgid " on `%.100s' from `%.200s'"
msgstr "" msgstr ""
#: src/login.c:697 #: src/login.c:694
#, c-format #, c-format
msgid " on `%.100s'" msgid " on `%.100s'"
msgstr "" msgstr ""
#: src/login.c:810 #: src/login.c:807
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
"%s login: " "%s login: "
msgstr "" msgstr ""
#: src/login.c:812 #: src/login.c:809
msgid "login: " msgid "login: "
msgstr "" msgstr ""
#: src/login.c:994 src/sulogin.c:239 #: src/login.c:991 src/sulogin.c:233
msgid "Login incorrect" msgid "Login incorrect"
msgstr "" msgstr ""
#: src/login.c:1166 #: src/login.c:1163
msgid "Warning: login re-enabled after temporary lockout.\n" msgid "Warning: login re-enabled after temporary lockout.\n"
msgstr "" msgstr ""
#: src/login.c:1176 #: src/login.c:1173
#, c-format #, c-format
msgid "Last login: %s on %s" msgid "Last login: %s on %s"
msgstr "" msgstr ""
#: src/login.c:1179 #: src/login.c:1176
#, c-format #, c-format
msgid "Last login: %.19s on %s" msgid "Last login: %.19s on %s"
msgstr "" msgstr ""
#: src/login.c:1184 #: src/login.c:1181
#, c-format #, c-format
msgid " from %.*s" msgid " from %.*s"
msgstr "" msgstr ""
#: src/login.c:1249 #: src/login.c:1246
msgid "Starting rad_login\n" msgid "Starting rad_login\n"
msgstr "" msgstr ""
@ -1393,7 +1419,7 @@ msgid "usage: newgrp [ - ] [ group ]\n"
msgstr "" msgstr ""
#: src/newgrp.c:69 #: src/newgrp.c:69
msgid "usage: sg group [ command ]\n" msgid "usage: sg group [[-c] command ]\n"
msgstr "" msgstr ""
#: src/newgrp.c:122 #: src/newgrp.c:122
@ -1401,29 +1427,21 @@ msgstr ""
msgid "unknown uid: %d\n" msgid "unknown uid: %d\n"
msgstr "" msgstr ""
#: src/newgrp.c:190 #: src/newgrp.c:198
#, c-format #, c-format
msgid "unknown gid: %ld\n" msgid "unknown gid: %ld\n"
msgstr "" msgstr ""
#: src/newgrp.c:236 #: src/newgrp.c:242
#, c-format #, c-format
msgid "unknown gid: %d\n" msgid "unknown gid: %d\n"
msgstr "" msgstr ""
#. #: src/newgrp.c:315 src/newgrp.c:324
#. * 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
msgid "Sorry.\n" msgid "Sorry.\n"
msgstr "" msgstr ""
#: src/newgrp.c:350 #: src/newgrp.c:356
msgid "too many groups\n" msgid "too many groups\n"
msgstr "" msgstr ""
@ -1517,7 +1535,7 @@ msgid "You can use -t option to force the change.\n"
msgstr "" msgstr ""
#: src/passwd.c:356 #: src/passwd.c:356
msgid "Old password:" msgid "Old password: "
msgstr "" msgstr ""
#: src/passwd.c:363 #: src/passwd.c:363
@ -1538,7 +1556,7 @@ msgid ""
msgstr "" msgstr ""
#: src/passwd.c:401 #: src/passwd.c:401
msgid "New password:" msgid "New password: "
msgstr "" msgstr ""
#: src/passwd.c:411 #: src/passwd.c:411
@ -1801,14 +1819,14 @@ msgid "No shell\n"
msgstr "" msgstr ""
#. must be a password file! #. must be a password file!
#: src/sulogin.c:144 #: src/sulogin.c:138
msgid "No password file\n" msgid "No password file\n"
msgstr "" msgstr ""
#. #.
#. * Fail secure #. * Fail secure
#. #.
#: src/sulogin.c:186 #: src/sulogin.c:180
msgid "No password entry for 'root'\n" msgid "No password entry for 'root'\n"
msgstr "" msgstr ""
@ -1817,7 +1835,7 @@ msgstr ""
#. * given we just exit. #. * given we just exit.
#. #.
#. get a password for root #. get a password for root
#: src/sulogin.c:200 #: src/sulogin.c:194
msgid "" msgid ""
"\n" "\n"
"Type control-d to proceed with normal startup,\n" "Type control-d to proceed with normal startup,\n"
@ -1825,7 +1843,7 @@ msgid ""
msgstr "" msgstr ""
#. make new environment active #. make new environment active
#: src/sulogin.c:249 #: src/sulogin.c:243
msgid "Entering System Maintenance Mode\n" msgid "Entering System Maintenance Mode\n"
msgstr "" 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # 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' # and also cooperate to make a distribution for `make dist'
SHELL = /bin/sh SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
@ -35,7 +35,7 @@ mandir = @mandir@
includedir = @includedir@ includedir = @includedir@
oldincludedir = /usr/include oldincludedir = /usr/include
DISTDIR = DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@ -49,7 +49,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
@ -62,11 +62,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
@ -90,6 +92,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
NM = @NM@ NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@ -101,11 +104,8 @@ VERSION = @VERSION@
YACC = @YACC@ YACC = @YACC@
l = @l@ l = @l@
EXTRA_DIST = README shadow-utils.spec shadow-utils.spec.in \ 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
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 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES = shadow-utils.spec CONFIG_CLEAN_FILES = shadow-utils.spec
@ -115,11 +115,10 @@ DIST_COMMON = README Makefile.am Makefile.in shadow-utils.spec.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar TAR = tar
GZIP = --best GZIP_ENV = --best
all: Makefile all: all-redirect
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps redhat/Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps redhat/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@ -127,7 +126,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
shadow-utils.spec: $(top_builddir)/config.status shadow-utils.spec.in 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: TAGS
TAGS: TAGS:
@ -139,61 +138,74 @@ subdir = redhat
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
d=$(srcdir); \ d=$(srcdir); \
test -f $(distdir)/$$file \ if test -d $$d/$$file; then \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ cp -pr $$/$$file $(distdir)/$$file; \
|| cp -p $$d/$$file $(distdir)/$$file; \ else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done done
info: info-am:
dvi: info: info-am
check: all dvi-am:
$(MAKE) dvi: dvi-am
installcheck: check-am: all-am
install-exec: check: check-am
@$(NORMAL_INSTALL) installcheck-am:
installcheck: installcheck-am
install-exec-am:
install-exec: install-exec-am
install-data: install-data-am:
@$(NORMAL_INSTALL) install-data: install-data-am
install: install-exec install-data all
@:
uninstall:
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: install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs:
mostlyclean-generic: mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]* -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: maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) mostlyclean-am: mostlyclean-generic
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-generic
clean: clean-generic mostlyclean mostlyclean: mostlyclean-am
distclean: distclean-generic clean clean-am: clean-generic mostlyclean-am
-rm -f config.status
clean: clean-am
distclean-am: distclean-generic clean-am
-rm -f libtool -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 "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
.PHONY: tags distdir info dvi installcheck install-exec install-data \ maintainer-clean: maintainer-clean-am
install uninstall all installdirs mostlyclean-generic distclean-generic \
clean-generic maintainer-clean-generic clean mostlyclean distclean \ .PHONY: tags distdir info-am info dvi-am dvi check check-am \
maintainer-clean 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. # 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 $ # $Id: shadow-utils.spec.in,v 1.2 1999/06/07 16:40:45 marekm Exp $
Summary: Shadow password file utilities for Linux Summary: Shadow password file utilities for Linux
Name: shadow-utils Name: shadow-utils
Version: 19990709 Version: 19990827
Release: 1 Release: 1
Copyright: Free Copyright: Free
Group: Utilities/System 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 BuildRoot: /var/tmp/shadow-utils
Packager: Timo Karjalainen <timok@iki.fi> Packager: Timo Karjalainen <timok@iki.fi>
# Obsoletes: adduser # Obsoletes: adduser
@ -38,7 +38,7 @@ and shadow passwords in general.
%prep %prep
# This is just a few of the core utilities from the shadow suite... # This is just a few of the core utilities from the shadow suite...
# packaged up for use w/PAM # packaged up for use w/PAM
%setup -n shadow-19990709 %setup -n shadow-19990827
%build %build
# shared lib support is untested, so... # 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 # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -11,7 +11,7 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
SHELL = /bin/sh SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
@ -29,7 +29,7 @@ mandir = @mandir@
includedir = @includedir@ includedir = @includedir@
oldincludedir = /usr/include oldincludedir = /usr/include
DISTDIR = DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
@ -43,7 +43,7 @@ AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@ transform = @program_transform_name@
@ -56,11 +56,13 @@ PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
host_alias = @host_alias@ host_alias = @host_alias@
host_triplet = @host@ host_triplet = @host@
AS = @AS@
CATALOGS = @CATALOGS@ CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@ CATOBJEXT = @CATOBJEXT@
CC = @CC@ CC = @CC@
CPP = @CPP@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@ DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GMOFILES = @GMOFILES@ GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@ GMSGFMT = @GMSGFMT@
@ -84,6 +86,7 @@ MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@ MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@ MSGFMT = @MSGFMT@
NM = @NM@ NM = @NM@
OBJDUMP = @OBJDUMP@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
POFILES = @POFILES@ POFILES = @POFILES@
POSUB = @POSUB@ POSUB = @POSUB@
@ -121,14 +124,12 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" -I. -I$(srcdir) -I.. @DEFS@
# and installation would be much simpler (just two directories, # and installation would be much simpler (just two directories,
# $prefix/bin and $prefix/sbin, no install-data hacks...) # $prefix/bin and $prefix/sbin, no install-data hacks...)
bin_PROGRAMS = login \ bin_PROGRAMS = login su
su
ubin_PROGRAMS = faillog lastlog \ ubin_PROGRAMS = faillog lastlog chage chfn chsh expiry gpasswd newgrp passwd
chage chfn chsh expiry gpasswd newgrp passwd
usbin_PROGRAMS = chpasswd dpasswd groupadd groupdel groupmod \ usbin_PROGRAMS = chpasswd dpasswd groupadd groupdel groupmod logoutd mkpasswd newusers useradd userdel usermod grpck pwck vipw grpconv grpunconv pwconv pwunconv
logoutd mkpasswd newusers \
useradd userdel usermod grpck pwck vipw \
grpconv grpunconv pwconv pwunconv
EXTRA_DIST = shadowconfig.sh EXTRA_DIST = shadowconfig.sh
@ -368,9 +369,10 @@ pwunconv_DEPENDENCIES = ../lib/libshadow.la ../libmisc/libmisc.a \
../lib/libshadow.a ../lib/libshadow.a
pwunconv_LDFLAGS = pwunconv_LDFLAGS =
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@ CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
HEADERS = $(noinst_HEADERS) HEADERS = $(noinst_HEADERS)
DIST_COMMON = Makefile.am Makefile.in DIST_COMMON = Makefile.am Makefile.in
@ -379,15 +381,14 @@ DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar 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 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 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:
.SUFFIXES: .S .c .lo .o .s .SUFFIXES: .S .c .lo .o .s
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps src/Makefile cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps src/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@ -409,15 +410,15 @@ install-binPROGRAMS: $(bin_PROGRAMS)
$(mkinstalldirs) $(DESTDIR)$(bindir) $(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(bin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \ if test -f $$p; then \
echo " $(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 '$(transform)'`; \ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \ else :; fi; \
done done
uninstall-binPROGRAMS: uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
list='$(bin_PROGRAMS)'; for p in $$list; do \ 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 done
mostlyclean-noinstPROGRAMS: mostlyclean-noinstPROGRAMS:
@ -443,15 +444,15 @@ install-ubinPROGRAMS: $(ubin_PROGRAMS)
$(mkinstalldirs) $(DESTDIR)$(ubindir) $(mkinstalldirs) $(DESTDIR)$(ubindir)
@list='$(ubin_PROGRAMS)'; for p in $$list; do \ @list='$(ubin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \ if test -f $$p; then \
echo " $(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 '$(transform)'`; \ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(ubindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \ else :; fi; \
done done
uninstall-ubinPROGRAMS: uninstall-ubinPROGRAMS:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
list='$(ubin_PROGRAMS)'; for p in $$list; do \ 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 done
mostlyclean-usbinPROGRAMS: mostlyclean-usbinPROGRAMS:
@ -468,15 +469,15 @@ install-usbinPROGRAMS: $(usbin_PROGRAMS)
$(mkinstalldirs) $(DESTDIR)$(usbindir) $(mkinstalldirs) $(DESTDIR)$(usbindir)
@list='$(usbin_PROGRAMS)'; for p in $$list; do \ @list='$(usbin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \ if test -f $$p; then \
echo " $(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 '$(transform)'`; \ $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(usbindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \ else :; fi; \
done done
uninstall-usbinPROGRAMS: uninstall-usbinPROGRAMS:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
list='$(usbin_PROGRAMS)'; for p in $$list; do \ 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 done
.c.o: .c.o:
@ -648,8 +649,12 @@ pwunconv: $(pwunconv_OBJECTS) $(pwunconv_DEPENDENCIES)
tags: TAGS tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) 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) \ here=`pwd` && cd $(srcdir) \
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) && mkid -f$$here/ID $$unique $(LISP)
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP) TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
tags=; \ tags=; \
@ -677,9 +682,13 @@ subdir = src
distdir: $(DISTFILES) distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
d=$(srcdir); \ d=$(srcdir); \
test -f $(distdir)/$$file \ if test -d $$d/$$file; then \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ cp -pr $$/$$file $(distdir)/$$file; \
|| cp -p $$d/$$file $(distdir)/$$file; \ else \
test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done done
chage.o: chage.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \ chage.o: chage.c ../config.h ../lib/rcsid.h ../lib/prototypes.h \
../lib/defines.h ../lib/gshadow_.h ../lib/pwio.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/gshadow_.h ../lib/prototypes.h ../lib/pwio.h \
../lib/shadowio.h ../lib/groupio.h ../lib/sgroupio.h ../lib/shadowio.h ../lib/groupio.h ../lib/sgroupio.h
info: info-am:
dvi: info: info-am
check: all dvi-am:
$(MAKE) dvi: dvi-am
installcheck: check-am: all-am
install-exec: install-binPROGRAMS check: check-am
installcheck-am:
installcheck: installcheck-am
install-exec-am: install-binPROGRAMS
@$(NORMAL_INSTALL) @$(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) @$(NORMAL_INSTALL)
$(MAKE) install-data-hook $(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-data: install-data-am
install: install-exec install-data all
@:
uninstall: uninstall-binPROGRAMS uninstall-ubinPROGRAMS uninstall-usbinPROGRAMS
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: install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs:
$(mkinstalldirs) $(DATADIR)$(bindir) $(DATADIR)$(ubindir) \ $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(ubindir) \
$(DATADIR)$(usbindir) $(DESTDIR)$(usbindir)
mostlyclean-generic: mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f Makefile $(DISTCLEANFILES) -rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]* -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: maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-binPROGRAMS mostlyclean-noinstPROGRAMS \
mostlyclean-ubinPROGRAMS mostlyclean-usbinPROGRAMS \ mostlyclean-ubinPROGRAMS mostlyclean-usbinPROGRAMS \
mostlyclean-compile mostlyclean-libtool \ mostlyclean-compile mostlyclean-libtool \
mostlyclean-tags mostlyclean-generic mostlyclean-tags mostlyclean-generic
clean: clean-binPROGRAMS clean-noinstPROGRAMS clean-ubinPROGRAMS \ mostlyclean: mostlyclean-am
clean-usbinPROGRAMS clean-compile clean-libtool \
clean-tags clean-generic mostlyclean
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-ubinPROGRAMS distclean-usbinPROGRAMS \
distclean-compile distclean-libtool distclean-tags \ distclean-compile distclean-libtool distclean-tags \
distclean-generic clean distclean-generic clean-am
-rm -f config.status
-rm -f libtool -rm -f libtool
maintainer-clean: maintainer-clean-binPROGRAMS \ distclean: distclean-am
maintainer-clean-am: maintainer-clean-binPROGRAMS \
maintainer-clean-noinstPROGRAMS \ maintainer-clean-noinstPROGRAMS \
maintainer-clean-ubinPROGRAMS \ maintainer-clean-ubinPROGRAMS \
maintainer-clean-usbinPROGRAMS maintainer-clean-compile \ maintainer-clean-usbinPROGRAMS maintainer-clean-compile \
maintainer-clean-libtool maintainer-clean-tags \ 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 "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
maintainer-clean: maintainer-clean-am
.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ .PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \
maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \ mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \
@ -850,10 +869,12 @@ uninstall-usbinPROGRAMS install-usbinPROGRAMS mostlyclean-compile \
distclean-compile clean-compile maintainer-clean-compile \ distclean-compile clean-compile maintainer-clean-compile \
mostlyclean-libtool distclean-libtool clean-libtool \ mostlyclean-libtool distclean-libtool clean-libtool \
maintainer-clean-libtool tags mostlyclean-tags distclean-tags \ maintainer-clean-libtool tags mostlyclean-tags distclean-tags \
clean-tags maintainer-clean-tags distdir info dvi installcheck \ clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
install-exec install-data install uninstall all installdirs \ check-am installcheck-am installcheck install-exec-am install-exec \
mostlyclean-generic distclean-generic clean-generic \ install-data-am install-data install-am install uninstall-am uninstall \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean all-redirect all-am all installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean
install-exec-hook: install-exec-hook:

View File

@ -30,7 +30,7 @@
#include <config.h> #include <config.h>
#include "rcsid.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 <sys/types.h>
#include <stdio.h> #include <stdio.h>
@ -306,10 +306,10 @@ list_fields(void)
* is when the active will be disabled. * is when the active will be disabled.
*/ */
printf ("Password Inactive:\t"); printf(_("Password Inactive:\t"));
if (lastday <= 0 || inactdays <= 0 || if (lastday <= 0 || inactdays <= 0 ||
maxdays >= 10000*(DAY/SCALE) || maxdays <= 0) { maxdays >= 10000*(DAY/SCALE) || maxdays <= 0) {
printf ("Never\n"); printf (_("Never\n"));
} else { } else {
expires = changed + (maxdays + inactdays) * SCALE; expires = changed + (maxdays + inactdays) * SCALE;
print_date(expires); print_date(expires);
@ -320,9 +320,9 @@ list_fields(void)
* password expiring or not. * password expiring or not.
*/ */
printf ("Account Expires:\t"); printf(_("Account Expires:\t"));
if (expdays <= 0) { if (expdays <= 0) {
printf ("Never\n"); printf (_("Never\n"));
} else { } else {
expires = expdays * SCALE; expires = expdays * SCALE;
print_date(expires); print_date(expires);

View File

@ -30,7 +30,7 @@
#include <config.h> #include <config.h>
#include "rcsid.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/types.h>
#include <sys/stat.h> #include <sys/stat.h>
@ -133,13 +133,13 @@ main(int argc, char **argv)
dent.du_passwd = ""; /* XXX warning: const */ dent.du_passwd = ""; /* XXX warning: const */
again: again:
if (! (cp = getpass(_("Shell password:")))) if (! (cp = getpass(_("Shell password: "))))
exit (1); exit (1);
STRFCPY(pass, cp); STRFCPY(pass, cp);
strzero(cp); strzero(cp);
if (! (cp = getpass(_("re-enter Shell password:")))) if (! (cp = getpass(_("re-enter Shell password: "))))
exit (1); exit (1);
if (strcmp (pass, cp)) { if (strcmp (pass, cp)) {

View File

@ -30,7 +30,7 @@
#include <config.h> #include <config.h>
#include "rcsid.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 <sys/types.h>
#include <stdio.h> #include <stdio.h>
@ -537,12 +537,12 @@ main(int argc, char **argv)
printf(_("Changing the password for group %s\n"), group); printf(_("Changing the password for group %s\n"), group);
for (retries = 0; retries < RETRIES; retries++) { for (retries = 0; retries < RETRIES; retries++) {
if (! (cp = getpass(_("New Password:")))) if (! (cp = getpass(_("New Password: "))))
exit (1); exit (1);
STRFCPY(pass, cp); STRFCPY(pass, cp);
strzero(cp); strzero(cp);
if (! (cp = getpass (_("Re-enter new password:")))) if (! (cp = getpass (_("Re-enter new password: "))))
exit (1); exit (1);
if (strcmp(pass, cp) == 0) { if (strcmp(pass, cp) == 0) {

View File

@ -30,7 +30,7 @@
#include <config.h> #include <config.h>
#include "rcsid.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 "prototypes.h"
#include "defines.h" #include "defines.h"
@ -218,7 +218,6 @@ setup_tty(void)
* Add your favorite terminal modes here ... * Add your favorite terminal modes here ...
*/ */
#ifndef USE_SGTTY
termio.c_lflag |= ISIG|ICANON|ECHO|ECHOE; termio.c_lflag |= ISIG|ICANON|ECHO|ECHOE;
termio.c_iflag |= ICRNL; termio.c_iflag |= ICRNL;
@ -261,8 +260,6 @@ setup_tty(void)
* effect after the first username login * effect after the first username login
*/ */
#else
#endif /* !BSD */
STTY(0, &termio); STTY(0, &termio);
} }

View File

@ -30,7 +30,7 @@
#include <config.h> #include <config.h>
#include "rcsid.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/types.h>
#include <sys/stat.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 *Prog;
static char *mesg_buf = "login time exceeded\r\n"; /* XXX warning: const */ #ifndef DEFAULT_HUP_MESG
static int mesg_len = 21; #define DEFAULT_HUP_MESG "login time exceeded\r\n"
static int mesg_size; #endif
#ifndef HUP_MESG_FILE #ifndef HUP_MESG_FILE
#define HUP_MESG_FILE "/etc/logoutd.mesg" #define HUP_MESG_FILE "/etc/logoutd.mesg"
#endif #endif
/* local function prototypes */ /* local function prototypes */
static RETSIGTYPE reload_mesg P_((int));
static int check_login P_((const struct utmp *)); static int check_login P_((const struct utmp *));
int main P_((int, char **)); 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 * check_login - check if user (struct utmp) allowed to stay logged in
@ -140,6 +99,47 @@ check_login(const struct utmp *ut)
return 1; 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 * logoutd - logout daemon to enforce /etc/porttime file policy
* *
@ -154,6 +154,7 @@ main(int argc, char **argv)
{ {
int i; int i;
int status; int status;
pid_t pid;
struct utmp *ut; struct utmp *ut;
char user[sizeof(ut->ut_user) + 1]; /* terminating NUL */ char user[sizeof(ut->ut_user) + 1]; /* terminating NUL */
char tty_name[sizeof(ut->ut_line) + 6]; /* /dev/ + 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 */ setpgid(getpid(), getpid()); /* BSD || SUN || SUN4 */
#endif /* !HAVE_SETPGRP */ #endif /* !HAVE_SETPGRP */
reload_mesg (SIGHUP);
/* /*
* Put this process in the background. * Put this process in the background.
*/ */
if ((i = fork ())) pid = fork();
exit (i < 0 ? 1:0); if (pid > 0) {
/* parent */
exit(0);
} else if (pid < 0) {
/* error */
perror("fork");
exit(1);
}
#endif /* !DEBUG */ #endif /* !DEBUG */
/* /*
@ -201,9 +207,6 @@ main(int argc, char **argv)
*/ */
while (1) { while (1) {
#ifndef DEBUG
sleep(60);
#endif
/* /*
* Attempt to re-open the utmp file. The file is only * 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. * keeps the scan from waiting on other ports to die.
*/ */
if (fork() != 0) pid = fork();
if (pid > 0) {
/* parent */
continue; continue;
} else if (pid < 0) {
/* failed - give up until the next scan */
break;
}
/* child */
if (strncmp(ut->ut_line, "/dev/", 5) != 0) if (strncmp(ut->ut_line, "/dev/", 5) != 0)
strcpy(tty_name, "/dev/"); strcpy(tty_name, "/dev/");
@ -245,22 +255,10 @@ main(int argc, char **argv)
#ifndef O_NOCTTY #ifndef O_NOCTTY
#define O_NOCTTY 0 #define O_NOCTTY 0
#endif #endif
if ((tty_fd = open (tty_name, tty_fd = open(tty_name, O_WRONLY|O_NDELAY|O_NOCTTY);
O_WRONLY|O_NDELAY|O_NOCTTY)) != -1) { if (tty_fd != -1) {
/* Suggested by Ivan Nejgebauar <ian@unsux.ns.ac.yu>: set OPOST send_mesg_to_tty(tty_fd);
before writing the message. --marekm */ close(tty_fd);
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);
sleep(10); sleep(10);
} }
#ifdef USER_PROCESS /* USG_UTMP */ #ifdef USER_PROCESS /* USG_UTMP */
@ -282,19 +280,11 @@ main(int argc, char **argv)
close (tty_fd); close (tty_fd);
#endif /* BSD || SUN || SUN4 */ #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); strncpy(user, ut->ut_line, sizeof(user) - 1);
user[sizeof(user) - 1] = '\0'; user[sizeof(user) - 1] = '\0';
SYSLOG((LOG_NOTICE, "logged off user `%s' on `%s'\n", SYSLOG((LOG_NOTICE, "logged off user `%s' on `%s'\n",
user, tty_name)); user, tty_name));
#endif
/* /*
* This child has done all it can, drop dead. * This child has done all it can, drop dead.
@ -305,6 +295,9 @@ main(int argc, char **argv)
endutent(); endutent();
#ifndef DEBUG
sleep(60);
#endif
/* /*
* Reap any dead babies ... * Reap any dead babies ...
*/ */

View File

@ -30,7 +30,7 @@
#include <config.h> #include <config.h>
#include "rcsid.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 <stdio.h>
#include <errno.h> #include <errno.h>
@ -66,7 +66,7 @@ usage(void)
if (is_newgrp) if (is_newgrp)
fprintf (stderr, _("usage: newgrp [ - ] [ group ]\n")); fprintf (stderr, _("usage: newgrp [ - ] [ group ]\n"));
else 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); exit (1);
} }
if (argc > 0) { 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++; cflag++;
} }
} else { } else {
@ -209,8 +217,6 @@ main(int argc, char **argv)
for (;;) { for (;;) {
grouplist = (GETGROUPS_T *) xmalloc(i * sizeof(GETGROUPS_T)); grouplist = (GETGROUPS_T *) xmalloc(i * sizeof(GETGROUPS_T));
ngroups = getgroups(i, grouplist); ngroups = getgroups(i, grouplist);
/* XXX Bug#38672
login: newgrp/sg fails with user in 17 groups */
if (i > ngroups && !(ngroups == -1 && errno == EINVAL)) if (i > ngroups && !(ngroups == -1 && errno == EINVAL))
break; break;
/* not enough room, so try allocating a larger buffer */ /* not enough room, so try allocating a larger buffer */
@ -288,7 +294,7 @@ main(int argc, char **argv)
* the decryption from the group file. * the decryption from the group file.
*/ */
if (! (cp = getpass (_("Password:")))) if (! (cp = getpass (_("Password: "))))
goto failure; goto failure;
/* /*
@ -443,6 +449,12 @@ okay:
addenv(*envp++, NULL); 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 * exec the login shell and go away. we are trying to get
* back to the previous environment which should be the * back to the previous environment which should be the

View File

@ -30,7 +30,7 @@
#include <config.h> #include <config.h>
#include "rcsid.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 "prototypes.h"
#include "defines.h" #include "defines.h"
@ -353,7 +353,7 @@ new_password(const struct passwd *pw)
if (! amroot && crypt_passwd[0]) { if (! amroot && crypt_passwd[0]) {
#endif #endif
if (!(clear = getpass(_("Old password:")))) if (!(clear = getpass(_("Old password: "))))
return -1; return -1;
cipher = pw_encrypt(clear, crypt_passwd); 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; warned = 0;
for (i = getdef_num("PASS_CHANGE_TRIES", 5); i > 0; i--) { 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); memzero(orig, sizeof orig);
return -1; return -1;
} }
@ -421,7 +421,7 @@ Please use a combination of upper and lower case letters and numbers.\n"),
warned++; warned++;
continue; continue;
} }
if (!(cp = getpass(_("Re-enter new password:")))) { if (!(cp = getpass(_("Re-enter new password: ")))) {
memzero(orig, sizeof orig); memzero(orig, sizeof orig);
return -1; return -1;
} }

View File

@ -30,7 +30,7 @@
#include <config.h> #include <config.h>
#include "rcsid.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 "prototypes.h"
#include "defines.h" #include "defines.h"
@ -94,12 +94,6 @@ main(int argc, char **argv)
char **envp = environ; char **envp = environ;
TERMIO termio; 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 #ifdef USE_TERMIO
ioctl (0, TCGETA, &termio); ioctl (0, TCGETA, &termio);
termio.c_iflag |= (ICRNL|IXON); termio.c_iflag |= (ICRNL|IXON);