pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/pkgsrc-2004Q4]: pkgsrc/net/tnftp Pullup ticket 213 - requested by Adr...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/33ff27cc8f71
branches:  pkgsrc-2004Q4
changeset: 485806:33ff27cc8f71
user:      salo <salo%pkgsrc.org@localhost>
date:      Fri Jan 07 02:25:55 2005 +0000

description:
Pullup ticket 213 - requested by Adrian Portelli
security fix for tnftp

        Module Name:    pkgsrc
        Committed By:   lukem
        Date:           Tue Jan  4 23:18:56 UTC 2005

        Update of /cvsroot/pkgsrc/net/tnftp/files
        In directory ivanova.netbsd.org:/tmp/cvs-serv1263

        Log Message:
        Import tnftp 20050103.
        Various changes, including:
                * forbid mget of filenames that aren't in or below
                  the local cwd.
                * improve auto-fetch transfers
                * improve www/proxy authentication support
                * improve http response header parsing
                * change UCB-licensed code from 4-clause to 3-clause

diffstat:

 net/tnftp/Makefile                |    7 +-
 net/tnftp/files/COPYING           |    4 +-
 net/tnftp/files/ChangeLog         |   79 +++++++-
 net/tnftp/files/README            |    4 +-
 net/tnftp/files/config.h.in       |    2 +-
 net/tnftp/files/configure         |  326 +++++++++++++++++--------------
 net/tnftp/files/configure.in      |  137 +++++++-----
 net/tnftp/files/src/cmds.c        |   90 ++++---
 net/tnftp/files/src/cmdtab.c      |  394 +++++++++++++++++++------------------
 net/tnftp/files/src/domacro.c     |    8 +-
 net/tnftp/files/src/extern.h      |   14 +-
 net/tnftp/files/src/fetch.c       |  233 ++++++++++++----------
 net/tnftp/files/src/ftp.1         |   24 +-
 net/tnftp/files/src/ftp.c         |   43 +--
 net/tnftp/files/src/ftp.cat1      |  274 +++++++++++++------------
 net/tnftp/files/src/ftp_var.h     |   27 +-
 net/tnftp/files/src/main.c        |   23 +-
 net/tnftp/files/src/progressbar.c |    8 +-
 net/tnftp/files/src/progressbar.h |    3 +-
 net/tnftp/files/src/ruserpass.c   |    8 +-
 net/tnftp/files/src/util.c        |   97 +++++++--
 net/tnftp/files/src/version.h     |    6 +-
 net/tnftp/files/tnftp.h           |    4 +-
 net/tnftp/files/todo              |    5 +-
 24 files changed, 1025 insertions(+), 795 deletions(-)

diffs (truncated from 3821 to 300 lines):

diff -r 4451517f6bf5 -r 33ff27cc8f71 net/tnftp/Makefile
--- a/net/tnftp/Makefile        Fri Jan 07 01:41:04 2005 +0000
+++ b/net/tnftp/Makefile        Fri Jan 07 02:25:55 2005 +0000
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.9 2004/07/27 10:25:24 grant Exp $
+# $NetBSD: Makefile,v 1.9.4.1 2005/01/07 02:25:55 salo Exp $
 #
 
-DISTNAME=              tnftp-20030825
-PKGREVISION=           1
+DISTNAME=              tnftp-20050103
 SVR4_PKGNAME=          tnftp
 CATEGORIES=            net
 MASTER_SITES=          # empty
@@ -41,6 +40,6 @@
 MAKE_ENV.SunOS+=       CPPFLAGS=""
 
 do-extract:
-       @${CP} -Rp ${FILESDIR} ${WRKSRC}
+       @${CP} -R ${FILESDIR} ${WRKSRC}
 
 .include "../../mk/bsd.pkg.mk"
diff -r 4451517f6bf5 -r 33ff27cc8f71 net/tnftp/files/COPYING
--- a/net/tnftp/files/COPYING   Fri Jan 07 01:41:04 2005 +0000
+++ b/net/tnftp/files/COPYING   Fri Jan 07 02:25:55 2005 +0000
@@ -1,6 +1,6 @@
-$Id: COPYING,v 1.1 2004/03/11 13:01:01 grant Exp $
+$Id: COPYING,v 1.1.8.1 2005/01/07 02:25:55 salo Exp $
 
-Copyright (c) 2001-2003 The NetBSD Foundation, Inc.
+Copyright (c) 2001-2005 The NetBSD Foundation, Inc.
 All rights reserved.
 
 This code is derived from software contributed to The NetBSD Foundation
diff -r 4451517f6bf5 -r 33ff27cc8f71 net/tnftp/files/ChangeLog
--- a/net/tnftp/files/ChangeLog Fri Jan 07 01:41:04 2005 +0000
+++ b/net/tnftp/files/ChangeLog Fri Jan 07 02:25:55 2005 +0000
@@ -1,4 +1,81 @@
-$Id: ChangeLog,v 1.1 2004/03/11 13:01:01 grant Exp $
+$Id: ChangeLog,v 1.1.8.1 2005/01/07 02:25:55 salo Exp $
+
+Mon Jan  3 10:21:57 UTC 2005   lukem
+
+       * Release "tnftp 20050103"
+
+       * Merge NetBSD-ftp 20050103:
+               - Forbid filenames returned from mget that aren't in (or below)
+                 the current directory.  The previous behaviour (of trusting
+                 the remote server's response when retrieving the list of
+                 files to mget with prompting disabled) has been in ftp
+                 ~forever, and has been a "known issue" for a long time.
+                 Recently an advisory was published by D.J. Bernstein on
+                 behalf of Yosef Klein warning of the problems with the
+                 previous behaviour, so to alleviate concern I've fixed
+                 this with a sledgehammer.
+               - Remember the local cwd after any operation which may
+                 change it.
+               - Use "remotecwd" instead of "remotepwd".
+               - Add (unsigned char) cast to ctype functions
+               - Ensure that "mname" is set in ls() and mls() so that an
+                 aborted confirm() prints the correct name.
+                 Problem highlighted & suggested fix from PR [bin/17766]
+                 by Steve McClellan.
+               - If an ftp auto-fetch transfer is interrupted by SIGINT
+                 (usually ^C), exit with 130 instead of 1 (or rarely, 0).
+                 This allows an ftp auto-fetch in a shell loop to correctly
+                 terminate the loop.
+                 Should fix PR [pkg/26351], and possibly others.
+               - Save approximately 8K by not including http authentication,
+                 extended status messages and help strings when the
+                 appropriate options are set.
+               - Move UCB-licensed code from 4-clause to 3-clause licence.
+                 Patches provided by Joel Baker in PR 22365, verified by
+                 Alistair Crooks.
+               - Always decode %xx in a url's user & pass components.
+               - Only remember {WWW,Proxy}-Authenticate "Basic" challenges; no
+                 point in tracking any others since ftp doesn't support them.
+               - Improve the parsing of HTTP responses.
+               - Don't base64 encode the trailing NUL in the HTTP basic auth
+                 response.  Problem noted by Eric Haszlakiewicz.
+               - Improve parsing of HTTP response headers to be more RFC2616
+                 compliant, and skip LWS (linear white space; CR, LF, space,
+                 tab) and the end of lines and between the field name and
+                 the field value.  This still isn't 100% compliant, since we
+                 don't support "multi line" responses at this time.
+                 This should fix PR [bin/22611] from TAMURA Kent (although I
+                 can't easily find a http server to reproduce the problem
+                 against.)
+               - Fix a minor memory leak when parsing HTTP response headers.
+               - Don't unnecessarily display a 401/407 error when running
+                 with -V.  Fix from PR [bin/18535] by Jeremy Reed.
+               - Don't warn about "ignored setsockopt" failures unless
+                 debugging is enabled.  Suggested by Todd Vierling.
+               - Allow empty passwords in ftp://user:@host/file auto-fetch
+                 URLs, per RFC 1738.  Requested by Simon Poole.
+               - correct URL syntax in comment
+               - Note potentially surprising file-saving behaviour in case
+                 of HTTP redirects
+               - -n is ignored for auto-fetch transfers
+               - If connect(2) in xconnect() fails with EINTR, call select(2)
+                 on the socket until it's writable or it fails with something
+                 other than EINTR.  This matches the behaviour in SUSv3, and
+                 prevents the problem when pressing ^T (SIGINFO, which is
+                 marked as restartable) during connection setup would cause
+                 ftp to fail with EADDRINUSE or EALREADY when the second
+                 connect(2) was attempted on the same socket.  Problem found
+                 and solution provided by Maxime Henrion <mux%freebsd.org@localhost>.
+               - Add -q to usage. From Kouichirou Hiratsuka in PR 26199.
+               - PR/25566: Anders Magnusson: ftp(1) do not like large TCP
+                 windows.  Limit it to 8M.
+
+Mon Oct  6 01:23:03 UTC 2003   lukem
+
+       * configure.in improvements:
+               - When testing for IN6ADDRSZ in <arpa/nameser.h>, pull in
+                 <sys/types.h> first.  From Stoned Elipot <seb @ NetBSD>
+               - Whitespace cleanup
 
 Mon Aug 25 11:45:45 UTC 2003   lukem
 
diff -r 4451517f6bf5 -r 33ff27cc8f71 net/tnftp/files/README
--- a/net/tnftp/files/README    Fri Jan 07 01:41:04 2005 +0000
+++ b/net/tnftp/files/README    Fri Jan 07 02:25:55 2005 +0000
@@ -4,8 +4,8 @@
 `tnftp' is a `port' of the NetBSD FTP client to other systems.
 See http://www.NetBSD.org/ for more details about NetBSD.
 
-tnftp was formerly known as `lukemftp' and was renamed by Luke Mewburn
-in February 2003.
+tnftp was formerly known as `lukemftp'
+It was renamed to `tnftp' by Luke Mewburn in February 2003.
 
 The enhancements over the standard ftp client in 4.4BSD (and
 derivatives) include:
diff -r 4451517f6bf5 -r 33ff27cc8f71 net/tnftp/files/config.h.in
--- a/net/tnftp/files/config.h.in       Fri Jan 07 01:41:04 2005 +0000
+++ b/net/tnftp/files/config.h.in       Fri Jan 07 02:25:55 2005 +0000
@@ -1,5 +1,5 @@
 /* config.h.in.  Generated automatically from configure.in by autoheader.  */
-/* $Id: config.h.in,v 1.3 2004/04/25 02:48:12 grant Exp $ */
+/* $Id: config.h.in,v 1.3.6.1 2005/01/07 02:25:55 salo Exp $ */
 
 
 /* Define if on AIX 3.
diff -r 4451517f6bf5 -r 33ff27cc8f71 net/tnftp/files/configure
--- a/net/tnftp/files/configure Fri Jan 07 01:41:04 2005 +0000
+++ b/net/tnftp/files/configure Fri Jan 07 02:25:55 2005 +0000
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-# From configure.in Revision: 1.2 
+# From configure.in Revision: 1.4 
 
 
 
@@ -2547,14 +2547,16 @@
 #line 2548 "configure"
 #include "confdefs.h"
  
-#include <sys/types.h>  
+#include <sys/types.h>
+      
 int main() {
  
-long long X = 2, Y = 1, Z;
-Z = X / Y; ; 
+       long long X = 2, Y = 1, Z;
+       Z = X / Y;
+    ; 
 ; return 0; }
 EOF
-if { (eval echo configure:2558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
    ftp_cv_HAVE_LONG_LONG=yes 
 else
@@ -2570,11 +2572,12 @@
 echo "$ac_t""$ftp_cv_HAVE_LONG_LONG" 1>&6
        if test "x$ftp_cv_HAVE_LONG_LONG" = "xyes"; then
                
-cat >> confdefs.h <<\EOF
+       cat >> confdefs.h <<\EOF
 #define HAVE_LONG_LONG 1
 EOF
 
-have_long_long=yes
+       have_long_long=yes
+    
        else
                have_long_long=no
                :
@@ -2583,22 +2586,23 @@
 
 
        echo $ac_n "checking for in_port_t""... $ac_c" 1>&6
-echo "configure:2587: checking for in_port_t" >&5
+echo "configure:2590: checking for in_port_t" >&5
 if eval "test \"`echo '$''{'ftp_cv_HAVE_IN_PORT_T'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
                cat > conftest.$ac_ext <<EOF
-#line 2593 "configure"
+#line 2596 "configure"
 #include "confdefs.h"
  
 #include <sys/types.h>
-#include <netinet/in.h>  
+#include <netinet/in.h>
+     
 int main() {
   in_port_t X ; 
 ; return 0; }
 EOF
-if { (eval echo configure:2602: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
    ftp_cv_HAVE_IN_PORT_T=yes 
 else
@@ -2625,22 +2629,23 @@
 
 
        echo $ac_n "checking for sa_family_t""... $ac_c" 1>&6
-echo "configure:2629: checking for sa_family_t" >&5
+echo "configure:2633: checking for sa_family_t" >&5
 if eval "test \"`echo '$''{'ftp_cv_HAVE_SA_FAMILY_T'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
                cat > conftest.$ac_ext <<EOF
-#line 2635 "configure"
+#line 2639 "configure"
 #include "confdefs.h"
  
 #include <sys/types.h>
-#include <sys/socket.h>  
+#include <sys/socket.h>
+     
 int main() {
   sa_family_t X ; 
 ; return 0; }
 EOF
-if { (eval echo configure:2644: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2649: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
    ftp_cv_HAVE_SA_FAMILY_T=yes 
 else
@@ -2667,25 +2672,27 @@
 
 
        echo $ac_n "checking for sockaddr_in.sin_len""... $ac_c" 1>&6
-echo "configure:2671: checking for sockaddr_in.sin_len" >&5
+echo "configure:2676: checking for sockaddr_in.sin_len" >&5
 if eval "test \"`echo '$''{'ftp_cv_HAVE_SOCKADDR_SA_LEN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
                cat > conftest.$ac_ext <<EOF
-#line 2677 "configure"
+#line 2682 "configure"
 #include "confdefs.h"
  
 #include <sys/types.h>
 #include <sys/socket.h>
-#include <netinet/in.h>  
+#include <netinet/in.h>
+     
 int main() {
  
        struct sockaddr_in sin;
-       int X = sin.sin_len ; 
+       int X = sin.sin_len
+    ; 
 ; return 0; }
 EOF
-if { (eval echo configure:2689: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2696: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
    ftp_cv_HAVE_SOCKADDR_SA_LEN=yes 
 else
@@ -2712,22 +2719,23 @@
 
 
        echo $ac_n "checking for socklen_t""... $ac_c" 1>&6
-echo "configure:2716: checking for socklen_t" >&5
+echo "configure:2723: checking for socklen_t" >&5
 if eval "test \"`echo '$''{'ftp_cv_HAVE_SOCKLEN_T'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
                cat > conftest.$ac_ext <<EOF
-#line 2722 "configure"
+#line 2729 "configure"
 #include "confdefs.h"
  
 #include <sys/types.h>
-#include <sys/socket.h>  
+#include <sys/socket.h>
+     
 int main() {



Home | Main Index | Thread Index | Old Index