Date: Sun, 23 Dec 2001 00:02:11 +0900 From: Hajimu UMEMOTO <ume@mahoroba.org> To: John Hay <jhay@icomtek.csir.co.za> Cc: mheffner@vt.edu (Mike Heffner), mikeh@FreeBSD.ORG (Mike Heffner), cvs-all@FreeBSD.ORG, cvs-committers@FreeBSD.ORG, FreeBSD-current@FreeBSD.ORG (FreeBSD-current) Subject: Re: cvs commit: src/usr.bin/ftp Makefile cmds.c cmdtab.c complet Message-ID: <yge8zbvb8ng.wl@fiva.mahoroba.org> In-Reply-To: <200112140643.fBE6hod26370@zibbi.icomtek.csir.co.za> References: <XFMail.20011213200421.mheffner@vt.edu> <200112140643.fBE6hod26370@zibbi.icomtek.csir.co.za>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi,
>>>>> On Fri, 14 Dec 2001 08:43:49 +0200 (SAT)
>>>>> John Hay <jhay@icomtek.csir.co.za> said:
> On 13-Dec-2001 Mike Heffner wrote:
> | mikeh 2001/12/13 15:46:45 PST
jhay> ...
> | Log:
> | Connect lukemftp to the build as the default ftp client. Lukemftp
> | supports most of the previous features of FreeBSD ftp, but has been
> | better maintained and includes new features.
>
> Short summary of differences:
>
jhay> ...
> Differences/Losses:
>
> *) FTP_PASSIVE_MODE vs. FTP_MODE
> *) -4/-6 for forcing IPV4/IPV6
jhay> Any chance of getting -4/-6 or something like it, back? It is very useful
jhay> here in our environment that have a lot of dual-stack machines.
I think it is still useful in the environment where IPv6 link is
relatively slow than IPv4 link.
How about this patch?
Index: contrib/lukemftp/src/fetch.c
===================================================================
RCS file: /home/ncvs/src/contrib/lukemftp/src/fetch.c,v
retrieving revision 1.1.1.1
diff -u -u -r1.1.1.1 fetch.c
--- contrib/lukemftp/src/fetch.c 19 Jul 2001 16:26:13 -0000 1.1.1.1
+++ contrib/lukemftp/src/fetch.c 22 Dec 2001 14:47:28 -0000
@@ -617,7 +617,7 @@
memset(&hints, 0, sizeof(hints));
hints.ai_flags = 0;
- hints.ai_family = AF_UNSPEC;
+ hints.ai_family = family;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = 0;
error = getaddrinfo(host, NULL, &hints, &res0);
Index: contrib/lukemftp/src/ftp.1
===================================================================
RCS file: /home/ncvs/src/contrib/lukemftp/src/ftp.1,v
retrieving revision 1.1.1.1
diff -u -u -r1.1.1.1 ftp.1
--- contrib/lukemftp/src/ftp.1 19 Jul 2001 16:26:13 -0000 1.1.1.1
+++ contrib/lukemftp/src/ftp.1 22 Dec 2001 14:47:29 -0000
@@ -77,7 +77,7 @@
Internet file transfer program
.Sh SYNOPSIS
.Nm ""
-.Op Fl AadefginpRtvV
+.Op Fl 46AadefginpRtvV
.Bk -words
.Op Fl o Ar output
.Ek
@@ -146,6 +146,14 @@
Options may be specified at the command line, or to the
command interpreter.
.Bl -tag -width "port "
+.It Fl 4
+Forces
+.Nm
+to use IPv4 addresses only.
+.It Fl 6
+Forces
+.Nm
+to use IPv6 addresses only.
.It Fl A
Force active mode ftp.
By default,
Index: contrib/lukemftp/src/ftp.c
===================================================================
RCS file: /home/ncvs/src/contrib/lukemftp/src/ftp.c,v
retrieving revision 1.1.1.1
diff -u -u -r1.1.1.1 ftp.c
--- contrib/lukemftp/src/ftp.c 19 Jul 2001 16:26:14 -0000 1.1.1.1
+++ contrib/lukemftp/src/ftp.c 22 Dec 2001 14:47:31 -0000
@@ -149,7 +149,7 @@
memset(&hints, 0, sizeof(hints));
portnum = parseport(port, FTP_PORT);
hints.ai_flags = AI_CANONNAME;
- hints.ai_family = AF_UNSPEC;
+ hints.ai_family = family;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = 0;
error = getaddrinfo(host, NULL, &hints, &res0);
Index: contrib/lukemftp/src/ftp_var.h
===================================================================
RCS file: /home/ncvs/src/contrib/lukemftp/src/ftp_var.h,v
retrieving revision 1.1.1.1
diff -u -u -r1.1.1.1 ftp_var.h
--- contrib/lukemftp/src/ftp_var.h 19 Jul 2001 16:26:14 -0000 1.1.1.1
+++ contrib/lukemftp/src/ftp_var.h 22 Dec 2001 14:47:31 -0000
@@ -279,6 +279,8 @@
GLOBAL char remotepwd[MAXPATHLEN]; /* remote dir */
GLOBAL char *username; /* name of user logged in as. (dynamic) */
+GLOBAL sa_family_t family; /* address family to use for connections */
+
GLOBAL char *ftpport; /* port number to use for FTP connections */
GLOBAL char *httpport; /* port number to use for HTTP connections */
GLOBAL char *gateport; /* port number to use for gateftp connections */
Index: contrib/lukemftp/src/main.c
===================================================================
RCS file: /home/ncvs/src/contrib/lukemftp/src/main.c,v
retrieving revision 1.1.1.1
diff -u -u -r1.1.1.1 main.c
--- contrib/lukemftp/src/main.c 19 Jul 2001 16:26:14 -0000 1.1.1.1
+++ contrib/lukemftp/src/main.c 22 Dec 2001 14:47:32 -0000
@@ -171,6 +171,7 @@
upload_path = NULL;
isupload = 0;
reply_callback = NULL;
+ family = AF_UNSPEC;
/*
* Get the default socket buffer sizes if we don't already have them.
@@ -255,8 +256,16 @@
}
}
- while ((ch = getopt(argc, argv, "Aadefgino:pP:r:RtT:u:vV")) != -1) {
+ while ((ch = getopt(argc, argv, "46Aadefgino:pP:r:RtT:u:vV")) != -1) {
switch (ch) {
+ case '4':
+ family = AF_INET;
+ break;
+
+ case '6':
+ family = AF_INET6;
+ break;
+
case 'A':
activefallback = 0;
passivemode = 0;
--
Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan
ume@mahoroba.org ume@bisd.hitachi.co.jp ume@{,jp.}FreeBSD.org
http://www.imasy.org/~ume/
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?yge8zbvb8ng.wl>
