From jik@annex-1-slip-jik.cam.ov.com Fri Sep 27 13:32:28 1996
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 NAA08459 for <bugs@RT-11.MIT.EDU>; Fri, 27 Sep 1996 13:32:27 -0400
Received: from jik.saturn.net by MIT.EDU with SMTP
id AA26013; Fri, 27 Sep 96 13:26:11 EDT
Received: (from jik@localhost) by jik.saturn.net (8.8.Beta.5/8.8.Beta.5a) id NAA09855; Fri, 27 Sep 1996 13:16:27 -0400
Message-Id: <199609271716.NAA09855@jik.saturn.net>
Date: Fri, 27 Sep 1996 13:16:27 -0400
From: "Jonathan I. Kamens" <jik@annex-1-slip-jik.cam.ov.com>
To: krb5-bugs@MIT.EDU, kerberos@MIT.EDU
Subject: krb5-beta7: "-n" flag to FTP should disable GSS-API authentication
in krb5-beta7 attempts to do GSS-API authentication even when the "-n"
flag is specified on the command line, even though the man page says
it shouldn't. I think the man page is right and the code is wrong
:-), so here's a fix:
+++ cmds.c 1996/09/27 17:14:20
@@ -167,9 +167,10 @@
mode = MODE_S;
stru = STRU_F;
(void) strcpy(bytename, "8"), bytesize = 8;
- do_auth();
- if (autologin)
+ if (autologin) {
+ do_auth();
(void) login(argv[1]);
+ }
if (0) {
setpbsz(1<<20);
State-Changed-From-To: open-analyzed
State-Changed-By: tlyu
State-Changed-When: Fri Sep 27 15:46:28 1996
State-Changed-Why: refiling
Responsible-Changed-From-To: gnats-admin->tlyu
Responsible-Changed-By: tlyu
Responsible-Changed-When: Fri Sep 27 15:46:53 1996
Responsible-Changed-Why: refiling
State-Changed-From-To: analyzed-closed
State-Changed-By: tlyu
State-Changed-When: Fri Sep 27 16:09:31 1996
State-Changed-Why:
patch applied and tested
State-Changed-From-To: closed-feedback
State-Changed-By: hartmans
State-Changed-When: Fri Aug 29 10:32:12 1997
State-Changed-Why:
To remind people about what this issue concernns, the -n
flag to ftp would still perform GSS authentication when the user
command is issued before this PR was fixed. Jik's justification for
choosing to fix the PR this way was because he thought the behavior in
the man page rather than the code was correct.
I argue that this is wrong for two reasons. In a non-GSS ftp,
the -n flag serves to supress the initial prompt for a username and
thus the initial prompt for a password. When the user command is
eventually issues, the password prompt is issued. Just so, I argue
that when the user command is eventually issued to GSSftp, it should
perform GSS authentication. Secondly, this breaks ange-ftp.
If you want a flag to supress GSS, that is reasonable, but it should not be -0n.
I believe I convinced tlyu that reverting this patch would be
reasonable a few months ago, but before going ahead ad doing it, I
thought I would check for reaction.
From: "Jonathan I. Kamens" <jik@kamens.brookline.ma.us>
To: hartmans@MIT.EDU, krb5-bugs@MIT.EDU, tlyu@MIT.EDU, krbdev@MIT.EDU
Cc: tlyu@MIT.EDU, krbdev@MIT.EDU
Subject: Re: krb5-appl/38: krb5-beta7: "-n" flag to FTP should disable GSS-API authentication
Date: Fri, 29 Aug 1997 10:47:45 -0400
I have no problem with there being a separate flag to disable GSS-API
rather than using "-n".
From: "Theodore Y. Ts'o" <tytso@MIT.EDU>
To: "Jonathan I. Kamens" <jik@kamens.brookline.ma.us>
Cc: hartmans@MIT.EDU, krb5-bugs@MIT.EDU, tlyu@MIT.EDU, krbdev@MIT.EDU,
tlyu@MIT.EDU, krbdev@MIT.EDU
Subject: Re: krb5-appl/38: krb5-beta7: "-n" flag to FTP should disable GSS-API authentication
Date: Fri, 29 Aug 1997 12:48:03 -0400
Date: Fri, 29 Aug 1997 10:47:45 -0400
From: "Jonathan I. Kamens" <jik@kamens.brookline.ma.us>
I have no problem with there being a separate flag to disable GSS-API
rather than using "-n".
This sounds reasonably to me as well. Next question --- what should
that flag be?
- Ted
State-Changed-From-To: feedback-open
State-Changed-By: hartmans
State-Changed-When: Sat Dec 6 18:42:28 EST 1997
State-Changed-Why:
Sorry it has taken me so long to get back to this; when I last brought up the issue,
there was general consensus that using a different flag to mean
don't authenticate than don't auto-login would be OK.
After looking at different ftps, I propose -u as a reasonable flag; -u meaning
unauthenticated. This is not used by any of the vendor
ftps I have tried it with and at least appears reasonable.
Responsible-Changed-From-To: tlyu->hartmans
Responsible-Changed-By: hartmans
Responsible-Changed-When: Sat Dec 6 18:42:28 EST 1997
Responsible-Changed-Why:
I am the one who wants to change the current situation.
Patch follows:
Index: ChangeLog
===================================================================
RCS file: /cvs/krbdev/krb5/src/appl/gssftp/ftp/ChangeLog,v
retrieving revision 1.26
diff -u -r1.26 ChangeLog
--- ChangeLog 1998/04/22 01:30:39 1.26
+++ ChangeLog 1998/04/25 06:04:09
@@ -1,3 +1,7 @@
+Sat Apr 25 01:53:04 1998 Sam Hartman <hartmans@luminous.mit.edu>
+
+ * cmds.c (setpeer): Fix so that autologin is respected again
+
1998-04-21 Ken Raeburn <raeburn@cygnus.com>
* glob.c (ftpglob): Always allocate new storage, even if no magic
@@ -39,12 +43,23 @@
* cmds.c (setpeer): implement -x
+
Thu Dec 11 23:26:58 1997 Tom Yu <tlyu@mit.edu>
* ftp.c:
* main.c: Don't include netdb.h or sys/socket.h if krb.h is
included; this works around an Ultrix bug where those headers
aren't protected against multiple inclusion.
+
+Sat Dec 6 18:17:10 1997 Sam Hartman <hartmans@luminous.mesas.com>
+
+ * main.c (main): Add -u for unauthenticated
+
+ * ftp_var.h: Add autoauth
+
+ * cmds.c (setpeer): Automatic authentication should not be
+ dependent on autologin; use -u instead.
+
Thu Oct 16 01:20:30 1997 Tom Yu <tlyu@mit.edu>
Index: cmds.c
===================================================================
RCS file: /cvs/krbdev/krb5/src/appl/gssftp/ftp/cmds.c,v
retrieving revision 1.8
diff -u -r1.8 cmds.c
--- cmds.c 1998/01/30 00:57:01 1.8
+++ cmds.c 1998/04/25 06:04:09
@@ -167,7 +167,7 @@
mode = MODE_S;
stru = STRU_F;
(void) strcpy(bytename, "8"), bytesize = 8;
- if (autologin) {
+ if (autoauth) {
if (do_auth() && autoencrypt) {
setpbsz(1<<20);
if (command("PROT P") == COMPLETE)
@@ -175,7 +175,9 @@
else
fprintf(stderr, "ftp: couldn't enable encryption\n");
}
- (void) login(argv[1]);
+
+ if(autologin)
+ (void) login(argv[1]);
}
#ifndef unix
Index: ftp_var.h
===================================================================
RCS file: /cvs/krbdev/krb5/src/appl/gssftp/ftp/ftp_var.h,v
retrieving revision 1.3
diff -u -r1.3 ftp_var.h
--- ftp_var.h 1998/01/30 00:57:02 1.3
+++ ftp_var.h 1998/04/25 06:04:09
@@ -54,6 +54,7 @@
extern int debug; /* debugging level */
extern int bell; /* ring bell on cmd completion */
extern int doglob; /* glob local file names */
+extern int autoauth; /* Do authentication on connect */
extern int autologin; /* establish user account on connection */
extern int autoencrypt; /* negotiate encryption on connection */
extern int forward; /* forward credentials */
Index: main.c
===================================================================
RCS file: /cvs/krbdev/krb5/src/appl/gssftp/ftp/main.c,v
retrieving revision 1.4
diff -u -r1.4 main.c
--- main.c 1998/01/30 00:57:03 1.4
+++ main.c 1998/04/25 06:04:09
@@ -100,6 +100,7 @@
#endif /* KRB5_KRB4_COMPAT */
doglob = 1;
interactive = 1;
+ autoauth = 1;
autologin = 1;
forward = 0;
autoencrypt = 0;
@@ -146,6 +147,11 @@
doglob = 0;
break;
+
+ case 'u':
+ autoauth = 0;
+ break;
+
case 'f':
forward = 1;
break;
@@ -153,6 +159,7 @@
case 'x':
autoencrypt = 1;
break;
+
default:
fprintf(stdout,
State-Changed-From-To: open-closed
State-Changed-By: hartmans
State-Changed-When: Sat Apr 25 02:05:13 EDT 1998
State-Changed-Why:
fixed.
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 NAA08459 for <bugs@RT-11.MIT.EDU>; Fri, 27 Sep 1996 13:32:27 -0400
Received: from jik.saturn.net by MIT.EDU with SMTP
id AA26013; Fri, 27 Sep 96 13:26:11 EDT
Received: (from jik@localhost) by jik.saturn.net (8.8.Beta.5/8.8.Beta.5a) id NAA09855; Fri, 27 Sep 1996 13:16:27 -0400
Message-Id: <199609271716.NAA09855@jik.saturn.net>
Date: Fri, 27 Sep 1996 13:16:27 -0400
From: "Jonathan I. Kamens" <jik@annex-1-slip-jik.cam.ov.com>
To: krb5-bugs@MIT.EDU, kerberos@MIT.EDU
Subject: krb5-beta7: "-n" flag to FTP should disable GSS-API authentication
Show quoted text
>Number: 38
>Category: krb5-appl
>Synopsis: krb5-beta7: "-n" flag to FTP should disable GSS-API authentication
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: hartmans
>State: closed
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Fri Sep e 13:33:01 EDT 1996
>Last-Modified: Sat Apr 25 02:06:59 EDT 1998
>Originator:
>Organization:
>Release: beta-7
>Environment:
>Description:
People have mentioned in comp.protocols.kerberos that the ftp client>Category: krb5-appl
>Synopsis: krb5-beta7: "-n" flag to FTP should disable GSS-API authentication
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: hartmans
>State: closed
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Fri Sep e 13:33:01 EDT 1996
>Last-Modified: Sat Apr 25 02:06:59 EDT 1998
>Originator:
>Organization:
>Release: beta-7
>Environment:
>Description:
in krb5-beta7 attempts to do GSS-API authentication even when the "-n"
flag is specified on the command line, even though the man page says
it shouldn't. I think the man page is right and the code is wrong
:-), so here's a fix:
Show quoted text
>How-To-Repeat:
>Fix:
--- cmds.c 1996/09/27 17:14:05 1.1>Fix:
+++ cmds.c 1996/09/27 17:14:20
@@ -167,9 +167,10 @@
mode = MODE_S;
stru = STRU_F;
(void) strcpy(bytename, "8"), bytesize = 8;
- do_auth();
- if (autologin)
+ if (autologin) {
+ do_auth();
(void) login(argv[1]);
+ }
if (0) {
setpbsz(1<<20);
Show quoted text
>Audit-Trail:
State-Changed-From-To: open-analyzed
State-Changed-By: tlyu
State-Changed-When: Fri Sep 27 15:46:28 1996
State-Changed-Why: refiling
Responsible-Changed-From-To: gnats-admin->tlyu
Responsible-Changed-By: tlyu
Responsible-Changed-When: Fri Sep 27 15:46:53 1996
Responsible-Changed-Why: refiling
State-Changed-From-To: analyzed-closed
State-Changed-By: tlyu
State-Changed-When: Fri Sep 27 16:09:31 1996
State-Changed-Why:
patch applied and tested
State-Changed-From-To: closed-feedback
State-Changed-By: hartmans
State-Changed-When: Fri Aug 29 10:32:12 1997
State-Changed-Why:
To remind people about what this issue concernns, the -n
flag to ftp would still perform GSS authentication when the user
command is issued before this PR was fixed. Jik's justification for
choosing to fix the PR this way was because he thought the behavior in
the man page rather than the code was correct.
I argue that this is wrong for two reasons. In a non-GSS ftp,
the -n flag serves to supress the initial prompt for a username and
thus the initial prompt for a password. When the user command is
eventually issues, the password prompt is issued. Just so, I argue
that when the user command is eventually issued to GSSftp, it should
perform GSS authentication. Secondly, this breaks ange-ftp.
If you want a flag to supress GSS, that is reasonable, but it should not be -0n.
I believe I convinced tlyu that reverting this patch would be
reasonable a few months ago, but before going ahead ad doing it, I
thought I would check for reaction.
From: "Jonathan I. Kamens" <jik@kamens.brookline.ma.us>
To: hartmans@MIT.EDU, krb5-bugs@MIT.EDU, tlyu@MIT.EDU, krbdev@MIT.EDU
Cc: tlyu@MIT.EDU, krbdev@MIT.EDU
Subject: Re: krb5-appl/38: krb5-beta7: "-n" flag to FTP should disable GSS-API authentication
Date: Fri, 29 Aug 1997 10:47:45 -0400
I have no problem with there being a separate flag to disable GSS-API
rather than using "-n".
From: "Theodore Y. Ts'o" <tytso@MIT.EDU>
To: "Jonathan I. Kamens" <jik@kamens.brookline.ma.us>
Cc: hartmans@MIT.EDU, krb5-bugs@MIT.EDU, tlyu@MIT.EDU, krbdev@MIT.EDU,
tlyu@MIT.EDU, krbdev@MIT.EDU
Subject: Re: krb5-appl/38: krb5-beta7: "-n" flag to FTP should disable GSS-API authentication
Date: Fri, 29 Aug 1997 12:48:03 -0400
Date: Fri, 29 Aug 1997 10:47:45 -0400
From: "Jonathan I. Kamens" <jik@kamens.brookline.ma.us>
I have no problem with there being a separate flag to disable GSS-API
rather than using "-n".
This sounds reasonably to me as well. Next question --- what should
that flag be?
- Ted
State-Changed-From-To: feedback-open
State-Changed-By: hartmans
State-Changed-When: Sat Dec 6 18:42:28 EST 1997
State-Changed-Why:
Sorry it has taken me so long to get back to this; when I last brought up the issue,
there was general consensus that using a different flag to mean
don't authenticate than don't auto-login would be OK.
After looking at different ftps, I propose -u as a reasonable flag; -u meaning
unauthenticated. This is not used by any of the vendor
ftps I have tried it with and at least appears reasonable.
Responsible-Changed-From-To: tlyu->hartmans
Responsible-Changed-By: hartmans
Responsible-Changed-When: Sat Dec 6 18:42:28 EST 1997
Responsible-Changed-Why:
I am the one who wants to change the current situation.
Patch follows:
Index: ChangeLog
===================================================================
RCS file: /cvs/krbdev/krb5/src/appl/gssftp/ftp/ChangeLog,v
retrieving revision 1.26
diff -u -r1.26 ChangeLog
--- ChangeLog 1998/04/22 01:30:39 1.26
+++ ChangeLog 1998/04/25 06:04:09
@@ -1,3 +1,7 @@
+Sat Apr 25 01:53:04 1998 Sam Hartman <hartmans@luminous.mit.edu>
+
+ * cmds.c (setpeer): Fix so that autologin is respected again
+
1998-04-21 Ken Raeburn <raeburn@cygnus.com>
* glob.c (ftpglob): Always allocate new storage, even if no magic
@@ -39,12 +43,23 @@
* cmds.c (setpeer): implement -x
+
Thu Dec 11 23:26:58 1997 Tom Yu <tlyu@mit.edu>
* ftp.c:
* main.c: Don't include netdb.h or sys/socket.h if krb.h is
included; this works around an Ultrix bug where those headers
aren't protected against multiple inclusion.
+
+Sat Dec 6 18:17:10 1997 Sam Hartman <hartmans@luminous.mesas.com>
+
+ * main.c (main): Add -u for unauthenticated
+
+ * ftp_var.h: Add autoauth
+
+ * cmds.c (setpeer): Automatic authentication should not be
+ dependent on autologin; use -u instead.
+
Thu Oct 16 01:20:30 1997 Tom Yu <tlyu@mit.edu>
Index: cmds.c
===================================================================
RCS file: /cvs/krbdev/krb5/src/appl/gssftp/ftp/cmds.c,v
retrieving revision 1.8
diff -u -r1.8 cmds.c
--- cmds.c 1998/01/30 00:57:01 1.8
+++ cmds.c 1998/04/25 06:04:09
@@ -167,7 +167,7 @@
mode = MODE_S;
stru = STRU_F;
(void) strcpy(bytename, "8"), bytesize = 8;
- if (autologin) {
+ if (autoauth) {
if (do_auth() && autoencrypt) {
setpbsz(1<<20);
if (command("PROT P") == COMPLETE)
@@ -175,7 +175,9 @@
else
fprintf(stderr, "ftp: couldn't enable encryption\n");
}
- (void) login(argv[1]);
+
+ if(autologin)
+ (void) login(argv[1]);
}
#ifndef unix
Index: ftp_var.h
===================================================================
RCS file: /cvs/krbdev/krb5/src/appl/gssftp/ftp/ftp_var.h,v
retrieving revision 1.3
diff -u -r1.3 ftp_var.h
--- ftp_var.h 1998/01/30 00:57:02 1.3
+++ ftp_var.h 1998/04/25 06:04:09
@@ -54,6 +54,7 @@
extern int debug; /* debugging level */
extern int bell; /* ring bell on cmd completion */
extern int doglob; /* glob local file names */
+extern int autoauth; /* Do authentication on connect */
extern int autologin; /* establish user account on connection */
extern int autoencrypt; /* negotiate encryption on connection */
extern int forward; /* forward credentials */
Index: main.c
===================================================================
RCS file: /cvs/krbdev/krb5/src/appl/gssftp/ftp/main.c,v
retrieving revision 1.4
diff -u -r1.4 main.c
--- main.c 1998/01/30 00:57:03 1.4
+++ main.c 1998/04/25 06:04:09
@@ -100,6 +100,7 @@
#endif /* KRB5_KRB4_COMPAT */
doglob = 1;
interactive = 1;
+ autoauth = 1;
autologin = 1;
forward = 0;
autoencrypt = 0;
@@ -146,6 +147,11 @@
doglob = 0;
break;
+
+ case 'u':
+ autoauth = 0;
+ break;
+
case 'f':
forward = 1;
break;
@@ -153,6 +159,7 @@
case 'x':
autoencrypt = 1;
break;
+
default:
fprintf(stdout,
State-Changed-From-To: open-closed
State-Changed-By: hartmans
State-Changed-When: Sat Apr 25 02:05:13 EDT 1998
State-Changed-Why:
fixed.
Show quoted text
>Unformatted: