[-]
[+]
|
Deleted |
tftp.changes
|
@@ -1,291 +0,0 @@
--------------------------------------------------------------------
-Mon Sep 1 14:45:15 CEST 2008 - mrueckert@suse.de
-
-- drop lineedit support again
-- fix build to include %{optflags} with using configure
-
--------------------------------------------------------------------
-Wed Aug 27 16:20:32 CEST 2008 - olh@suse.de
-
-- do not require autoconf 2.61
- binutils-devel is not available in 11.0 or earlier
-
--------------------------------------------------------------------
-Wed Aug 6 16:04:07 CEST 2008 - kkeil@suse.de
-
-- Update to current git version with enhanced IPv6 support included
-
--------------------------------------------------------------------
-Fri Jul 18 17:56:28 CEST 2008 - kkeil@suse.de
-
-- Update to git version 0.48 for mainline compatibility; code is
- still the same but formatting was cleaned up
-- Implement IPv6 (fate #304343)
-
--------------------------------------------------------------------
-Thu Feb 1 21:05:23 CET 2007 - mrueckert@suse.de
-
-- update to version 0.48:
- - Unbreak -l -s in the server, which was broken in 0.47.
-- additional changes from 0.47:
- - Add -L option to the server to run standalone without
- detaching from the shell.
- - Parallel make fix.
-
--------------------------------------------------------------------
-Tue Jan 9 11:37:58 CET 2007 - mrueckert@suse.de
-
-- update to version 0.46:
- - Minor portability improvements.
-- additional change from 0.45:
- Add -l (literal) option to the client, to override the special
- treatment of the colon (:) character as a hostname separator.
-- replaced tftp-hpa-0.43_syntax.diff with tftp-hpa-0.46_colon_check.patch:
- restore a behavior which was broken with 0.35
-- merged tftp-hpa-0.43_signdness.patch with
- tftp-hpa-0.43_bcopy_secfix.patch. new patch:
- tftp-hpa-0.46_bcopy_secfix.patch.
-- added tftp-hpa-0.46_libedit.patch:
- Build against libedit to enable lineediting support.
-
--------------------------------------------------------------------
-Thu Dec 7 04:09:55 CET 2006 - mrueckert@suse.de
-
-- update to version 0.44:
- - Allow the client to specify a range of local port numbers, just
- like the server can.
- - Fix sending SIGHUP to update the regular expression table.
-
--------------------------------------------------------------------
-Fri Oct 20 19:04:32 CEST 2006 - mrueckert@suse.de
-
-- update to version 0.43:
- - Fix double-free error on ^c in client.
- - Try to deal with clients that send TFTP requests to broadcasts
- (apparently some recent Sun boxes do this instead of using the
- address told by DHCP. Bad Sun! Bad Sun!)
- - Portability fixes.
-- removed first chunk from tftp-hpa-0.40.diff and renamed it to
- tftp-hpa-0.43_include_sys_params.patch. the first chunk was
- fixed upstream.
-- patches rediffed and renamed:
- tftp-bcopy-secfix.diff -> tftp-hpa-0.43_bcopy_secfix.patch
- tftp-hpa-0.40.readline.diff -> tftp-hpa-0.43_readline.diff
- tftp-hpa-0.40-syntax.diff -> tftp-hpa-0.43_syntax.diff
-- added tftp-hpa-0.43_signdness.patch:
- fixed signedness warnings which where mostlikely caused by the
- bcopy fixes.
-
--------------------------------------------------------------------
-Tue Mar 14 08:24:26 CET 2006 - mrueckert@suse.de
-
-- update to version 0.42:
- o Try to disable path MTU discovery for TFTP connections (it's
- useless anyway.) (0.42)
- o Add a hack to allow the admin to specify a range of local port
- numbers to use. (0.42)
- o Fix local IP number handling on systems which present
- IP_RECVDSTADDR in recvmsg(). (0.42)
- o Fix bug by which patterns of the form \U\1 weren't converted
- correctly. (0.41)
-
--------------------------------------------------------------------
-Tue Mar 14 08:21:56 CET 2006 - mrueckert@suse.de
-
-- removed tftp-hpa-0.40.make.diff
-- removed autoreconf -fi. it caused the builderrors
-- minimized the build/install sections
-
--------------------------------------------------------------------
-Wed Jan 25 21:42:09 CET 2006 - mls@suse.de
-
-- converted neededforbuild to BuildRequires
-
--------------------------------------------------------------------
-Thu Jun 23 13:40:18 CEST 2005 - mrueckert@suse.de
-
-- Do not install xinetd config with executable flag.
-- Added tcpd-devel so we can build with libwrap
-- Do not let the build process delete aconfig.h at the wrong time.
-
--------------------------------------------------------------------
-Tue Feb 8 16:49:11 CET 2005 - mmj@suse.de
-
-- Update to tftp-hpa-0.40 including:
- o Fix timeout bug
- o Support perl style \U...\E and \L...\E, as well as allow
- matching rules to be inverted (execute if rule *doesn't* match.)
- o Fix bug which would cause "r" remapping rules to be incorrectly
- rejected.
-
--------------------------------------------------------------------
-Wed Oct 27 19:34:06 CEST 2004 - mmj@suse.de
-
-- Fix security hole with possibly overflowing bcopy [#47676]
-
--------------------------------------------------------------------
-Fri Sep 3 17:13:25 CEST 2004 - mmj@suse.de
-
-- Update to tftp-hpa-0.38 including portability fixes
-
--------------------------------------------------------------------
-Thu Aug 12 10:59:25 CEST 2004 - mmj@suse.de
-
-- Update to tftp-hpa-0.37 which fixes a pathology where a client
- sending ACKs for the wrong packet can prevent proper retransmission.
-
--------------------------------------------------------------------
-Mon Feb 9 11:53:41 CET 2004 - mmj@suse.de
-
-- Update to tftp-hpa-0.36 which is a portability release
-
--------------------------------------------------------------------
-Fri Jan 9 23:20:25 CET 2004 - mmj@suse.de
-
-- Update to tftp-hpa-0.35:
- o Add an option to control the maximum value of blksize
- negotiated.
- o Removed workaround for obsolete Cygwin problem.
- o Don't use getopt() -- the -c option doesn't work correctly
- since it depends on the ordering of arguments and options.
- It is now possible to do:
- tftp -m binary hostname -c get filename
- This was previous possible by doing:
- tftp -m binary -c get hostname:filename
- ... but it seemed that was counterintuitive to people.
- o Somewhat improved configure scripts.
-
--------------------------------------------------------------------
-Fri Oct 17 13:04:26 CEST 2003 - mmj@suse.de
-
-- Don't build as root
-
--------------------------------------------------------------------
-Wed Jul 2 13:40:38 CEST 2003 - mmj@suse.de
-
-- Add patch from mls to fix syntax
-
--------------------------------------------------------------------
-Tue May 13 13:01:28 CEST 2003 - mmj@suse.de
-
-- Use %defattr
-
--------------------------------------------------------------------
-Tue May 6 13:36:20 CEST 2003 - mmj@suse.de
-
-- Update to 0.34 which is just a small code cleanup to fix build on
- Solaris.
-- Add tftpd/sample.rules (thanks to A. Schulze for noticing)
-
--------------------------------------------------------------------
-Sat Mar 29 01:11:18 CET 2003 - mmj@suse.de
-
-- Update to 0.33 including:
- · Further improvement of error messages
- · Configuration fix: readline needs termcap
- · Support running the tftp client from the command line
-
--------------------------------------------------------------------
-Fri Jan 24 11:27:38 CET 2003 - mmj@suse.de
-
-- Add xinetd configuration file
-
--------------------------------------------------------------------
-Thu Nov 14 12:20:56 CET 2002 - mmj@suse.de
-
-- Update to 0.32 including better error messages
-
--------------------------------------------------------------------
-Mon Nov 4 08:21:43 CET 2002 - mmj@suse.de
|
[-]
[+]
|
Changed |
tftp.spec
^
|
|
[-]
[+]
|
Added |
tftp-hpa-filecase.diff
^
|
@@ -0,0 +1,92 @@
+--- tftp-hpa-5.0/tftpd/tftpd.c.orig 2009-02-16 23:51:22.000000000 +0100
++++ tftp-hpa-5.0/tftpd/tftpd.c 2009-05-02 19:56:19.000000000 +0200
+@@ -46,6 +46,7 @@
+ #include <pwd.h>
+ #include <limits.h>
+ #include <syslog.h>
++#include <dirent.h>
+
+ #include "common/tftpsubs.h"
+ #include "recvfrom.h"
+@@ -976,6 +977,9 @@
+ static void tftp_sendfile(struct formats *, struct tftphdr *, int);
+ static void tftp_recvfile(struct formats *, struct tftphdr *, int);
+
++int lookup_entry(const char *comp, char *dest);
++void lookup_file(char *filename);
++
+ struct formats {
+ const char *f_mode;
+ char *(*f_rewrite) (char *, int, const char **);
+@@ -1353,6 +1357,62 @@
+ }
+ #endif
+
++int lookup_entry(const char *comp, char *dest)
++{
++ DIR *dirp;
++ struct dirent *dptr;
++ dirp = opendir(dest[0] ? dest : ".");
++ if (!dirp) return 0;
++ while ((dptr = readdir(dirp)))
++ {
++ if (!strcasecmp(dptr->d_name, comp))
++ {
++ if (dest[0]) strcat(dest, "/");
++ strcat(dest, dptr->d_name);
++ closedir(dirp);
++ return 1;
++ }
++ }
++ closedir(dirp);
++ return 0;
++}
++
++
++void lookup_file(char *filename)
++{
++ int found = 0;
++ int len = 0;
++ char dest[1024];
++ char comp[1024];
++ char *check = filename;
++ char *seek = NULL;
++
++ dest[0] = 0;
++ check++;
++ while (*check)
++ {
++ seek = strchr(check, '\\');
++ if (!seek)
++ {
++ if ((*check) && (lookup_entry(check, dest)))
++ found = 1;
++ break;
++ }
++ len = seek - check;
++ memcpy(comp, check, len);
++ comp[len]=0;
++ if (!lookup_entry(comp, dest))
++ break;
++ check += len + 1;
++ }
++
++ if (found)
++ {
++ filename[0] = 0;
++ strcat(filename, dest);
++ }
++}
++
+ static FILE *file;
+ /*
+ * Validate file access. Since we
+@@ -1378,6 +1438,8 @@
+ tsize_ok = 0;
+ *errmsg = NULL;
+
++ if (*filename == '\\') lookup_file(filename);
++
+ if (!secure) {
+ if (*filename != '/') {
+ *errmsg = "Only absolute filenames allowed";
|
[-]
[+]
|
Added |
tftp-hpa-filecase.diff.old
^
|
@@ -0,0 +1,113 @@
+* Case insensitive lookup patch for tftp-hpa
+*
+* Copyright (c) 2006-2007 Gianluigi Tiesi <sherpya@netfarm.it>
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Library General Public
+* License as published by the Free Software Foundation; either
+* version 2 of the License, or (at your option) any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Library General Public License for more details.
+*
+* You should have received a copy of the GNU Library General Public
+* License along with this software; if not, write to the
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+diff -Nur tftp-hpa-0.48.orig/tftpd/tftpd.c tftp-hpa-0.48/tftpd/tftpd.c
+--- tftp-hpa-0.48.orig/tftpd/tftpd.c 2007-01-31 00:51:05.000000000 +0100
++++ tftp-hpa-0.48/tftpd/tftpd.c 2007-12-09 06:02:35.374845896 +0100
+@@ -59,6 +59,7 @@
+ #include <pwd.h>
+ #include <limits.h>
+ #include <syslog.h>
++#include <dirent.h>
+
+ #include "common/tftpsubs.h"
+ #include "recvfrom.h"
+@@ -724,6 +725,9 @@
+ void tftp_sendfile(struct formats *, struct tftphdr *, int);
+ void tftp_recvfile(struct formats *, struct tftphdr *, int);
+
++int lookup_entry(const char *comp, char *dest);
++void lookup_file(char *filename);
++
+ struct formats {
+ const char *f_mode;
+ char *(*f_rewrite)(char *, int, const char **);
+@@ -1059,6 +1063,64 @@
+ }
+ #endif
+
++
++int lookup_entry(const char *comp, char *dest)
++{
++ DIR *dirp;
++ struct dirent *dptr;
++ dirp = opendir(dest[0] ? dest : ".");
++ if (!dirp) return 0;
++ while ((dptr = readdir(dirp)))
++ {
++ if (!strcasecmp(dptr->d_name, comp))
++ {
++ if (dest[0]) strcat(dest, "/");
++ strcat(dest, dptr->d_name);
++ closedir(dirp);
++ return 1;
++ }
++ }
++ closedir(dirp);
++ return 0;
++}
++
++
++void lookup_file(char *filename)
++{
++ int found = 0;
++ int len = 0;
++ char dest[1024];
++ char comp[1024];
++ char *check = filename;
++ char *seek = NULL;
++
++ dest[0] = 0;
++ check++;
++ while (*check)
++ {
++ seek = strchr(check, '\\');
++ if (!seek)
++ {
++ if ((*check) && (lookup_entry(check, dest)))
++ found = 1;
++ break;
++ }
++ len = seek - check;
++ memcpy(comp, check, len);
++ comp[len]=0;
++ if (!lookup_entry(comp, dest))
++ break;
++ check += len + 1;
++ }
++
++ if (found)
++ {
++ filename[0] = 0;
++ strcat(filename, dest);
++ }
++}
++
++
+ FILE *file;
+ /*
+ * Validate file access. Since we
+@@ -1085,6 +1147,8 @@
+ tsize_ok = 0;
+ *errmsg = NULL;
+
++ if (*filename == '\\') lookup_file(filename);
++
+ if (!secure) {
+ if (*filename != '/') {
+ *errmsg = "Only absolute filenames allowed";
|
|
Changed |
tftp-hpa-5.0.tar.bz2
^
|