Hello community,
here is the log from the commit of package atftp
checked in at Fri Sep 12 22:58:03 CEST 2008.
--------
--- atftp/atftp.changes 2008-08-22 15:14:16.000000000 +0200
+++ atftp/atftp.changes 2008-09-12 16:30:01.971791000 +0200
@@ -1,0 +2,7 @@
+Fri Sep 12 16:27:04 CEST 2008 - mrueckert@suse.de
+
+- add atftpd-0.7_circumvent_tftp_size_restrictions.patch:
+ allow block counts higher than 65536 (Fate#303031)
+- replace network with remote_fs in the init script dependencies
+
+-------------------------------------------------------------------
New:
----
atftpd-0.7_circumvent_tftp_size_restrictions.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ atftp.spec ++++++
--- /var/tmp/diff_new_pack.J18337/_old 2008-09-12 22:57:52.000000000 +0200
+++ /var/tmp/diff_new_pack.J18337/_new 2008-09-12 22:57:52.000000000 +0200
@@ -21,7 +21,7 @@
Name: atftp
%define pkg_version 0.7
Version: 0.7.0
-Release: 125
+Release: 132
License: GPL v2 or later
Group: System/Daemons
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -39,6 +39,7 @@
Patch5: atftp-0.7_sol_ip.patch
Patch6: atftp-0.7_bug-213384_OPT_NUMBER.patch
Patch7: atftpd-0.7_unprotected_assignments_crash.patch
+Patch8: atftpd-0.7_circumvent_tftp_size_restrictions.patch
#
Summary: Advanced TFTP Server and Client
@@ -67,6 +68,7 @@
%patch5
%patch6
%patch7
+%patch8
%build
autoreconf -fi
@@ -109,6 +111,10 @@
%dir %attr(-,nobody,nogroup) /var/run/atftpd/
%changelog
+* Fri Sep 12 2008 mrueckert@suse.de
+- add atftpd-0.7_circumvent_tftp_size_restrictions.patch:
+ allow block counts higher than 65536 (Fate#303031)
+- replace network with remote_fs in the init script dependencies
* Fri Aug 22 2008 ro@suse.de
- change fillup_and_insserv to fillup_only (not active by default)
* Thu Apr 03 2008 mrueckert@suse.de
++++++ atftpd-0.7_circumvent_tftp_size_restrictions.patch ++++++
Fate #303031: Circumvent TFTP size restrictions in atftpd
The size of a single image file that can be transferred with TFTP is limited to
2^(2*8) *BLOCKSIZE (as per RFC 1350 there are only two bytes for the block
counter). This is problematic for one of our customers who needs to transfer
100+ MB Windows images using a TFTP client (NT bootloader) which has a
hardwared BLOCKSIZE setting of 1432).
block rollover
http://www.compuphase.com/tftp.htm
Index: tftp_def.h
===================================================================
--- tftp_def.h.orig 2008-09-12 16:30:56.092292872 +0200
+++ tftp_def.h 2008-09-12 16:30:56.160294265 +0200
@@ -32,6 +32,7 @@
#define TIMEOUT 5 /* Client timeout */
#define S_TIMEOUT 5 /* Server timout. */
#define NB_OF_RETRY 5
+#define MAXBLOCKS 500000 /* maximum number of blocks in a download */
/* definition to use tftp_options structure */
#define OPT_FILENAME 0
Index: tftp_file.c
===================================================================
--- tftp_file.c.orig 2008-09-12 16:30:55.907808154 +0200
+++ tftp_file.c 2008-09-12 16:31:46.663791666 +0200
@@ -604,8 +604,8 @@ int tftp_send_file(struct client_data *d
int state = S_SEND_REQ; /* current state in the state machine */
int timeout_state = state; /* what state should we go on when timeout */
int result;
- int block_number = 0;
- int last_block = -1;
+ long block_number = 0;
+ long last_block = -1;
int data_size; /* size of data received */
int sockfd = data->sockfd; /* just to simplify calls */
struct sockaddr_in sa; /* a copy of data.sa_peer */
@@ -618,8 +618,8 @@ int tftp_send_file(struct client_data *d
int convert = 0; /* if true, do netascii convertion */
char string[MAXLEN];
- int prev_block_number = 0; /* needed to support netascii convertion */
- int prev_file_pos = 0;
+ long prev_block_number = 0; /* needed to support netascii convertion */
+ long prev_file_pos = 0;
int temp = 0;
data->file_size = 0;
@@ -726,7 +726,7 @@ int tftp_send_file(struct client_data *d
data_size, data->data_buffer);
data->file_size += data_size;
if (data->trace)
- fprintf(stderr, "sent DATA
participants (1)
-
root@Hilbert.suse.de