qemu/slirp
Hervé Poussineau 95b1ad7ad8 slirp: Implement TFTP Blocksize option
This option is described in RFC 1783. As this is only an optional field,
we may ignore it in some situations and handle it in some others.

However, MS Windows 2003 PXE boot client requests a block size of the MTU
(most of the times 1472 bytes), and doesn't work if the option is not
acknowledged (with whatever value).

According to the RFC 1783, we cannot acknowledge the option with a bigger
value than the requested one.

As current implementation is using 512 bytes by block, accept the option
with a value of 512 if the option was specified, and don't acknowledge it
if it is not present or less than 512 bytes.

Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
2012-09-14 00:26:55 +02:00
..
arp_table.c slirp: Fix types of IP address parameters 2011-08-05 12:51:11 +02:00
bootp.c slirp: Fix assertion failure on rejected DHCP requests 2012-02-27 14:55:07 +01:00
bootp.h
cksum.c slirp: Fix compiler warning for w64 2012-03-13 16:15:19 +01:00
COPYRIGHT
debug.h
if.c net: determine if packets can be sent before net queue deliver packets 2012-08-01 13:32:11 +01:00
if.h slirp: Clean up ifs_init 2012-02-27 14:54:49 +01:00
ip_icmp.c slirp: Cleanup resources on instance removal 2012-03-13 14:05:49 +01:00
ip_icmp.h slirp: Cleanup resources on instance removal 2012-03-13 14:05:49 +01:00
ip_input.c slirp: Cleanup resources on instance removal 2012-03-13 14:05:49 +01:00
ip_output.c slirp: Replace m_freem with m_free 2011-07-23 10:19:49 -05:00
ip.h slirp: Avoid statements without effect on Big Endian host 2012-05-28 22:31:07 +02:00
libslirp.h net: determine if packets can be sent before net queue deliver packets 2012-08-01 13:32:11 +01:00
main.h slirp: fix build on mingw32 2012-08-06 19:31:55 -05:00
Makefile.objs build: move slirp/ objects to nested Makefile.objs 2012-06-07 09:21:15 +02:00
mbuf.c slirp: Cleanup resources on instance removal 2012-03-13 14:05:49 +01:00
mbuf.h slirp: Cleanup resources on instance removal 2012-03-13 14:05:49 +01:00
misc.c slirp: use socket_set_nonblock 2012-03-28 20:33:26 +02:00
misc.h slirp: Replace u_int8_t, u_int16_t, u_int32_t, u_int64_t by standard int types 2010-07-25 16:59:41 +02:00
sbuf.c slirp: Signal free input buffer space to io-thread 2012-03-30 19:43:00 +02:00
sbuf.h
slirp_config.h slirp: Remove unused code for bad sprintf 2010-11-21 09:16:57 -06:00
slirp.c slirp: fix build on mingw32 2012-08-06 19:31:55 -05:00
slirp.h w32: Move defines for socket specific errors to qemu-os-win32.h 2012-04-15 21:25:16 +02:00
socket.c Wrap recv to avoid warnings 2011-07-25 14:38:56 +00:00
socket.h slirp: Replace u_int8_t, u_int16_t, u_int32_t, u_int64_t by standard int types 2010-07-25 16:59:41 +02:00
tcp_input.c slirp: Fix use after release on tcp_input 2011-09-28 13:10:22 +02:00
tcp_output.c slirp: Avoid redefining MAX_TCPOPTLEN 2012-05-28 22:44:27 +02:00
tcp_subr.c slirp: Fix error reported by static code analysis 2012-09-13 12:38:14 +02:00
tcp_timer.c
tcp_timer.h
tcp_var.h slirp: Replace u_int8_t, u_int16_t, u_int32_t, u_int64_t by standard int types 2010-07-25 16:59:41 +02:00
tcp.h slirp: Untangle TCPOLEN_* from TCPOPT_* 2012-05-28 13:45:33 +02:00
tcpip.h
tftp.c slirp: Implement TFTP Blocksize option 2012-09-14 00:26:55 +02:00
tftp.h slirp: Handle more than 65535 blocks in TFTP transfers 2012-09-13 12:39:36 +02:00
udp.c slirp: Cleanup resources on instance removal 2012-03-13 14:05:49 +01:00
udp.h slirp: Cleanup resources on instance removal 2012-03-13 14:05:49 +01:00