cloudstack/engine
Rohit Yadav d5b61312bf CLOUDSTACK-9348: NioConnection improvements
- Unit test to demonstrate denial of service attack
  The NioConnection uses blocking handlers for various events such as connect,
  accept, read, write. In case a client connects NioServer (used by
  agent mgr to service agents on port 8250) but fails to participate in SSL
  handshake or just sits idle, this would block the main IO/selector loop in
  NioConnection. Such a client could be either malicious or aggresive.

  This unit test demonstrates such a malicious client that can perform a
  denial-of-service attack on NioServer that blocks it to serve any other client.

- Use non-blocking SSL handshake
  - Uses non-blocking socket config in NioClient and NioServer/NioConnection
  - Scalable connectivity from agents and peer clustered-management server
  - Removes blocking ssl handshake code with a non-blocking code
  - Protects from denial-of-service issues that can degrade mgmt server responsiveness
    due to an aggressive/malicious client
  - Uses separate executor services for handling ssl handshakes

Cherry-picked and backported from 9c7518698d

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-05-23 11:49:29 +05:30
..
api cloudstack: set next version to 4.5.3-SNAPSHOT 2015-09-14 09:59:40 +05:30
components-api cloudstack: set next version to 4.5.3-SNAPSHOT 2015-09-14 09:59:40 +05:30
network cloudstack: set next version to 4.5.3-SNAPSHOT 2015-09-14 09:59:40 +05:30
orchestration CLOUDSTACK-9348: NioConnection improvements 2016-05-23 11:49:29 +05:30
schema CLOUDSTACK-8848: added null pointer guard to new public method 2015-10-12 13:03:02 +02:00
service cloudstack: set next version to 4.5.3-SNAPSHOT 2015-09-14 09:59:40 +05:30
storage vmware: improve support for disk controllers 2016-04-06 13:06:32 +05:30
pom.xml cloudstack: set next version to 4.5.3-SNAPSHOT 2015-09-14 09:59:40 +05:30