From 147dae0102979a0217ac8a9eea82a4969a1ecf63 Mon Sep 17 00:00:00 2001 From: Kenny Root Date: Thu, 23 Jul 2015 22:38:46 -0700 Subject: Move to library-based build --- .../jsocks/server/ServerAuthenticatorNone.java | 169 --------------------- 1 file changed, 169 deletions(-) delete mode 100644 app/src/main/java/net/sourceforge/jsocks/server/ServerAuthenticatorNone.java (limited to 'app/src/main/java/net/sourceforge/jsocks/server/ServerAuthenticatorNone.java') diff --git a/app/src/main/java/net/sourceforge/jsocks/server/ServerAuthenticatorNone.java b/app/src/main/java/net/sourceforge/jsocks/server/ServerAuthenticatorNone.java deleted file mode 100644 index e4edbe7..0000000 --- a/app/src/main/java/net/sourceforge/jsocks/server/ServerAuthenticatorNone.java +++ /dev/null @@ -1,169 +0,0 @@ -package net.sourceforge.jsocks.server; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.io.PushbackInputStream; -import java.net.Socket; - -import net.sourceforge.jsocks.ProxyMessage; -import net.sourceforge.jsocks.UDPEncapsulation; - -/** - An implementation of ServerAuthenticator, which does not do - any authentication. -

- Warning!!
Should not be -used on machines which are not behind the firewall. -

-It is only provided to make implementing other authentication schemes -easier.
-For Example:

-   class MyAuth extends socks.server.ServerAuthenticator{
-    ...
-    public ServerAuthenticator startSession(java.net.Socket s){
-      if(!checkHost(s.getInetAddress()) return null;
-      return super.startSession(s);
-    }
-
-    boolean checkHost(java.net.Inetaddress addr){
-      boolean allow;
-      //Do it somehow
-      return allow;
-    }
-   }
-
-*/ -public class ServerAuthenticatorNone implements ServerAuthenticator{ - - static final byte[] socks5response = {5,0}; - - InputStream in; - OutputStream out; - - /** - Creates new instance of the ServerAuthenticatorNone. - */ - public ServerAuthenticatorNone(){ - this.in = null; - this.out = null; - } - /** - Constructs new ServerAuthenticatorNone object suitable for returning - from the startSession function. - @param in Input stream to return from getInputStream method. - @param out Output stream to return from getOutputStream method. - */ - public ServerAuthenticatorNone(InputStream in, OutputStream out){ - this.in = in; - this.out = out; - } - /** - Grants access to everyone.Removes authentication related bytes from - the stream, when a SOCKS5 connection is being made, selects an - authentication NONE. - */ - public ServerAuthenticator startSession(Socket s) - throws IOException{ - - PushbackInputStream in = new PushbackInputStream(s.getInputStream()); - OutputStream out = s.getOutputStream(); - - int version = in.read(); - if(version == 5){ - if(!selectSocks5Authentication(in,out,0)) - return null; - }else if(version == 4){ - //Else it is the request message allready, version 4 - in.unread(version); - }else - return null; - - - return new ServerAuthenticatorNone(in,out); - } - - /** - Get input stream. - @return Input stream speciefied in the constructor. - */ - public InputStream getInputStream(){ - return in; - } - /** - Get output stream. - @return Output stream speciefied in the constructor. - */ - public OutputStream getOutputStream(){ - return out; - } - /** - Allways returns null. - @return null - */ - public UDPEncapsulation getUdpEncapsulation(){ - return null; - } - - /** - Allways returns true. - */ - public boolean checkRequest(ProxyMessage msg){ - return true; - } - - /** - Allways returns true. - */ - public boolean checkRequest(java.net.DatagramPacket dp, boolean out){ - return true; - } - - /** - Does nothing. - */ - public void endSession(){ - } - - /** - Convinience routine for selecting SOCKSv5 authentication. -

- This method reads in authentication methods that client supports, - checks wether it supports given method. If it does, the notification - method is written back to client, that this method have been chosen - for authentication. If given method was not found, authentication - failure message is send to client ([5,FF]). - @param in Input stream, version byte should be removed from the stream - before calling this method. - @param out Output stream. - @param methodId Method which should be selected. - @return true if methodId was found, false otherwise. - */ - static public boolean selectSocks5Authentication(InputStream in, - OutputStream out, - int methodId) - throws IOException{ - - int num_methods = in.read(); - if (num_methods <= 0) return false; - byte method_ids[] = new byte[num_methods]; - byte response[] = new byte[2]; - boolean found = false; - - response[0] = (byte) 5; //SOCKS version - response[1] = (byte) 0xFF; //Not found, we are pessimistic - - int bread = 0; //bytes read so far - while(bread < num_methods) - bread += in.read(method_ids,bread,num_methods-bread); - - for(int i=0;i