Details
-
Type:
Improvement
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 3.1.0
-
Fix Version/s: 3.2.0
-
Component/s: Extensions
-
Labels:None
-
Acceptance Test - Add?:No
Description
Implements accepting a Socks5 bytestream request.
- Target tries to connect to each Socks5 proxy provided in the Socks5 bytestream request using the Socks5Client
- every connection attempt now has a time limit to be able to answer to the request before initiator times out
- timeout behavior can be configured before accepting the request
- bad proxies are blacklisted
- target now replies with the correct error if request has to be canceled because of an error or if all connections to proxies failed (http://xmpp.org/extensions/xep-0065.html#usecase-alternate 5.2 A 3)
- #accept() returns Socket to be used for bidirectional use (was InputStream in old implementation)
- tests for handling incoming Socks5 bytestream requests
- handels all cases mentioned in the XEP-0065 (http://xmpp.org/extensions/xep-0065.html#usecase)
- adds Util classes to test implementation without a real XMPP server by mocking the Connection and predefining answer packets
Issue Links
- is related to
-
SMACK-319
Add common interfaces for SOCKS5 Bytestreams and In-Band Bytestreams
-
done in revision 11821