diff options
| author | Kenny Root <kenny@the-b.org> | 2013-04-11 21:01:32 -0700 | 
|---|---|---|
| committer | Kenny Root <kenny@the-b.org> | 2013-04-11 21:01:32 -0700 | 
| commit | d8e49ec3f297f9ba0991762eb2cddbc00ed634d2 (patch) | |
| tree | aac59c707c980e90202241c7a9c306ab9d278a1c /src/net/sourceforge/jsocks/Socks4Message.java | |
| parent | 847af5046fb7d2dbcc668cecf81f1726b7c48bd9 (diff) | |
| download | connectbot-d8e49ec3f297f9ba0991762eb2cddbc00ed634d2.tar.gz connectbot-d8e49ec3f297f9ba0991762eb2cddbc00ed634d2.tar.bz2 connectbot-d8e49ec3f297f9ba0991762eb2cddbc00ed634d2.zip | |
Fix line endings
Diffstat (limited to 'src/net/sourceforge/jsocks/Socks4Message.java')
| -rw-r--r-- | src/net/sourceforge/jsocks/Socks4Message.java | 342 | 
1 files changed, 171 insertions, 171 deletions
| diff --git a/src/net/sourceforge/jsocks/Socks4Message.java b/src/net/sourceforge/jsocks/Socks4Message.java index 1d68cb7..99fb211 100644 --- a/src/net/sourceforge/jsocks/Socks4Message.java +++ b/src/net/sourceforge/jsocks/Socks4Message.java @@ -1,171 +1,171 @@ -package net.sourceforge.jsocks;
 -import java.io.DataInputStream;
 -import java.io.IOException;
 -import java.io.InputStream;
 -import java.io.OutputStream;
 -import java.net.InetAddress;
 -import java.net.UnknownHostException;
 -
 -/**
 -  SOCKS4 Reply/Request message.
 -*/
 -
 -public class Socks4Message extends ProxyMessage{
 -
 -   private byte[] msgBytes;
 -   private int msgLength;
 -
 -   /**
 -    * Server failed reply, cmd command for failed request
 -    */
 -   public Socks4Message(int cmd){
 -      super(cmd,null,0);
 -      this.user    = null;
 -
 -      msgLength = 2;
 -      msgBytes = new byte[2];
 -
 -      msgBytes[0] = (byte) 0;
 -      msgBytes[1] = (byte) command;
 -   }
 -
 -   /**
 -    *  Server successfull reply
 -    */
 -   public Socks4Message(int cmd,InetAddress ip,int port){
 -      this(0,cmd,ip,port,null);
 -   }
 -
 -   /**
 -    *  Client request
 -    */
 -   public Socks4Message(int cmd,InetAddress ip,int port,String user){
 -      this(SOCKS_VERSION,cmd,ip,port,user);
 -   }
 -
 -   /**
 -    * Most general constructor
 -    */
 -   public Socks4Message(int version, int cmd,
 -                        InetAddress ip,int port,String user){
 -      super(cmd,ip,port);
 -      this.user    = user;
 -      this.version = version;
 -
 -      msgLength = user == null?8:9+user.length();
 -      msgBytes = new byte[msgLength];
 -
 -      msgBytes[0] = (byte) version;
 -      msgBytes[1] = (byte) command;
 -      msgBytes[2] = (byte) (port >> 8);
 -      msgBytes[3] = (byte) port;
 -
 -      byte[] addr;
 -
 -      if(ip != null)
 -        addr = ip.getAddress();
 -      else{
 -        addr = new byte[4];
 -        addr[0]=addr[1]=addr[2]=addr[3]=0;
 -      }
 -      System.arraycopy(addr,0,msgBytes,4,4);
 -
 -      if(user != null){
 -         byte[] buf = user.getBytes();
 -         System.arraycopy(buf,0,msgBytes,8,buf.length);
 -         msgBytes[msgBytes.length -1 ] = 0;
 -      }
 -   }
 -
 -   /**
 -    *Initialise from the stream
 -    *If clientMode is true attempts to read a server response
 -    *otherwise reads a client request
 -    *see read for more detail
 -    */
 -   public Socks4Message(InputStream in, boolean clientMode) throws IOException{
 -      msgBytes = null;
 -      read(in,clientMode);
 -   }
 -
 -   @Override
 -public void read(InputStream in) throws IOException{
 -        read(in,true);
 -   }
 -
 -   @Override
 -public void read(InputStream in, boolean clientMode) throws IOException{
 -       boolean mode4a = false;
 -       DataInputStream d_in = new DataInputStream(in);
 -       version= d_in.readUnsignedByte();
 -       command = d_in.readUnsignedByte();
 -       if(clientMode && command != REPLY_OK){
 -          String errMsg;
 -          if(command >REPLY_OK && command < REPLY_BAD_IDENTD)
 -             errMsg = replyMessage[command-REPLY_OK];
 -          else
 -             errMsg = "Unknown Reply Code";
 -          throw new SocksException(command,errMsg);
 -       }
 -       port = d_in.readUnsignedShort();
 -       byte[] addr = new byte[4];
 -       d_in.readFully(addr);
 -       if (addr[0] == 0 && addr[1] == 0 && addr[2] == 0 && addr[3] != 0)
 -          mode4a = true;
 -       else {
 -          ip=bytes2IP(addr);
 -          host = ip.getHostName();
 -       }
 -       if(!clientMode){
 -          StringBuilder sb = new StringBuilder();
 -          int b;
 -          while ((b = in.read()) != 0)
 -             sb.append((char) b);
 -          user = sb.toString();
 -          if (mode4a) {
 -             sb.setLength(0);
 -             while ((b = in.read()) != 0)
 -                sb.append((char) b);
 -             host = sb.toString();
 -          }
 -       }
 -   }
 -   @Override
 -public void write(OutputStream out) throws IOException{
 -      if(msgBytes == null){
 -         Socks4Message msg = new Socks4Message(version,command,ip,port,user);
 -         msgBytes = msg.msgBytes;
 -         msgLength = msg.msgLength;
 -      }
 -      out.write(msgBytes);
 -   }
 -
 -   //Class methods
 -   static InetAddress bytes2IP(byte[] addr){
 -      String s = bytes2IPV4(addr,0);
 -      try{
 -         return InetAddress.getByName(s);
 -      }catch(UnknownHostException uh_ex){
 -        return null;
 -      }
 -   }
 -
 -   //Constants
 -
 -   static final String[] replyMessage ={
 -          "Request Granted",
 -          "Request Rejected or Failed",
 -          "Failed request, can't connect to Identd",
 -          "Failed request, bad user name"};
 -
 -   static final int SOCKS_VERSION = 4;
 -
 -   public final static int REQUEST_CONNECT		= 1;
 -   public final static int REQUEST_BIND   		= 2;
 -
 -   public final static int REPLY_OK 			= 90;
 -   public final static int REPLY_REJECTED		= 91;
 -   public final static int REPLY_NO_CONNECT		= 92;
 -   public final static int REPLY_BAD_IDENTD		= 93;
 -
 -}
 +package net.sourceforge.jsocks; +import java.io.DataInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.InetAddress; +import java.net.UnknownHostException; + +/** +  SOCKS4 Reply/Request message. +*/ + +public class Socks4Message extends ProxyMessage{ + +   private byte[] msgBytes; +   private int msgLength; + +   /** +    * Server failed reply, cmd command for failed request +    */ +   public Socks4Message(int cmd){ +      super(cmd,null,0); +      this.user    = null; + +      msgLength = 2; +      msgBytes = new byte[2]; + +      msgBytes[0] = (byte) 0; +      msgBytes[1] = (byte) command; +   } + +   /** +    *  Server successfull reply +    */ +   public Socks4Message(int cmd,InetAddress ip,int port){ +      this(0,cmd,ip,port,null); +   } + +   /** +    *  Client request +    */ +   public Socks4Message(int cmd,InetAddress ip,int port,String user){ +      this(SOCKS_VERSION,cmd,ip,port,user); +   } + +   /** +    * Most general constructor +    */ +   public Socks4Message(int version, int cmd, +                        InetAddress ip,int port,String user){ +      super(cmd,ip,port); +      this.user    = user; +      this.version = version; + +      msgLength = user == null?8:9+user.length(); +      msgBytes = new byte[msgLength]; + +      msgBytes[0] = (byte) version; +      msgBytes[1] = (byte) command; +      msgBytes[2] = (byte) (port >> 8); +      msgBytes[3] = (byte) port; + +      byte[] addr; + +      if(ip != null) +        addr = ip.getAddress(); +      else{ +        addr = new byte[4]; +        addr[0]=addr[1]=addr[2]=addr[3]=0; +      } +      System.arraycopy(addr,0,msgBytes,4,4); + +      if(user != null){ +         byte[] buf = user.getBytes(); +         System.arraycopy(buf,0,msgBytes,8,buf.length); +         msgBytes[msgBytes.length -1 ] = 0; +      } +   } + +   /** +    *Initialise from the stream +    *If clientMode is true attempts to read a server response +    *otherwise reads a client request +    *see read for more detail +    */ +   public Socks4Message(InputStream in, boolean clientMode) throws IOException{ +      msgBytes = null; +      read(in,clientMode); +   } + +   @Override +public void read(InputStream in) throws IOException{ +        read(in,true); +   } + +   @Override +public void read(InputStream in, boolean clientMode) throws IOException{ +       boolean mode4a = false; +       DataInputStream d_in = new DataInputStream(in); +       version= d_in.readUnsignedByte(); +       command = d_in.readUnsignedByte(); +       if(clientMode && command != REPLY_OK){ +          String errMsg; +          if(command >REPLY_OK && command < REPLY_BAD_IDENTD) +             errMsg = replyMessage[command-REPLY_OK]; +          else +             errMsg = "Unknown Reply Code"; +          throw new SocksException(command,errMsg); +       } +       port = d_in.readUnsignedShort(); +       byte[] addr = new byte[4]; +       d_in.readFully(addr); +       if (addr[0] == 0 && addr[1] == 0 && addr[2] == 0 && addr[3] != 0) +          mode4a = true; +       else { +          ip=bytes2IP(addr); +          host = ip.getHostName(); +       } +       if(!clientMode){ +          StringBuilder sb = new StringBuilder(); +          int b; +          while ((b = in.read()) != 0) +             sb.append((char) b); +          user = sb.toString(); +          if (mode4a) { +             sb.setLength(0); +             while ((b = in.read()) != 0) +                sb.append((char) b); +             host = sb.toString(); +          } +       } +   } +   @Override +public void write(OutputStream out) throws IOException{ +      if(msgBytes == null){ +         Socks4Message msg = new Socks4Message(version,command,ip,port,user); +         msgBytes = msg.msgBytes; +         msgLength = msg.msgLength; +      } +      out.write(msgBytes); +   } + +   //Class methods +   static InetAddress bytes2IP(byte[] addr){ +      String s = bytes2IPV4(addr,0); +      try{ +         return InetAddress.getByName(s); +      }catch(UnknownHostException uh_ex){ +        return null; +      } +   } + +   //Constants + +   static final String[] replyMessage ={ +          "Request Granted", +          "Request Rejected or Failed", +          "Failed request, can't connect to Identd", +          "Failed request, bad user name"}; + +   static final int SOCKS_VERSION = 4; + +   public final static int REQUEST_CONNECT		= 1; +   public final static int REQUEST_BIND   		= 2; + +   public final static int REPLY_OK 			= 90; +   public final static int REPLY_REJECTED		= 91; +   public final static int REPLY_NO_CONNECT		= 92; +   public final static int REPLY_BAD_IDENTD		= 93; + +} | 
