- 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_addr
field.
- Handle case where a traceroute result might not have
- 1.1.7
- Change condition of traceroute's
last_hop_responded
flag. - Add couple of more traceroute's properties.
is_success
andlast_hop_errors
. - Add tests to the package itself.
- Change condition of traceroute's
- 1.1.6
- Fix for Issue #56 a case where the
qbuf
value wasn't being properly captured. - Fixed small bug that didn't accurately capture the
DO
property 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
type
attribute to allResult
subclasses - 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_median
toTracerouteResult.last_rtt_median
. - Modified the
DnsResult
class 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
Authority
andAdditional
classes 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 DNSRrsigAnswer
to conform the output of a typicaldig
binary. - 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
arrow
package.
- Breaking Change: the
- 1.0.0
- 1.0! w00t!
- Breaking Change: the
data
property of theTxtAnswer
class 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
Result
objects properly JSON serialisable.
- Minor fix to make all
- 0.8.0
- Added iortiz's patch for flags and
flags
andsections
properties on DNSAnswer
objects.
- Added iortiz's patch for flags and
- 0.7.1
- Changed
README.md
toREADME.rst
to play nice with pypi.
- Changed
- 0.7
- Added pierky's new
RRSigAnswer
class 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_max
toNTPResult
- 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_responded
andlast_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
TXT
results with classIN
were missing a.data
value. - Fixed a problem in the SSL unit tests where
\n
was 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_chain
property. - Added support for catching results with an
err
property as an actual error.
- Replaced
- 0.2.5
- Fixed a bug in how the
on_error
andon_malformation
preferences weren't being passed down into the subcomponents of the results.
- Fixed a bug in how the
- 0.2.4
- Support for
seconds_since_sync
across 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_rtt
value to tracerouteHop
objects. - Smarter and more consistent error handling in traceroute and HTTP results.
- Added an
error_message
property to all objects that is set toNone
by 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_error
property or anis_malformed
property on every object to check for it, or simply passon_malformation=Result.ACTION_FAIL
if 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 likeedns0
fromdns.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
DnsResult
to point to the right place.
- Fixed the deprecation warnings in
- 0.1.13
- Better handling of
DNSResult
errors - Rearranged the way abufs were handled in the
DnsResult
class to make way forqbuf
values 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_size
andhop_by_hop_option_size
values inTracerouteResult
. - Extended support for ICMP header info in traceroute
Hop
class by introducing a newIcmpHeader
class.
- Smarter code for checking whether the target was reached in
- 0.1.8
- Broader support for SSL checksums. We now make use of
md5
andsha1
, as well as the originalsha256
.
- Broader support for SSL checksums. We now make use of