From danw@MIT.EDU Wed Oct 29 16:40:16 1997
Received: from MIT.EDU (PACIFIC-CARRIER-ANNEX.MIT.EDU [18.69.0.28]) by rt-11.MIT.EDU (8.7.5/8.7.3) with SMTP id QAA24016 for <bugs@RT-11.MIT.EDU>; Wed, 29 Oct 1997 16:40:16 -0500
Received: from IMPLEMENTOR.MIT.EDU by MIT.EDU with SMTP
id AA10589; Wed, 29 Oct 97 16:40:18 EST
Received: by Implementor.MIT.EDU (SMI-8.6/4.7) id QAA28668; Wed, 29 Oct 1997 16:40:15 -0500
Message-Id: <199710292140.QAA28668@Implementor.MIT.EDU>
Date: Wed, 29 Oct 1997 16:40:15 -0500
From: danw@MIT.EDU
Reply-To: danw@MIT.EDU
To: krb5-bugs@MIT.EDU
Subject: getusershell() problem in gssftpd
X-Send-Pr-Version: 3.99
Architecture: sun4
#ifdef HAVE_GETUSERSHELL
while ((cp = getusershell()) != NULL)
if (strcmp(cp, shell) == 0)
break;
/* endusershell(); */ /* this breaks on solaris 2.4 */
#else
Since the call to endusershell never happens, getusershell() never
rewinds, so if you try to log in a second time, it won't find your
shell.
Name (impl:danw):
331 Password required for danw.
Password: [mistype password here]
530 Login incorrect.
Login failed.
Login failed.
but I don't know what the problem with 2.4 was...
From: Ken Hornstein <kenh@cmf.nrl.navy.mil>
To: danw@MIT.EDU
Cc: krb5-bugs@MIT.EDU
Subject: Re: krb5-appl/485: getusershell() problem in gssftpd
Date: Fri, 31 Oct 1997 13:50:38 -0500
Some additional information ... Von Welch discovered this bug, and we
talked about it a bit. He applied the same fix, and discovered that
as far as he could tell, it did _not_ cause a problem on Solaris 2.4.
So I think that comment is way bogus :-)
--Ken
State-Changed-From-To: open-closed
State-Changed-By: mdh
State-Changed-When: Fri Aug 7 00:28:51 1998
State-Changed-Why:
The comment seems indeed to be bogus. I put back the call to endusershell() and
added a call to setusershell() immediately before the loop through
getusershell(), just to be sure we iterate through the whole list.
Received: from MIT.EDU (PACIFIC-CARRIER-ANNEX.MIT.EDU [18.69.0.28]) by rt-11.MIT.EDU (8.7.5/8.7.3) with SMTP id QAA24016 for <bugs@RT-11.MIT.EDU>; Wed, 29 Oct 1997 16:40:16 -0500
Received: from IMPLEMENTOR.MIT.EDU by MIT.EDU with SMTP
id AA10589; Wed, 29 Oct 97 16:40:18 EST
Received: by Implementor.MIT.EDU (SMI-8.6/4.7) id QAA28668; Wed, 29 Oct 1997 16:40:15 -0500
Message-Id: <199710292140.QAA28668@Implementor.MIT.EDU>
Date: Wed, 29 Oct 1997 16:40:15 -0500
From: danw@MIT.EDU
Reply-To: danw@MIT.EDU
To: krb5-bugs@MIT.EDU
Subject: getusershell() problem in gssftpd
X-Send-Pr-Version: 3.99
Show quoted text
>Number: 485
>Category: krb5-appl
>Synopsis: commented out call to endusershell() makes second ftp login fail
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: krb5-unassigned
>State: closed
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Wed Oct 29 16:41:01 EST 1997
>Last-Modified: Fri Aug 07 00:29:58 EDT 1998
>Originator: Dan Winship
>Organization:
MIT Athena>Category: krb5-appl
>Synopsis: commented out call to endusershell() makes second ftp login fail
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: krb5-unassigned
>State: closed
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Wed Oct 29 16:41:01 EST 1997
>Last-Modified: Fri Aug 07 00:29:58 EDT 1998
>Originator: Dan Winship
>Organization:
Show quoted text
>Release: 1.0
>Environment:
System: SunOS Implementor 5.5.1 Generic_103640-12 sun4m sparc SUNW,SPARCstation-5>Environment:
Architecture: sun4
Show quoted text
>Description:
appl/gssftp/ftpd/ftpd.c has this:#ifdef HAVE_GETUSERSHELL
while ((cp = getusershell()) != NULL)
if (strcmp(cp, shell) == 0)
break;
/* endusershell(); */ /* this breaks on solaris 2.4 */
#else
Since the call to endusershell never happens, getusershell() never
rewinds, so if you try to log in a second time, it won't find your
shell.
Show quoted text
>How-To-Repeat:
220 Implementor FTP server (Version 5.60) ready.Name (impl:danw):
331 Password required for danw.
Password: [mistype password here]
530 Login incorrect.
Login failed.
Show quoted text
ftp> user danw
530 User danw access denied.Login failed.
Show quoted text
>Fix:
uncommenting the `endusershell' makes it work under solaris 2.5.1,but I don't know what the problem with 2.4 was...
Show quoted text
>Audit-Trail:
From: Ken Hornstein <kenh@cmf.nrl.navy.mil>
To: danw@MIT.EDU
Cc: krb5-bugs@MIT.EDU
Subject: Re: krb5-appl/485: getusershell() problem in gssftpd
Date: Fri, 31 Oct 1997 13:50:38 -0500
Show quoted text
> Since the call to endusershell never happens, getusershell() never
> rewinds, so if you try to log in a second time, it won't find your
> shell.
> rewinds, so if you try to log in a second time, it won't find your
> shell.
Some additional information ... Von Welch discovered this bug, and we
talked about it a bit. He applied the same fix, and discovered that
as far as he could tell, it did _not_ cause a problem on Solaris 2.4.
So I think that comment is way bogus :-)
--Ken
State-Changed-From-To: open-closed
State-Changed-By: mdh
State-Changed-When: Fri Aug 7 00:28:51 1998
State-Changed-Why:
The comment seems indeed to be bogus. I put back the call to endusershell() and
added a call to setusershell() immediately before the loop through
getusershell(), just to be sure we iterate through the whole list.
Show quoted text
>Unformatted: