- 1.3.1
- Ping edge case fix
- Add py37 testing
- 1.3.0
- abuf.py: error handling for NS records, extended rcode, cookies and client subnets
- 1.2.2
- Catch problems parsing SSL certificates
- 1.2.1
- Add support for non-DNS names in subjectAltName extensions
- 1.2
- Replaced pyOpenSSL with cryptography
- Added parsing of subjectAltName X509 extension
- 1.1.11
- Added first version of WiFi results
- 1.1.10
- Added a parse_all_hops kwarg to the Traceroute class to tell Sagan to stop parsing Hops and Packets once we have all of the last hop statistics (default=True)
- Remove dependency on IPy: we were using it for IPv6 canonicalization, but all IPv6 addresses in results should be in canonical form to start with.
- 1.1.9
- Removed the parse_abuf script because no one was using it and its Python3 support was suspect anyway.
- 1.1.8
- Handle case where a traceroute result might not have
dst_addrfield.
- Handle case where a traceroute result might not have
- 1.1.7
- Change condition of traceroute's
last_hop_respondedflag. - Add couple of more traceroute's properties.
is_successandlast_hop_errors. - Add tests to the package itself.
- Change condition of traceroute's
- 1.1.6
- Fix for Issue #56 a case where the
qbufvalue wasn't being properly captured. - Fixed small bug that didn't accurately capture the
DOproperty from the qbuf.
- Fix for Issue #56 a case where the
- 1.1.5
- We now ignore so-called "late" packets in traceroute results. This will likely be amended later as future probe firmwares are expected to make better use of this value, but until then, Sagan will treat these packets as invalid.
- 1.1.4
- Added a
typeattribute to allResultsubclasses - Added support for a lot of new DNS answer types, including
NSEC,PTR,SRV, and more. These answers do not yet have a complete string representation however.
- Added a
- 1.1.3
- Changed the name of
TracerouteResult.rtt_mediantoTracerouteResult.last_rtt_median. - Modified the
DnsResultclass to allow the "bubbling up" of error statuses.
- Changed the name of
- 1.1.2
- We skipped this number for some reason :-/
- 1.1.1
- Fixed a string representation bug found by iortiz
- 1.1.0
- Breaking Change: the
AuthorityandAdditionalclasses were removed, replaced with the appropriate answer types. For the most part, this change should be invisible, as the common properties are the same, but if you were testing code against these class types, you should consider this a breaking change. - Breaking Change: The
__str__format for DNSRrsigAnswerto conform the output of a typicaldigbinary. - Added
__str__definitions to DNS answer classes for use with the toolkit. - In an effort to make Sagan (along with Cousteau and the toolkit) more
portable, we dropped the requirement for the
arrowpackage.
- Breaking Change: the
- 1.0.0
- 1.0! w00t!
- Breaking Change: the
dataproperty of theTxtAnswerclass was changed from a string to a list of strings. This is a correction from our own past deviation from the RFC, so we thought it best to conform as part of the move to 1.0.0 - Fixed a bug where non-ascii characters in DNS TXT answers resulted in an exception.
- 0.8.2
- Fixed a bug related to non-ascii characters in SSL certificate data.
- Added a wrapper for json loaders to handle differences between ujson and the default json module.
- 0.8.1
- Minor fix to make all
Resultobjects properly JSON serialisable.
- Minor fix to make all
- 0.8.0
- Added iortiz's patch for flags and
flagsandsectionsproperties on DNSAnswerobjects.
- Added iortiz's patch for flags and
- 0.7.1
- Changed
README.mdtoREADME.rstto play nice with pypi.
- Changed
- 0.7
- Added pierky's new
RRSigAnswerclass to the dns parser.
- Added pierky's new
- 0.6.3
- Fixed a bug in how Sagan deals with inappropriate firmware versions
- 0.6.2
- Added pierky's fix to fix AD and CD flags parsing in DNS Header
- 0.6.1
- Added
rtt_min,rtt_max,offset_min, andoffset_maxtoNTPResult
- Added
- 0.6.0
- Support for NTP measurements
- Fixes for how we calculate median values
- Smarter setup.py
- 0.5.0
- Complete Python3 support!
- 0.4.0
- Added better Python3 support. Tests all pass now for ping, traceroute, ssl, and http measurements.
- Modified traceroute results to make use of
destination_ip_respondedandlast_hop_responded, deprecatingtarget_responded. See the docs for details.
- 0.3.0
- Added support for making use of some of the pre-calculated values in DNS measurements so you don't have to parse the abuf if you don't need it.
- Fixed a bug in the abuf parser where a variable was being referenced by never defined.
- Cleaned up some of the abuf parser to better conform to pep8.
- 0.2.8
- Fixed a bug where DNS
TXTresults with classINwere missing a.datavalue. - Fixed a problem in the SSL unit tests where
\nwas being misinterpreted.
- Fixed a bug where DNS
- 0.2.7
- Made abuf more robust in dealing with truncation.
- 0.2.6
- Replaced
SslResult.get_checksum_chain()with theSslResult.checksum_chainproperty. - Added support for catching results with an
errproperty as an actual error.
- Replaced
- 0.2.5
- Fixed a bug in how the
on_errorandon_malformationpreferences weren't being passed down into the subcomponents of the results.
- Fixed a bug in how the
- 0.2.4
- Support for
seconds_since_syncacross all measurement types
- Support for
- 0.2.3
- "Treat a missing Type value in a DNS result as a malformation" (Issue #36)
- 0.2.2
- Minor bugfixes
- 0.2.1
- Added a
median_rttvalue to tracerouteHopobjects. - Smarter and more consistent error handling in traceroute and HTTP results.
- Added an
error_messageproperty to all objects that is set toNoneby default.
- Added a
- 0.2.0
- Totally reworked error and malformation handling. We now differentiate
between a result (or portion thereof) being malformed (and therefore
unparsable) and simply containing an error such as a timeout. Look for
an
is_errorproperty or anis_malformedproperty on every object to check for it, or simply passon_malformation=Result.ACTION_FAILif you'd prefer things to explode with an exception. See the documentation for more details - Added lazy-loading features for parsing abuf and qbuf values out of DNS results.
- Removed the deprecated properties from
dns.Response. You must now access values likeedns0fromdns.Response.abuf.edns0. - More edge cases have been found and accommodated.
- Totally reworked error and malformation handling. We now differentiate
between a result (or portion thereof) being malformed (and therefore
unparsable) and simply containing an error such as a timeout. Look for
an
- 0.1.14
- Fixed the deprecation warnings in
DnsResultto point to the right place.
- Fixed the deprecation warnings in
- 0.1.13
- Better handling of
DNSResulterrors - Rearranged the way abufs were handled in the
DnsResultclass to make way forqbufvalues as well. The old method of accessingheader,answers,questions, etc is still available viaResponse, but this will go away when we move to 0.2. Deprecation warnings are in place.
- Better handling of
- 0.1.12
- Smarter code for checking whether the target was reached in
TracerouteResults. - We now handle the
destination_option_sizeandhop_by_hop_option_sizevalues inTracerouteResult. - Extended support for ICMP header info in traceroute
Hopclass by introducing a newIcmpHeaderclass.
- Smarter code for checking whether the target was reached in
- 0.1.8
- Broader support for SSL checksums. We now make use of
md5andsha1, as well as the originalsha256.
- Broader support for SSL checksums. We now make use of