<div dir="ltr"><div>This version is mostly to work around exploits related to packet flooding. The most significant change is there are now packet size limits. The limits are quite aggressive by default but are easily changed. I am reposting my original warning about this below just to ensure people see it.</div>
<div><br></div><div>Download: <a href="http://enet.bespin.org/download/enet-1.3.12.tar.gz">http://enet.bespin.org/download/enet-1.3.12.tar.gz</a></div><div><br></div><div>Change log:</div><div><div>* added maximumPacketSize and maximumWaitingData fields to ENetHost to limit the amount of </div>
<div>data waiting to be delivered on a peer (beware that the default maximumPacketSize is</div><div>32MB and should be set higher if desired as should maximumWaitingData)</div></div><div><br></div><div>Warning:</div><div>
<br></div><div><div>In an effort to deal with certain malicious attacks on ENet servers, I have</div><div>instituted some more strict packet limits in the github repo. I am just</div><div>sending out this notice because this change may negatively affect some</div>
<div>current ENet use-cases unless the developer is aware of what the limits are</div><div>and how to change them. These changes will be effective in the upcoming</div><div>ENet release (1.3.12), which should happen soon.</div>
<div><br></div><div>ENetHost has two new fields: maximumWaitingData and maximumPacketSize.</div><div><br></div><div>To change either of these, all you have to do is write your new value into</div><div>these fields and you are done.</div>
<div><br></div><div>maximumPacketSize both forbids packets from being received and sent if they</div><div>are larger. The default setting for this is now 32MB, beware. Set this</div><div>higher if you need it higher and are sending gigantic individual packets.</div>
<div><br></div><div>maximumWaitingData is a bit trickier. It is the maximum amount of total</div><div>waiting data that may be sitting in any single peer's receive queue</div><div>undelivered. The default is 32MB. So if you have 32MB total of packets</div>
<div>sitting in a peer's receive queue, no further packets will be accepted onto</div><div>that peer until you start receiving them.</div><div><br></div><div>Note that the effective limit on the amount of queued data on a peer is</div>
<div>actually maximumWaitingData + maximumPacketSize-1 due to the interaction</div><div>between these two variables. Rather, that if there is at least one byte of</div><div>available space in the receive queue for the peer, ENet will allow a packet</div>
<div>of up to maximumPacketSize to be received still, in an effort to prevent</div><div>smaller packets starving receipt of larger packets.</div><div><br></div><div>If in doubt, just set maximumWaitingData to a value equal to or greater</div>
<div>than maximumPacketSize if you change maximumPacketSize. However, this need</div><div>not be the case, as explained in the above paragraph, and</div><div>maximumWaitingData should be treated as a sane limit to the amount of data</div>
<div>you want sitting in a peer's backlog, with the understanding it can be</div><div>momentarily exceeded by maximumPacketSize.</div><div><br></div><div>Just a heads-up so that large packet users don't get bit by the change in</div>
<div>behavior.</div></div><div><br></div></div>