From owner-freebsd-ports-bugs@FreeBSD.ORG Sat Jul 5 21:00:35 2003 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DC3C937B401 for ; Sat, 5 Jul 2003 21:00:35 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 79E4E44033 for ; Sat, 5 Jul 2003 21:00:33 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h6640XUp098485 for ; Sat, 5 Jul 2003 21:00:33 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h6640XCC098484; Sat, 5 Jul 2003 21:00:33 -0700 (PDT) Resent-Date: Sat, 5 Jul 2003 21:00:33 -0700 (PDT) Resent-Message-Id: <200307060400.h6640XCC098484@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Andrew Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 738DC37B404 for ; Sat, 5 Jul 2003 20:55:00 -0700 (PDT) Received: from mail.alwaysonline.net.au (sikuzote.AlwaysONLINE.net.au [202.181.16.8]) by mx1.FreeBSD.org (Postfix) with ESMTP id EFD5F43FCB for ; Sat, 5 Jul 2003 20:54:58 -0700 (PDT) (envelope-from andrew@amy.ugh.net.au) Received: from amy.ugh.net.au (amy.ugh.net.au [202.181.20.95]) by mail.alwaysonline.net.au (Postfix) with ESMTP id D6912F0D0 for ; Sun, 6 Jul 2003 13:57:09 +1000 (EST) Received: from amy.local (andrew@localhost [127.0.0.1]) by amy.ugh.net.au (8.12.9/8.12.9) with ESMTP id h663tdUa027009 for ; Sun, 6 Jul 2003 13:55:39 +1000 (EST) (envelope-from andrew@amy.local) Received: (from andrew@localhost) by amy.local (8.12.9/8.12.9/Submit) id h663tcYn027008; Sun, 6 Jul 2003 03:55:38 GMT Message-Id: <200307060355.h663tcYn027008@amy.local> Date: Sun, 6 Jul 2003 03:55:38 GMT From: Andrew To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: ports/54140: mail/poppassd: passwd prompts changed again X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Andrew List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jul 2003 04:00:36 -0000 >Number: 54140 >Category: ports >Synopsis: mail/poppassd: passwd prompts changed again >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Sat Jul 05 21:00:32 PDT 2003 >Closed-Date: >Last-Modified: >Originator: Andrew >Release: FreeBSD 5.1-CURRENT i386 >Organization: UgH! >Environment: System: FreeBSD amy.local 5.1-CURRENT FreeBSD 5.1-CURRENT #6: Sat Jun 28 14:34:11 EST 2003 andrew@amy.local:/usr/obj/usr/src/sys/AMY i386 >Description: Prompts from /usr/bin/passwd have changed again, thus breaking poppassd. It seems, although not fixed in this patch there is bad interaction between devfs and findpty also. I'll try and get to it tonight. I would again encourage everyone to use poppwd instead. It has a much more stable interface to changing passwords. >How-To-Repeat: >Fix: diff -druN /usr/ports/mail/poppassd/files/patch-ab poppassd/files/patch-ab --- /usr/ports/mail/poppassd/files/patch-ab Sun Oct 6 19:32:32 2002 +++ poppassd/files/patch-ab Sun Jul 6 03:49:35 2003 @@ -1,5 +1,5 @@ ---- poppassd.c.orig Thu Sep 5 11:44:07 2002 -+++ poppassd.c Thu Sep 5 16:07:09 2002 +--- poppassd.c.orig Sun Jul 6 03:40:55 2003 ++++ poppassd.c Sun Jul 6 03:41:49 2003 @@ -13,11 +13,11 @@ * * Doesn't actually change any passwords itself. It simply listens for @@ -32,7 +32,7 @@ * back to the client in the final 500 response, and a new version of the * code to find the next free pty, is by Norstad. * -@@ -145,8 +145,9 @@ +@@ -145,14 +145,17 @@ static char *P1[] = {"Old password:", "Changing password for *.\nOld password:", @@ -41,9 +41,22 @@ - "Changing NIS password for * on *.\nOld password:", + "Changing NIS password for * on *.\nOld Password:", "Changing password for *\n*'s Old password:", ++ "Changing local password for *\nOld Password:", ""}; -@@ -165,7 +166,10 @@ + static char *P2[] = + {"\nNew password:", + "\n*'s New password:", ++ "\nNew Password:", + ""}; + + static char *P3[] = +@@ -161,11 +164,15 @@ + "\nEnter the new password again:", + "\n*Re-enter *'s new password:", + "\nVerify:", ++ "\nRetype New Password:", + ""}; static char *P4[] = {"\n", @@ -54,7 +67,7 @@ ""}; -@@ -186,11 +190,7 @@ +@@ -186,11 +193,7 @@ *user = *oldpass = *newpass = 0; @@ -67,7 +80,7 @@ WriteToClient ("200 poppassd v%s hello, who are you?", VERSION); ReadFromClient (line); -@@ -212,12 +212,16 @@ +@@ -212,12 +215,16 @@ if ((pw = getpwnam (user)) == NULL) { @@ -85,7 +98,7 @@ WriteToClient ("500 Old password is incorrect."); exit(1); } -@@ -264,28 +268,28 @@ +@@ -264,28 +271,28 @@ if ((wpid = waitpid (pid, &wstat, 0)) < 0) { @@ -118,7 +131,7 @@ WriteToClient ("500 Server error (abnormal exit), get help!"); exit (1); } -@@ -304,17 +308,19 @@ +@@ -304,17 +311,19 @@ } else /* Child */ { @@ -149,7 +162,7 @@ setuid (pw->pw_uid); setgid (pw->pw_gid); dochild (master, slavedev, user); -@@ -324,7 +330,7 @@ +@@ -324,7 +333,7 @@ /* * dochild * @@ -158,7 +171,7 @@ * * Code adapted from "Advanced Programming in the UNIX Environment" * by W. Richard Stevens. -@@ -338,13 +344,6 @@ +@@ -338,13 +347,6 @@ int slave; struct termios stermios; @@ -172,7 +185,7 @@ /* Open slave pty and acquire as new controlling terminal. */ if ((slave = open(slavedev, O_RDWR)) < 0) { -@@ -387,10 +386,10 @@ +@@ -387,10 +389,10 @@ return(0); } @@ -186,7 +199,7 @@ return(0); } } -@@ -408,15 +407,20 @@ +@@ -408,15 +410,20 @@ * * Modified by Norstad to remove assumptions about number of pty's allocated * on this UNIX box. @@ -208,7 +221,7 @@ dirp = opendir("/dev"); while ((dp = readdir(dirp)) != NULL) { if (strncmp(dp->d_name, "pty", 3) == 0 && strlen(dp->d_name) == 5) { -@@ -485,8 +489,10 @@ +@@ -485,8 +492,10 @@ } writestring(master, pswd); >Release-Note: >Audit-Trail: >Unformatted: