diff src/net/sourceforge/jsocks/Socks4Proxy.java @ 349:205ee2873330

update jsocks to 2011-03-19
author Carl Byington <carl@five-ten-sg.com>
date Fri, 01 Aug 2014 11:23:10 -0700
parents 0ce5cc452d02
children
line wrap: on
line diff
--- a/src/net/sourceforge/jsocks/Socks4Proxy.java	Fri Aug 01 10:25:44 2014 -0700
+++ b/src/net/sourceforge/jsocks/Socks4Proxy.java	Fri Aug 01 11:23:10 2014 -0700
@@ -1,110 +1,121 @@
-package net.sourceforge.jsocks;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-
-/**
-  Proxy which describes SOCKS4 proxy.
-*/
-
-public class Socks4Proxy extends Proxy implements Cloneable {
-
-//Data members
-    String user;
-
-//Public Constructors
-//====================
-
-    /**
-      Creates the SOCKS4 proxy
-      @param p Proxy to use to connect to this proxy, allows proxy chaining.
-      @param proxyHost Address of the proxy server.
-      @param proxyPort Port of the proxy server
-      @param user User name to use for identification purposes.
-      @throws UnknownHostException If proxyHost can't be resolved.
-     */
-    public Socks4Proxy(String proxyHost, int proxyPort, String user)
-    throws UnknownHostException {
-        super(proxyHost, proxyPort);
-        this.user = new String(user);
-        version = 4;
-    }
-
-    /**
-      Creates the SOCKS4 proxy
-      @param p Proxy to use to connect to this proxy, allows proxy chaining.
-      @param proxyIP Address of the proxy server.
-      @param proxyPort Port of the proxy server
-      @param user User name to use for identification purposes.
-     */
-    public Socks4Proxy(Proxy p, InetAddress proxyIP, int proxyPort, String user) {
-        super(p, proxyIP, proxyPort);
-        this.user = new String(user);
-        version = 4;
-    }
-
-    /**
-      Creates the SOCKS4 proxy
-      @param proxyIP Address of the proxy server.
-      @param proxyPort Port of the proxy server
-      @param user User name to use for identification purposes.
-     */
-    public Socks4Proxy(InetAddress proxyIP, int proxyPort, String user) {
-        this(null, proxyIP, proxyPort, user);
-    }
-
-//Public instance methods
-//========================
-
-    /**
-     * Creates a clone of this proxy. Changes made to the clone should not
-     * affect this object.
-     */
-    public Object clone() {
-        Socks4Proxy newProxy = new Socks4Proxy(proxyIP, proxyPort, user);
-        newProxy.chainProxy = chainProxy;
-        return newProxy;
-    }
-
-
-//Public Static(Class) Methods
-//==============================
-
-
-//Protected Methods
-//=================
-
-    protected Proxy copy() {
-        Socks4Proxy copy = new Socks4Proxy(proxyIP, proxyPort, user);
-        copy.chainProxy = chainProxy;
-        return copy;
-    }
-
-    protected ProxyMessage formMessage(int cmd, InetAddress ip, int port) {
-        switch (cmd) {
-            case SOCKS_CMD_CONNECT:
-                cmd = Socks4Message.REQUEST_CONNECT;
-                break;
-
-            case SOCKS_CMD_BIND:
-                cmd = Socks4Message.REQUEST_BIND;
-                break;
-
-            default:
-                return null;
-        }
-
-        return new Socks4Message(cmd, ip, port, user);
-    }
-    protected ProxyMessage formMessage(int cmd, String host, int port)
-    throws UnknownHostException {
-        return formMessage(cmd, InetAddress.getByName(host), port);
-    }
-    protected ProxyMessage formMessage(InputStream in)
-    throws SocksException,
-        IOException {
-        return new Socks4Message(in, true);
-    }
-
-}
+package net.sourceforge.jsocks;
+import java.net.*;
+import java.io.*;
+import java.util.Hashtable;
+import java.util.Enumeration;
+
+/**
+  CProxy which describes SOCKS4 proxy.
+*/
+
+public class Socks4Proxy extends CProxy implements Cloneable{
+
+//Data members
+   String user;
+
+//Public Constructors
+//====================
+
+   /**
+     Creates the SOCKS4 proxy
+     @param p CProxy to use to connect to this proxy, allows proxy chaining.
+     @param proxyHost Address of the proxy server.
+     @param proxyPort Port of the proxy server
+     @param user User name to use for identification purposes.
+     @throws UnknownHostException If proxyHost can't be resolved.
+    */
+   public Socks4Proxy(CProxy p,String proxyHost,int proxyPort,String user)
+          throws UnknownHostException{ 
+      super(p,proxyHost,proxyPort);
+      this.user = new String(user);
+      version = 4;
+   }
+
+   /**
+     Creates the SOCKS4 proxy
+     @param proxyHost Address of the proxy server.
+     @param proxyPort Port of the proxy server
+     @param user User name to use for identification purposes.
+     @throws UnknownHostException If proxyHost can't be resolved.
+    */
+   public Socks4Proxy(String proxyHost,int proxyPort,String user)
+          throws UnknownHostException{ 
+      this(null,proxyHost,proxyPort,user);
+   }
+
+   /**
+     Creates the SOCKS4 proxy
+     @param p CProxy to use to connect to this proxy, allows proxy chaining.
+     @param proxyIP Address of the proxy server.
+     @param proxyPort Port of the proxy server
+     @param user User name to use for identification purposes.
+    */
+   public Socks4Proxy(CProxy p,InetAddress proxyIP,int proxyPort,String user){
+      super(p,proxyIP,proxyPort);
+      this.user = new String(user);
+      version = 4;
+   }
+
+   /**
+     Creates the SOCKS4 proxy
+     @param proxyIP Address of the proxy server.
+     @param proxyPort Port of the proxy server
+     @param user User name to use for identification purposes.
+    */
+   public Socks4Proxy(InetAddress proxyIP,int proxyPort,String user){
+      this(null,proxyIP,proxyPort,user);
+   }
+
+//Public instance methods
+//========================
+
+   /**
+    * Creates a clone of this proxy. Changes made to the clone should not
+    * affect this object. 
+    */
+   public Object clone(){
+      Socks4Proxy newProxy = new Socks4Proxy(proxyIP,proxyPort,user);
+      newProxy.directHosts = (InetRange)directHosts.clone();
+      newProxy.chainProxy = chainProxy;
+      return newProxy;
+   }
+
+
+//Public Static(Class) Methods
+//==============================
+
+
+//Protected Methods
+//=================
+
+   protected CProxy copy(){
+       Socks4Proxy copy = new Socks4Proxy(proxyIP,proxyPort,user);
+       copy.directHosts = this.directHosts;
+       copy.chainProxy = chainProxy;
+       return copy;
+    }
+
+   protected ProxyMessage formMessage(int cmd,InetAddress ip,int port){
+       switch(cmd){
+         case SOCKS_CMD_CONNECT:
+           cmd = Socks4Message.REQUEST_CONNECT;
+         break;
+         case SOCKS_CMD_BIND:
+           cmd = Socks4Message.REQUEST_BIND;
+         break;
+         default:
+           return null;
+       }
+       return new Socks4Message(cmd,ip,port,user);
+   }
+   protected ProxyMessage formMessage(int cmd,String host,int port)
+             throws UnknownHostException{
+       return formMessage(cmd,InetAddress.getByName(host),port);
+   }
+   protected ProxyMessage formMessage(InputStream in)
+             throws SocksException,
+                    IOException{
+       return new Socks4Message(in,true);
+   }
+
+}