pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/net/yale-tftpd When opening a file for write, truncate...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/3d9086e568df
branches:  trunk
changeset: 509772:3d9086e568df
user:      he <he%pkgsrc.org@localhost>
date:      Tue Mar 14 14:11:53 2006 +0000

description:
When opening a file for write, truncate it as well.
Bump package revision to 4.

diffstat:

 net/yale-tftpd/Makefile         |   4 ++--
 net/yale-tftpd/distinfo         |   4 ++--
 net/yale-tftpd/patches/patch-ad |  40 +++++++++++++++++++++++++---------------
 3 files changed, 29 insertions(+), 19 deletions(-)

diffs (168 lines):

diff -r 9ff9e7d6240d -r 3d9086e568df net/yale-tftpd/Makefile
--- a/net/yale-tftpd/Makefile   Tue Mar 14 14:09:34 2006 +0000
+++ b/net/yale-tftpd/Makefile   Tue Mar 14 14:11:53 2006 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.13 2006/03/04 21:30:26 jlam Exp $
+# $NetBSD: Makefile,v 1.14 2006/03/14 14:11:53 he Exp $
 
 DISTNAME=      yale-tftpd-3.0
-PKGREVISION=   3
+PKGREVISION=   4
 CATEGORIES=    net
 MASTER_SITES=  ftp://ftp.cert.dfn.de/pub/tools/net/yale-tftpd/
 
diff -r 9ff9e7d6240d -r 3d9086e568df net/yale-tftpd/distinfo
--- a/net/yale-tftpd/distinfo   Tue Mar 14 14:09:34 2006 +0000
+++ b/net/yale-tftpd/distinfo   Tue Mar 14 14:11:53 2006 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.7 2005/12/18 18:37:16 joerg Exp $
+$NetBSD: distinfo,v 1.8 2006/03/14 14:11:53 he Exp $
 
 SHA1 (yale-tftpd-3.0.tar.gz) = 5f87e3d37feb5c5c8b7f2db34a0c87ee537727af
 RMD160 (yale-tftpd-3.0.tar.gz) = 207b88c4383b283e3c0d81a50061a65513031854
@@ -6,7 +6,7 @@
 SHA1 (patch-aa) = e6e9b368db8f70bdb4fbb2a1b032bd4ce66206f2
 SHA1 (patch-ab) = e6eb66ed95139b47ee1df07014a636803e89ad47
 SHA1 (patch-ac) = bd44bf8d19079e1a74850dbcc8cfea3d82f36c3e
-SHA1 (patch-ad) = 50f41566a0f985719a54c9f3d96d48b69ab1fa2d
+SHA1 (patch-ad) = 04a3a46c795618a996207dcf64af5e1bdf41042e
 SHA1 (patch-ae) = 61ae35f5e8d5d8f3cd60ba515a925a4098628fb1
 SHA1 (patch-af) = 028ffa7fb05d3961d4cedd979e5ea130f19f7489
 SHA1 (patch-ag) = 7e14bea74c2d94222cc5f13b03b7735fbe442487
diff -r 9ff9e7d6240d -r 3d9086e568df net/yale-tftpd/patches/patch-ad
--- a/net/yale-tftpd/patches/patch-ad   Tue Mar 14 14:09:34 2006 +0000
+++ b/net/yale-tftpd/patches/patch-ad   Tue Mar 14 14:11:53 2006 +0000
@@ -1,12 +1,13 @@
-$NetBSD: patch-ad,v 1.3 2005/12/18 18:37:16 joerg Exp $
+$NetBSD: patch-ad,v 1.4 2006/03/14 14:11:53 he Exp $
 
---- tftpd.c.orig       1995-03-20 20:14:39.000000000 +0000
+--- tftpd.c.orig       1995-03-20 21:14:39.000000000 +0100
 +++ tftpd.c
-@@ -56,17 +56,18 @@ static char sccsid[] = "@(#)tftpd.c        5.12
+@@ -56,17 +56,19 @@ static char sccsid[] = "@(#)tftpd.c        5.12
  #include <syslog.h>
  #include <string.h>
  
 +#include <unistd.h>
++#include <fcntl.h>
 +
  #define       TIMEOUT         5
  
@@ -25,7 +26,7 @@
  struct        sockaddr_in from;
  int   fromlen;
  
-@@ -105,6 +106,8 @@ char       **argv;
+@@ -105,6 +107,8 @@ char       **argv;
  
        if (argc > 1 && strcmp (argv[1], "-d") == 0) {
                setUpForDebugging();
@@ -34,7 +35,7 @@
        }
        if (ioctl(0, FIONBIO, &on) < 0) {
                syslog(LOG_ERR, "ioctl(FIONBIO): %m\n");
-@@ -202,7 +205,7 @@ setUpForDebugging()
+@@ -202,7 +206,7 @@ setUpForDebugging()
  awaitInput(chan)
  int   chan;
  {
@@ -43,7 +44,7 @@
        int nready;
        struct timeval tv;
        extern int maxInputWait;
-@@ -212,8 +215,9 @@ int        chan;
+@@ -212,8 +216,9 @@ int        chan;
        else
                tv.tv_sec = 5*60;       /* default: wait for 5 minutes */
        tv.tv_usec = 0;
@@ -55,7 +56,7 @@
        return nready;
  }
  
-@@ -294,7 +298,10 @@ int n;
+@@ -294,7 +299,10 @@ int n;
  }
  
  int   validate_access();
@@ -67,7 +68,7 @@
  
  struct formats {
        char    *f_mode;
-@@ -303,8 +310,8 @@ struct formats {
+@@ -303,8 +311,8 @@ struct formats {
        int     (*f_recv)();
        int     f_convert;
  } formats[] = {
@@ -78,7 +79,7 @@
  #ifdef notdef
        { "mail",       validate_user,          sendmail,       recvmail, 1 },
  #endif
-@@ -355,13 +362,13 @@ again:
+@@ -355,13 +363,13 @@ again:
                exit(1);
        }
        if (tftpDebugLevel > 0) {
@@ -95,7 +96,7 @@
        }
        ecode = (*pf->f_validate)(filename, tp->th_opcode);
        if (ecode) {
-@@ -459,17 +466,25 @@ validate_access(filename, mode)
+@@ -459,17 +467,25 @@ validate_access(filename, mode)
  
        /* Rule 2:
         */
@@ -124,7 +125,7 @@
  
                        /* Insure our temporary space is big enough */
                        maxPath = ((sizeof _tmp) - 1) - rootLen;
-@@ -481,6 +496,8 @@ validate_access(filename, mode)
+@@ -481,6 +497,8 @@ validate_access(filename, mode)
                                return EACCESS;
                        }
  
@@ -133,7 +134,7 @@
                        /* Squeeze out any '.' or '..' components */
                        strcpy (tmpPath, filename);
                        if (realPath (tmpPath, _tmp) < 0) {
-@@ -492,21 +509,54 @@ validate_access(filename, mode)
+@@ -492,21 +510,54 @@ validate_access(filename, mode)
                        /* Create the full pathname, prefixed by the
                         * virtual root.
                         */
@@ -192,7 +193,16 @@
        /* Check access lists */
        /* Rules 4&5:
         */
-@@ -593,7 +643,7 @@ void timer()
+@@ -565,7 +616,7 @@ validate_access(filename, mode)
+        * This will be done with the effective permissions of the TFTPD
+        * process.
+        */
+-      fd = open(filename, mode == RRQ ? 0 : 1);
++      fd = open(filename, mode == RRQ ? (O_RDONLY) : (O_WRONLY|O_TRUNC));
+       if (fd < 0) {
+               syslog (LOG_DEBUG, "open fails; errno = %d", errno);
+               return errno+100;
+@@ -593,7 +644,7 @@ void timer()
  /*
   * Send the requested file.
   */
@@ -201,7 +211,7 @@
        struct formats *pf;
  {
        struct tftphdr *dp, *r_init();
-@@ -664,7 +714,7 @@ void justquit()
+@@ -664,7 +715,7 @@ void justquit()
  /*
   * Receive a file.
   */
@@ -210,7 +220,7 @@
        struct formats *pf;
  {
        struct tftphdr *dp, *w_init();
-@@ -688,7 +738,7 @@ send_ack:
+@@ -688,7 +739,7 @@ send_ack:
                write_behind(file, pf->f_convert);
                for ( ; ; ) {
                        alarm(rexmtval);



Home | Main Index | Thread Index | Old Index