[BUG: inetutils tftpd]: tftpd of inetutils1.5.6 only transfers file with size no more than 511 byte to tftp client

Xiaoqiang Zheng zh_xq@yahoo.com
Thu Jun 11 01:15:00 GMT 2009


1.7.0-49 beta testing: tftpd of inetutils1.5.6 only transfers file with size no more than 511 byte to tftp client

1. /etc/inetd.conf:
================
tftp  dgram   udp     wait    cyg_server  /usr/sbin/tftpd tftpd -l /cygdrive/i/data/tftp
================

2. for a 511 bytes file, tftp works well
================
$ ls -l /cygdrive/i/data/tftp/x
-rwxr-xr-x 1 dfhtys None 511 06-11 08:14 /cygdrive/i/data/tftp/x

$ tftp 192.168.0.80
tftp> mode binary
tftp> verbose
Verbose mode on.
tftp> trace
Packet tracing on.
tftp> get x
getting from 192.168.0.80:x to x [octet]
sent RRQ <file=x, mode=octet>
received DATA <block=1, 511 bytes>
Received 511 bytes in 0.2 seconds [20440 bits/sec]
tftp> quit
================

3. for the same file modified to 512 bytes, tftp stalls.
================
$ ls -l /cygdrive/i/data/tftp/x
-rwxr-xr-x 1 dfhtys None 512 06-11 08:17 /cygdrive/i/data/tftp/x

$ tftp 192.168.0.80
tftp> mode binary
tftp> verbose
Verbose mode on.
tftp> trace
Packet tracing on.
tftp> get x
getting from 192.168.0.80:x to x [octet]
sent RRQ <file=x, mode=octet>
received DATA <block=1, 512 bytes>
sent ACK <block=1>
sent ACK <block=1>

================

4. syslog message in var/log/message:
================
Jun 11 08:16:08 t9300d 
Jun 11 08:16:08 t9300d syslogd: PID 3512: `syslogd' service started
Jun 11 08:16:16 t9300d 
Jun 11 08:16:16 t9300d inetd: PID 2616: `inetd' service started
Jun 11 08:16:41 t9300d 
Jun 11 08:16:41 t9300d tftpd: PID 2728: t9300d: read request for /cygdrive/i/data/tftp/x: success
Jun 11 08:16:41 t9300d 
Jun 11 08:16:41 t9300d tftpd: PID 2728: tftpd: read: Bad address
Jun 11 08:18:38 t9300d 
Jun 11 08:18:38 t9300d tftpd: PID 1748: t9300d: read request for /cygdrive/i/data/tftp/x: success
Jun 11 08:18:38 t9300d 
Jun 11 08:18:38 t9300d tftpd: PID 1748: tftpd: read: Bad address
================

5. tftp the same file modified to much more bytes from tftpd32 (http://tftpd32.jounin.net/tftpd32_download.html) tftp server works well
================
$ ls -l /cygdrive/i/data/tftp/x
-rwxr-xr-x 1 dfhtys None 512 06-11 08:33 /cygdrive/i/data/tftp/x

$ tftp 192.168.0.80
tftp> mode binary
tftp> verbose
Verbose mode on.
tftp> trace
Packet tracing on.
tftp> get x
getting from 192.168.0.80:x to x [octet]
sent RRQ <file=x, mode=octet>
received DATA <block=1, 512 bytes>
sent ACK <block=1>
received DATA <block=2, 0 bytes>
Received 512 bytes in 0.1 seconds [40960 bits/sec]
tftp>
================

so tftp client of inetutils works well, but tftpd of inetutils may have a bug. 
it seems syslogd, inetd and tftpd log one garbage empty message before logging one record.


      
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cygcheck.out
URL: <http://cygwin.com/pipermail/cygwin/attachments/20090611/d086a6d3/attachment.ksh>
-------------- next part --------------
--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


More information about the Cygwin mailing list