Package: login Version: 1:4.16.0-2+really2.41-5 Severity: normal Dear Maintainer,
I've upgraded a server using rlogin/rsh-redone-server to trixie. Specifically, I upgraded 1:4.13+dfsg1-1+deb12u1 to 1:4.16.0-2+really2.41-5 After that, login via rlogin was rarely possible. That is, it sometimes worked, but in the majority of cases (say, nine out of ten), the result was an instant connection close, for no apparant reason. I tried downgradiong various components (switch inetd, switch rsh-server) but as it turned out, the problematic component is login. Downgrading just the login package to bookworm makes the login 100% reliable again, upgrading login to trixie, no longer works. I've provided two strace's created with the trixie login package, one with successful login and one with failure: http://data.plan9.de/login-success.txt http://data.plan9.de/login-failure.txt The crucial difference seems to be this (a good search point is "vhanghup"): 37352 access("/dev/pts/9", R_OK|W_OK) = 0 37352 ioctl(0, TIOCGWINSZ, {ws_row=56, ws_col=120, ws_xpixel=1320, ws_ypixel=1064}) = 0 37352 ioctl(0, TCGETS, {c_iflag=ICRNL|IXON, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|OPOST|ONLCR, c_cflag=B38400|CS8|CREAD, c_lf lag=ISIG|ICANON|ECHO|ECHOE|ECHOK|IEXTEN|ECHOCTL|ECHOKE, ...}) = 0 37352 fchown(0, 0, 0) = 0 37352 fchmod(0, 0600) = 0 37352 ioctl(0, TCGETS, {c_iflag=ICRNL|IXON, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|OPOST|ONLCR, c_cflag=B38400|CS8|CREAD, c_lf lag=ISIG|ICANON|ECHO|ECHOE|ECHOK|IEXTEN|ECHOCTL|ECHOKE, ...}) = 0 37352 ioctl(0, TCSETS, {c_iflag=ICRNL|IXON, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|OPOST|ONLCR, c_cflag=B38400|CS8|CREAD, c_lf lag=ISIG|ICANON|ECHO|ECHOE|ECHOK|IEXTEN|ECHOCTL|ECHOKE, ...}) = 0 37352 ioctl(0, TCGETS, {c_iflag=ICRNL|IXON, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|OPOST|ONLCR, c_cflag=B38400|CS8|CREAD, c_lf lag=ISIG|ICANON|ECHO|ECHOE|ECHOK|IEXTEN|ECHOCTL|ECHOKE, ...}) = 0 37352 close(0) = 0 37352 close(1) = 0 37352 close(2) = 0 37351 <... pselect6 resumed>) = 1 (in [3]) 37352 rt_sigaction(SIGHUP, {sa_handler=SIG_IGN, sa_mask=[HUP], sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f8f79febd f0}, <unfinished ...> 37351 read(3, <unfinished ...> 37352 <... rt_sigaction resumed>{sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0 37351 <... read resumed>0x7ffc095bcf10, 1025) = -1 EIO (Input/output error) 37352 vhangup( <unfinished ...> What happens here is that login (37352) closes 0, 1 2, and this causes the rlogind (37351) to get an instant HUP on it's pty fd, closing the connection. The success case looks very similar, except that the parent does not get an instant HUP and everything continues. I haven't delved into the code, but it seems in the failure case either login closes all fds to the tty, causing the pty to HUP, or maybe it's a race. In any case, this of course breaks all rlogin packages. -- System Information: Debian Release: 12.8 APT prefers oldstable-updates APT policy: (990, 'oldstable-updates'), (990, 'oldstable-security'), (990, 'oldstable'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'oldoldstable-debug'), (500, 'unstable'), (500, 'testing'), (100, 'bookworm-fasttrack'), (1, 'experimental-debug'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386, x32 Kernel: Linux 6.1.0-28-amd64 (SMP w/28 CPU threads; PREEMPT) Kernel taint flags: TAINT_USER, TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages login depends on: ii libaudit1 1:3.0.9-1 ii libc6 2.36-9+deb12u9 ii libcrypt1 1:4.4.33-2 ii libpam-modules 1.5.2-6+deb12u1 ii libpam-runtime 1.5.2-6+deb12u1 ii libpam0g 1.5.2-6+deb12u1 login recommends no packages. login suggests no packages. -- no debconf information

