opengnsys_ipxe/src/net
Michael Brown 2f12690455 [tls] Keep cipherstream window open until TLS negotiation is complete
When performing a SAN boot, the plainstream window size will be zero
(since this is the mechanism used internally to indicate that no data
should be fetched via the initial request).  This zero value currently
propagates to the advertised TCP window size, which prevents the TLS
negotiation from completing.

Fix by ensuring that the cipherstream window is held open until TLS
negotiation is complete, and only then falling back to passing through
the plainstream window size.

Reported-by: John Wigley <johnwigley#ipxe@acorna.co.uk>
Tested-by: John Wigley <johnwigley#ipxe@acorna.co.uk>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2017-05-22 13:17:23 +01:00
..
80211 [802.11] Remove redundant NULL pointer check after dereference 2017-03-21 14:01:08 +02:00
infiniband [block] Describe all SAN devices via ACPI tables 2017-03-28 19:12:48 +03:00
oncrpc [nfs] Rewrite NFS URI handling 2014-05-18 21:53:39 +01:00
tcp [iscsi] Always send FirstBurstLength parameter 2017-05-03 13:01:11 +01:00
udp [slam] Avoid NULL pointer dereference in slam_pull_value() 2017-03-21 14:57:36 +02:00
aoe.c [block] Describe all SAN devices via ACPI tables 2017-03-28 19:12:48 +03:00
arp.c [arp] Validate length of ARP packet 2016-03-12 01:24:03 +00:00
dhcpopts.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:50:42 +00:00
dhcppkt.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
eapol.c [legal] Update FSF mailing address in GPL licence texts 2012-07-20 19:55:45 +01:00
eth_slow.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 16:35:29 +00:00
ethernet.c [ethernet] Make LACP support configurable at build time 2016-04-18 10:08:46 +01:00
fakedhcp.c [pxe] Populate ciaddr in fake PXE Boot Server ACK packet 2015-09-01 21:24:02 +01:00
fc.c [build] Fix the REQUIRE_SYMBOL mechanism 2015-03-05 00:59:38 +00:00
fcels.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
fcns.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
fcoe.c [time] Allow timer to be selected at runtime 2017-01-26 08:17:37 +00:00
fcp.c [block] Describe all SAN devices via ACPI tables 2017-03-28 19:12:48 +03:00
fragment.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
icmp.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
icmpv4.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
icmpv6.c [ipv6] Disambiguate received ICMPv6 errors 2015-05-11 12:45:14 +01:00
infiniband.c [infiniband] Return status code from ib_create_mi() 2017-03-22 11:18:23 +02:00
iobpad.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
ipv4.c [ipv4] Accept unicast packets for the local network broadcast address 2017-01-22 09:12:52 +00:00
ipv6.c [ipv6] Allow for multiple routers 2016-07-25 15:20:22 +01:00
ndp.c [ipv6] Rename ipv6_scope to ipv6_settings_scope 2016-07-21 15:47:45 +01:00
neighbour.c [neighbour] Return success when deferring a packet 2015-05-20 15:29:36 +01:00
netdev_settings.c [netdevice] Limit MTU by hardware maximum frame length 2017-01-25 14:55:09 +00:00
netdevice.c [netdevice] Limit MTU by hardware maximum frame length 2017-01-25 14:55:09 +00:00
nullnet.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
pccrc.c [peerdist] Include trimmed range within content information block 2015-07-28 15:22:26 +01:00
pccrd.c [peerdist] Add support for constructing and decoding discovery messages 2015-07-28 16:09:14 +01:00
peerblk.c [peerdist] Avoid NULL pointer dereference for plaintext blocks 2015-09-29 01:24:36 +01:00
peerdisc.c [build] Return const char * from uuid_ntoa() 2017-01-22 13:45:00 +00:00
peerdist.c [peerdist] Add support for PeerDist (aka BranchCache) HTTP content encoding 2015-08-17 13:24:40 +01:00
peermux.c [peerdist] Add block download multiplexer 2015-08-17 13:24:39 +01:00
ping.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
rarp.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
retry.c [retry] Colourise debug output 2015-03-05 11:25:54 +00:00
rndis.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
socket.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
stp.c [time] Allow timer to be selected at runtime 2017-01-26 08:17:37 +00:00
tcp.c [tcp] Use correct length for memset() 2017-03-22 15:11:05 +02:00
tcpip.c [netdevice] Limit MTU by hardware maximum frame length 2017-01-25 14:55:09 +00:00
tls.c [tls] Keep cipherstream window open until TLS negotiation is complete 2017-05-22 13:17:23 +01:00
udp.c [tcpip] Avoid generating positive zero for transmitted UDP checksums 2015-09-10 14:46:54 +01:00
validator.c [crypto] Generalise X.509 "valid" field to a "flags" field 2016-08-25 15:41:57 +01:00
vlan.c [netdevice] Allow network devices to disclaim IRQ support at runtime 2015-07-28 15:14:40 +01:00