0.330 2018/02/19
- L7::HTTP::Request::InspectChain
- support for brotli if IO::Uncompress::Brotli is installed
- better documentation
- Flow: deal with changes to the attached flows from inside an executed method
(happens together with GuessProtocol)
0.329 2017/11/22
- L4::Tcp::pktin - fix merging of data into next packet if data were not
handled in the upper layer yet (merging was done with last unhandled packet
instead of next one).
0.328 2017/06/11
- L7::SMTP - call new_connection from upper flow to initialize it
0.327 2017/05/25
- L7::SMTP - support BDAT command
- L7::HTTP - make it complain about missing content-length in POST again
0.326 2016/07/06
- initial support for SMTP
- implemented in L7::SMTP
- tool to extract mails from SMTP traffic: tools/smtp2mbox.pl
- no support for BDAT yet (will croak)
- L4::HTTP
- if request object implements fix_reqhdr/fix_rsphdr method these get
used in case of invalid request/response headers to fix the headers
- downgrade unexpected status code 1xx to warning instead of error
- L4::TCP
- don't call upper flow with empty packets (unless FIN)
- merge data into next buffer and retry if no data could be processed by upper
flow
- escape special characters in debug function
0.325 2015/07/23
- new tool tools/multiflow to extract UDP, TCP streams and HTTP requests as
pcap. More information in verbose output of httpflow, like ttl and
referer.
- L4::TCP now propagates TTL from SYN+ACK of server within meta data of new
connection to next layer
- some fixes for handling IPv6 and invalid IPv4
- httpflow no works with newer Net::Pcap which don't export :functions
0.324 2015/04/20
- L7::HTTP - include CONNECT in METHODS_WITHOUT_RPBODY
0.323 2015/04/14
- L7::HTTP::Request::InspectChain - call new_request from upper_flow with
meta data when creating a new request object
0.322 2015/04/14
- L4::TCP - handle case where only part of packet gets ACKed
0.321 2015/04/14
- L7::HTTP::Request::InspectChain - various fixes
0.320 2015/03/07
- L7::HTTP - make sure in_wsdata is called when only data frame header is
received.
0.319 2015/03/06
- L7::HTTP - defer forwarding of empty request body on upgrade requests until we
know that the server does not want to upgrade and instead continue with normal
HTTP. Do not call in_request_body if upgrade succeeded.
0.318 2015/02/25
- L7::HTTP
- Handle case of eof from server before sending response back in a special
way: if this is not the first request don't fatal but instead call
in_response_header with an empty header to signal this totally valid
server behavior (server might close any time before sending response,
client must retry).
- better debugging - debug messages include request-id relative to connection
and are more conistent
0.317 2015/02/22
- L7::HTTP - move websocket handling to L7::HTTP::WebSocket and implement this
and other upgrade handling in a more generic way.
0.316 2015/02/21
- L7::HTTP
- provide bytes_left and header in frameinfo of in_wsdata/in_wsctl
- complain again if request header contain information about non-zero body
- parse_reqhdr allows to parse header w/o length info if explicitly told
0.315 2015/02/18
- L7::HTTP support for Websockets
- L7::HTTP exportable function parse_reqhdr and parse_rsphdr to parse
message header
0.314 2015/02/16
- L7::HTTP option header_maxsize for new_connection allows it to configure the
maximum size of the message headers.
0.313 2015/02/06
- L7::HTTP fixed offset calculation in case of gaps
0.312 2015/01/28
- L7::HTTP fixed handling of some broken input
0.311 2015/01/26
- L7::HTTP
- allow \x80-\xff in field-name
- allow gaps for upgraded connections (i.e. calls for in_data)
- better detection of chunked encoding, that is accept if given together with
parameters or with further transfer-encodings inside the same field-value
- expect body data (especially gaps) only with CONNECT once a successful
response was received.
- some code refactoring
0.310 2015/01/20
- L7::HTTP
- gap_diff, gap_offset, offset behave now as expected in array
and scalar context.
- correctly mark end of body in call of in_request_body
- fix for handling gaps in response
0.309 2015/01/07
- L7::HTTP - connections can now track where gaps are possible (i.e. body data
not needed for HTTP analysis itself), see gap_offset, gap_diff.
- L7::HTTP - bugfix for correctly calculating offset with chunked requests
0.308 2015/01/06
- L7::HTTP - fixed typo in METHODS_WITHOUT_RQBODY (use of METHODS_WITHOUT_RPBODY
instead of METHODS_WITHOUT_RQBODY)
- L7::HTTP - check that content-length is valid number
0.307 2014/12/12
- L7::HTTP - export some functionality for external use
0.306 2014/12/11
- L7::HTTP - fix bug when calling in_junk
0.305 2014/11/12
- Net::Inspect::IP: don't endless-loop if we don't find the expected
protocol header in the IPv6 headers. Accept ICMPv6 as protocol header.
0.304 2014/07/03
- added IPv6 support for L3::IP
0.303 2013/11/08
- fix L4::TCP for case, where FIN+ACK not only acked FIN but also previous data
- tools/tcpudpflow: add feature to write each flow as single pcap file (needs
Net::PcapWriter) instead of one file for each direction
0.302 2013/07/23
- L7::HTTP::dump_state will return message if defined wantarray instead of
writing into debug
0.301 2013/07/05
- L7::HTTP::open_requests can now return (selected) request objects
0.300 2013/07/04
- clearer handling of end-of-body in HTTP for in_response_body, in_request_body calls
0.29 2013/04/09
- L7::HTTP
- support for 1xx responses
- support for chunked requests
INTERFACE CHANGE!! in_chunk_{header,trailer} now specifify direction
before the data
- fixes for chunked handling:
- Transfer-Encoding is compared case insensitive
- chunked is only enabled if Transfer-Encoding is exactly 'chunked'
(ignore case) not 'chunked whatever' etc
- chunked is only available with version >= 1.1
- added test 02_l7http
0.28 2013/02/25
- same as 0.27_1
0.27_1 2013/02/13
- fix documentation errors, thanks to perl[AT]theconrys[DOT]com
https://rt.cpan.org/Ticket/Display.html?id=83213
0.27 2013/02/01
- fix deflate decoding in Net::Inspect::L7::HTTP::Request::InspectChain
0.26 2013/02/01
- L7::HTTP - more information for in_(request|response)_header, including
all fields, url, version and possible junk data from header
- L7::HTTP - call trace/debug only when %TRACE/$DEBUG to get better performance
- L7::HTTP - be more lax when parsing headers, but report invalid data
0.25 2013/01/11
- L7::HTTP - in_(request|response)_header gets additional argument for
information extracted from the header, especially the calculated
content-length
0.24 2012/12/03
- since 0.17 Net::Pcap no longer exports pcap_* functions when importing
':functions'. Work around by explicitly importing the needed functions.
0.23 2012/11/22
- removed tools/http_inspection_proxy from distribution.
It is now available as a seperate distribution App::HTTP_Proxy_IMP
0.22 2012/11/22
- enhanced Net::Inspect::Debug with ideas and code from Net::IMP::Debug for
better integration into other debugging frameworks
0.21 2012/11/20
- update to 0.20 - forgot to include files into MANIFEST
0.20 2012/11/19
- major change on tools/http_inspection_proxy. complete rewrite and support
Net::IMP content filters added
- small bugfixes and enhancements
0.19 2012/10/1
- put license into Makefile.PL
0.18 2012/06/14
- fixed detach inside Socks::guess_protocol, flow to detach was missing
0.17 2012/06/11
- basic support for gaps in the data stream in L7::HTTP and above.
0.16 2012/06/06
- harmonize behavior of offset method in L7::HTTP
0.15 2012/06/05
- added tool tools/unsocksify-pcap.pl to extract and unsocksify socks4
connections from one pcap into another
0.14 2012/06/04
- Socks4 encapsulation
- Net::Inspect::L5::Socks4
- including autodetect
- support in httpflow to detect http requests inside socks connections
- bugfixes related to 0.13
0.13 2012/05/30
- L4::TCP: use as time in call of in() the arliest time in the data
- TCP and above: added dir and time to fatal handlers
- L7::HTTP: method offset to get position in stream
0.12 2012/05/25
- option --anon-stats for httpflow to generate statistics useful for benchmarks
- L7::HTTP set meta.time for current request when receiving new request header
instead of leaving it to start of tcp connection
0.11 2012/03/27
- fix in L7::HTTP no valid data in request header
0.10 2012/03/27
- dummy expire in base flow object
0.09 2012/03/06
- new tools/live-http-headers.pl
0.08 2012/02/28
- fixed Changes, added L4::UDP and rtpxtract and renamed tcpudpflow
to MANIFEST
0.07 2012/02/27
- added rtpxtract
0.06 2012/02/27 , 0.05 2012/02/27
- added L4::UDP
- added expire for TCP and UDP connections
- upgraded tcpflow to tcpudpflow
0.04 2012/01/08
- put Net/Inspect.pm (which just contains documentation for now)
inside package Net::Inspect
0.03 2011/12/21
- add HTTP::Request, HTTP::Response and Scalar::Util to prereq
Thanks to ANDK for reporting
https://rt.cpan.org/Ticket/Display.html?id=73417
- fixes and enhancements for httpflow
0.02 2011/12/19
- fix http_inspection_proxy loading of Net::PcapWriter
- make all formatting indent=4 tabstop=8
0.01 2011/12/19
- initial release with working tcpflow, httpflow and http_inspection_proxy