os-ken/ryu/controller
Victor Orlikowski 09644f186c Validate OpenFlow message length in header, to prevent controller receive loop DoS
When the controller receive loop currently accepts an OpenFlow
message, it does not validate the message length.  As a result, a
malicious or malfunctioning switch could cause send a message that
would result in the receive loop making no forward progress.

This patch ensures that the message length passed in the OpenFlow
message is validated against the specified minimum, and forced to that
value if it is smaller.

Thanks to Samuel Jero (at Purdue's Dependable and Secure Distributed
Systems Lab) for discovering this issue.

Signed-off-by: Victor J. Orlikowski <vjo@duke.edu>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016-08-25 15:04:25 +09:00
..
__init__.py Switch to Apache 2.0 license 2012-04-06 08:38:45 +09:00
conf_switch.py python3: Adapt to new iterator names 2015-06-20 21:19:12 +09:00
controller.py Validate OpenFlow message length in header, to prevent controller receive loop DoS 2016-08-25 15:04:25 +09:00
dpset.py doc: Move Ryu App API doc into each source code 2016-05-18 16:00:34 +09:00
event.py doc: Move Ryu App API doc into each source code 2016-05-18 16:00:34 +09:00
handler.py handler: Fix for frozen builds 2016-08-25 14:25:40 +09:00
mac_to_network.py python 3: Replace deprecated logging.warn with logging.warning 2016-06-18 13:53:50 +09:00
mac_to_port.py add missing super().__init__() 2012-05-01 08:31:40 +09:00
network.py doc: Move Ryu App API doc into each source code 2016-05-18 16:00:34 +09:00
ofp_event.py doc: Move Ryu App API doc into each source code 2016-05-18 16:00:34 +09:00
ofp_handler.py controller: Implement EventOFPPortStateChange 2016-05-18 15:59:13 +09:00
tunnels.py doc: Move Ryu App API doc into each source code 2016-05-18 16:00:34 +09:00