Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 29 Dec 2001 20:01:10 +0200 (SAT)
From:      John Hay <jhay@icomtek.csir.co.za>
To:        ume@mahoroba.org (Hajimu UMEMOTO)
Cc:        jhay@icomtek.csir.co.za (John Hay), 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:  <200112291801.fBTI1AA55652@zibbi.icomtek.csir.co.za>
In-Reply-To: <yge8zbvb8ng.wl@fiva.mahoroba.org> from Hajimu UMEMOTO at "Dec 23, 2001 00:02:11 am"

next in thread | previous in thread | raw e-mail | index | archive | help
This patch works just fine here, thanks.

Any chance of getting it as part of lukem distribution or ours?

John
-- 
John Hay -- John.Hay@icomtek.csir.co.za

> > 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 freebsd-current" in the body of the message




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