CHANGES
=======

0.0.16
------

* Switch to using travis build stages
* Add Tests for MAB Functionality
* Add MAB Functionality to Chewie and Clean up State Machines SoC
* BUGFIX - Fix Chewie Pytest Red Build Issues
* use a different timeout for radius resedning
* Preversion 0.0.16

0.0.15
------

* possible fix for aaa\_identity == None, if receiving chewie initiated reply

0.0.14
------

* add interface for filterid
* add vlan name to auth handler
* send vlan name to faucet on logon
* Preversion 0.0.15
* 0 is an allowed id
* remove exception logger (faucet will now crash and log)
* change log levels
* check next timerid request job is added to queue. Continously send id requests after port up if no one 'active' on port
* fix unit test for port status
* skip broken test
* signature had changed
* change reauth period to use session timeout value
* periodic reauth (currently 40 seconds). should probably increase
* send (delayed by 20 seconds) identity request on port up
* add tunnel, filter, nas ip radius attributes
* id request
* send preemptive identity request on port up
* add port id to state machine logger prefix
* preversion v.0.0.14

0.0.13
------

* Remove unwanted dependencies from Dockerfile.test
* Automatically lookup ubuntu/debian releases for CI package push
* add hexlify
* handle validate authenticator case for both request and response radius messages
* check message\_authenticator and response\_authenticator if possible
* Fix tests using wrong message type. Which uncovered bug where attempting to parse packet which should be discarded
* Fix error where RADIUS State attribute was incorrectly returned when authentication process is restarted during another
* change formatter to support ports numbered up to 65535
* Port-Up State to Ignore Previous Requests
* missing commas. and version 0.0.13
* use PBR

0.0.12
------

* Release chewie v0.0.12
* Update debian package dependencies

0.0.11
------

* pylint
* increase eventlet.sleep to 1
* pytype ignore invalid name on process() created by transitions
* add transitions to install\_requires
* use pytransitions for state machine
* Release chewie v0.0.11
* use snake case for rfc variables/functions
* ignore 'from collections import ...' error with pytype
* remove debug print
* change tuple from eap/radius output queue to a namedtuple
* allow transition from timeout\_failure(2) by providing identity response
* Add information to the README.md
* Add Dockerfile.test for running tests locally
* Add PEAP Functionality to Chewie
* remove empty test\_fuzzer\_finds.py
* fix MessageParseError exception constructor inputs
* test against MessageParser.one\_x\_parse() instead of eap\_parse()
* pylint
* remove unused imports
* Add dictionary that always returns None
* fuzz radius
* eap fuzzer working
* add dockerfile for fuzzing
* Initial message parser (eap/radius) fuzzing

0.0.10
------

* Release chewie v0.0.10
* fix a bug where client could not authenticate after the state machine enters timeout failure
* use \_\_cause\_\_ instead of original\_error parameter
* cahnge last struct.unpack exceptions
* convert a struct.error to MessageParseError
* more raise MessageParseError when radius parsing fails
* Add 'Raises' to docstring
* remove \_\_str\_\_ override from MessageParseError
* raise MessageParseError when radius parsing fails
* raise MessageParseError when parsing fails
* Use put\_nowait() instead of put()
* 4 main chewie methods tested with mocks
* leaving with broken test until we factor out the radius code
* Rework mocks, two methods tested now
* first test functional
* first steps
* pylint
* Create RadiusLifecycle object and move some logic into it
* change urandom patch as os no longer in Chewie
* pylint
* Create RadiusLifecycle object and move some logic into it
* pylint
* Use join() on concat chunks. refractor test to only test concat type
* simplify concat packing
* Add build\_docs functionality
* Fix error when concat datatypes have length dividable by 253 == 0
* Remove exception catch-alls
* add michael baird to authors file
* add variations for testing radius\_pack
* pylint: Wrong continued indentation (remove 4 spaces)
* Replace netils.build\_byte\_string() with bytes.fromhex() (issue #73)
* Add NAS-Identifier and NAS-port radius attribute to access-request
* Remove Threads from chewie test
* Remove unnecessary sleeps from chewie tests
* ignore test profiling
* Add comments for where we need better test coverage
* redo timer scheduler to remove sleep()
* pylint
* Pytype fix
* Factor out Radius socket code
* Factor out EAP socket code
* don't reuse variable names in a method
* rename sm to state\_machine
* Update mocks
* Remove get\_interface\_address method
* fix python3.4 hex error. & pylint
* Add EAP-TLS. Refractored so TTLS & TLS extend from base classes (\*Message & EAP\*)
* got hostapd working with 802.1X - useful for debugging. Got dockerfile.hostapd from bairdo/gasket (already compiled in wired)
* add config files for freeradius EAP-TLS

0.0.9
-----

* Version bump
* Revert "refractor radius attributes. Add more attributes that have the dataty…"
* python 3.4 no hex()
* refractor radius attributes. Add more attributes that have the datatype already implemented
* clean up access to statemachine dict
* Add tests for some invalid packets
* fix rebase on master
* remove commented code
