Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Aug 2012 06:20:14 GMT
From:      Loganaden Velvindron <logan@afrinic.net>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/170692: Incomplete perl module dependency causes password not to update correctly
Message-ID:  <201208170620.q7H6KEDR053781@red.freebsd.org>
Resent-Message-ID: <201208170630.q7H6U9S7075308@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         170692
>Category:       ports
>Synopsis:       Incomplete perl module dependency causes password not to update correctly
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Aug 17 06:30:09 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Loganaden Velvindron
>Release:        9.0
>Organization:
Afrinic Ltd
>Environment:
FreeBSD ops01.mu.afrinic.net 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:46:30 UTC 2012     root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

>Description:
Daniel Shaw (daniel@afrinic.net) discovered that usermin couldn't find a dependency to change the password, in change password menu. The dependancy is p5-IO-Tty which is called by changepasswd.cgi.

sub pty_process_exec
{
local ($cmd, $uid, $gid) = @_;
if (&is_readonly_mode()) {
        # When in readonly mode, don't run the command
        $cmd = "/bin/true";
        }
&webmin_debug_log('CMD', "cmd=$cmd uid=$uid gid=$gid")
        if ($gconfig{'debug_what_cmd'});

eval "use IO::Pty";
if (!$@) {
        # Use the IO::Pty perl module if installed
        local $ptyfh = new IO::Pty;
        if (!$ptyfh) {


pty_process_exec is later called in changepasswd.cgi:

                ($fh, $fpid) = &proc::pty_process_exec(
                                        $passwd_cmd, $uinfo[2], $uinfo[3]);
>How-To-Repeat:
Go to change password, and change an existing user password. Nothing is displayed on the web page & the password isn't updated silently either.
>Fix:
A workaround is to install p5-IO-Tty manually, and then the password is changed correctly and the webpage confirms the change.

Patch attached with submission follows:

--- Makefile.orig	2012-08-17 10:02:14.000000000 +0400
+++ Makefile	2012-08-17 09:57:36.000000000 +0400
@@ -19,6 +19,7 @@ MAINTAINER=	olgeni@FreeBSD.org
 COMMENT=	Web-based interface for performing some user tasks
 
 RUN_DEPENDS=	p5-Net-SSLeay>=0:${PORTSDIR}/security/p5-Net-SSLeay \
+		p5-IO-Tty>=0:${PORTSDIR}/devel/p5-IO-Tty \
 		p5-Authen-PAM>=0:${PORTSDIR}/security/p5-Authen-PAM
 
 FETCH_CMD?=	/usr/bin/fetch -pRr


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208170620.q7H6KEDR053781>