[svn-upgrade] Integrating new upstream version, shadow (4.0.15)
This commit is contained in:
parent
24178ad677
commit
591830e43b
386
ChangeLog
386
ChangeLog
@ -1,3 +1,389 @@
|
||||
2006-03-13 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* po/it.po:
|
||||
updated for 4.0.15 (by Danilo Piazzalunga <danilopiazza@gmail.com>).
|
||||
|
||||
2006-03-12 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS, po/nb.po:
|
||||
updated for 4.0.15 (by Bj繪rn Steensrud <bjornst@powertech.no>).
|
||||
|
||||
* po/pt.po:
|
||||
updated for 4.0.15 (by Miguel Figueiredo <mfigueiredo@gmail.com>).
|
||||
|
||||
* man/Makefile.am, NEWS, configure.in:
|
||||
do not install translated man pages if shadow is configured with --disable-nls
|
||||
(based patch submited by Mike Frysinger <vapier@gentoo.org>).
|
||||
|
||||
* NEWS, po/pt_BR.po:
|
||||
updated for 4.0.15 (by Andre Luis Lopes <andrelop@debian.org>).
|
||||
|
||||
* po/fr.po:
|
||||
updated for 4.0.15 (by Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>).
|
||||
|
||||
2006-03-11 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS, configure.in, lib/pwauth.c:
|
||||
added fixes for detect BSD's S/Key with updated the skeychallenge() function
|
||||
for take a fourth argument in case BSD version
|
||||
(patch submited by Mike Frysinger <vapier@gentoo.org>)
|
||||
|
||||
* README: added paragragraph about S/Key support.
|
||||
|
||||
* po/sk.po: updated for 4.0.15 (by Peter Mann <Peter.Mann@tuke.sk>).
|
||||
|
||||
* NEWS: newgrp: do not link with libselinux.
|
||||
|
||||
* NEWS, po/zh_CN.po:
|
||||
updated for 4.0.15 (by Carlos Z.F. Liu <carlosliu@users.sourceforge.net>).
|
||||
|
||||
* po/ru.po: updated for 4.0.15 (by Yuri Kozlov <kozlov.y@gmail.com>).
|
||||
|
||||
* src/Makefile.am:
|
||||
removed $(LIBSELINUX) from newgrp_LDADD (newgrp does not need to be linked
|
||||
with SELinux libraries).
|
||||
|
||||
* man/ru/chsh.1, man/ru/expiry.1, man/ru/faillog.5, man/ru/faillog.8, man/ru/gpasswd.1, man/ru/groupadd.8, man/ru/groupdel.8, man/ru/groupmems.8, man/ru/groupmod.8, man/ru/groups.1, man/ru/grpck.8, man/ru/gshadow.5, man/ru/id.1, man/ru/lastlog.8, man/ru/limits.5, man/ru/login.1, man/ru/login.access.5, man/ru/login.defs.5, man/ru/logoutd.8, man/ru/newgrp.1, man/ru/newusers.8, man/ru/nologin.8, man/ru/passwd.1, man/ru/passwd.5, man/ru/porttime.5, man/ru/pw_auth.3, man/ru/pwck.8, man/ru/pwconv.8, man/ru/sg.1, man/ru/shadow.3, man/ru/shadow.5, man/ru/su.1, man/ru/suauth.5, man/ru/sulogin.8, man/ru/useradd.8, man/ru/userdel.8, man/ru/usermod.8, man/ru/vipw.8, NEWS, man/ru/Makefile.am, man/ru/chage.1, man/ru/chfn.1, man/ru/chpasswd.8:
|
||||
ru man pages: added new nologin(8) and updated all other man pages
|
||||
(by Yuri Kozlov <kozlov.y@gmail.com>).
|
||||
|
||||
2006-03-09 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS, po/nl.po:
|
||||
updated for 4.0.15 (by cobaco (aka Bart Cornelis) <cobaco@linux.be>).
|
||||
|
||||
* po/vi.po:
|
||||
updated for 4.0.15 (by Clytie Siddall <clytie@riverland.net.au>).
|
||||
|
||||
* po/sv.po:
|
||||
updated for 4.0.15 (by Daniel Nylander <po@danielnylander.se>).
|
||||
|
||||
2006-03-08 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* po/eu.po: updated for 4.0.15 (by pi <pi@beobide.net>).
|
||||
|
||||
* po/ro.po: cleanups.
|
||||
|
||||
* NEWS, po/tl.po:
|
||||
updated for 4.0.15 (by eric pareja <xenos@upm.edu.ph>).
|
||||
|
||||
* po/ro.po: updated for 4.0.15 (by Sorin B. <sorin@bonbon.net>).
|
||||
|
||||
* NEWS, po/es.po:
|
||||
updated for 4.0.15 (by Ruben Porras <nahoo82@gmail.com>).
|
||||
|
||||
2006-03-07 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS, po/da.po:
|
||||
updated for 4.0.15 (by Claus Hindsgaul <claus.hindsgaul@gmail.com>).
|
||||
|
||||
* NEWS, man/fi/chsh.1, man/fi/su.1:
|
||||
update fi chsh(1), su(1) man pages generated from XML files
|
||||
(Tommi Vainikainen <thv+debian@iki.fi>).
|
||||
|
||||
* NEWS, po/fi.po:
|
||||
updated for 4.0.15 (by Tommi Vainikainen <thv+debian@iki.fi>).
|
||||
|
||||
* NEWS, po/cs.po:
|
||||
updated for 4.0.15 (by Miroslav Kure <kurem@upcase.inf.upol.cz>).
|
||||
|
||||
* NEWS, man/cs/Makefile.am, man/cs/expiry.1, man/cs/faillog.5, man/cs/faillog.8, man/cs/gpasswd.1, man/cs/groupadd.8, man/cs/groupdel.8, man/cs/logoutd.8, man/cs/nologin.8, man/cs/vipw.8:
|
||||
added new cs man pages: expiry(1), faillog(5), faillog(8), gpasswd(1),
|
||||
groupadd(8), groupdel(8), logoutd(8), nologin(8), vipw(8).
|
||||
|
||||
* NEWS: typo.
|
||||
|
||||
* src/useradd.c, NEWS, lib/getdef.h, man/login.defs.5, man/login.defs.5.xml, src/login.c, src/newusers.c:
|
||||
default UMASK if not specified in login.defs is 022.
|
||||
|
||||
2006-03-06 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* po/pl.po: updated for 4.0.15.
|
||||
|
||||
* NEWS, po/gl.po:
|
||||
updated for 4.0.15 (by Jacobo Tarrio <jtarrio@trasno.net>).
|
||||
|
||||
* NEWS, configure.in: schedule release 4.0.15 to 13-03-2006.
|
||||
|
||||
2006-03-05 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS: typo (s/onas Meurer/Jonas Meurer/)
|
||||
|
||||
* src/.cvsignore: added chgpasswd.
|
||||
|
||||
* po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, src/Makefile.am, src/chgpasswd.c, NEWS, po/POTFILES.in, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/gl.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po:
|
||||
chgpasswd: new tool (by onas Meurer <mejo@debian.org>).
|
||||
|
||||
* src/lastlog.c, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/gl.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
|
||||
s/Unexpected/unexpected/
|
||||
|
||||
* po/fr.po, po/gl.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, src/lastlog.c, NEWS, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po:
|
||||
print the usage and exit if an additional argument is profided to
|
||||
lastlog (merge 488_laslog_verify_arguments Debian patch).
|
||||
|
||||
2006-03-02 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* man/chpasswd.8, man/chpasswd.8.xml:
|
||||
fixed CAVEATS section (by Justin Pryzby <justinpryzby@users.sourceforge.net>)
|
||||
|
||||
2006-02-28 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* man/passwd.1, man/passwd.1.xml:
|
||||
fixed SYNOPSIS section (http://bugs.debian.org/352136).
|
||||
|
||||
2006-02-23 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* po/ro.po: updated (by Sorin Batariuc <sorin@bonbon.net>).
|
||||
|
||||
2006-02-21 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS, lib/Makefile.am, src/Makefile.am:
|
||||
login, nologin, su: do not link with libselinux
|
||||
(merge 490_link_selinux_only_when_needed Debian patch).
|
||||
|
||||
* NEWS, src/chage.c, src/chfn.c, src/chsh.c, src/passwd.c:
|
||||
fixed confusing error message if /proc is not mounted
|
||||
(http://bugs.debian.org/352494
|
||||
patch Nicolas Fran癟ois <nicolas.francois@centraliens.net>)
|
||||
|
||||
* po/ro.po:
|
||||
updated (commited http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=347755).
|
||||
|
||||
* NEWS, po/ca.po: updated (by Jordi Mallach <jordi@debian.org>).
|
||||
|
||||
2006-02-20 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* man/gpasswd.1.xml, man/passwd.1.xml, man/passwd.5.xml, man/pwck.8.xml, man/sg.1.xml, man/useradd.8.xml:
|
||||
cleanups.
|
||||
|
||||
* po/gl.po: updated (Jacobo Tarrio <jtarrio@trasno.net>).
|
||||
|
||||
* NEWS, po/pt.po:
|
||||
updated (by Miguel Figueiredo <mfigueiredo@gmail.com>).
|
||||
|
||||
2006-02-15 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS, po/it.po:
|
||||
update (by Danilo Piazzalunga <danilopiazza@gmail.com>).
|
||||
|
||||
* po/vi.po: update (by Clytie Siddall <clytie@riverland.net.au>).
|
||||
|
||||
* po/sv.po: updated (by Daniel Nylander <yeager@lidkoping.net>).
|
||||
|
||||
2006-02-09 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* po/fr.po: updated (by Christian Perrier <bubulle@kheops.frmug.org>).
|
||||
|
||||
* po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/fi.po, po/fr.po, po/gl.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
|
||||
run "make update-po".
|
||||
|
||||
* po/pl.po: updated.
|
||||
|
||||
* po/sk.po: updated (by Peter Mann <Peter.Mann@tuke.sk>).
|
||||
|
||||
* po/eu.po: update (by ^pi^ <pi@beobide.net>).
|
||||
|
||||
2006-02-08 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS, src/login.c:
|
||||
merge 433_login_more_LOG_UNKFAIL_ENAB Debian patch:
|
||||
- TOO MANY LOGIN... logged if PAM_MAXTRIES or failcount >= retries
|
||||
(was onl test PAM_MAXTRIES),
|
||||
- print to stderr (in addition to syslog) in case of maximum number of
|
||||
tries exceeded,
|
||||
- always prints the number of tries in the syslog entry.
|
||||
- add special handling for PAM_ABORT
|
||||
- add an entry to failog, as when USE_PAM is not defined. (#53164)
|
||||
- changed pam_end to PAM_END. This is certainly was a mistake.
|
||||
PAM_END is pam_close_seesion + pam_end. Here, the session is still not
|
||||
open, we don't have to close it.
|
||||
- a HAVE_PAM_FAIL_DELAY is missing
|
||||
|
||||
* po/ro.po: kill one fuzzy.
|
||||
|
||||
* po/ro.po, NEWS: updated (by Sorin B. <sorin@bonbon.net>).
|
||||
|
||||
* src/gpasswd.c: s/die/catch_signals/
|
||||
|
||||
* src/expiry.c, src/sulogin.c: s/catch/catch_signals/
|
||||
|
||||
* src/su.c: /su_catch_sig/chatch_signals/
|
||||
|
||||
2006-02-07 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* src/id.c, src/groups.c, libmisc/getdate.y: lint code using CC=g++.
|
||||
|
||||
* NEWS, src/su.c:
|
||||
fixed pam session support (patch from Topi Miettinen; fixed #57526, #55873,
|
||||
#57532 Debian bugs).
|
||||
|
||||
* NEWS:
|
||||
fixed pam session support (patch from Topi Miettinen; fixed #57526,
|
||||
#55873, #57532 Debian bugs).
|
||||
|
||||
* NEWS, src/userdel.c:
|
||||
user's group is already removed by update_groups(). remove_group()
|
||||
is not needed (bug introduced in 4.0.14 on merge FC fixes). Fixed by Nicolas
|
||||
Fran癟ois <nicolas.francois@centraliens.net>
|
||||
|
||||
* NEWS, src/useradd.c: allways remove group and gshadow databases lock,
|
||||
Fixed by Nicolas Fran癟ois <nicolas.francois@centraliens.net>
|
||||
(http://bugs.debian.org/348250)
|
||||
|
||||
* NEWS, src/userdel.c: fixed excess audit_logger() argument.
|
||||
|
||||
* NEWS, lib/prototypes.h:
|
||||
corrected prototypes in lib/prototypes.h (thre is no audit_help_log(); added
|
||||
audit_logger() prototype).
|
||||
|
||||
* src/login.c: fixed missing ";" in declaration.
|
||||
|
||||
* man/limits.5, man/limits.5.xml:
|
||||
fixed example limits string (by Yuri Kozlov <kozlov.y@gmail.com>).
|
||||
|
||||
2006-02-06 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, src/chage.c, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/gl.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po:
|
||||
added missing \n on display password status if password must be chaged.
|
||||
|
||||
2006-02-04 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* src/useradd.c, NEWS:
|
||||
fixed allow non-unique UID (http://bugs.debian.org/351281).
|
||||
|
||||
2006-02-01 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* po/cs.po: updated (by Miroslav Kure <kurem@upcase.inf.upol.cz>).
|
||||
|
||||
2006-01-27 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS, po/vi.po:
|
||||
updated (by Clytie Siddall <clytie@riverland.net.au>).
|
||||
|
||||
2006-01-26 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* po/fr.po:
|
||||
typo (fixed by Christian Perrier <bubulle@kheops.frmug.org>).
|
||||
|
||||
* po/sk.po: updated (by Peter Mann <Peter.Mann@tuke.sk>).
|
||||
|
||||
2006-01-25 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* man/pl/grpck.8, man/pl/login.defs.5, man/pl/passwd.1, man/pl/pwck.8, man/de/passwd.1, man/es/login.1, man/es/vipw.8, man/fi/passwd.1, man/hu/passwd.1, man/id/login.1, man/it/grpck.8, man/it/pwck.8, man/ja/grpck.8, man/ja/passwd.1, man/ja/pwck.8, man/ko/login.1, man/ko/su.1:
|
||||
fixes some issues that cause warnings when the manpages are
|
||||
displayed (by Nicolas Fran癟ois <nicolas.francois@centraliens.net>).
|
||||
|
||||
2006-01-23 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS, po/eu.po: updated (by pi <pi@beobide.net>).
|
||||
|
||||
* libmisc/addgrps.c, libmisc/xmalloc.c, src/groups.c:
|
||||
fixes after linting code using CC=g++: cast {m,re}alloc() return value to
|
||||
proper type.
|
||||
|
||||
2006-01-22 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* man/chage.1, man/chage.1.xml, man/passwd.5, man/passwd.5.xml, man/su.1, man/su.1.xml, man/useradd.8, man/useradd.8.xml:
|
||||
uniformity and grammar fixes (by Christine Spang <spangarang@twcny.rr.com>).
|
||||
|
||||
* NEWS, po/ru.po: updated (by Yuri Kozlov <kozlov.y@gmail.com>).
|
||||
|
||||
2006-01-20 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* po/fr.po, NEWS:
|
||||
updated (by Christian Perrier <bubulle@kheops.frmug.org>).
|
||||
|
||||
2006-01-18 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS, libmisc/setupenv.c, src/chage.c, src/chsh.c, src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/grpck.c, src/grpconv.c, src/grpunconv.c, src/login.c, src/newgrp.c, src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c, src/usermod.c, src/vipw.c:
|
||||
variouse code cleanups for make possible compilation of shadow with
|
||||
-Wall -Werror (by Alexander Gattin <xrgtn@yandex.ru>).
|
||||
|
||||
* libmisc/age.c, libmisc/shell.c, src/login.c, src/newgrp.c, src/su.c, src/sulogin.c, src/userdel.c, NEWS, lib/prototypes.h:
|
||||
move exit() outside libmisc/shell.c::shell() for handle shell() errors
|
||||
on higher level (now is better visable where some programs exit with 126 and
|
||||
127 exit codes); added new shell() parameter (char *const envp[]) which allow
|
||||
fix preserving enviloment in su on using -p.
|
||||
(patch by Alexander Gattin <xrgtn@yandex.ru>)
|
||||
|
||||
* NEWS, po/el.po:
|
||||
updated (by Konstantinos Margaritis <markos@debian.org>).
|
||||
|
||||
2006-01-17 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* lib/exitcodes.h: new #defines:
|
||||
#define E_CMD_NOEXEC 126 /* can't run command/shell */
|
||||
#define E_CMD_NOTFOUND 127 /* can't find command/shell to run */
|
||||
|
||||
2006-01-16 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* man/passwd.1, man/passwd.1.xml:
|
||||
fixes after reviewed for grammatical and other small errors that detract from the
|
||||
polish of the content to native English speakers.
|
||||
I also went ahead and changed all gender references to be a consistent
|
||||
"his/her" (or equivalent) - the original had a mix of just "his", just
|
||||
"her", and occasionally "his/her".
|
||||
(by Christine Spang <spangarang@twcny.rr.com>).
|
||||
|
||||
* po/it.po: updated (by Danilo Piazzalunga <danilopiazza@gmail.com>).
|
||||
|
||||
2006-01-14 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS: updated.
|
||||
|
||||
* libmisc/shell.c: remove DEBUG code.
|
||||
|
||||
* po/LINGUAS, po/gl.po, NEWS:
|
||||
added new gl translation (by Jacobo Tarrio <jtarrio@trasno.net>).
|
||||
|
||||
2006-01-12 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* po/eu.po: small update (by pi <pi@beobide.net>).
|
||||
|
||||
2006-01-10 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* src/su.c: fixed compilation error.
|
||||
|
||||
2006-01-08 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* po/sv.po: updated (by Daniel Nylander <yeager@lidkoping.net>)
|
||||
http://bugs.debian.org/346449
|
||||
|
||||
2006-01-07 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS, man/useradd.8, man/useradd.8.xml:
|
||||
better document useradd -d option: will not add the user's home directory
|
||||
if it does not already exist (http://bugs.debian.org/154996)
|
||||
|
||||
* man/su.1, man/su.1.xml, po/zh_CN.po, po/zh_TW.po, NEWS, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, src/su.c:
|
||||
added handle -c,--command option for GNU su compliance (merge
|
||||
437_su_-c_option Debian Patch).
|
||||
|
||||
* man/login.1, man/login.1.xml, man/passwd.1, man/passwd.1.xml, man/su.1, man/su.1.xml:
|
||||
man pages cleanups.
|
||||
(http://bugs.debian.org/341489)
|
||||
|
||||
* NEWS, man/Makefile.am, man/nologin.8, man/nologin.8.xml:
|
||||
nologin(8) man pages added (merge 478_nologin.8.xml Debian patch).
|
||||
|
||||
* po/sk.po: updated (by Peter Mann <Peter.Mann@tuke.sk>)
|
||||
http://bugs.debian.org/346376
|
||||
|
||||
2006-01-06 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* po/id.po: updated (by Parlin Imanuel <parlin_i@yahoo.com>)
|
||||
http://bugs.debian.org/345514
|
||||
|
||||
* NEWS, po/bs.po, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/es.po, po/eu.po, po/fi.po, po/fr.po, po/he.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/nb.po, po/nl.po, po/nn.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sq.po, po/sv.po, po/tl.po, po/tr.po, po/uk.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, src/login.c:
|
||||
added translate login prompt string (suggested by Evgeniy Dushistov).
|
||||
|
||||
2006-01-05 Tomasz K這czko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS, configure.in: start work on 4.1.0.
|
||||
|
||||
* po/sv.po: updated (by Daniel Nylander <yeager@lidkoping.net>).
|
||||
http://bugs.debian.org/346017
|
||||
|
||||
2006-01-03 Tomasz K³oczko <kloczek@pld.org.pl>
|
||||
|
||||
* NEWS: correct 4.0.14 release date (03-01-2006).
|
||||
|
@ -150,6 +150,8 @@ SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
U = @U@
|
||||
USE_NLS = @USE_NLS@
|
||||
USE_NLS_FALSE = @USE_NLS_FALSE@
|
||||
USE_NLS_TRUE = @USE_NLS_TRUE@
|
||||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XMLCATALOG = @XMLCATALOG@
|
||||
|
79
NEWS
79
NEWS
@ -1,4 +1,78 @@
|
||||
$Id: NEWS,v 1.331 2006/01/03 16:45:47 kloczek Exp $
|
||||
$Id: NEWS,v 1.382 2006/03/12 22:35:35 kloczek Exp $
|
||||
|
||||
shadow-4.0.14 -> shadow-4.0.15 13-03-2006
|
||||
|
||||
*** general:
|
||||
- do not install translated man pages if shadow is configured with
|
||||
--disable-nls
|
||||
(based patch submited by Mike Frysinger <vapier@gentoo.org>),
|
||||
- added fixes for detect BSD's S/Key with updated the skeychallenge()
|
||||
function for take a fourth argument in case BSD version (patch submited by
|
||||
Mike Frysinger <vapier@gentoo.org>),
|
||||
- login: default UMASK if not specified in login.defs is 022 (pointed by
|
||||
Peter Vrabec <pvrabec@redhat.com>),
|
||||
- chgpasswd: new tool (by Jonas Meurer <mejo@debian.org>),
|
||||
- lastlog: print the usage and exit if an additional argument is profided to
|
||||
lastlog (merge 488_laslog_verify_arguments Debian patch),
|
||||
- login, newgrp, nologin, su: do not link with libselinux (merge
|
||||
490_link_selinux_only_when_needed Debian patch),
|
||||
- chage, chfn, chsh, passwd: fixed confusing error message if /proc is not
|
||||
mounted (http://bugs.debian.org/352494 patch Nicolas François
|
||||
<nicolas.francois@centraliens.net>),
|
||||
- login (merge 433_login_more_LOG_UNKFAIL_ENAB Debian patch):
|
||||
- TOO MANY LOGIN... logged if PAM_MAXTRIES or failcount >= retries (was
|
||||
onl test PAM_MAXTRIES),
|
||||
- print to stderr (in addition to syslog) in case of maximum number of
|
||||
tries exceeded,
|
||||
- always prints the number of tries in the syslog entry.
|
||||
- add special handling for PAM_ABORT
|
||||
- add an entry to failog, as when USE_PAM is not defined. (#53164)
|
||||
- changed pam_end to PAM_END. This is certainly was a mistake. PAM_END is
|
||||
pam_close_seesion + pam_end. Here, the session is still not open, we
|
||||
don't have to close it.
|
||||
- a HAVE_PAM_FAIL_DELAY is missing,
|
||||
- su: fixed pam session support (patch from Topi Miettinen; fixed #57526,
|
||||
#55873, 57532 Debian bugs),
|
||||
- userdel: user's group is already removed by update_groups().
|
||||
remove_group() is not needed (bug introduced in 4.0.14 on merge FC fixes).
|
||||
Fixed by Nicolas François <nicolas.francois@centraliens.net>,
|
||||
- useradd: allways remove group and gshadow databases lock, Fixed by Nicolas
|
||||
François <nicolas.francois@centraliens.net>
|
||||
(http://bugs.debian.org/348250)
|
||||
- auditing fixes:
|
||||
- corrected prototypes in lib/prototypes.h (thre is no audit_help_log();
|
||||
added audit_logger() prototype),
|
||||
- useradd: fixed excess audit_logger() argument,
|
||||
- chage: added missing \n on display password status if password must be
|
||||
chaged,
|
||||
- useradd: fixed allow non-unique UID (http://bugs.debian.org/351281),
|
||||
- variouse code cleanups for make possible compilation of shadow with -Wall
|
||||
-Werror (by Alexander Gattin <xrgtn@yandex.ru>),
|
||||
- su: move exit() outside libmisc/shell.c::shell() for handle shell() errors
|
||||
on higher level (now is better visable where some programs exit with 126
|
||||
and 127 exit codes); added new shell() parameter (char *const envp[])
|
||||
which allow fix preserving enviloment in su on using -p, (patch by
|
||||
Alexander Gattin <xrgtn@yandex.ru>),
|
||||
- su: added handle -c,--command option for GNU su compliance (merge
|
||||
437_su_-c_option Debian patch),
|
||||
- login: added translate login prompt string (suggested by Evgeniy
|
||||
Dushistov),
|
||||
- updated translations: ca, cs, da, el, es, eu, gl, fi, fr, it, nb, nl, pt,
|
||||
pt_BR, ro, ru, sk, sv, tl, vi, zh_CN,
|
||||
- new translations: gl.
|
||||
*** documentation:
|
||||
- ru man pages: added new nologin(8) and updated all other man pages (by
|
||||
Yuri Kozlov <kozlov.y@gmail.com>),
|
||||
- chsh(1), su(1): update fi translations generated from XML files
|
||||
(Tommi Vainikainen <thv+debian@iki.fi>),
|
||||
- expiry(1), faillog(5), faillog(8), gpasswd(1), groupadd(8), groupdel(8),
|
||||
logoutd(8), nologin(8), vipw(8): added new cs man pages, (by Miroslav Kure
|
||||
<kurem@upcase.inf.upol.cz>)
|
||||
- login.defs(5): default UMASK if not specified in login.defs is 022
|
||||
(pointed by Peter Vrabec <pvrabec@redhat.com>),
|
||||
- useradd(8): better document that -d will not add the user's home directory
|
||||
if it does not already exist (http://bugs.debian.org/154996),
|
||||
- nologin(8) man pages added (merge 478_nologin.8.xml Debian patch).
|
||||
|
||||
shadow-4.0.13 -> shadow-4.0.14 03-01-2006
|
||||
|
||||
@ -36,7 +110,8 @@ shadow-4.0.13 -> shadow-4.0.14 03-01-2006
|
||||
http://bugs.debian.org/11189),
|
||||
- su, vipw: rewrited for use getopt_long(),
|
||||
- su: log successful/failed through syslog (http://bugs.debian.org/190215),
|
||||
- updated translations: ca, cs, da, eu, fi, fr, it, pl, pt, ru, sv, tl, vi.
|
||||
- updated translations: ca, cs, da, eu, fi, fr, it, pl, pt, ru, sv, tl, vi,
|
||||
- new translations: gl.
|
||||
*** documentation:
|
||||
- added es, ko vigr(8) and vipw(8), hu lastlog(8), ko vipw(8), zh_CN su(1),
|
||||
zh_TW chpasswd(8) and su(1),
|
||||
|
7
README
7
README
@ -22,6 +22,13 @@ Mailing lists archives:
|
||||
shadow@pld.org.pl - http://mail.pld.org.pl/mailman/pipermail/shadow/
|
||||
shadow-commit@pld.org.pl - http://mail.pld.org.pl/mailman/pipermail/shadow-commit/
|
||||
|
||||
S/Key support:
|
||||
Shadow can be builded with S/Key support using S/Key support from:
|
||||
|
||||
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libskey/
|
||||
and
|
||||
http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2
|
||||
|
||||
Authors and contributors
|
||||
========================
|
||||
|
||||
|
@ -320,6 +320,9 @@
|
||||
/* Define to support S/Key logins. */
|
||||
#undef SKEY
|
||||
|
||||
/* Define to support newer BSD S/Key API */
|
||||
#undef SKEY_BSD_STYLE
|
||||
|
||||
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
|
||||
#undef STAT_MACROS_BROKEN
|
||||
|
||||
|
76
configure
vendored
76
configure
vendored
@ -462,7 +462,7 @@ ac_includes_default="\
|
||||
# include <unistd.h>
|
||||
#endif"
|
||||
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S YACC CPP EGREP U ANSI2KNR build build_cpu build_vendor build_os host host_cpu host_vendor host_os ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS XSLTPROC XML_CATALOG_FILE XMLCATALOG ENABLE_REGENERATE_MAN_TRUE ENABLE_REGENERATE_MAN_FALSE LIBCRYPT LIBAUDIT LIBCRACK LIBSELINUX LIBPAM LIBSKEY LIBMD MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE INTL_MACOSX_LIBS LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB LTLIBOBJS'
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE LN_S YACC CPP EGREP U ANSI2KNR build build_cpu build_vendor build_os host host_cpu host_vendor host_os ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS XSLTPROC XML_CATALOG_FILE XMLCATALOG ENABLE_REGENERATE_MAN_TRUE ENABLE_REGENERATE_MAN_FALSE LIBCRYPT LIBAUDIT LIBCRACK LIBSELINUX LIBPAM LIBSKEY LIBMD MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE INTL_MACOSX_LIBS LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB USE_NLS_TRUE USE_NLS_FALSE LTLIBOBJS'
|
||||
ac_subst_files=''
|
||||
|
||||
# Initialize some variables set by options.
|
||||
@ -1822,7 +1822,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE=shadow
|
||||
VERSION=4.0.14
|
||||
VERSION=4.0.15
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@ -23836,6 +23836,59 @@ cat >>confdefs.h <<\_ACEOF
|
||||
#define SKEY 1
|
||||
_ACEOF
|
||||
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
/* confdefs.h. */
|
||||
_ACEOF
|
||||
cat confdefs.h >>conftest.$ac_ext
|
||||
cat >>conftest.$ac_ext <<_ACEOF
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <skey.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
||||
skeychallenge((void*)0, (void*)0, (void*)0, 0);
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
rm -f conftest.$ac_objext
|
||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||
(eval $ac_compile) 2>conftest.er1
|
||||
ac_status=$?
|
||||
grep -v '^ *+' conftest.er1 >conftest.err
|
||||
rm -f conftest.er1
|
||||
cat conftest.err >&5
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); } &&
|
||||
{ ac_try='test -z "$ac_c_werror_flag"
|
||||
|| test ! -s conftest.err'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; } &&
|
||||
{ ac_try='test -s conftest.$ac_objext'
|
||||
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||
(exit $ac_status); }; }; then
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define SKEY_BSD_STYLE 1
|
||||
_ACEOF
|
||||
|
||||
else
|
||||
echo "$as_me: failed program was:" >&5
|
||||
sed 's/^/| /' conftest.$ac_ext >&5
|
||||
|
||||
fi
|
||||
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
|
||||
|
||||
@ -25721,6 +25774,16 @@ _ACEOF
|
||||
|
||||
|
||||
|
||||
|
||||
if test "x$USE_NLS" = "xyes"; then
|
||||
USE_NLS_TRUE=
|
||||
USE_NLS_FALSE='#'
|
||||
else
|
||||
USE_NLS_TRUE='#'
|
||||
USE_NLS_FALSE=
|
||||
fi
|
||||
|
||||
|
||||
ac_config_files="$ac_config_files Makefile po/Makefile.in doc/Makefile man/Makefile man/cs/Makefile man/de/Makefile man/es/Makefile man/fi/Makefile man/fr/Makefile man/hu/Makefile man/id/Makefile man/it/Makefile man/ja/Makefile man/ko/Makefile man/pl/Makefile man/pt_BR/Makefile man/ru/Makefile man/tr/Makefile man/zh_CN/Makefile man/zh_TW/Makefile libmisc/Makefile lib/Makefile src/Makefile contrib/Makefile etc/Makefile etc/pam.d/Makefile shadow.spec"
|
||||
|
||||
cat >confcache <<\_ACEOF
|
||||
@ -25849,6 +25912,13 @@ echo "$as_me: error: conditional \"ENABLE_REGENERATE_MAN\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
||||
fi
|
||||
if test -z "${USE_NLS_TRUE}" && test -z "${USE_NLS_FALSE}"; then
|
||||
{ { echo "$as_me:$LINENO: error: conditional \"USE_NLS\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." >&5
|
||||
echo "$as_me: error: conditional \"USE_NLS\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." >&2;}
|
||||
{ (exit 1); exit 1; }; }
|
||||
fi
|
||||
|
||||
: ${CONFIG_STATUS=./config.status}
|
||||
ac_clean_files_save=$ac_clean_files
|
||||
@ -26512,6 +26582,8 @@ s,@INTLLIBS@,$INTLLIBS,;t t
|
||||
s,@LIBINTL@,$LIBINTL,;t t
|
||||
s,@LTLIBINTL@,$LTLIBINTL,;t t
|
||||
s,@POSUB@,$POSUB,;t t
|
||||
s,@USE_NLS_TRUE@,$USE_NLS_TRUE,;t t
|
||||
s,@USE_NLS_FALSE@,$USE_NLS_FALSE,;t t
|
||||
s,@LTLIBOBJS@,$LTLIBOBJS,;t t
|
||||
CEOF
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_INIT
|
||||
AM_INIT_AUTOMAKE(shadow, 4.0.14)
|
||||
AM_INIT_AUTOMAKE(shadow, 4.0.15)
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
|
||||
dnl Some hacks...
|
||||
@ -324,10 +324,17 @@ if test "$with_skey" = "yes"; then
|
||||
AC_CHECK_LIB(skey, skeychallenge, [LIBSKEY=-lskey],
|
||||
[AC_MSG_ERROR([liskey missing. You can download S/Key source code from http://rsync1.it.gentoo.org/gentoo/distfiles/skey-1.1.5.tar.bz2])])
|
||||
AC_DEFINE(SKEY, 1, [Define to support S/Key logins.])
|
||||
AC_TRY_COMPILE([
|
||||
#include <stdio.h>
|
||||
#include <skey.h>
|
||||
],[
|
||||
skeychallenge((void*)0, (void*)0, (void*)0, 0);
|
||||
],[AC_DEFINE(SKEY_BSD_STYLE, 1, [Define to support newer BSD S/Key API])])
|
||||
fi
|
||||
|
||||
AM_GNU_GETTEXT_VERSION(0.12.1)
|
||||
AM_GNU_GETTEXT([external], [need-ngettext])
|
||||
AM_CONDITIONAL(USE_NLS, test "x$USE_NLS" = "xyes")
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
|
@ -128,6 +128,8 @@ SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
U = @U@
|
||||
USE_NLS = @USE_NLS@
|
||||
USE_NLS_FALSE = @USE_NLS_FALSE@
|
||||
USE_NLS_TRUE = @USE_NLS_TRUE@
|
||||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XMLCATALOG = @XMLCATALOG@
|
||||
|
@ -128,6 +128,8 @@ SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
U = @U@
|
||||
USE_NLS = @USE_NLS@
|
||||
USE_NLS_FALSE = @USE_NLS_FALSE@
|
||||
USE_NLS_TRUE = @USE_NLS_TRUE@
|
||||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XMLCATALOG = @XMLCATALOG@
|
||||
|
@ -137,6 +137,8 @@ SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
U = @U@
|
||||
USE_NLS = @USE_NLS@
|
||||
USE_NLS_FALSE = @USE_NLS_FALSE@
|
||||
USE_NLS_TRUE = @USE_NLS_TRUE@
|
||||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XMLCATALOG = @XMLCATALOG@
|
||||
|
@ -128,6 +128,8 @@ SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
U = @U@
|
||||
USE_NLS = @USE_NLS@
|
||||
USE_NLS_FALSE = @USE_NLS_FALSE@
|
||||
USE_NLS_TRUE = @USE_NLS_TRUE@
|
||||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XMLCATALOG = @XMLCATALOG@
|
||||
|
@ -6,7 +6,7 @@ DEFS =
|
||||
lib_LTLIBRARIES = libshadow.la
|
||||
|
||||
libshadow_la_LDFLAGS = -version-info 0:0:0
|
||||
libshadow_la_LIBADD = $(INTLLIBS) $(LIBCRYPT) $(LIBSKEY) $(LIBMD) $(LIBSELINUX)
|
||||
libshadow_la_LIBADD = $(INTLLIBS) $(LIBCRYPT) $(LIBSKEY) $(LIBMD)
|
||||
|
||||
libshadow_la_SOURCES = \
|
||||
commonio.c \
|
||||
|
@ -58,7 +58,7 @@ LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||
am__DEPENDENCIES_1 =
|
||||
libshadow_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
|
||||
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
|
||||
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
|
||||
$(am__DEPENDENCIES_1)
|
||||
am_libshadow_la_OBJECTS = commonio.lo encrypt.lo fputsx.lo getdef.lo \
|
||||
getpass.lo groupio.lo gshadow.lo lockpw.lo nscd.lo port.lo \
|
||||
pwauth.lo pwio.lo sgetgrent.lo sgetpwent.lo sgroupio.lo \
|
||||
@ -157,6 +157,8 @@ SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
U = @U@
|
||||
USE_NLS = @USE_NLS@
|
||||
USE_NLS_FALSE = @USE_NLS_FALSE@
|
||||
USE_NLS_TRUE = @USE_NLS_TRUE@
|
||||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XMLCATALOG = @XMLCATALOG@
|
||||
@ -209,7 +211,7 @@ target_alias = @target_alias@
|
||||
AUTOMAKE_OPTIONS = 1.0 foreign
|
||||
lib_LTLIBRARIES = libshadow.la
|
||||
libshadow_la_LDFLAGS = -version-info 0:0:0
|
||||
libshadow_la_LIBADD = $(INTLLIBS) $(LIBCRYPT) $(LIBSKEY) $(LIBMD) $(LIBSELINUX)
|
||||
libshadow_la_LIBADD = $(INTLLIBS) $(LIBCRYPT) $(LIBSKEY) $(LIBMD)
|
||||
libshadow_la_SOURCES = \
|
||||
commonio.c \
|
||||
commonio.h \
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $Id: exitcodes.h,v 1.7 2005/08/31 17:36:11 kloczek Exp $ */
|
||||
/* $Id: exitcodes.h,v 1.8 2006/01/17 22:06:03 kloczek Exp $ */
|
||||
|
||||
/*
|
||||
* Exit codes used by shadow programs
|
||||
@ -11,3 +11,5 @@
|
||||
#define E_SHADOW_NOTFOUND 15 /* not found shadow password file */
|
||||
#define E_GROUP_NOTFOUND 16 /* not found group file */
|
||||
#define E_GSHADOW_NOTFOUND 17 /* not found shadow group file */
|
||||
#define E_CMD_NOEXEC 126 /* can't run command/shell */
|
||||
#define E_CMD_NOTFOUND 127 /* can't find command/shell to run */
|
||||
|
@ -9,4 +9,7 @@ extern unsigned int getdef_unum (const char *, unsigned int);
|
||||
extern char *getdef_str (const char *);
|
||||
extern int putdef_str (const char *, const char *);
|
||||
|
||||
/* default UMASK value if not specified in /etc/login.defs */
|
||||
#define GETDEF_DEFAULT_UMASK 022
|
||||
|
||||
#endif /* _GETDEF_H */
|
||||
|
@ -6,7 +6,7 @@
|
||||
* Juha Virtanen, <jiivee@hut.fi>; November 1995
|
||||
*/
|
||||
/*
|
||||
* $Id: prototypes.h,v 1.26 2006/01/02 23:32:51 kloczek Exp $
|
||||
* $Id: prototypes.h,v 1.28 2006/02/07 16:36:30 kloczek Exp $
|
||||
*
|
||||
* Added a macro to work around ancient (non-ANSI) compilers, just in case
|
||||
* someone ever tries to compile this with SunOS cc... --marekm
|
||||
@ -82,13 +82,9 @@ extern int hushed (const struct passwd *);
|
||||
/* audit_help.c */
|
||||
#ifdef WITH_AUDIT
|
||||
extern int audit_fd;
|
||||
#endif
|
||||
void audit_help_open (void);
|
||||
void audit_help_log (const char *, ...)
|
||||
#ifdef __GNUC__
|
||||
__attribute__ ((format (printf, 1, 2)));
|
||||
#else
|
||||
;
|
||||
extern void audit_help_open (void);
|
||||
extern void audit_logger (int type, const char *pgname, const char *op,
|
||||
const char *name, unsigned int id, int result);
|
||||
#endif
|
||||
|
||||
/* limits.c */
|
||||
@ -149,7 +145,7 @@ extern void setup (struct passwd *);
|
||||
extern void setup_env (struct passwd *);
|
||||
|
||||
/* shell.c */
|
||||
extern void shell (const char *, const char *);
|
||||
extern int shell (const char *, const char *, char *const *);
|
||||
|
||||
/* strtoday.c */
|
||||
extern long strtoday (const char *);
|
||||
|
10
lib/pwauth.c
10
lib/pwauth.c
@ -30,7 +30,7 @@
|
||||
#include <config.h>
|
||||
|
||||
#ifndef USE_PAM
|
||||
#ident "$Id: pwauth.c,v 1.19 2005/08/31 17:24:56 kloczek Exp $"
|
||||
#ident "$Id: pwauth.c,v 1.20 2006/03/11 21:15:55 kloczek Exp $"
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
@ -123,6 +123,14 @@ pw_auth (const char *cipher, const char *user, int reason, const char *input)
|
||||
* If there is no SKEY information we default to not using SKEY.
|
||||
*/
|
||||
|
||||
# ifdef SKEY_BSD_STYLE
|
||||
/*
|
||||
* Some BSD updates to the S/KEY API adds a fourth parameter; the
|
||||
* sizeof of the challenge info buffer.
|
||||
*/
|
||||
# define skeychallenge(s,u,c) skeychallenge(s,u,c,sizeof(c))
|
||||
# endif
|
||||
|
||||
if (skeychallenge (&skey, user, challenge_info) == 0)
|
||||
use_skey = 1;
|
||||
#endif
|
||||
|
@ -162,6 +162,8 @@ SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
U = @U@
|
||||
USE_NLS = @USE_NLS@
|
||||
USE_NLS_FALSE = @USE_NLS_FALSE@
|
||||
USE_NLS_TRUE = @USE_NLS_TRUE@
|
||||
VERSION = @VERSION@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
XMLCATALOG = @XMLCATALOG@
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include <grp.h>
|
||||
#include <errno.h>
|
||||
|
||||
#ident "$Id: addgrps.c,v 1.8 2005/08/31 17:24:57 kloczek Exp $"
|
||||
#ident "$Id: addgrps.c,v 1.9 2006/01/23 09:46:30 kloczek Exp $"
|
||||
|
||||
#define SEP ",:"
|
||||
/*
|
||||
@ -33,7 +33,7 @@ int add_groups (const char *list)
|
||||
|
||||
i = 16;
|
||||
for (;;) {
|
||||
grouplist = malloc (i * sizeof (GETGROUPS_T));
|
||||
grouplist = (gid_t *) malloc (i * sizeof (GETGROUPS_T));
|
||||
if (!grouplist)
|
||||
return -1;
|
||||
ngroups = getgroups (i, grouplist);
|
||||
@ -67,7 +67,7 @@ int add_groups (const char *list)
|
||||
fprintf (stderr, _("Warning: too many groups\n"));
|
||||
break;
|
||||
}
|
||||
tmp = realloc (grouplist, (ngroups + 1) * sizeof (GETGROUPS_T));
|
||||
tmp = (gid_t *) realloc (grouplist, (ngroups + 1) * sizeof (GETGROUPS_T));
|
||||
if (!tmp) {
|
||||
free (grouplist);
|
||||
return -1;
|
||||
|
@ -35,10 +35,11 @@
|
||||
#include <errno.h>
|
||||
#include "prototypes.h"
|
||||
#include "defines.h"
|
||||
#include "exitcodes.h"
|
||||
#include <pwd.h>
|
||||
#include <grp.h>
|
||||
|
||||
#ident "$Id: age.c,v 1.12 2005/08/31 17:24:57 kloczek Exp $"
|
||||
#ident "$Id: age.c,v 1.13 2006/01/18 19:38:27 kloczek Exp $"
|
||||
|
||||
#ifndef PASSWD_PROGRAM
|
||||
#define PASSWD_PROGRAM "/bin/passwd"
|
||||
@ -125,7 +126,7 @@ int expire (const struct passwd *pw, const struct spwd *sp)
|
||||
execl (PASSWD_PROGRAM, PASSWD_PROGRAM, pw->pw_name, (char *) 0);
|
||||
err = errno;
|
||||
perror ("Can't execute " PASSWD_PROGRAM);
|
||||
_exit ((err == ENOENT) ? 127 : 126);
|
||||
_exit (err == ENOENT ? E_CMD_NOTFOUND : E_CMD_NOEXEC);
|
||||
} else if (pid == -1) {
|
||||
perror ("fork");
|
||||
exit (1);
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* A Bison parser, made by GNU Bison 2.0. */
|
||||
/* A Bison parser, made by GNU Bison 2.1. */
|
||||
|
||||
/* Skeleton parser for Yacc-like parsing with Bison,
|
||||
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@ -15,8 +15,8 @@
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA. */
|
||||
|
||||
/* As a special exception, when this file is copied by Bison into a
|
||||
Bison output file, you may use that output file without restriction.
|
||||
@ -36,6 +36,9 @@
|
||||
/* Identify Bison output. */
|
||||
#define YYBISON 1
|
||||
|
||||
/* Bison version. */
|
||||
#define YYBISON_VERSION "2.1"
|
||||
|
||||
/* Skeleton name. */
|
||||
#define YYSKELETON_NAME "yacc.c"
|
||||
|
||||
@ -71,6 +74,7 @@
|
||||
tZONE = 273
|
||||
};
|
||||
#endif
|
||||
/* Tokens. */
|
||||
#define tAGO 258
|
||||
#define tDAY 259
|
||||
#define tDAY_UNIT 260
|
||||
@ -208,7 +212,7 @@
|
||||
#define yycheck gd_yycheck
|
||||
|
||||
static int yylex ();
|
||||
static int yyerror ();
|
||||
static int yyerror (char *s);
|
||||
|
||||
#define EPOCH 1970
|
||||
#define HOUR(x) ((x) * 60)
|
||||
@ -277,14 +281,19 @@ static int yyRelYear;
|
||||
# define YYERROR_VERBOSE 0
|
||||
#endif
|
||||
|
||||
/* Enabling the token table. */
|
||||
#ifndef YYTOKEN_TABLE
|
||||
# define YYTOKEN_TABLE 0
|
||||
#endif
|
||||
|
||||
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
|
||||
#line 172 "getdate.y"
|
||||
typedef union YYSTYPE {
|
||||
int Number;
|
||||
enum _MERIDIAN Meridian;
|
||||
} YYSTYPE;
|
||||
/* Line 190 of yacc.c. */
|
||||
#line 288 "getdate.c"
|
||||
/* Line 196 of yacc.c. */
|
||||
#line 297 "getdate.c"
|
||||
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||||
# define YYSTYPE_IS_DECLARED 1
|
||||
# define YYSTYPE_IS_TRIVIAL 1
|
||||
@ -295,18 +304,37 @@ typedef union YYSTYPE {
|
||||
/* Copy the second part of user declarations. */
|
||||
|
||||
|
||||
/* Line 213 of yacc.c. */
|
||||
#line 300 "getdate.c"
|
||||
/* Line 219 of yacc.c. */
|
||||
#line 309 "getdate.c"
|
||||
|
||||
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
|
||||
# define YYSIZE_T __SIZE_TYPE__
|
||||
#endif
|
||||
#if ! defined (YYSIZE_T) && defined (size_t)
|
||||
# define YYSIZE_T size_t
|
||||
#endif
|
||||
#if ! defined (YYSIZE_T) && (defined (__STDC__) || defined (__cplusplus))
|
||||
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYSIZE_T size_t
|
||||
#endif
|
||||
#if ! defined (YYSIZE_T)
|
||||
# define YYSIZE_T unsigned int
|
||||
#endif
|
||||
|
||||
#ifndef YY_
|
||||
# if YYENABLE_NLS
|
||||
# if ENABLE_NLS
|
||||
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YY_(msgid) dgettext ("bison-runtime", msgid)
|
||||
# endif
|
||||
# endif
|
||||
# ifndef YY_
|
||||
# define YY_(msgid) msgid
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if ! defined (yyoverflow) || YYERROR_VERBOSE
|
||||
|
||||
# ifndef YYFREE
|
||||
# define YYFREE free
|
||||
# endif
|
||||
# ifndef YYMALLOC
|
||||
# define YYMALLOC malloc
|
||||
# endif
|
||||
|
||||
/* The parser invokes alloca or malloc; define the necessary symbols. */
|
||||
|
||||
# ifdef YYSTACK_USE_ALLOCA
|
||||
@ -315,6 +343,10 @@ typedef union YYSTYPE {
|
||||
# define YYSTACK_ALLOC __builtin_alloca
|
||||
# else
|
||||
# define YYSTACK_ALLOC alloca
|
||||
# if defined (__STDC__) || defined (__cplusplus)
|
||||
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYINCLUDED_STDLIB_H
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
@ -322,13 +354,39 @@ typedef union YYSTYPE {
|
||||
# ifdef YYSTACK_ALLOC
|
||||
/* Pacify GCC's `empty if-body' warning. */
|
||||
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
|
||||
# else
|
||||
# if defined (__STDC__) || defined (__cplusplus)
|
||||
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYSIZE_T size_t
|
||||
# ifndef YYSTACK_ALLOC_MAXIMUM
|
||||
/* The OS might guarantee only one guard page at the bottom of the stack,
|
||||
and a page size can be as small as 4096 bytes. So we cannot safely
|
||||
invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
|
||||
to allow for a few compiler-allocated temporary stack slots. */
|
||||
# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2005 */
|
||||
# endif
|
||||
# else
|
||||
# define YYSTACK_ALLOC YYMALLOC
|
||||
# define YYSTACK_FREE YYFREE
|
||||
# ifndef YYSTACK_ALLOC_MAXIMUM
|
||||
# define YYSTACK_ALLOC_MAXIMUM ((YYSIZE_T) -1)
|
||||
# endif
|
||||
# ifdef __cplusplus
|
||||
extern "C" {
|
||||
# endif
|
||||
# ifndef YYMALLOC
|
||||
# define YYMALLOC malloc
|
||||
# if (! defined (malloc) && ! defined (YYINCLUDED_STDLIB_H) \
|
||||
&& (defined (__STDC__) || defined (__cplusplus)))
|
||||
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
|
||||
# endif
|
||||
# endif
|
||||
# ifndef YYFREE
|
||||
# define YYFREE free
|
||||
# if (! defined (free) && ! defined (YYINCLUDED_STDLIB_H) \
|
||||
&& (defined (__STDC__) || defined (__cplusplus)))
|
||||
void free (void *); /* INFRINGES ON USER NAME SPACE */
|
||||
# endif
|
||||
# endif
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
# endif
|
||||
# endif
|
||||
#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
|
||||
|
||||
@ -363,7 +421,7 @@ union yyalloc
|
||||
# define YYCOPY(To, From, Count) \
|
||||
do \
|
||||
{ \
|
||||
register YYSIZE_T yyi; \
|
||||
YYSIZE_T yyi; \
|
||||
for (yyi = 0; yyi < (Count); yyi++) \
|
||||
(To)[yyi] = (From)[yyi]; \
|
||||
} \
|
||||
@ -413,7 +471,7 @@ union yyalloc
|
||||
#define YYUNDEFTOK 2
|
||||
#define YYMAXUTOK 273
|
||||
|
||||
#define YYTRANSLATE(YYX) \
|
||||
#define YYTRANSLATE(YYX) \
|
||||
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
|
||||
|
||||
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
|
||||
@ -495,8 +553,8 @@ static const unsigned short int yyrline[] =
|
||||
};
|
||||
#endif
|
||||
|
||||
#if YYDEBUG || YYERROR_VERBOSE
|
||||
/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
||||
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
|
||||
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
|
||||
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
|
||||
static const char *const yytname[] =
|
||||
{
|
||||
@ -621,22 +679,6 @@ static const unsigned char yystos[] =
|
||||
32
|
||||
};
|
||||
|
||||
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
|
||||
# define YYSIZE_T __SIZE_TYPE__
|
||||
#endif
|
||||
#if ! defined (YYSIZE_T) && defined (size_t)
|
||||
# define YYSIZE_T size_t
|
||||
#endif
|
||||
#if ! defined (YYSIZE_T)
|
||||
# if defined (__STDC__) || defined (__cplusplus)
|
||||
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
|
||||
# define YYSIZE_T size_t
|
||||
# endif
|
||||
#endif
|
||||
#if ! defined (YYSIZE_T)
|
||||
# define YYSIZE_T unsigned int
|
||||
#endif
|
||||
|
||||
#define yyerrok (yyerrstatus = 0)
|
||||
#define yyclearin (yychar = YYEMPTY)
|
||||
#define YYEMPTY (-2)
|
||||
@ -666,8 +708,8 @@ do \
|
||||
goto yybackup; \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
yyerror ("syntax error: cannot back up");\
|
||||
{ \
|
||||
yyerror (YY_("syntax error: cannot back up")); \
|
||||
YYERROR; \
|
||||
} \
|
||||
while (0)
|
||||
@ -746,7 +788,7 @@ do { \
|
||||
if (yydebug) \
|
||||
{ \
|
||||
YYFPRINTF (stderr, "%s ", Title); \
|
||||
yysymprint (stderr, \
|
||||
yysymprint (stderr, \
|
||||
Type, Value); \
|
||||
YYFPRINTF (stderr, "\n"); \
|
||||
} \
|
||||
@ -794,13 +836,13 @@ yy_reduce_print (yyrule)
|
||||
#endif
|
||||
{
|
||||
int yyi;
|
||||
unsigned int yylno = yyrline[yyrule];
|
||||
YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
|
||||
unsigned long int yylno = yyrline[yyrule];
|
||||
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu), ",
|
||||
yyrule - 1, yylno);
|
||||
/* Print the symbols being reduced, and their result. */
|
||||
for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
|
||||
YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
|
||||
YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
|
||||
YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
|
||||
YYFPRINTF (stderr, "-> %s\n", yytname[yyr1[yyrule]]);
|
||||
}
|
||||
|
||||
# define YY_REDUCE_PRINT(Rule) \
|
||||
@ -829,7 +871,7 @@ int yydebug;
|
||||
if the built-in stack extension method is used).
|
||||
|
||||
Do not make this value too large; the results are undefined if
|
||||
SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
|
||||
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
|
||||
evaluated with infinite-precision integer arithmetic. */
|
||||
|
||||
#ifndef YYMAXDEPTH
|
||||
@ -853,7 +895,7 @@ yystrlen (yystr)
|
||||
const char *yystr;
|
||||
# endif
|
||||
{
|
||||
register const char *yys = yystr;
|
||||
const char *yys = yystr;
|
||||
|
||||
while (*yys++ != '\0')
|
||||
continue;
|
||||
@ -878,8 +920,8 @@ yystpcpy (yydest, yysrc)
|
||||
const char *yysrc;
|
||||
# endif
|
||||
{
|
||||
register char *yyd = yydest;
|
||||
register const char *yys = yysrc;
|
||||
char *yyd = yydest;
|
||||
const char *yys = yysrc;
|
||||
|
||||
while ((*yyd++ = *yys++) != '\0')
|
||||
continue;
|
||||
@ -889,7 +931,55 @@ yystpcpy (yydest, yysrc)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#endif /* !YYERROR_VERBOSE */
|
||||
# ifndef yytnamerr
|
||||
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
|
||||
quotes and backslashes, so that it's suitable for yyerror. The
|
||||
heuristic is that double-quoting is unnecessary unless the string
|
||||
contains an apostrophe, a comma, or backslash (other than
|
||||
backslash-backslash). YYSTR is taken from yytname. If YYRES is
|
||||
null, do not copy; instead, return the length of what the result
|
||||
would have been. */
|
||||
static YYSIZE_T
|
||||
yytnamerr (char *yyres, const char *yystr)
|
||||
{
|
||||
if (*yystr == '"')
|
||||
{
|
||||
size_t yyn = 0;
|
||||
char const *yyp = yystr;
|
||||
|
||||
for (;;)
|
||||
switch (*++yyp)
|
||||
{
|
||||
case '\'':
|
||||
case ',':
|
||||
goto do_not_strip_quotes;
|
||||
|
||||
case '\\':
|
||||
if (*++yyp != '\\')
|
||||
goto do_not_strip_quotes;
|
||||
/* Fall through. */
|
||||
default:
|
||||
if (yyres)
|
||||
yyres[yyn] = *yyp;
|
||||
yyn++;
|
||||
break;
|
||||
|
||||
case '"':
|
||||
if (yyres)
|
||||
yyres[yyn] = '\0';
|
||||
return yyn;
|
||||
}
|
||||
do_not_strip_quotes: ;
|
||||
}
|
||||
|
||||
if (! yyres)
|
||||
return yystrlen (yystr);
|
||||
|
||||
return yystpcpy (yyres, yystr) - yyres;
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif /* YYERROR_VERBOSE */
|
||||
|
||||
|
||||
|
||||
@ -1009,13 +1099,13 @@ yyparse (void)
|
||||
#else
|
||||
int
|
||||
yyparse ()
|
||||
|
||||
;
|
||||
#endif
|
||||
#endif
|
||||
{
|
||||
|
||||
register int yystate;
|
||||
register int yyn;
|
||||
int yystate;
|
||||
int yyn;
|
||||
int yyresult;
|
||||
/* Number of tokens to shift before error messages enabled. */
|
||||
int yyerrstatus;
|
||||
@ -1033,12 +1123,12 @@ yyparse ()
|
||||
/* The state stack. */
|
||||
short int yyssa[YYINITDEPTH];
|
||||
short int *yyss = yyssa;
|
||||
register short int *yyssp;
|
||||
short int *yyssp;
|
||||
|
||||
/* The semantic value stack. */
|
||||
YYSTYPE yyvsa[YYINITDEPTH];
|
||||
YYSTYPE *yyvs = yyvsa;
|
||||
register YYSTYPE *yyvsp;
|
||||
YYSTYPE *yyvsp;
|
||||
|
||||
|
||||
|
||||
@ -1070,9 +1160,6 @@ yyparse ()
|
||||
yyssp = yyss;
|
||||
yyvsp = yyvs;
|
||||
|
||||
|
||||
yyvsp[0] = yylval;
|
||||
|
||||
goto yysetstate;
|
||||
|
||||
/*------------------------------------------------------------.
|
||||
@ -1105,7 +1192,7 @@ yyparse ()
|
||||
data in use in that stack, in bytes. This used to be a
|
||||
conditional around just the two extra args, but that might
|
||||
be undefined if yyoverflow is a macro. */
|
||||
yyoverflow ("parser stack overflow",
|
||||
yyoverflow (YY_("memory exhausted"),
|
||||
&yyss1, yysize * sizeof (*yyssp),
|
||||
&yyvs1, yysize * sizeof (*yyvsp),
|
||||
|
||||
@ -1116,11 +1203,11 @@ yyparse ()
|
||||
}
|
||||
#else /* no yyoverflow */
|
||||
# ifndef YYSTACK_RELOCATE
|
||||
goto yyoverflowlab;
|
||||
goto yyexhaustedlab;
|
||||
# else
|
||||
/* Extend the stack our own way. */
|
||||
if (YYMAXDEPTH <= yystacksize)
|
||||
goto yyoverflowlab;
|
||||
goto yyexhaustedlab;
|
||||
yystacksize *= 2;
|
||||
if (YYMAXDEPTH < yystacksize)
|
||||
yystacksize = YYMAXDEPTH;
|
||||
@ -1130,7 +1217,7 @@ yyparse ()
|
||||
union yyalloc *yyptr =
|
||||
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
|
||||
if (! yyptr)
|
||||
goto yyoverflowlab;
|
||||
goto yyexhaustedlab;
|
||||
YYSTACK_RELOCATE (yyss);
|
||||
YYSTACK_RELOCATE (yyvs);
|
||||
|
||||
@ -1666,10 +1753,11 @@ yyreduce:
|
||||
break;
|
||||
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
/* Line 1037 of yacc.c. */
|
||||
#line 1673 "getdate.c"
|
||||
/* Line 1126 of yacc.c. */
|
||||
#line 1761 "getdate.c"
|
||||
|
||||
yyvsp -= yylen;
|
||||
yyssp -= yylen;
|
||||
@ -1708,12 +1796,36 @@ yyerrlab:
|
||||
|
||||
if (YYPACT_NINF < yyn && yyn < YYLAST)
|
||||
{
|
||||
YYSIZE_T yysize = 0;
|
||||
int yytype = YYTRANSLATE (yychar);
|
||||
const char* yyprefix;
|
||||
char *yymsg;
|
||||
YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
|
||||
YYSIZE_T yysize = yysize0;
|
||||
YYSIZE_T yysize1;
|
||||
int yysize_overflow = 0;
|
||||
char *yymsg = 0;
|
||||
# define YYERROR_VERBOSE_ARGS_MAXIMUM 5
|
||||
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
|
||||
int yyx;
|
||||
|
||||
#if 0
|
||||
/* This is so xgettext sees the translatable formats that are
|
||||
constructed on the fly. */
|
||||
YY_("syntax error, unexpected %s");
|
||||
YY_("syntax error, unexpected %s, expecting %s");
|
||||
YY_("syntax error, unexpected %s, expecting %s or %s");
|
||||
YY_("syntax error, unexpected %s, expecting %s or %s or %s");
|
||||
YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
|
||||
#endif
|
||||
char *yyfmt;
|
||||
char const *yyf;
|
||||
static char const yyunexpected[] = "syntax error, unexpected %s";
|
||||
static char const yyexpecting[] = ", expecting %s";
|
||||
static char const yyor[] = " or %s";
|
||||
char yyformat[sizeof yyunexpected
|
||||
+ sizeof yyexpecting - 1
|
||||
+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
|
||||
* (sizeof yyor - 1))];
|
||||
char const *yyprefix = yyexpecting;
|
||||
|
||||
/* Start YYX at -YYN if negative to avoid negative indexes in
|
||||
YYCHECK. */
|
||||
int yyxbegin = yyn < 0 ? -yyn : 0;
|
||||
@ -1721,48 +1833,68 @@ yyerrlab:
|
||||
/* Stay within bounds of both yycheck and yytname. */
|
||||
int yychecklim = YYLAST - yyn;
|
||||
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
|
||||
int yycount = 0;
|
||||
int yycount = 1;
|
||||
|
||||
yyarg[0] = yytname[yytype];
|
||||
yyfmt = yystpcpy (yyformat, yyunexpected);
|
||||