Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 135987 - sys-apps/shadow-4.0.16's login complains about GETPASS_ASTERISKS when USE=-skey
Summary: sys-apps/shadow-4.0.16's login complains about GETPASS_ASTERISKS when USE=-skey
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-07 13:37 UTC by Federico Fissore
Modified: 2006-06-24 16:54 UTC (History)
30 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Federico Fissore 2006-06-07 13:37:08 UTC
after emerging shadow (from sys-apps/shadow-4.0.15-r2 to sys-apps/shadow-4.0.16) and doing login from a console the following message appears

configuration error - unknown item 'GETPASS_ASTERISKS' (notify administrator)

found that GETPASS_ASTERISKS is a variable set in /etc/login.defs
commenting the variable from
GETPASS_ASTERISKS 0
to
#GETPASS_ASTERISKS 0
solved the problem

man login.defs does not show this variable, so I suppose it was removed

the ebuild should update login.defs in order to remove the unused variable or comment it

now my emerge --info follows

Portage 2.1_rc4-r3 (default-linux/x86/2005.1, gcc-4.1.1/vanilla, glibc-2.4-r3, 2.6.16-gentoo-r7 i686)
=================================================================
System uname: 2.6.16-gentoo-r7 i686 AMD Athlon(tm) XP 1700+
Gentoo Base System version 1.12.1
ccache version 2.4 [enabled]
dev-lang/python:     2.3.5-r2, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r1
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/gcc-config: 2.0.0_rc1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer -ftracer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer -ftracer -fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="-D --nospinner"
FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.gentoo.mesh-solutions.com/gentoo/ http://mirror.switch.ch/ftp/mirror/gentoo/"
LDFLAGS="-Wl,-O1"
LINGUAS="it en_GB uk"
MAKEOPTS="-j2 -s"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/overlays/my"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 3dnow X a52 aac aalib acpi alsa apm asf avahi avi berkdb bitmap-fonts bzip2 cairo cdda cddb cdr cli crypt css cups dbus dga dri dts dvb dvd dvdr dvdread eds emboss encode esd ffmpeg firefox flac foomaticdb fortran gcj gdbm gif glitz glut gmp gnome gpm gstreamer gtk gtk2 hal imlib ipv6 isdnlog java jikes jpeg libcaca libg++ libwww live lzo mad matroska mikmod mjpeg mmx mmxext mng motif mp3 mp4 mpeg nautilus ncurses nls nptl nptlonly nsplugin nvidia ogg oggvorbis openal opengl pam pcre pdflib perl png pppd python quicktime readline real reflection rtc ruby samba sdl session smartcard spell spl sse ssl startup-notification stream svg tcpd theora threads tiff truetype truetype-fonts type1-fonts vcd vlm vorbis win32codecs wmf wxwindows x264 xine xml2 xmms xorg xosd xv xvid xvmc zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_it linguas_en_GB linguas_uk userland_GNU video_cards_nv video_cards_vesa"
Unset:  CTARGET, INSTALL_MASK, LANG, LC_ALL, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Gen2 2006-06-07 13:48:01 UTC
Can confirm that the problem exists on ~amd64 and commenting GETPASS_ASTERISKS 0 lin in /etc/login.defs solves this problem
Comment 2 SpanKY gentoo-dev 2006-06-07 15:14:50 UTC
no, that isnt the fix
Comment 3 michel 2006-06-07 15:19:17 UTC
Same issue here, after commenting #GETPASS_ASTERISKS 0 in /etc/login.defs the problem seems to be solved!
Comment 4 Bill Krueger 2006-06-08 06:22:53 UTC
It's taken me a bit to find the reasons for this since there's no real mention of a change to "GETPASS_ASTERISKS" anywhere except the source. After looking at the release notes of shadow-4.0.16 and comparing it's source to a previous version I've found the following:

Release notes mention:

" by default do not use libshadow_getpass() as getpass() replacemement.
  Use libshadow_getpass() only when S/KEY support is enabled.
  Current glibc getpass() handles correctly longer than 8 characters
  passwords and libshadow_getpass() is used only because libc getpass()
  do not handles password prompting with echo enabled"

looking at the source differences between shadow-4.0.15-r2 and shadow-4.0.16 in lib/getdef.c the use of GETPASS_ASTERISKS is enabled only when the use var "skey" is used. Note the code snippets as follows:

shadow-4.0.15-r2 lib/getdef.c:

static struct itemdef def_table[] = {
	{"CHFN_RESTRICT", NULL},
    [...snip...]
	{"GETPASS_ASTERISKS", NULL},
	{"GID_MAX", NULL},
    [...snip...]


shadow-4.0.16 lib/getdef.c:

static struct itemdef def_table[] = {
	{"CHFN_RESTRICT", NULL},
    [...snip...]
#ifdef SKEY
	{"GETPASS_ASTERISKS", NULL},
#endif
    [...snip...]


Hope this helps others to know why this msg occurs (I was concerned this was a "real" error) and I'm now pretty sure the msg is harmless. Now how login.defs should be corrected (by hand or ebuild) is outside my ability to say.
Comment 5 Peter Humphrey 2006-06-12 01:57:47 UTC
I confirm that setting USE=-skey in /etc/make.conf, then emerge shadow, results
in the following showing up in etc-update:

Showing differences between /etc/login.defs and /etc/._cfg0000_login.defs
--- /etc/login.defs     2006-06-08 11:41:33.000000000 +0100
+++ /etc/._cfg0000_login.defs   2006-06-12 09:54:43.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # /etc/login.defs - Configuration control definitions for the login package.
 #
-#      $Id: login.defs,v 1.6 2006/03/12 23:47:08 flameeyes Exp $
+#      $Id: login.defs.4.0.16,v 1.1 2006/06/09 20:34:53 flameeyes Exp $
 #
 # Three items must be defined:  MAIL_DIR, ENV_SUPATH, and ENV_PATH.
 # If unspecified, some arbitrary (and possibly incorrect) value will
@@ -199,7 +199,9 @@
 # Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass()
 # without any new features.  This is the default.
 #
-GETPASS_ASTERISKS 0
+# This is valid only if S/Key support is enabled
+#
+# GETPASS_ASTERISKS 0

 #
 # Enable setting of the umask group bits to be the same as owner bits
Comment 6 Matt Whitlock 2006-06-12 02:34:12 UTC
I have USE=-skey and I didn't get an update to my login.defs when I upgraded to shadow-4.0.16.  I am seeing the error message.
Comment 7 Bo Ørsted Andresen (RETIRED) gentoo-dev 2006-06-12 02:40:35 UTC
(In reply to comment #6)
Try to --sync and emerge shadow again. That just solved the issue for me.
Comment 8 Federico Fissore 2006-06-12 02:59:41 UTC
yep, flameeyes updated the ebuild
http://www.gentoo.org/cgi-bin/viewcvs.cgi/*checkout*/sys-apps/shadow/ChangeLog

think this bug is closed
Comment 9 Edmondo Tommasina 2006-06-12 10:41:52 UTC
Yes. Confirmed here as well.
emerge --sync and emerge shadow fixed the issue.
Thanks
Comment 11 Volker Hemmann 2006-06-15 18:20:18 UTC
not really.

Because the ebuild was not bumped, you do not get the fix automatically.

Some people. like me, waited for a ebuild bump, so an update world would correct the situation.

What is gentoo's position on altering ebuilds without changing the version?

If only the ebuiold changes, without a revision bump, the people who have already installed the ebuild just do not get the fix.

This is not the first time. But IMHO it is bad practice.
Comment 12 David Shakaryan (RETIRED) gentoo-dev 2006-06-15 19:15:27 UTC
Volker, to answer your question, you can find the versioning policy here:
http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=3&chap=1

You specifically want the 'Versioning and revision bumps' subsection of the 'Ebuild policy' section.

As for waiting for an r-bump before updating, there is no need to do that. If you remerge it with --oneshot, the package will not be recorded in the world file so there shouldn't be any consequences
Comment 13 Arun Raghavan (RETIRED) gentoo-dev 2006-06-22 10:53:26 UTC
Thanks for the fix Jakub. I do agree with Volker, though. It would've been nice to see a revision bump -- people wouldn't have to come searching on b.g.o to fix the problem, then.
Comment 14 Petteri Räty (RETIRED) gentoo-dev 2006-06-24 06:21:05 UTC
vapier: Your correction made this problem appear again:

Revision 1.4  - (view) (download) (annotate) - [select for diffs]
Sat Jun 24 08:05:59 2006 UTC (5 hours, 12 minutes ago) by vapier
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +11 -11 lines
Diff to previous 1.3

fix the GETPASS_ASTERISKS bug in a less sucky fashion
(Portage version: 2.1.1_pre1-r2)

betelgeuse@pena /usr/portage/sys-apps/shadow $ su
Password:
configuration error - unknown item 'GETPASS_ASTERISKS' (notify administrator)
pena shadow # emerge -pv shadow

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-apps/shadow-4.0.16  USE="pam -nls -nousuid -skey" 0 kB

Total size of downloads: 0 kB
pena shadow #                  
Comment 15 SpanKY gentoo-dev 2006-06-24 16:52:52 UTC
works fine for me

$ ebuild shadow-4.0.16.ebuild clean unpack compile install
$ grep GETPASS /var/tmp/portage/shadow-4.0.16/image/etc/login.defs 
# display a random number (in the range 1 to GETPASS_ASTERISKS) of '*'
# Setting GETPASS_ASTERISKS to 1 results in more traditional behaviour -
# Setting GETPASS_ASTERISKS to 0 disables the '*' characters (Backspace,
# Setting GETPASS_ASTERISKS to -1 reverts to the traditional getpass()
#GETPASS_ASTERISKS 0
Comment 16 SpanKY gentoo-dev 2006-06-24 16:54:34 UTC
guess issue comes up with USE=pam

issue: pam sucks

should be fine in cvs now