aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/sourceforge/jsocks/UDPEncapsulation.java
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2008-11-08 10:01:55 +0000
committerKenny Root <kenny@the-b.org>2008-11-08 10:01:55 +0000
commitda6d73f5a5818b3cc874f7ed319014d591e101e8 (patch)
treeba799dfa55a47c77d674af005a77a207de33d0d5 /src/net/sourceforge/jsocks/UDPEncapsulation.java
parenta15922f44e480a8a6c09741507b1af00d1468d3b (diff)
downloadconnectbot-da6d73f5a5818b3cc874f7ed319014d591e101e8.tar.gz
connectbot-da6d73f5a5818b3cc874f7ed319014d591e101e8.tar.bz2
connectbot-da6d73f5a5818b3cc874f7ed319014d591e101e8.zip
* Add dynamic port forwarding.
Diffstat (limited to 'src/net/sourceforge/jsocks/UDPEncapsulation.java')
-rw-r--r--src/net/sourceforge/jsocks/UDPEncapsulation.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/net/sourceforge/jsocks/UDPEncapsulation.java b/src/net/sourceforge/jsocks/UDPEncapsulation.java
new file mode 100644
index 0000000..efeb0ed
--- /dev/null
+++ b/src/net/sourceforge/jsocks/UDPEncapsulation.java
@@ -0,0 +1,29 @@
+package net.sourceforge.jsocks;
+/**
+ This interface provides for datagram encapsulation for SOCKSv5 protocol.
+ <p>
+ SOCKSv5 allows for datagrams to be encapsulated for purposes of integrity
+ and/or authenticity. How it should be done is aggreed during the
+ authentication stage, and is authentication dependent. This interface is
+ provided to allow this encapsulation.
+ @see Authentication
+*/
+public interface UDPEncapsulation{
+
+ /**
+ This method should provide any authentication depended transformation
+ on datagrams being send from/to the client.
+
+ @param data Datagram data (including any SOCKS related bytes), to be
+ encapsulated/decapsulated.
+ @param out Wether the data is being send out. If true method should
+ encapsulate/encrypt data, otherwise it should decapsulate/
+ decrypt data.
+ @throw IOException if for some reason data can be transformed correctly.
+ @return Should return byte array containing data after transformation.
+ It is possible to return same array as input, if transformation
+ only involves bit mangling, and no additional data is being
+ added or removed.
+ */
+ byte[] udpEncapsulate(byte[] data, boolean out) throws java.io.IOException;
+}