[ https://issues.apache.org/jira/browse/HTTPCORE-517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Oleg Kalnichevski updated HTTPCORE-517: --------------------------------------- Fix Version/s: 5.0-beta3 4.4.10 Component/s: HttpCore NIO Sounds reasonable. If you have any particular changes in mind feel free to submit them though a PR at GitHub. A unit test case would also help speed up resolution of the issue. Oleg > Allow SecurityManager to stop socket connections > ------------------------------------------------ > > Key: HTTPCORE-517 > URL: https://issues.apache.org/jira/browse/HTTPCORE-517 > Project: HttpComponents HttpCore > Issue Type: Improvement > Components: HttpCore NIO > Reporter: Paul Thompson > Priority: Major > Fix For: 4.4.10, 5.0-beta3 > > > Utilising a java security manager you're able to block certain socket > connections from taking place. This can be useful to block outgoing > connections for all components. > {code:java} > @Override > public void checkConnect(String host, int port) { > if(port != -1) { > for (String bannedPerm : bannedSocketPerms) { > if (host.equalsIgnoreCase(bannedPerm)) { > throw new new SecurityException(); > } > } > } > }{code} > Unfortunately when doing this, the apache reactor shuts down. The call site > is in the {{DefaultConnectingIOReactor}}. > {code:java} > final boolean connected = socketChannel.connect(request.getRemoteAddress()); > {code} > this line is wrapped in a try/catch that catches an {{IOException}}. This > means the {{SecurityException}} is propagated out, and is never offered to be > caught (even with the {{ExceptionHandler}} that you can set. > It would be an improvement to be able to throw these types of exceptions and > have the reactor continue on. It's very understandable for the > {{SecurityException}} to be a transient error and as such shouldn't shut down > the entire reactor by default. > Either that, or one should be able to define a {{handleRuntimeException}} (as > seen in the {{BaseIOREactor}}) in such a way that it would get the option to > handle the exceptions that are thrown as part of the {{processEvents}} call > in the {{AbstractIOReactor}} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org