Release Notes - 0.4.2

The 0.4.2 release of liblacewing is now available. 0.4.2 is a minor release to resolve issues with cookies, POST data and stream splicing.

Cookies

In the 0.4.0 release, the cookie handling code was changed to use a hash map internally for more efficient lookups. This introduced new problems with the cookie parser, which have now been resolved.

POST data

A 0.4.1 regression causing truncated POST data has been fixed.

Stream splicing

Writing one stream to another causes a StreamGraph to be constructed internally, which is responsible for ensuring each stream reads the correct number of bytes to satisfy the link to each write target. This is simple enough, but when filters are introduced the situation becomes more complicated: filters must also become part of the graph, so that the data can pass through them between stream and target.

Prior to 0.4.2, the recursive function to read from each stream in the graph would stop at the first stream which was not being written to anything. Although this was the correct behaviour for a graph without filters, with filters present it would stop at the filter (which, being just a filter, was not really being written to the next stream) and not read from any target beyond it.