aboutsummaryrefslogtreecommitdiffstats
path: root/lib/src/main/java/com/trilead/ssh2/packets
diff options
context:
space:
mode:
Diffstat (limited to 'lib/src/main/java/com/trilead/ssh2/packets')
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenConfirmation.java132
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenFailure.java132
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketChannelTrileadPing.java70
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketChannelWindowAdjust.java114
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketDisconnect.java114
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalCancelForwardRequest.java84
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalForwardRequest.java82
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalTrileadPing.java64
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketIgnore.java118
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketKexDHInit.java54
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketKexDHReply.java98
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexGroup.java100
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexInit.java66
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexReply.java112
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequest.java78
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequestOld.java68
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketKexInit.java326
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketNewKeys.java92
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketOpenDirectTCPIPChannel.java112
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketOpenSessionChannel.java124
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketServiceAccept.java122
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketServiceRequest.java104
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketSessionExecCommand.java78
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketSessionPtyRequest.java114
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketSessionStartShell.java72
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketSessionSubsystemRequest.java80
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketSessionX11Request.java106
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthBanner.java120
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthFailure.java106
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoRequest.java168
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoResponse.java70
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestInteractive.java84
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestNone.java122
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPassword.java134
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPublicKey.java130
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/Packets.java298
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/TypesReader.java354
-rw-r--r--lib/src/main/java/com/trilead/ssh2/packets/TypesWriter.java338
38 files changed, 2370 insertions, 2370 deletions
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenConfirmation.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenConfirmation.java
index 111f6a2..bd2ea3f 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenConfirmation.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenConfirmation.java
@@ -1,66 +1,66 @@
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketChannelOpenConfirmation.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketChannelOpenConfirmation.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketChannelOpenConfirmation
-{
- byte[] payload;
-
- public int recipientChannelID;
- public int senderChannelID;
- public int initialWindowSize;
- public int maxPacketSize;
-
- public PacketChannelOpenConfirmation(int recipientChannelID, int senderChannelID, int initialWindowSize,
- int maxPacketSize)
- {
- this.recipientChannelID = recipientChannelID;
- this.senderChannelID = senderChannelID;
- this.initialWindowSize = initialWindowSize;
- this.maxPacketSize = maxPacketSize;
- }
-
- public PacketChannelOpenConfirmation(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_CHANNEL_OPEN_CONFIRMATION)
- throw new IOException(
- "This is not a SSH_MSG_CHANNEL_OPEN_CONFIRMATION! ("
- + packet_type + ")");
-
- recipientChannelID = tr.readUINT32();
- senderChannelID = tr.readUINT32();
- initialWindowSize = tr.readUINT32();
- maxPacketSize = tr.readUINT32();
-
- if (tr.remain() != 0)
- throw new IOException("Padding in SSH_MSG_CHANNEL_OPEN_CONFIRMATION packet!");
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_CHANNEL_OPEN_CONFIRMATION);
- tw.writeUINT32(recipientChannelID);
- tw.writeUINT32(senderChannelID);
- tw.writeUINT32(initialWindowSize);
- tw.writeUINT32(maxPacketSize);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketChannelOpenConfirmation.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketChannelOpenConfirmation.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketChannelOpenConfirmation
+{
+ byte[] payload;
+
+ public int recipientChannelID;
+ public int senderChannelID;
+ public int initialWindowSize;
+ public int maxPacketSize;
+
+ public PacketChannelOpenConfirmation(int recipientChannelID, int senderChannelID, int initialWindowSize,
+ int maxPacketSize)
+ {
+ this.recipientChannelID = recipientChannelID;
+ this.senderChannelID = senderChannelID;
+ this.initialWindowSize = initialWindowSize;
+ this.maxPacketSize = maxPacketSize;
+ }
+
+ public PacketChannelOpenConfirmation(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_CHANNEL_OPEN_CONFIRMATION)
+ throw new IOException(
+ "This is not a SSH_MSG_CHANNEL_OPEN_CONFIRMATION! ("
+ + packet_type + ")");
+
+ recipientChannelID = tr.readUINT32();
+ senderChannelID = tr.readUINT32();
+ initialWindowSize = tr.readUINT32();
+ maxPacketSize = tr.readUINT32();
+
+ if (tr.remain() != 0)
+ throw new IOException("Padding in SSH_MSG_CHANNEL_OPEN_CONFIRMATION packet!");
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_CHANNEL_OPEN_CONFIRMATION);
+ tw.writeUINT32(recipientChannelID);
+ tw.writeUINT32(senderChannelID);
+ tw.writeUINT32(initialWindowSize);
+ tw.writeUINT32(maxPacketSize);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenFailure.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenFailure.java
index 5436ce3..1370355 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenFailure.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelOpenFailure.java
@@ -1,66 +1,66 @@
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketChannelOpenFailure.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketChannelOpenFailure.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketChannelOpenFailure
-{
- byte[] payload;
-
- public int recipientChannelID;
- public int reasonCode;
- public String description;
- public String languageTag;
-
- public PacketChannelOpenFailure(int recipientChannelID, int reasonCode, String description,
- String languageTag)
- {
- this.recipientChannelID = recipientChannelID;
- this.reasonCode = reasonCode;
- this.description = description;
- this.languageTag = languageTag;
- }
-
- public PacketChannelOpenFailure(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_CHANNEL_OPEN_FAILURE)
- throw new IOException(
- "This is not a SSH_MSG_CHANNEL_OPEN_FAILURE! ("
- + packet_type + ")");
-
- recipientChannelID = tr.readUINT32();
- reasonCode = tr.readUINT32();
- description = tr.readString();
- languageTag = tr.readString();
-
- if (tr.remain() != 0)
- throw new IOException("Padding in SSH_MSG_CHANNEL_OPEN_FAILURE packet!");
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_CHANNEL_OPEN_FAILURE);
- tw.writeUINT32(recipientChannelID);
- tw.writeUINT32(reasonCode);
- tw.writeString(description);
- tw.writeString(languageTag);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketChannelOpenFailure.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketChannelOpenFailure.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketChannelOpenFailure
+{
+ byte[] payload;
+
+ public int recipientChannelID;
+ public int reasonCode;
+ public String description;
+ public String languageTag;
+
+ public PacketChannelOpenFailure(int recipientChannelID, int reasonCode, String description,
+ String languageTag)
+ {
+ this.recipientChannelID = recipientChannelID;
+ this.reasonCode = reasonCode;
+ this.description = description;
+ this.languageTag = languageTag;
+ }
+
+ public PacketChannelOpenFailure(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_CHANNEL_OPEN_FAILURE)
+ throw new IOException(
+ "This is not a SSH_MSG_CHANNEL_OPEN_FAILURE! ("
+ + packet_type + ")");
+
+ recipientChannelID = tr.readUINT32();
+ reasonCode = tr.readUINT32();
+ description = tr.readString();
+ languageTag = tr.readString();
+
+ if (tr.remain() != 0)
+ throw new IOException("Padding in SSH_MSG_CHANNEL_OPEN_FAILURE packet!");
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_CHANNEL_OPEN_FAILURE);
+ tw.writeUINT32(recipientChannelID);
+ tw.writeUINT32(reasonCode);
+ tw.writeString(description);
+ tw.writeString(languageTag);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelTrileadPing.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelTrileadPing.java
index 18002aa..c337930 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelTrileadPing.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelTrileadPing.java
@@ -1,35 +1,35 @@
-
-package com.trilead.ssh2.packets;
-
-/**
- * PacketChannelTrileadPing.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketChannelTrileadPing.java,v 1.1 2008/03/03 07:01:36
- * cplattne Exp $
- */
-public class PacketChannelTrileadPing
-{
- byte[] payload;
-
- public int recipientChannelID;
-
- public PacketChannelTrileadPing(int recipientChannelID)
- {
- this.recipientChannelID = recipientChannelID;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_CHANNEL_REQUEST);
- tw.writeUINT32(recipientChannelID);
- tw.writeString("trilead-ping");
- tw.writeBoolean(true);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+/**
+ * PacketChannelTrileadPing.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketChannelTrileadPing.java,v 1.1 2008/03/03 07:01:36
+ * cplattne Exp $
+ */
+public class PacketChannelTrileadPing
+{
+ byte[] payload;
+
+ public int recipientChannelID;
+
+ public PacketChannelTrileadPing(int recipientChannelID)
+ {
+ this.recipientChannelID = recipientChannelID;
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_CHANNEL_REQUEST);
+ tw.writeUINT32(recipientChannelID);
+ tw.writeString("trilead-ping");
+ tw.writeBoolean(true);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelWindowAdjust.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelWindowAdjust.java
index bc0ac83..37ec081 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelWindowAdjust.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketChannelWindowAdjust.java
@@ -1,57 +1,57 @@
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketChannelWindowAdjust.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketChannelWindowAdjust.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketChannelWindowAdjust
-{
- byte[] payload;
-
- public int recipientChannelID;
- public int windowChange;
-
- public PacketChannelWindowAdjust(int recipientChannelID, int windowChange)
- {
- this.recipientChannelID = recipientChannelID;
- this.windowChange = windowChange;
- }
-
- public PacketChannelWindowAdjust(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_CHANNEL_WINDOW_ADJUST)
- throw new IOException(
- "This is not a SSH_MSG_CHANNEL_WINDOW_ADJUST! ("
- + packet_type + ")");
-
- recipientChannelID = tr.readUINT32();
- windowChange = tr.readUINT32();
-
- if (tr.remain() != 0)
- throw new IOException("Padding in SSH_MSG_CHANNEL_WINDOW_ADJUST packet!");
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_CHANNEL_WINDOW_ADJUST);
- tw.writeUINT32(recipientChannelID);
- tw.writeUINT32(windowChange);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketChannelWindowAdjust.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketChannelWindowAdjust.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketChannelWindowAdjust
+{
+ byte[] payload;
+
+ public int recipientChannelID;
+ public int windowChange;
+
+ public PacketChannelWindowAdjust(int recipientChannelID, int windowChange)
+ {
+ this.recipientChannelID = recipientChannelID;
+ this.windowChange = windowChange;
+ }
+
+ public PacketChannelWindowAdjust(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_CHANNEL_WINDOW_ADJUST)
+ throw new IOException(
+ "This is not a SSH_MSG_CHANNEL_WINDOW_ADJUST! ("
+ + packet_type + ")");
+
+ recipientChannelID = tr.readUINT32();
+ windowChange = tr.readUINT32();
+
+ if (tr.remain() != 0)
+ throw new IOException("Padding in SSH_MSG_CHANNEL_WINDOW_ADJUST packet!");
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_CHANNEL_WINDOW_ADJUST);
+ tw.writeUINT32(recipientChannelID);
+ tw.writeUINT32(windowChange);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketDisconnect.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketDisconnect.java
index 1811fb3..50d6ec2 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketDisconnect.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketDisconnect.java
@@ -1,57 +1,57 @@
-
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketDisconnect.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketDisconnect.java,v 1.2 2008/04/01 12:38:09 cplattne Exp $
- */
-public class PacketDisconnect
-{
- byte[] payload;
-
- int reason;
- String desc;
- String lang;
-
- public PacketDisconnect(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_DISCONNECT)
- throw new IOException("This is not a Disconnect Packet! (" + packet_type + ")");
-
- reason = tr.readUINT32();
- desc = tr.readString();
- lang = tr.readString();
- }
-
- public PacketDisconnect(int reason, String desc, String lang)
- {
- this.reason = reason;
- this.desc = desc;
- this.lang = lang;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_DISCONNECT);
- tw.writeUINT32(reason);
- tw.writeString(desc);
- tw.writeString(lang);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketDisconnect.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketDisconnect.java,v 1.2 2008/04/01 12:38:09 cplattne Exp $
+ */
+public class PacketDisconnect
+{
+ byte[] payload;
+
+ int reason;
+ String desc;
+ String lang;
+
+ public PacketDisconnect(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_DISCONNECT)
+ throw new IOException("This is not a Disconnect Packet! (" + packet_type + ")");
+
+ reason = tr.readUINT32();
+ desc = tr.readString();
+ lang = tr.readString();
+ }
+
+ public PacketDisconnect(int reason, String desc, String lang)
+ {
+ this.reason = reason;
+ this.desc = desc;
+ this.lang = lang;
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_DISCONNECT);
+ tw.writeUINT32(reason);
+ tw.writeString(desc);
+ tw.writeString(lang);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalCancelForwardRequest.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalCancelForwardRequest.java
index bc54b2e..20bd558 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalCancelForwardRequest.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalCancelForwardRequest.java
@@ -1,42 +1,42 @@
-
-package com.trilead.ssh2.packets;
-
-/**
- * PacketGlobalCancelForwardRequest.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketGlobalCancelForwardRequest.java,v 1.1 2007/10/15 12:49:55
- * cplattne Exp $
- */
-public class PacketGlobalCancelForwardRequest
-{
- byte[] payload;
-
- public boolean wantReply;
- public String bindAddress;
- public int bindPort;
-
- public PacketGlobalCancelForwardRequest(boolean wantReply, String bindAddress, int bindPort)
- {
- this.wantReply = wantReply;
- this.bindAddress = bindAddress;
- this.bindPort = bindPort;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_GLOBAL_REQUEST);
-
- tw.writeString("cancel-tcpip-forward");
- tw.writeBoolean(wantReply);
- tw.writeString(bindAddress);
- tw.writeUINT32(bindPort);
-
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+/**
+ * PacketGlobalCancelForwardRequest.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketGlobalCancelForwardRequest.java,v 1.1 2007/10/15 12:49:55
+ * cplattne Exp $
+ */
+public class PacketGlobalCancelForwardRequest
+{
+ byte[] payload;
+
+ public boolean wantReply;
+ public String bindAddress;
+ public int bindPort;
+
+ public PacketGlobalCancelForwardRequest(boolean wantReply, String bindAddress, int bindPort)
+ {
+ this.wantReply = wantReply;
+ this.bindAddress = bindAddress;
+ this.bindPort = bindPort;
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_GLOBAL_REQUEST);
+
+ tw.writeString("cancel-tcpip-forward");
+ tw.writeBoolean(wantReply);
+ tw.writeString(bindAddress);
+ tw.writeUINT32(bindPort);
+
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalForwardRequest.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalForwardRequest.java
index a97c4e3..55257e9 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalForwardRequest.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalForwardRequest.java
@@ -1,41 +1,41 @@
-
-package com.trilead.ssh2.packets;
-
-/**
- * PacketGlobalForwardRequest.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketGlobalForwardRequest.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketGlobalForwardRequest
-{
- byte[] payload;
-
- public boolean wantReply;
- public String bindAddress;
- public int bindPort;
-
- public PacketGlobalForwardRequest(boolean wantReply, String bindAddress, int bindPort)
- {
- this.wantReply = wantReply;
- this.bindAddress = bindAddress;
- this.bindPort = bindPort;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_GLOBAL_REQUEST);
-
- tw.writeString("tcpip-forward");
- tw.writeBoolean(wantReply);
- tw.writeString(bindAddress);
- tw.writeUINT32(bindPort);
-
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+/**
+ * PacketGlobalForwardRequest.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketGlobalForwardRequest.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketGlobalForwardRequest
+{
+ byte[] payload;
+
+ public boolean wantReply;
+ public String bindAddress;
+ public int bindPort;
+
+ public PacketGlobalForwardRequest(boolean wantReply, String bindAddress, int bindPort)
+ {
+ this.wantReply = wantReply;
+ this.bindAddress = bindAddress;
+ this.bindPort = bindPort;
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_GLOBAL_REQUEST);
+
+ tw.writeString("tcpip-forward");
+ tw.writeBoolean(wantReply);
+ tw.writeString(bindAddress);
+ tw.writeUINT32(bindPort);
+
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalTrileadPing.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalTrileadPing.java
index 5b9013d..3d8930e 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalTrileadPing.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketGlobalTrileadPing.java
@@ -1,32 +1,32 @@
-
-package com.trilead.ssh2.packets;
-
-/**
- * PacketGlobalTrileadPing.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketGlobalTrileadPing.java,v 1.1 2008/03/03 07:01:36 cplattne Exp $
- */
-public class PacketGlobalTrileadPing
-{
- byte[] payload;
-
- public PacketGlobalTrileadPing()
- {
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_GLOBAL_REQUEST);
-
- tw.writeString("trilead-ping");
- tw.writeBoolean(true);
-
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+/**
+ * PacketGlobalTrileadPing.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketGlobalTrileadPing.java,v 1.1 2008/03/03 07:01:36 cplattne Exp $
+ */
+public class PacketGlobalTrileadPing
+{
+ byte[] payload;
+
+ public PacketGlobalTrileadPing()
+ {
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_GLOBAL_REQUEST);
+
+ tw.writeString("trilead-ping");
+ tw.writeBoolean(true);
+
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketIgnore.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketIgnore.java
index 591ed49..2b4d917 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketIgnore.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketIgnore.java
@@ -1,59 +1,59 @@
-
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketIgnore.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketIgnore.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketIgnore
-{
- byte[] payload;
-
- byte[] data;
-
- public void setData(byte[] data)
- {
- this.data = data;
- payload = null;
- }
-
- public PacketIgnore()
- {
- }
-
- public PacketIgnore(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_IGNORE)
- throw new IOException("This is not a SSH_MSG_IGNORE packet! (" + packet_type + ")");
-
- /* Could parse String body */
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_IGNORE);
-
- if (data != null)
- tw.writeString(data, 0, data.length);
- else
- tw.writeString("");
-
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketIgnore.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketIgnore.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketIgnore
+{
+ byte[] payload;
+
+ byte[] data;
+
+ public void setData(byte[] data)
+ {
+ this.data = data;
+ payload = null;
+ }
+
+ public PacketIgnore()
+ {
+ }
+
+ public PacketIgnore(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_IGNORE)
+ throw new IOException("This is not a SSH_MSG_IGNORE packet! (" + packet_type + ")");
+
+ /* Could parse String body */
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_IGNORE);
+
+ if (data != null)
+ tw.writeString(data, 0, data.length);
+ else
+ tw.writeString("");
+
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDHInit.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDHInit.java
index 9201936..0092516 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDHInit.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDHInit.java
@@ -1,31 +1,31 @@
-package com.trilead.ssh2.packets;
-
-/**
- * PacketKexDHInit.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketKexDHInit.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketKexDHInit
-{
- byte[] payload;
-
+package com.trilead.ssh2.packets;
+
+/**
+ * PacketKexDHInit.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketKexDHInit.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketKexDHInit
+{
+ byte[] payload;
+
byte[] publicKey;
-
+
public PacketKexDHInit(byte[] publicKey)
- {
+ {
this.publicKey = publicKey;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_KEXDH_INIT);
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_KEXDH_INIT);
tw.writeString(publicKey, 0, publicKey.length);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDHReply.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDHReply.java
index 461f262..51f2bda 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDHReply.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDHReply.java
@@ -1,53 +1,53 @@
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketKexDHReply.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketKexDHReply.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketKexDHReply
-{
- byte[] payload;
-
- byte[] hostKey;
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketKexDHReply.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketKexDHReply.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketKexDHReply
+{
+ byte[] payload;
+
+ byte[] hostKey;
byte[] publicKey;
- byte[] signature;
-
- public PacketKexDHReply(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_KEXDH_REPLY)
- throw new IOException("This is not a SSH_MSG_KEXDH_REPLY! ("
- + packet_type + ")");
-
- hostKey = tr.readByteString();
+ byte[] signature;
+
+ public PacketKexDHReply(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_KEXDH_REPLY)
+ throw new IOException("This is not a SSH_MSG_KEXDH_REPLY! ("
+ + packet_type + ")");
+
+ hostKey = tr.readByteString();
publicKey = tr.readByteString();
- signature = tr.readByteString();
-
- if (tr.remain() != 0) throw new IOException("PADDING IN SSH_MSG_KEXDH_REPLY!");
- }
-
+ signature = tr.readByteString();
+
+ if (tr.remain() != 0) throw new IOException("PADDING IN SSH_MSG_KEXDH_REPLY!");
+ }
+
public byte[] getF()
- {
+ {
return publicKey;
- }
-
- public byte[] getHostKey()
- {
- return hostKey;
- }
-
- public byte[] getSignature()
- {
- return signature;
- }
-}
+ }
+
+ public byte[] getHostKey()
+ {
+ return hostKey;
+ }
+
+ public byte[] getSignature()
+ {
+ return signature;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexGroup.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexGroup.java
index d531dad..db85b61 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexGroup.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexGroup.java
@@ -1,50 +1,50 @@
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-import java.math.BigInteger;
-
-/**
- * PacketKexDhGexGroup.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketKexDhGexGroup.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketKexDhGexGroup
-{
- byte[] payload;
-
- BigInteger p;
- BigInteger g;
-
- public PacketKexDhGexGroup(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_KEX_DH_GEX_GROUP)
- throw new IllegalArgumentException(
- "This is not a SSH_MSG_KEX_DH_GEX_GROUP! (" + packet_type
- + ")");
-
- p = tr.readMPINT();
- g = tr.readMPINT();
-
- if (tr.remain() != 0)
- throw new IOException("PADDING IN SSH_MSG_KEX_DH_GEX_GROUP!");
- }
-
- public BigInteger getG()
- {
- return g;
- }
-
- public BigInteger getP()
- {
- return p;
- }
-}
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+import java.math.BigInteger;
+
+/**
+ * PacketKexDhGexGroup.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketKexDhGexGroup.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketKexDhGexGroup
+{
+ byte[] payload;
+
+ BigInteger p;
+ BigInteger g;
+
+ public PacketKexDhGexGroup(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_KEX_DH_GEX_GROUP)
+ throw new IllegalArgumentException(
+ "This is not a SSH_MSG_KEX_DH_GEX_GROUP! (" + packet_type
+ + ")");
+
+ p = tr.readMPINT();
+ g = tr.readMPINT();
+
+ if (tr.remain() != 0)
+ throw new IOException("PADDING IN SSH_MSG_KEX_DH_GEX_GROUP!");
+ }
+
+ public BigInteger getG()
+ {
+ return g;
+ }
+
+ public BigInteger getP()
+ {
+ return p;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexInit.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexInit.java
index f8f0916..8b34230 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexInit.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexInit.java
@@ -1,33 +1,33 @@
-package com.trilead.ssh2.packets;
-
-import java.math.BigInteger;
-
-/**
- * PacketKexDhGexInit.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketKexDhGexInit.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketKexDhGexInit
-{
- byte[] payload;
-
- BigInteger e;
-
- public PacketKexDhGexInit(BigInteger e)
- {
- this.e = e;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_KEX_DH_GEX_INIT);
- tw.writeMPInt(e);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+import java.math.BigInteger;
+
+/**
+ * PacketKexDhGexInit.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketKexDhGexInit.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketKexDhGexInit
+{
+ byte[] payload;
+
+ BigInteger e;
+
+ public PacketKexDhGexInit(BigInteger e)
+ {
+ this.e = e;
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_KEX_DH_GEX_INIT);
+ tw.writeMPInt(e);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexReply.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexReply.java
index ae225fb..382b3b7 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexReply.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexReply.java
@@ -1,56 +1,56 @@
-
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-import java.math.BigInteger;
-
-/**
- * PacketKexDhGexReply.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketKexDhGexReply.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketKexDhGexReply
-{
- byte[] payload;
-
- byte[] hostKey;
- BigInteger f;
- byte[] signature;
-
- public PacketKexDhGexReply(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_KEX_DH_GEX_REPLY)
- throw new IOException("This is not a SSH_MSG_KEX_DH_GEX_REPLY! (" + packet_type + ")");
-
- hostKey = tr.readByteString();
- f = tr.readMPINT();
- signature = tr.readByteString();
-
- if (tr.remain() != 0)
- throw new IOException("PADDING IN SSH_MSG_KEX_DH_GEX_REPLY!");
- }
-
- public BigInteger getF()
- {
- return f;
- }
-
- public byte[] getHostKey()
- {
- return hostKey;
- }
-
- public byte[] getSignature()
- {
- return signature;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+import java.math.BigInteger;
+
+/**
+ * PacketKexDhGexReply.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketKexDhGexReply.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketKexDhGexReply
+{
+ byte[] payload;
+
+ byte[] hostKey;
+ BigInteger f;
+ byte[] signature;
+
+ public PacketKexDhGexReply(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_KEX_DH_GEX_REPLY)
+ throw new IOException("This is not a SSH_MSG_KEX_DH_GEX_REPLY! (" + packet_type + ")");
+
+ hostKey = tr.readByteString();
+ f = tr.readMPINT();
+ signature = tr.readByteString();
+
+ if (tr.remain() != 0)
+ throw new IOException("PADDING IN SSH_MSG_KEX_DH_GEX_REPLY!");
+ }
+
+ public BigInteger getF()
+ {
+ return f;
+ }
+
+ public byte[] getHostKey()
+ {
+ return hostKey;
+ }
+
+ public byte[] getSignature()
+ {
+ return signature;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequest.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequest.java
index 75fc2af..50369df 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequest.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequest.java
@@ -1,39 +1,39 @@
-package com.trilead.ssh2.packets;
-
-import com.trilead.ssh2.DHGexParameters;
-
-/**
- * PacketKexDhGexRequest.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketKexDhGexRequest.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketKexDhGexRequest
-{
- byte[] payload;
-
- int min;
- int n;
- int max;
-
- public PacketKexDhGexRequest(DHGexParameters para)
- {
- this.min = para.getMin_group_len();
- this.n = para.getPref_group_len();
- this.max = para.getMax_group_len();
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_KEX_DH_GEX_REQUEST);
- tw.writeUINT32(min);
- tw.writeUINT32(n);
- tw.writeUINT32(max);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+import com.trilead.ssh2.DHGexParameters;
+
+/**
+ * PacketKexDhGexRequest.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketKexDhGexRequest.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketKexDhGexRequest
+{
+ byte[] payload;
+
+ int min;
+ int n;
+ int max;
+
+ public PacketKexDhGexRequest(DHGexParameters para)
+ {
+ this.min = para.getMin_group_len();
+ this.n = para.getPref_group_len();
+ this.max = para.getMax_group_len();
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_KEX_DH_GEX_REQUEST);
+ tw.writeUINT32(min);
+ tw.writeUINT32(n);
+ tw.writeUINT32(max);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequestOld.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequestOld.java
index d89ec02..327f379 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequestOld.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexDhGexRequestOld.java
@@ -1,34 +1,34 @@
-
-package com.trilead.ssh2.packets;
-
-import com.trilead.ssh2.DHGexParameters;
-
-/**
- * PacketKexDhGexRequestOld.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketKexDhGexRequestOld.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketKexDhGexRequestOld
-{
- byte[] payload;
-
- int n;
-
- public PacketKexDhGexRequestOld(DHGexParameters para)
- {
- this.n = para.getPref_group_len();
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_KEX_DH_GEX_REQUEST_OLD);
- tw.writeUINT32(n);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+import com.trilead.ssh2.DHGexParameters;
+
+/**
+ * PacketKexDhGexRequestOld.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketKexDhGexRequestOld.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketKexDhGexRequestOld
+{
+ byte[] payload;
+
+ int n;
+
+ public PacketKexDhGexRequestOld(DHGexParameters para)
+ {
+ this.n = para.getPref_group_len();
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_KEX_DH_GEX_REQUEST_OLD);
+ tw.writeUINT32(n);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexInit.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexInit.java
index 2a961c2..087d658 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketKexInit.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketKexInit.java
@@ -1,165 +1,165 @@
-
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-import java.security.SecureRandom;
-
-import com.trilead.ssh2.crypto.CryptoWishList;
-import com.trilead.ssh2.transport.KexParameters;
-
-
-/**
- * PacketKexInit.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketKexInit.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketKexInit
-{
- byte[] payload;
-
- KexParameters kp = new KexParameters();
-
+
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+import java.security.SecureRandom;
+
+import com.trilead.ssh2.crypto.CryptoWishList;
+import com.trilead.ssh2.transport.KexParameters;
+
+
+/**
+ * PacketKexInit.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketKexInit.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketKexInit
+{
+ byte[] payload;
+
+ KexParameters kp = new KexParameters();
+
public PacketKexInit(CryptoWishList cwl)
- {
- kp.cookie = new byte[16];
+ {
+ kp.cookie = new byte[16];
new SecureRandom().nextBytes(kp.cookie);
-
- kp.kex_algorithms = cwl.kexAlgorithms;
- kp.server_host_key_algorithms = cwl.serverHostKeyAlgorithms;
- kp.encryption_algorithms_client_to_server = cwl.c2s_enc_algos;
- kp.encryption_algorithms_server_to_client = cwl.s2c_enc_algos;
- kp.mac_algorithms_client_to_server = cwl.c2s_mac_algos;
- kp.mac_algorithms_server_to_client = cwl.s2c_mac_algos;
- kp.compression_algorithms_client_to_server = cwl.c2s_comp_algos;
- kp.compression_algorithms_server_to_client = cwl.s2c_comp_algos;
- kp.languages_client_to_server = new String[] {};
- kp.languages_server_to_client = new String[] {};
- kp.first_kex_packet_follows = false;
- kp.reserved_field1 = 0;
- }
-
- public PacketKexInit(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_KEXINIT)
- throw new IOException("This is not a KexInitPacket! (" + packet_type + ")");
-
- kp.cookie = tr.readBytes(16);
- kp.kex_algorithms = tr.readNameList();
- kp.server_host_key_algorithms = tr.readNameList();
- kp.encryption_algorithms_client_to_server = tr.readNameList();
- kp.encryption_algorithms_server_to_client = tr.readNameList();
- kp.mac_algorithms_client_to_server = tr.readNameList();
- kp.mac_algorithms_server_to_client = tr.readNameList();
- kp.compression_algorithms_client_to_server = tr.readNameList();
- kp.compression_algorithms_server_to_client = tr.readNameList();
- kp.languages_client_to_server = tr.readNameList();
- kp.languages_server_to_client = tr.readNameList();
- kp.first_kex_packet_follows = tr.readBoolean();
- kp.reserved_field1 = tr.readUINT32();
-
- if (tr.remain() != 0)
- throw new IOException("Padding in KexInitPacket!");
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_KEXINIT);
- tw.writeBytes(kp.cookie, 0, 16);
- tw.writeNameList(kp.kex_algorithms);
- tw.writeNameList(kp.server_host_key_algorithms);
- tw.writeNameList(kp.encryption_algorithms_client_to_server);
- tw.writeNameList(kp.encryption_algorithms_server_to_client);
- tw.writeNameList(kp.mac_algorithms_client_to_server);
- tw.writeNameList(kp.mac_algorithms_server_to_client);
- tw.writeNameList(kp.compression_algorithms_client_to_server);
- tw.writeNameList(kp.compression_algorithms_server_to_client);
- tw.writeNameList(kp.languages_client_to_server);
- tw.writeNameList(kp.languages_server_to_client);
- tw.writeBoolean(kp.first_kex_packet_follows);
- tw.writeUINT32(kp.reserved_field1);
- payload = tw.getBytes();
- }
- return payload;
- }
-
- public KexParameters getKexParameters()
- {
- return kp;
- }
-
- public String[] getCompression_algorithms_client_to_server()
- {
- return kp.compression_algorithms_client_to_server;
- }
-
- public String[] getCompression_algorithms_server_to_client()
- {
- return kp.compression_algorithms_server_to_client;
- }
-
- public byte[] getCookie()
- {
- return kp.cookie;
- }
-
- public String[] getEncryption_algorithms_client_to_server()
- {
- return kp.encryption_algorithms_client_to_server;
- }
-
- public String[] getEncryption_algorithms_server_to_client()
- {
- return kp.encryption_algorithms_server_to_client;
- }
-
- public boolean isFirst_kex_packet_follows()
- {
- return kp.first_kex_packet_follows;
- }
-
- public String[] getKex_algorithms()
- {
- return kp.kex_algorithms;
- }
-
- public String[] getLanguages_client_to_server()
- {
- return kp.languages_client_to_server;
- }
-
- public String[] getLanguages_server_to_client()
- {
- return kp.languages_server_to_client;
- }
-
- public String[] getMac_algorithms_client_to_server()
- {
- return kp.mac_algorithms_client_to_server;
- }
-
- public String[] getMac_algorithms_server_to_client()
- {
- return kp.mac_algorithms_server_to_client;
- }
-
- public int getReserved_field1()
- {
- return kp.reserved_field1;
- }
-
- public String[] getServer_host_key_algorithms()
- {
- return kp.server_host_key_algorithms;
- }
-}
+
+ kp.kex_algorithms = cwl.kexAlgorithms;
+ kp.server_host_key_algorithms = cwl.serverHostKeyAlgorithms;
+ kp.encryption_algorithms_client_to_server = cwl.c2s_enc_algos;
+ kp.encryption_algorithms_server_to_client = cwl.s2c_enc_algos;
+ kp.mac_algorithms_client_to_server = cwl.c2s_mac_algos;
+ kp.mac_algorithms_server_to_client = cwl.s2c_mac_algos;
+ kp.compression_algorithms_client_to_server = cwl.c2s_comp_algos;
+ kp.compression_algorithms_server_to_client = cwl.s2c_comp_algos;
+ kp.languages_client_to_server = new String[] {};
+ kp.languages_server_to_client = new String[] {};
+ kp.first_kex_packet_follows = false;
+ kp.reserved_field1 = 0;
+ }
+
+ public PacketKexInit(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_KEXINIT)
+ throw new IOException("This is not a KexInitPacket! (" + packet_type + ")");
+
+ kp.cookie = tr.readBytes(16);
+ kp.kex_algorithms = tr.readNameList();
+ kp.server_host_key_algorithms = tr.readNameList();
+ kp.encryption_algorithms_client_to_server = tr.readNameList();
+ kp.encryption_algorithms_server_to_client = tr.readNameList();
+ kp.mac_algorithms_client_to_server = tr.readNameList();
+ kp.mac_algorithms_server_to_client = tr.readNameList();
+ kp.compression_algorithms_client_to_server = tr.readNameList();
+ kp.compression_algorithms_server_to_client = tr.readNameList();
+ kp.languages_client_to_server = tr.readNameList();
+ kp.languages_server_to_client = tr.readNameList();
+ kp.first_kex_packet_follows = tr.readBoolean();
+ kp.reserved_field1 = tr.readUINT32();
+
+ if (tr.remain() != 0)
+ throw new IOException("Padding in KexInitPacket!");
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_KEXINIT);
+ tw.writeBytes(kp.cookie, 0, 16);
+ tw.writeNameList(kp.kex_algorithms);
+ tw.writeNameList(kp.server_host_key_algorithms);
+ tw.writeNameList(kp.encryption_algorithms_client_to_server);
+ tw.writeNameList(kp.encryption_algorithms_server_to_client);
+ tw.writeNameList(kp.mac_algorithms_client_to_server);
+ tw.writeNameList(kp.mac_algorithms_server_to_client);
+ tw.writeNameList(kp.compression_algorithms_client_to_server);
+ tw.writeNameList(kp.compression_algorithms_server_to_client);
+ tw.writeNameList(kp.languages_client_to_server);
+ tw.writeNameList(kp.languages_server_to_client);
+ tw.writeBoolean(kp.first_kex_packet_follows);
+ tw.writeUINT32(kp.reserved_field1);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+
+ public KexParameters getKexParameters()
+ {
+ return kp;
+ }
+
+ public String[] getCompression_algorithms_client_to_server()
+ {
+ return kp.compression_algorithms_client_to_server;
+ }
+
+ public String[] getCompression_algorithms_server_to_client()
+ {
+ return kp.compression_algorithms_server_to_client;
+ }
+
+ public byte[] getCookie()
+ {
+ return kp.cookie;
+ }
+
+ public String[] getEncryption_algorithms_client_to_server()
+ {
+ return kp.encryption_algorithms_client_to_server;
+ }
+
+ public String[] getEncryption_algorithms_server_to_client()
+ {
+ return kp.encryption_algorithms_server_to_client;
+ }
+
+ public boolean isFirst_kex_packet_follows()
+ {
+ return kp.first_kex_packet_follows;
+ }
+
+ public String[] getKex_algorithms()
+ {
+ return kp.kex_algorithms;
+ }
+
+ public String[] getLanguages_client_to_server()
+ {
+ return kp.languages_client_to_server;
+ }
+
+ public String[] getLanguages_server_to_client()
+ {
+ return kp.languages_server_to_client;
+ }
+
+ public String[] getMac_algorithms_client_to_server()
+ {
+ return kp.mac_algorithms_client_to_server;
+ }
+
+ public String[] getMac_algorithms_server_to_client()
+ {
+ return kp.mac_algorithms_server_to_client;
+ }
+
+ public int getReserved_field1()
+ {
+ return kp.reserved_field1;
+ }
+
+ public String[] getServer_host_key_algorithms()
+ {
+ return kp.server_host_key_algorithms;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketNewKeys.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketNewKeys.java
index 34ed7e7..3ca6503 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketNewKeys.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketNewKeys.java
@@ -1,46 +1,46 @@
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketNewKeys.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketNewKeys.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketNewKeys
-{
- byte[] payload;
-
- public PacketNewKeys()
- {
- }
-
- public PacketNewKeys(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_NEWKEYS)
- throw new IOException("This is not a SSH_MSG_NEWKEYS! ("
- + packet_type + ")");
-
- if (tr.remain() != 0)
- throw new IOException("Padding in SSH_MSG_NEWKEYS packet!");
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_NEWKEYS);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketNewKeys.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketNewKeys.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketNewKeys
+{
+ byte[] payload;
+
+ public PacketNewKeys()
+ {
+ }
+
+ public PacketNewKeys(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_NEWKEYS)
+ throw new IOException("This is not a SSH_MSG_NEWKEYS! ("
+ + packet_type + ")");
+
+ if (tr.remain() != 0)
+ throw new IOException("Padding in SSH_MSG_NEWKEYS packet!");
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_NEWKEYS);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketOpenDirectTCPIPChannel.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketOpenDirectTCPIPChannel.java
index 289e70e..da6cbef 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketOpenDirectTCPIPChannel.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketOpenDirectTCPIPChannel.java
@@ -1,56 +1,56 @@
-package com.trilead.ssh2.packets;
-
-
-/**
- * PacketOpenDirectTCPIPChannel.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketOpenDirectTCPIPChannel.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketOpenDirectTCPIPChannel
-{
- byte[] payload;
-
- int channelID;
- int initialWindowSize;
- int maxPacketSize;
-
- String host_to_connect;
- int port_to_connect;
- String originator_IP_address;
- int originator_port;
-
- public PacketOpenDirectTCPIPChannel(int channelID, int initialWindowSize, int maxPacketSize,
- String host_to_connect, int port_to_connect, String originator_IP_address,
- int originator_port)
- {
- this.channelID = channelID;
- this.initialWindowSize = initialWindowSize;
- this.maxPacketSize = maxPacketSize;
- this.host_to_connect = host_to_connect;
- this.port_to_connect = port_to_connect;
- this.originator_IP_address = originator_IP_address;
- this.originator_port = originator_port;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
-
- tw.writeByte(Packets.SSH_MSG_CHANNEL_OPEN);
- tw.writeString("direct-tcpip");
- tw.writeUINT32(channelID);
- tw.writeUINT32(initialWindowSize);
- tw.writeUINT32(maxPacketSize);
- tw.writeString(host_to_connect);
- tw.writeUINT32(port_to_connect);
- tw.writeString(originator_IP_address);
- tw.writeUINT32(originator_port);
-
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+
+/**
+ * PacketOpenDirectTCPIPChannel.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketOpenDirectTCPIPChannel.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketOpenDirectTCPIPChannel
+{
+ byte[] payload;
+
+ int channelID;
+ int initialWindowSize;
+ int maxPacketSize;
+
+ String host_to_connect;
+ int port_to_connect;
+ String originator_IP_address;
+ int originator_port;
+
+ public PacketOpenDirectTCPIPChannel(int channelID, int initialWindowSize, int maxPacketSize,
+ String host_to_connect, int port_to_connect, String originator_IP_address,
+ int originator_port)
+ {
+ this.channelID = channelID;
+ this.initialWindowSize = initialWindowSize;
+ this.maxPacketSize = maxPacketSize;
+ this.host_to_connect = host_to_connect;
+ this.port_to_connect = port_to_connect;
+ this.originator_IP_address = originator_IP_address;
+ this.originator_port = originator_port;
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+
+ tw.writeByte(Packets.SSH_MSG_CHANNEL_OPEN);
+ tw.writeString("direct-tcpip");
+ tw.writeUINT32(channelID);
+ tw.writeUINT32(initialWindowSize);
+ tw.writeUINT32(maxPacketSize);
+ tw.writeString(host_to_connect);
+ tw.writeUINT32(port_to_connect);
+ tw.writeString(originator_IP_address);
+ tw.writeUINT32(originator_port);
+
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketOpenSessionChannel.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketOpenSessionChannel.java
index ea69ad1..a75ea63 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketOpenSessionChannel.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketOpenSessionChannel.java
@@ -1,62 +1,62 @@
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketOpenSessionChannel.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketOpenSessionChannel.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketOpenSessionChannel
-{
- byte[] payload;
-
- int channelID;
- int initialWindowSize;
- int maxPacketSize;
-
- public PacketOpenSessionChannel(int channelID, int initialWindowSize,
- int maxPacketSize)
- {
- this.channelID = channelID;
- this.initialWindowSize = initialWindowSize;
- this.maxPacketSize = maxPacketSize;
- }
-
- public PacketOpenSessionChannel(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_CHANNEL_OPEN)
- throw new IOException("This is not a SSH_MSG_CHANNEL_OPEN! ("
- + packet_type + ")");
-
- channelID = tr.readUINT32();
- initialWindowSize = tr.readUINT32();
- maxPacketSize = tr.readUINT32();
-
- if (tr.remain() != 0)
- throw new IOException("Padding in SSH_MSG_CHANNEL_OPEN packet!");
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_CHANNEL_OPEN);
- tw.writeString("session");
- tw.writeUINT32(channelID);
- tw.writeUINT32(initialWindowSize);
- tw.writeUINT32(maxPacketSize);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketOpenSessionChannel.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketOpenSessionChannel.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketOpenSessionChannel
+{
+ byte[] payload;
+
+ int channelID;
+ int initialWindowSize;
+ int maxPacketSize;
+
+ public PacketOpenSessionChannel(int channelID, int initialWindowSize,
+ int maxPacketSize)
+ {
+ this.channelID = channelID;
+ this.initialWindowSize = initialWindowSize;
+ this.maxPacketSize = maxPacketSize;
+ }
+
+ public PacketOpenSessionChannel(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_CHANNEL_OPEN)
+ throw new IOException("This is not a SSH_MSG_CHANNEL_OPEN! ("
+ + packet_type + ")");
+
+ channelID = tr.readUINT32();
+ initialWindowSize = tr.readUINT32();
+ maxPacketSize = tr.readUINT32();
+
+ if (tr.remain() != 0)
+ throw new IOException("Padding in SSH_MSG_CHANNEL_OPEN packet!");
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_CHANNEL_OPEN);
+ tw.writeString("session");
+ tw.writeUINT32(channelID);
+ tw.writeUINT32(initialWindowSize);
+ tw.writeUINT32(maxPacketSize);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketServiceAccept.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketServiceAccept.java
index 5081651..d5c9a90 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketServiceAccept.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketServiceAccept.java
@@ -1,61 +1,61 @@
-
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketServiceAccept.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketServiceAccept.java,v 1.2 2008/04/01 12:38:09 cplattne Exp $
- */
-public class PacketServiceAccept
-{
- byte[] payload;
-
- String serviceName;
-
- public PacketServiceAccept(String serviceName)
- {
- this.serviceName = serviceName;
- }
-
- public PacketServiceAccept(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_SERVICE_ACCEPT)
- throw new IOException("This is not a SSH_MSG_SERVICE_ACCEPT! (" + packet_type + ")");
-
- /* Be clever in case the server is not. Some servers seem to violate RFC4253 */
-
- if (tr.remain() > 0)
- {
- serviceName = tr.readString();
- }
- else
- {
- serviceName = "";
- }
-
- if (tr.remain() != 0)
- throw new IOException("Padding in SSH_MSG_SERVICE_ACCEPT packet!");
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_SERVICE_ACCEPT);
- tw.writeString(serviceName);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketServiceAccept.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketServiceAccept.java,v 1.2 2008/04/01 12:38:09 cplattne Exp $
+ */
+public class PacketServiceAccept
+{
+ byte[] payload;
+
+ String serviceName;
+
+ public PacketServiceAccept(String serviceName)
+ {
+ this.serviceName = serviceName;
+ }
+
+ public PacketServiceAccept(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_SERVICE_ACCEPT)
+ throw new IOException("This is not a SSH_MSG_SERVICE_ACCEPT! (" + packet_type + ")");
+
+ /* Be clever in case the server is not. Some servers seem to violate RFC4253 */
+
+ if (tr.remain() > 0)
+ {
+ serviceName = tr.readString();
+ }
+ else
+ {
+ serviceName = "";
+ }
+
+ if (tr.remain() != 0)
+ throw new IOException("Padding in SSH_MSG_SERVICE_ACCEPT packet!");
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_SERVICE_ACCEPT);
+ tw.writeString(serviceName);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketServiceRequest.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketServiceRequest.java
index df5b8b4..c2d2065 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketServiceRequest.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketServiceRequest.java
@@ -1,52 +1,52 @@
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketServiceRequest.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketServiceRequest.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketServiceRequest
-{
- byte[] payload;
-
- String serviceName;
-
- public PacketServiceRequest(String serviceName)
- {
- this.serviceName = serviceName;
- }
-
- public PacketServiceRequest(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_SERVICE_REQUEST)
- throw new IOException("This is not a SSH_MSG_SERVICE_REQUEST! ("
- + packet_type + ")");
-
- serviceName = tr.readString();
-
- if (tr.remain() != 0)
- throw new IOException("Padding in SSH_MSG_SERVICE_REQUEST packet!");
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_SERVICE_REQUEST);
- tw.writeString(serviceName);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketServiceRequest.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketServiceRequest.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketServiceRequest
+{
+ byte[] payload;
+
+ String serviceName;
+
+ public PacketServiceRequest(String serviceName)
+ {
+ this.serviceName = serviceName;
+ }
+
+ public PacketServiceRequest(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_SERVICE_REQUEST)
+ throw new IOException("This is not a SSH_MSG_SERVICE_REQUEST! ("
+ + packet_type + ")");
+
+ serviceName = tr.readString();
+
+ if (tr.remain() != 0)
+ throw new IOException("Padding in SSH_MSG_SERVICE_REQUEST packet!");
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_SERVICE_REQUEST);
+ tw.writeString(serviceName);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionExecCommand.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionExecCommand.java
index 5f459cf..84efa5d 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionExecCommand.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionExecCommand.java
@@ -1,39 +1,39 @@
-package com.trilead.ssh2.packets;
-
-
-/**
- * PacketSessionExecCommand.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketSessionExecCommand.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketSessionExecCommand
-{
- byte[] payload;
-
- public int recipientChannelID;
- public boolean wantReply;
- public String command;
-
- public PacketSessionExecCommand(int recipientChannelID, boolean wantReply, String command)
- {
- this.recipientChannelID = recipientChannelID;
- this.wantReply = wantReply;
- this.command = command;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_CHANNEL_REQUEST);
- tw.writeUINT32(recipientChannelID);
- tw.writeString("exec");
- tw.writeBoolean(wantReply);
- tw.writeString(command);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+
+/**
+ * PacketSessionExecCommand.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketSessionExecCommand.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketSessionExecCommand
+{
+ byte[] payload;
+
+ public int recipientChannelID;
+ public boolean wantReply;
+ public String command;
+
+ public PacketSessionExecCommand(int recipientChannelID, boolean wantReply, String command)
+ {
+ this.recipientChannelID = recipientChannelID;
+ this.wantReply = wantReply;
+ this.command = command;
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_CHANNEL_REQUEST);
+ tw.writeUINT32(recipientChannelID);
+ tw.writeString("exec");
+ tw.writeBoolean(wantReply);
+ tw.writeString(command);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionPtyRequest.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionPtyRequest.java
index 93dd5ed..d9c3d59 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionPtyRequest.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionPtyRequest.java
@@ -1,57 +1,57 @@
-package com.trilead.ssh2.packets;
-
-
-/**
- * PacketSessionPtyRequest.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketSessionPtyRequest.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketSessionPtyRequest
-{
- byte[] payload;
-
- public int recipientChannelID;
- public boolean wantReply;
- public String term;
- public int character_width;
- public int character_height;
- public int pixel_width;
- public int pixel_height;
- public byte[] terminal_modes;
-
- public PacketSessionPtyRequest(int recipientChannelID, boolean wantReply, String term,
- int character_width, int character_height, int pixel_width, int pixel_height,
- byte[] terminal_modes)
- {
- this.recipientChannelID = recipientChannelID;
- this.wantReply = wantReply;
- this.term = term;
- this.character_width = character_width;
- this.character_height = character_height;
- this.pixel_width = pixel_width;
- this.pixel_height = pixel_height;
- this.terminal_modes = terminal_modes;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_CHANNEL_REQUEST);
- tw.writeUINT32(recipientChannelID);
- tw.writeString("pty-req");
- tw.writeBoolean(wantReply);
- tw.writeString(term);
- tw.writeUINT32(character_width);
- tw.writeUINT32(character_height);
- tw.writeUINT32(pixel_width);
- tw.writeUINT32(pixel_height);
- tw.writeString(terminal_modes, 0, terminal_modes.length);
-
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+
+/**
+ * PacketSessionPtyRequest.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketSessionPtyRequest.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketSessionPtyRequest
+{
+ byte[] payload;
+
+ public int recipientChannelID;
+ public boolean wantReply;
+ public String term;
+ public int character_width;
+ public int character_height;
+ public int pixel_width;
+ public int pixel_height;
+ public byte[] terminal_modes;
+
+ public PacketSessionPtyRequest(int recipientChannelID, boolean wantReply, String term,
+ int character_width, int character_height, int pixel_width, int pixel_height,
+ byte[] terminal_modes)
+ {
+ this.recipientChannelID = recipientChannelID;
+ this.wantReply = wantReply;
+ this.term = term;
+ this.character_width = character_width;
+ this.character_height = character_height;
+ this.pixel_width = pixel_width;
+ this.pixel_height = pixel_height;
+ this.terminal_modes = terminal_modes;
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_CHANNEL_REQUEST);
+ tw.writeUINT32(recipientChannelID);
+ tw.writeString("pty-req");
+ tw.writeBoolean(wantReply);
+ tw.writeString(term);
+ tw.writeUINT32(character_width);
+ tw.writeUINT32(character_height);
+ tw.writeUINT32(pixel_width);
+ tw.writeUINT32(pixel_height);
+ tw.writeString(terminal_modes, 0, terminal_modes.length);
+
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionStartShell.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionStartShell.java
index edfc85b..e5add01 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionStartShell.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionStartShell.java
@@ -1,36 +1,36 @@
-
-package com.trilead.ssh2.packets;
-
-/**
- * PacketSessionStartShell.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketSessionStartShell.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketSessionStartShell
-{
- byte[] payload;
-
- public int recipientChannelID;
- public boolean wantReply;
-
- public PacketSessionStartShell(int recipientChannelID, boolean wantReply)
- {
- this.recipientChannelID = recipientChannelID;
- this.wantReply = wantReply;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_CHANNEL_REQUEST);
- tw.writeUINT32(recipientChannelID);
- tw.writeString("shell");
- tw.writeBoolean(wantReply);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+/**
+ * PacketSessionStartShell.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketSessionStartShell.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketSessionStartShell
+{
+ byte[] payload;
+
+ public int recipientChannelID;
+ public boolean wantReply;
+
+ public PacketSessionStartShell(int recipientChannelID, boolean wantReply)
+ {
+ this.recipientChannelID = recipientChannelID;
+ this.wantReply = wantReply;
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_CHANNEL_REQUEST);
+ tw.writeUINT32(recipientChannelID);
+ tw.writeString("shell");
+ tw.writeBoolean(wantReply);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionSubsystemRequest.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionSubsystemRequest.java
index 3aa77ba..cdc3a8c 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionSubsystemRequest.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionSubsystemRequest.java
@@ -1,40 +1,40 @@
-package com.trilead.ssh2.packets;
-
-
-/**
- * PacketSessionSubsystemRequest.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketSessionSubsystemRequest.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketSessionSubsystemRequest
-{
- byte[] payload;
-
- public int recipientChannelID;
- public boolean wantReply;
- public String subsystem;
-
- public PacketSessionSubsystemRequest(int recipientChannelID, boolean wantReply, String subsystem)
- {
- this.recipientChannelID = recipientChannelID;
- this.wantReply = wantReply;
- this.subsystem = subsystem;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_CHANNEL_REQUEST);
- tw.writeUINT32(recipientChannelID);
- tw.writeString("subsystem");
- tw.writeBoolean(wantReply);
- tw.writeString(subsystem);
- payload = tw.getBytes();
- tw.getBytes(payload);
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+
+/**
+ * PacketSessionSubsystemRequest.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketSessionSubsystemRequest.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketSessionSubsystemRequest
+{
+ byte[] payload;
+
+ public int recipientChannelID;
+ public boolean wantReply;
+ public String subsystem;
+
+ public PacketSessionSubsystemRequest(int recipientChannelID, boolean wantReply, String subsystem)
+ {
+ this.recipientChannelID = recipientChannelID;
+ this.wantReply = wantReply;
+ this.subsystem = subsystem;
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_CHANNEL_REQUEST);
+ tw.writeUINT32(recipientChannelID);
+ tw.writeString("subsystem");
+ tw.writeBoolean(wantReply);
+ tw.writeString(subsystem);
+ payload = tw.getBytes();
+ tw.getBytes(payload);
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionX11Request.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionX11Request.java
index 5cc1d14..26479c7 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionX11Request.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketSessionX11Request.java
@@ -1,53 +1,53 @@
-
-package com.trilead.ssh2.packets;
-
-/**
- * PacketSessionX11Request.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketSessionX11Request.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketSessionX11Request
-{
- byte[] payload;
-
- public int recipientChannelID;
- public boolean wantReply;
-
- public boolean singleConnection;
- String x11AuthenticationProtocol;
- String x11AuthenticationCookie;
- int x11ScreenNumber;
-
- public PacketSessionX11Request(int recipientChannelID, boolean wantReply, boolean singleConnection,
- String x11AuthenticationProtocol, String x11AuthenticationCookie, int x11ScreenNumber)
- {
- this.recipientChannelID = recipientChannelID;
- this.wantReply = wantReply;
-
- this.singleConnection = singleConnection;
- this.x11AuthenticationProtocol = x11AuthenticationProtocol;
- this.x11AuthenticationCookie = x11AuthenticationCookie;
- this.x11ScreenNumber = x11ScreenNumber;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_CHANNEL_REQUEST);
- tw.writeUINT32(recipientChannelID);
- tw.writeString("x11-req");
- tw.writeBoolean(wantReply);
-
- tw.writeBoolean(singleConnection);
- tw.writeString(x11AuthenticationProtocol);
- tw.writeString(x11AuthenticationCookie);
- tw.writeUINT32(x11ScreenNumber);
-
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+/**
+ * PacketSessionX11Request.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketSessionX11Request.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketSessionX11Request
+{
+ byte[] payload;
+
+ public int recipientChannelID;
+ public boolean wantReply;
+
+ public boolean singleConnection;
+ String x11AuthenticationProtocol;
+ String x11AuthenticationCookie;
+ int x11ScreenNumber;
+
+ public PacketSessionX11Request(int recipientChannelID, boolean wantReply, boolean singleConnection,
+ String x11AuthenticationProtocol, String x11AuthenticationCookie, int x11ScreenNumber)
+ {
+ this.recipientChannelID = recipientChannelID;
+ this.wantReply = wantReply;
+
+ this.singleConnection = singleConnection;
+ this.x11AuthenticationProtocol = x11AuthenticationProtocol;
+ this.x11AuthenticationCookie = x11AuthenticationCookie;
+ this.x11ScreenNumber = x11ScreenNumber;
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_CHANNEL_REQUEST);
+ tw.writeUINT32(recipientChannelID);
+ tw.writeString("x11-req");
+ tw.writeBoolean(wantReply);
+
+ tw.writeBoolean(singleConnection);
+ tw.writeString(x11AuthenticationProtocol);
+ tw.writeString(x11AuthenticationCookie);
+ tw.writeUINT32(x11ScreenNumber);
+
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthBanner.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthBanner.java
index 2eafc5e..8ad8c3b 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthBanner.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthBanner.java
@@ -1,60 +1,60 @@
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketUserauthBanner.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketUserauthBanner.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketUserauthBanner
-{
- byte[] payload;
-
- String message;
- String language;
-
- public PacketUserauthBanner(String message, String language)
- {
- this.message = message;
- this.language = language;
- }
-
- public String getBanner()
- {
- return message;
- }
-
- public PacketUserauthBanner(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_USERAUTH_BANNER)
- throw new IOException("This is not a SSH_MSG_USERAUTH_BANNER! (" + packet_type + ")");
-
- message = tr.readString("UTF-8");
- language = tr.readString();
-
- if (tr.remain() != 0)
- throw new IOException("Padding in SSH_MSG_USERAUTH_REQUEST packet!");
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_USERAUTH_BANNER);
- tw.writeString(message);
- tw.writeString(language);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketUserauthBanner.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketUserauthBanner.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketUserauthBanner
+{
+ byte[] payload;
+
+ String message;
+ String language;
+
+ public PacketUserauthBanner(String message, String language)
+ {
+ this.message = message;
+ this.language = language;
+ }
+
+ public String getBanner()
+ {
+ return message;
+ }
+
+ public PacketUserauthBanner(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_USERAUTH_BANNER)
+ throw new IOException("This is not a SSH_MSG_USERAUTH_BANNER! (" + packet_type + ")");
+
+ message = tr.readString("UTF-8");
+ language = tr.readString();
+
+ if (tr.remain() != 0)
+ throw new IOException("Padding in SSH_MSG_USERAUTH_REQUEST packet!");
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_USERAUTH_BANNER);
+ tw.writeString(message);
+ tw.writeString(language);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthFailure.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthFailure.java
index 77e9cf9..fd4a726 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthFailure.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthFailure.java
@@ -1,53 +1,53 @@
-
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketUserauthBanner.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketUserauthFailure.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketUserauthFailure
-{
- byte[] payload;
-
- String[] authThatCanContinue;
- boolean partialSuccess;
-
- public PacketUserauthFailure(String[] authThatCanContinue, boolean partialSuccess)
- {
- this.authThatCanContinue = authThatCanContinue;
- this.partialSuccess = partialSuccess;
- }
-
- public PacketUserauthFailure(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_USERAUTH_FAILURE)
- throw new IOException("This is not a SSH_MSG_USERAUTH_FAILURE! (" + packet_type + ")");
-
- authThatCanContinue = tr.readNameList();
- partialSuccess = tr.readBoolean();
-
- if (tr.remain() != 0)
- throw new IOException("Padding in SSH_MSG_USERAUTH_FAILURE packet!");
- }
-
- public String[] getAuthThatCanContinue()
- {
- return authThatCanContinue;
- }
-
- public boolean isPartialSuccess()
- {
- return partialSuccess;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketUserauthBanner.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketUserauthFailure.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketUserauthFailure
+{
+ byte[] payload;
+
+ String[] authThatCanContinue;
+ boolean partialSuccess;
+
+ public PacketUserauthFailure(String[] authThatCanContinue, boolean partialSuccess)
+ {
+ this.authThatCanContinue = authThatCanContinue;
+ this.partialSuccess = partialSuccess;
+ }
+
+ public PacketUserauthFailure(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_USERAUTH_FAILURE)
+ throw new IOException("This is not a SSH_MSG_USERAUTH_FAILURE! (" + packet_type + ")");
+
+ authThatCanContinue = tr.readNameList();
+ partialSuccess = tr.readBoolean();
+
+ if (tr.remain() != 0)
+ throw new IOException("Padding in SSH_MSG_USERAUTH_FAILURE packet!");
+ }
+
+ public String[] getAuthThatCanContinue()
+ {
+ return authThatCanContinue;
+ }
+
+ public boolean isPartialSuccess()
+ {
+ return partialSuccess;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoRequest.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoRequest.java
index 75a0730..e1606d1 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoRequest.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoRequest.java
@@ -1,84 +1,84 @@
-
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketUserauthInfoRequest.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketUserauthInfoRequest.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketUserauthInfoRequest
-{
- byte[] payload;
-
- String name;
- String instruction;
- String languageTag;
- int numPrompts;
-
- String prompt[];
- boolean echo[];
-
- public PacketUserauthInfoRequest(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_USERAUTH_INFO_REQUEST)
- throw new IOException("This is not a SSH_MSG_USERAUTH_INFO_REQUEST! (" + packet_type + ")");
-
- name = tr.readString();
- instruction = tr.readString();
- languageTag = tr.readString();
-
- numPrompts = tr.readUINT32();
-
- prompt = new String[numPrompts];
- echo = new boolean[numPrompts];
-
- for (int i = 0; i < numPrompts; i++)
- {
- prompt[i] = tr.readString();
- echo[i] = tr.readBoolean();
- }
-
- if (tr.remain() != 0)
- throw new IOException("Padding in SSH_MSG_USERAUTH_INFO_REQUEST packet!");
- }
-
- public boolean[] getEcho()
- {
- return echo;
- }
-
- public String getInstruction()
- {
- return instruction;
- }
-
- public String getLanguageTag()
- {
- return languageTag;
- }
-
- public String getName()
- {
- return name;
- }
-
- public int getNumPrompts()
- {
- return numPrompts;
- }
-
- public String[] getPrompt()
- {
- return prompt;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketUserauthInfoRequest.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketUserauthInfoRequest.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketUserauthInfoRequest
+{
+ byte[] payload;
+
+ String name;
+ String instruction;
+ String languageTag;
+ int numPrompts;
+
+ String prompt[];
+ boolean echo[];
+
+ public PacketUserauthInfoRequest(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_USERAUTH_INFO_REQUEST)
+ throw new IOException("This is not a SSH_MSG_USERAUTH_INFO_REQUEST! (" + packet_type + ")");
+
+ name = tr.readString();
+ instruction = tr.readString();
+ languageTag = tr.readString();
+
+ numPrompts = tr.readUINT32();
+
+ prompt = new String[numPrompts];
+ echo = new boolean[numPrompts];
+
+ for (int i = 0; i < numPrompts; i++)
+ {
+ prompt[i] = tr.readString();
+ echo[i] = tr.readBoolean();
+ }
+
+ if (tr.remain() != 0)
+ throw new IOException("Padding in SSH_MSG_USERAUTH_INFO_REQUEST packet!");
+ }
+
+ public boolean[] getEcho()
+ {
+ return echo;
+ }
+
+ public String getInstruction()
+ {
+ return instruction;
+ }
+
+ public String getLanguageTag()
+ {
+ return languageTag;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public int getNumPrompts()
+ {
+ return numPrompts;
+ }
+
+ public String[] getPrompt()
+ {
+ return prompt;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoResponse.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoResponse.java
index b06f0b5..e8795d4 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoResponse.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthInfoResponse.java
@@ -1,35 +1,35 @@
-
-package com.trilead.ssh2.packets;
-
-/**
- * PacketUserauthInfoResponse.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketUserauthInfoResponse.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketUserauthInfoResponse
-{
- byte[] payload;
-
- String[] responses;
-
- public PacketUserauthInfoResponse(String[] responses)
- {
- this.responses = responses;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_USERAUTH_INFO_RESPONSE);
- tw.writeUINT32(responses.length);
- for (int i = 0; i < responses.length; i++)
- tw.writeString(responses[i]);
-
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+/**
+ * PacketUserauthInfoResponse.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketUserauthInfoResponse.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketUserauthInfoResponse
+{
+ byte[] payload;
+
+ String[] responses;
+
+ public PacketUserauthInfoResponse(String[] responses)
+ {
+ this.responses = responses;
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_USERAUTH_INFO_RESPONSE);
+ tw.writeUINT32(responses.length);
+ for (int i = 0; i < responses.length; i++)
+ tw.writeString(responses[i]);
+
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestInteractive.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestInteractive.java
index e0efd29..83e9f49 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestInteractive.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestInteractive.java
@@ -1,42 +1,42 @@
-
-package com.trilead.ssh2.packets;
-
-/**
- * PacketUserauthRequestInteractive.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketUserauthRequestInteractive.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketUserauthRequestInteractive
-{
- byte[] payload;
-
- String userName;
- String serviceName;
- String[] submethods;
-
- public PacketUserauthRequestInteractive(String serviceName, String user, String[] submethods)
- {
- this.serviceName = serviceName;
- this.userName = user;
- this.submethods = submethods;
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_USERAUTH_REQUEST);
- tw.writeString(userName);
- tw.writeString(serviceName);
- tw.writeString("keyboard-interactive");
- tw.writeString(""); // draft-ietf-secsh-newmodes-04.txt says that
- // the language tag should be empty.
- tw.writeNameList(submethods);
-
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+
+package com.trilead.ssh2.packets;
+
+/**
+ * PacketUserauthRequestInteractive.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketUserauthRequestInteractive.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketUserauthRequestInteractive
+{
+ byte[] payload;
+
+ String userName;
+ String serviceName;
+ String[] submethods;
+
+ public PacketUserauthRequestInteractive(String serviceName, String user, String[] submethods)
+ {
+ this.serviceName = serviceName;
+ this.userName = user;
+ this.submethods = submethods;
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_USERAUTH_REQUEST);
+ tw.writeString(userName);
+ tw.writeString(serviceName);
+ tw.writeString("keyboard-interactive");
+ tw.writeString(""); // draft-ietf-secsh-newmodes-04.txt says that
+ // the language tag should be empty.
+ tw.writeNameList(submethods);
+
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestNone.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestNone.java
index 93f89d9..d786003 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestNone.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestNone.java
@@ -1,61 +1,61 @@
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketUserauthRequestPassword.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketUserauthRequestNone.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketUserauthRequestNone
-{
- byte[] payload;
-
- String userName;
- String serviceName;
-
- public PacketUserauthRequestNone(String serviceName, String user)
- {
- this.serviceName = serviceName;
- this.userName = user;
- }
-
- public PacketUserauthRequestNone(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_USERAUTH_REQUEST)
- throw new IOException("This is not a SSH_MSG_USERAUTH_REQUEST! (" + packet_type + ")");
-
- userName = tr.readString();
- serviceName = tr.readString();
-
- String method = tr.readString();
-
- if (method.equals("none") == false)
- throw new IOException("This is not a SSH_MSG_USERAUTH_REQUEST with type none!");
-
- if (tr.remain() != 0)
- throw new IOException("Padding in SSH_MSG_USERAUTH_REQUEST packet!");
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_USERAUTH_REQUEST);
- tw.writeString(userName);
- tw.writeString(serviceName);
- tw.writeString("none");
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketUserauthRequestPassword.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketUserauthRequestNone.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketUserauthRequestNone
+{
+ byte[] payload;
+
+ String userName;
+ String serviceName;
+
+ public PacketUserauthRequestNone(String serviceName, String user)
+ {
+ this.serviceName = serviceName;
+ this.userName = user;
+ }
+
+ public PacketUserauthRequestNone(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_USERAUTH_REQUEST)
+ throw new IOException("This is not a SSH_MSG_USERAUTH_REQUEST! (" + packet_type + ")");
+
+ userName = tr.readString();
+ serviceName = tr.readString();
+
+ String method = tr.readString();
+
+ if (method.equals("none") == false)
+ throw new IOException("This is not a SSH_MSG_USERAUTH_REQUEST with type none!");
+
+ if (tr.remain() != 0)
+ throw new IOException("Padding in SSH_MSG_USERAUTH_REQUEST packet!");
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_USERAUTH_REQUEST);
+ tw.writeString(userName);
+ tw.writeString(serviceName);
+ tw.writeString("none");
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPassword.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPassword.java
index df7b36b..83047dd 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPassword.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPassword.java
@@ -1,67 +1,67 @@
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketUserauthRequestPassword.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketUserauthRequestPassword.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketUserauthRequestPassword
-{
- byte[] payload;
-
- String userName;
- String serviceName;
- String password;
-
- public PacketUserauthRequestPassword(String serviceName, String user, String pass)
- {
- this.serviceName = serviceName;
- this.userName = user;
- this.password = pass;
- }
-
- public PacketUserauthRequestPassword(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_USERAUTH_REQUEST)
- throw new IOException("This is not a SSH_MSG_USERAUTH_REQUEST! (" + packet_type + ")");
-
- userName = tr.readString();
- serviceName = tr.readString();
-
- String method = tr.readString();
-
- if (method.equals("password") == false)
- throw new IOException("This is not a SSH_MSG_USERAUTH_REQUEST with type password!");
-
- /* ... */
-
- if (tr.remain() != 0)
- throw new IOException("Padding in SSH_MSG_USERAUTH_REQUEST packet!");
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_USERAUTH_REQUEST);
- tw.writeString(userName);
- tw.writeString(serviceName);
- tw.writeString("password");
- tw.writeBoolean(false);
- tw.writeString(password);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketUserauthRequestPassword.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketUserauthRequestPassword.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketUserauthRequestPassword
+{
+ byte[] payload;
+
+ String userName;
+ String serviceName;
+ String password;
+
+ public PacketUserauthRequestPassword(String serviceName, String user, String pass)
+ {
+ this.serviceName = serviceName;
+ this.userName = user;
+ this.password = pass;
+ }
+
+ public PacketUserauthRequestPassword(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_USERAUTH_REQUEST)
+ throw new IOException("This is not a SSH_MSG_USERAUTH_REQUEST! (" + packet_type + ")");
+
+ userName = tr.readString();
+ serviceName = tr.readString();
+
+ String method = tr.readString();
+
+ if (method.equals("password") == false)
+ throw new IOException("This is not a SSH_MSG_USERAUTH_REQUEST with type password!");
+
+ /* ... */
+
+ if (tr.remain() != 0)
+ throw new IOException("Padding in SSH_MSG_USERAUTH_REQUEST packet!");
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_USERAUTH_REQUEST);
+ tw.writeString(userName);
+ tw.writeString(serviceName);
+ tw.writeString("password");
+ tw.writeBoolean(false);
+ tw.writeString(password);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPublicKey.java b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPublicKey.java
index 1e38673..6462864 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPublicKey.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/PacketUserauthRequestPublicKey.java
@@ -1,65 +1,65 @@
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-
-/**
- * PacketUserauthRequestPublicKey.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: PacketUserauthRequestPublicKey.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class PacketUserauthRequestPublicKey
-{
- byte[] payload;
-
- String userName;
- String serviceName;
- String password;
- String pkAlgoName;
- byte[] pk;
- byte[] sig;
-
- public PacketUserauthRequestPublicKey(String serviceName, String user,
- String pkAlgorithmName, byte[] pk, byte[] sig)
- {
- this.serviceName = serviceName;
- this.userName = user;
- this.pkAlgoName = pkAlgorithmName;
- this.pk = pk;
- this.sig = sig;
- }
-
- public PacketUserauthRequestPublicKey(byte payload[], int off, int len) throws IOException
- {
- this.payload = new byte[len];
- System.arraycopy(payload, off, this.payload, 0, len);
-
- TypesReader tr = new TypesReader(payload, off, len);
-
- int packet_type = tr.readByte();
-
- if (packet_type != Packets.SSH_MSG_USERAUTH_REQUEST)
- throw new IOException("This is not a SSH_MSG_USERAUTH_REQUEST! ("
- + packet_type + ")");
-
- throw new IOException("Not implemented!");
- }
-
- public byte[] getPayload()
- {
- if (payload == null)
- {
- TypesWriter tw = new TypesWriter();
- tw.writeByte(Packets.SSH_MSG_USERAUTH_REQUEST);
- tw.writeString(userName);
- tw.writeString(serviceName);
- tw.writeString("publickey");
- tw.writeBoolean(true);
- tw.writeString(pkAlgoName);
- tw.writeString(pk, 0, pk.length);
- tw.writeString(sig, 0, sig.length);
- payload = tw.getBytes();
- }
- return payload;
- }
-}
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+
+/**
+ * PacketUserauthRequestPublicKey.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: PacketUserauthRequestPublicKey.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class PacketUserauthRequestPublicKey
+{
+ byte[] payload;
+
+ String userName;
+ String serviceName;
+ String password;
+ String pkAlgoName;
+ byte[] pk;
+ byte[] sig;
+
+ public PacketUserauthRequestPublicKey(String serviceName, String user,
+ String pkAlgorithmName, byte[] pk, byte[] sig)
+ {
+ this.serviceName = serviceName;
+ this.userName = user;
+ this.pkAlgoName = pkAlgorithmName;
+ this.pk = pk;
+ this.sig = sig;
+ }
+
+ public PacketUserauthRequestPublicKey(byte payload[], int off, int len) throws IOException
+ {
+ this.payload = new byte[len];
+ System.arraycopy(payload, off, this.payload, 0, len);
+
+ TypesReader tr = new TypesReader(payload, off, len);
+
+ int packet_type = tr.readByte();
+
+ if (packet_type != Packets.SSH_MSG_USERAUTH_REQUEST)
+ throw new IOException("This is not a SSH_MSG_USERAUTH_REQUEST! ("
+ + packet_type + ")");
+
+ throw new IOException("Not implemented!");
+ }
+
+ public byte[] getPayload()
+ {
+ if (payload == null)
+ {
+ TypesWriter tw = new TypesWriter();
+ tw.writeByte(Packets.SSH_MSG_USERAUTH_REQUEST);
+ tw.writeString(userName);
+ tw.writeString(serviceName);
+ tw.writeString("publickey");
+ tw.writeBoolean(true);
+ tw.writeString(pkAlgoName);
+ tw.writeString(pk, 0, pk.length);
+ tw.writeString(sig, 0, sig.length);
+ payload = tw.getBytes();
+ }
+ return payload;
+ }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/Packets.java b/lib/src/main/java/com/trilead/ssh2/packets/Packets.java
index bc9a6c0..6989286 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/Packets.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/Packets.java
@@ -1,149 +1,149 @@
-
-package com.trilead.ssh2.packets;
-
-/**
- * Packets.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: Packets.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
- */
-public class Packets
-{
- public static final int SSH_MSG_DISCONNECT = 1;
- public static final int SSH_MSG_IGNORE = 2;
- public static final int SSH_MSG_UNIMPLEMENTED = 3;
- public static final int SSH_MSG_DEBUG = 4;
- public static final int SSH_MSG_SERVICE_REQUEST = 5;
- public static final int SSH_MSG_SERVICE_ACCEPT = 6;
-
- public static final int SSH_MSG_KEXINIT = 20;
- public static final int SSH_MSG_NEWKEYS = 21;
-
- public static final int SSH_MSG_KEXDH_INIT = 30;
- public static final int SSH_MSG_KEXDH_REPLY = 31;
-
- public static final int SSH_MSG_KEX_DH_GEX_REQUEST_OLD = 30;
- public static final int SSH_MSG_KEX_DH_GEX_REQUEST = 34;
- public static final int SSH_MSG_KEX_DH_GEX_GROUP = 31;
- public static final int SSH_MSG_KEX_DH_GEX_INIT = 32;
- public static final int SSH_MSG_KEX_DH_GEX_REPLY = 33;
-
- public static final int SSH_MSG_USERAUTH_REQUEST = 50;
- public static final int SSH_MSG_USERAUTH_FAILURE = 51;
- public static final int SSH_MSG_USERAUTH_SUCCESS = 52;
- public static final int SSH_MSG_USERAUTH_BANNER = 53;
- public static final int SSH_MSG_USERAUTH_INFO_REQUEST = 60;
- public static final int SSH_MSG_USERAUTH_INFO_RESPONSE = 61;
-
- public static final int SSH_MSG_GLOBAL_REQUEST = 80;
- public static final int SSH_MSG_REQUEST_SUCCESS = 81;
- public static final int SSH_MSG_REQUEST_FAILURE = 82;
-
- public static final int SSH_MSG_CHANNEL_OPEN = 90;
- public static final int SSH_MSG_CHANNEL_OPEN_CONFIRMATION = 91;
- public static final int SSH_MSG_CHANNEL_OPEN_FAILURE = 92;
- public static final int SSH_MSG_CHANNEL_WINDOW_ADJUST = 93;
- public static final int SSH_MSG_CHANNEL_DATA = 94;
- public static final int SSH_MSG_CHANNEL_EXTENDED_DATA = 95;
- public static final int SSH_MSG_CHANNEL_EOF = 96;
- public static final int SSH_MSG_CHANNEL_CLOSE = 97;
- public static final int SSH_MSG_CHANNEL_REQUEST = 98;
- public static final int SSH_MSG_CHANNEL_SUCCESS = 99;
- public static final int SSH_MSG_CHANNEL_FAILURE = 100;
-
- public static final int SSH_EXTENDED_DATA_STDERR = 1;
-
- public static final int SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT = 1;
- public static final int SSH_DISCONNECT_PROTOCOL_ERROR = 2;
- public static final int SSH_DISCONNECT_KEY_EXCHANGE_FAILED = 3;
- public static final int SSH_DISCONNECT_RESERVED = 4;
- public static final int SSH_DISCONNECT_MAC_ERROR = 5;
- public static final int SSH_DISCONNECT_COMPRESSION_ERROR = 6;
- public static final int SSH_DISCONNECT_SERVICE_NOT_AVAILABLE = 7;
- public static final int SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED = 8;
- public static final int SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE = 9;
- public static final int SSH_DISCONNECT_CONNECTION_LOST = 10;
- public static final int SSH_DISCONNECT_BY_APPLICATION = 11;
- public static final int SSH_DISCONNECT_TOO_MANY_CONNECTIONS = 12;
- public static final int SSH_DISCONNECT_AUTH_CANCELLED_BY_USER = 13;
- public static final int SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE = 14;
- public static final int SSH_DISCONNECT_ILLEGAL_USER_NAME = 15;
-
- public static final int SSH_OPEN_ADMINISTRATIVELY_PROHIBITED = 1;
- public static final int SSH_OPEN_CONNECT_FAILED = 2;
- public static final int SSH_OPEN_UNKNOWN_CHANNEL_TYPE = 3;
- public static final int SSH_OPEN_RESOURCE_SHORTAGE = 4;
-
- private static final String[] reverseNames = new String[101];
-
- static
- {
- reverseNames[1] = "SSH_MSG_DISCONNECT";
- reverseNames[2] = "SSH_MSG_IGNORE";
- reverseNames[3] = "SSH_MSG_UNIMPLEMENTED";
- reverseNames[4] = "SSH_MSG_DEBUG";
- reverseNames[5] = "SSH_MSG_SERVICE_REQUEST";
- reverseNames[6] = "SSH_MSG_SERVICE_ACCEPT";
-
- reverseNames[20] = "SSH_MSG_KEXINIT";
- reverseNames[21] = "SSH_MSG_NEWKEYS";
-
- reverseNames[30] = "SSH_MSG_KEXDH_INIT";
- reverseNames[31] = "SSH_MSG_KEXDH_REPLY/SSH_MSG_KEX_DH_GEX_GROUP";
- reverseNames[32] = "SSH_MSG_KEX_DH_GEX_INIT";
- reverseNames[33] = "SSH_MSG_KEX_DH_GEX_REPLY";
- reverseNames[34] = "SSH_MSG_KEX_DH_GEX_REQUEST";
-
- reverseNames[50] = "SSH_MSG_USERAUTH_REQUEST";
- reverseNames[51] = "SSH_MSG_USERAUTH_FAILURE";
- reverseNames[52] = "SSH_MSG_USERAUTH_SUCCESS";
- reverseNames[53] = "SSH_MSG_USERAUTH_BANNER";
-
- reverseNames[60] = "SSH_MSG_USERAUTH_INFO_REQUEST";
- reverseNames[61] = "SSH_MSG_USERAUTH_INFO_RESPONSE";
-
- reverseNames[80] = "SSH_MSG_GLOBAL_REQUEST";
- reverseNames[81] = "SSH_MSG_REQUEST_SUCCESS";
- reverseNames[82] = "SSH_MSG_REQUEST_FAILURE";
-
- reverseNames[90] = "SSH_MSG_CHANNEL_OPEN";
- reverseNames[91] = "SSH_MSG_CHANNEL_OPEN_CONFIRMATION";
- reverseNames[92] = "SSH_MSG_CHANNEL_OPEN_FAILURE";
- reverseNames[93] = "SSH_MSG_CHANNEL_WINDOW_ADJUST";
- reverseNames[94] = "SSH_MSG_CHANNEL_DATA";
- reverseNames[95] = "SSH_MSG_CHANNEL_EXTENDED_DATA";
- reverseNames[96] = "SSH_MSG_CHANNEL_EOF";
- reverseNames[97] = "SSH_MSG_CHANNEL_CLOSE";
- reverseNames[98] = "SSH_MSG_CHANNEL_REQUEST";
- reverseNames[99] = "SSH_MSG_CHANNEL_SUCCESS";
- reverseNames[100] = "SSH_MSG_CHANNEL_FAILURE";
- }
-
- public static final String getMessageName(int type)
- {
- String res = null;
-
- if ((type >= 0) && (type < reverseNames.length))
- {
- res = reverseNames[type];
- }
-
- return (res == null) ? ("UNKNOWN MSG " + type) : res;
- }
-
- // public static final void debug(String tag, byte[] msg)
- // {
- // System.err.println(tag + " Type: " + msg[0] + ", LEN: " + msg.length);
- //
- // for (int i = 0; i < msg.length; i++)
- // {
- // if (((msg[i] >= 'a') && (msg[i] <= 'z')) || ((msg[i] >= 'A') && (msg[i] <= 'Z'))
- // || ((msg[i] >= '0') && (msg[i] <= '9')) || (msg[i] == ' '))
- // System.err.print((char) msg[i]);
- // else
- // System.err.print(".");
- // }
- // System.err.println();
- // System.err.flush();
- // }
-}
+
+package com.trilead.ssh2.packets;
+
+/**
+ * Packets.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: Packets.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $
+ */
+public class Packets
+{
+ public static final int SSH_MSG_DISCONNECT = 1;
+ public static final int SSH_MSG_IGNORE = 2;
+ public static final int SSH_MSG_UNIMPLEMENTED = 3;
+ public static final int SSH_MSG_DEBUG = 4;
+ public static final int SSH_MSG_SERVICE_REQUEST = 5;
+ public static final int SSH_MSG_SERVICE_ACCEPT = 6;
+
+ public static final int SSH_MSG_KEXINIT = 20;
+ public static final int SSH_MSG_NEWKEYS = 21;
+
+ public static final int SSH_MSG_KEXDH_INIT = 30;
+ public static final int SSH_MSG_KEXDH_REPLY = 31;
+
+ public static final int SSH_MSG_KEX_DH_GEX_REQUEST_OLD = 30;
+ public static final int SSH_MSG_KEX_DH_GEX_REQUEST = 34;
+ public static final int SSH_MSG_KEX_DH_GEX_GROUP = 31;
+ public static final int SSH_MSG_KEX_DH_GEX_INIT = 32;
+ public static final int SSH_MSG_KEX_DH_GEX_REPLY = 33;
+
+ public static final int SSH_MSG_USERAUTH_REQUEST = 50;
+ public static final int SSH_MSG_USERAUTH_FAILURE = 51;
+ public static final int SSH_MSG_USERAUTH_SUCCESS = 52;
+ public static final int SSH_MSG_USERAUTH_BANNER = 53;
+ public static final int SSH_MSG_USERAUTH_INFO_REQUEST = 60;
+ public static final int SSH_MSG_USERAUTH_INFO_RESPONSE = 61;
+
+ public static final int SSH_MSG_GLOBAL_REQUEST = 80;
+ public static final int SSH_MSG_REQUEST_SUCCESS = 81;
+ public static final int SSH_MSG_REQUEST_FAILURE = 82;
+
+ public static final int SSH_MSG_CHANNEL_OPEN = 90;
+ public static final int SSH_MSG_CHANNEL_OPEN_CONFIRMATION = 91;
+ public static final int SSH_MSG_CHANNEL_OPEN_FAILURE = 92;
+ public static final int SSH_MSG_CHANNEL_WINDOW_ADJUST = 93;
+ public static final int SSH_MSG_CHANNEL_DATA = 94;
+ public static final int SSH_MSG_CHANNEL_EXTENDED_DATA = 95;
+ public static final int SSH_MSG_CHANNEL_EOF = 96;
+ public static final int SSH_MSG_CHANNEL_CLOSE = 97;
+ public static final int SSH_MSG_CHANNEL_REQUEST = 98;
+ public static final int SSH_MSG_CHANNEL_SUCCESS = 99;
+ public static final int SSH_MSG_CHANNEL_FAILURE = 100;
+
+ public static final int SSH_EXTENDED_DATA_STDERR = 1;
+
+ public static final int SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT = 1;
+ public static final int SSH_DISCONNECT_PROTOCOL_ERROR = 2;
+ public static final int SSH_DISCONNECT_KEY_EXCHANGE_FAILED = 3;
+ public static final int SSH_DISCONNECT_RESERVED = 4;
+ public static final int SSH_DISCONNECT_MAC_ERROR = 5;
+ public static final int SSH_DISCONNECT_COMPRESSION_ERROR = 6;
+ public static final int SSH_DISCONNECT_SERVICE_NOT_AVAILABLE = 7;
+ public static final int SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED = 8;
+ public static final int SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE = 9;
+ public static final int SSH_DISCONNECT_CONNECTION_LOST = 10;
+ public static final int SSH_DISCONNECT_BY_APPLICATION = 11;
+ public static final int SSH_DISCONNECT_TOO_MANY_CONNECTIONS = 12;
+ public static final int SSH_DISCONNECT_AUTH_CANCELLED_BY_USER = 13;
+ public static final int SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE = 14;
+ public static final int SSH_DISCONNECT_ILLEGAL_USER_NAME = 15;
+
+ public static final int SSH_OPEN_ADMINISTRATIVELY_PROHIBITED = 1;
+ public static final int SSH_OPEN_CONNECT_FAILED = 2;
+ public static final int SSH_OPEN_UNKNOWN_CHANNEL_TYPE = 3;
+ public static final int SSH_OPEN_RESOURCE_SHORTAGE = 4;
+
+ private static final String[] reverseNames = new String[101];
+
+ static
+ {
+ reverseNames[1] = "SSH_MSG_DISCONNECT";
+ reverseNames[2] = "SSH_MSG_IGNORE";
+ reverseNames[3] = "SSH_MSG_UNIMPLEMENTED";
+ reverseNames[4] = "SSH_MSG_DEBUG";
+ reverseNames[5] = "SSH_MSG_SERVICE_REQUEST";
+ reverseNames[6] = "SSH_MSG_SERVICE_ACCEPT";
+
+ reverseNames[20] = "SSH_MSG_KEXINIT";
+ reverseNames[21] = "SSH_MSG_NEWKEYS";
+
+ reverseNames[30] = "SSH_MSG_KEXDH_INIT";
+ reverseNames[31] = "SSH_MSG_KEXDH_REPLY/SSH_MSG_KEX_DH_GEX_GROUP";
+ reverseNames[32] = "SSH_MSG_KEX_DH_GEX_INIT";
+ reverseNames[33] = "SSH_MSG_KEX_DH_GEX_REPLY";
+ reverseNames[34] = "SSH_MSG_KEX_DH_GEX_REQUEST";
+
+ reverseNames[50] = "SSH_MSG_USERAUTH_REQUEST";
+ reverseNames[51] = "SSH_MSG_USERAUTH_FAILURE";
+ reverseNames[52] = "SSH_MSG_USERAUTH_SUCCESS";
+ reverseNames[53] = "SSH_MSG_USERAUTH_BANNER";
+
+ reverseNames[60] = "SSH_MSG_USERAUTH_INFO_REQUEST";
+ reverseNames[61] = "SSH_MSG_USERAUTH_INFO_RESPONSE";
+
+ reverseNames[80] = "SSH_MSG_GLOBAL_REQUEST";
+ reverseNames[81] = "SSH_MSG_REQUEST_SUCCESS";
+ reverseNames[82] = "SSH_MSG_REQUEST_FAILURE";
+
+ reverseNames[90] = "SSH_MSG_CHANNEL_OPEN";
+ reverseNames[91] = "SSH_MSG_CHANNEL_OPEN_CONFIRMATION";
+ reverseNames[92] = "SSH_MSG_CHANNEL_OPEN_FAILURE";
+ reverseNames[93] = "SSH_MSG_CHANNEL_WINDOW_ADJUST";
+ reverseNames[94] = "SSH_MSG_CHANNEL_DATA";
+ reverseNames[95] = "SSH_MSG_CHANNEL_EXTENDED_DATA";
+ reverseNames[96] = "SSH_MSG_CHANNEL_EOF";
+ reverseNames[97] = "SSH_MSG_CHANNEL_CLOSE";
+ reverseNames[98] = "SSH_MSG_CHANNEL_REQUEST";
+ reverseNames[99] = "SSH_MSG_CHANNEL_SUCCESS";
+ reverseNames[100] = "SSH_MSG_CHANNEL_FAILURE";
+ }
+
+ public static final String getMessageName(int type)
+ {
+ String res = null;
+
+ if ((type >= 0) && (type < reverseNames.length))
+ {
+ res = reverseNames[type];
+ }
+
+ return (res == null) ? ("UNKNOWN MSG " + type) : res;
+ }
+
+ // public static final void debug(String tag, byte[] msg)
+ // {
+ // System.err.println(tag + " Type: " + msg[0] + ", LEN: " + msg.length);
+ //
+ // for (int i = 0; i < msg.length; i++)
+ // {
+ // if (((msg[i] >= 'a') && (msg[i] <= 'z')) || ((msg[i] >= 'A') && (msg[i] <= 'Z'))
+ // || ((msg[i] >= '0') && (msg[i] <= '9')) || (msg[i] == ' '))
+ // System.err.print((char) msg[i]);
+ // else
+ // System.err.print(".");
+ // }
+ // System.err.println();
+ // System.err.flush();
+ // }
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/TypesReader.java b/lib/src/main/java/com/trilead/ssh2/packets/TypesReader.java
index c8d73e7..28f5363 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/TypesReader.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/TypesReader.java
@@ -1,177 +1,177 @@
-
-package com.trilead.ssh2.packets;
-
-import java.io.IOException;
-import java.math.BigInteger;
-
-import com.trilead.ssh2.util.Tokenizer;
-
-
-/**
- * TypesReader.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: TypesReader.java,v 1.2 2008/04/01 12:38:09 cplattne Exp $
- */
-public class TypesReader
-{
- byte[] arr;
- int pos = 0;
- int max = 0;
-
- public TypesReader(byte[] arr)
- {
- this.arr = arr;
- pos = 0;
- max = arr.length;
- }
-
- public TypesReader(byte[] arr, int off)
- {
- this.arr = arr;
- this.pos = off;
- this.max = arr.length;
-
- if ((pos < 0) || (pos > arr.length))
- throw new IllegalArgumentException("Illegal offset.");
- }
-
- public TypesReader(byte[] arr, int off, int len)
- {
- this.arr = arr;
- this.pos = off;
- this.max = off + len;
-
- if ((pos < 0) || (pos > arr.length))
- throw new IllegalArgumentException("Illegal offset.");
-
- if ((max < 0) || (max > arr.length))
- throw new IllegalArgumentException("Illegal length.");
- }
-
- public int readByte() throws IOException
- {
- if (pos >= max)
- throw new IOException("Packet too short.");
-
- return (arr[pos++] & 0xff);
- }
-
- public byte[] readBytes(int len) throws IOException
- {
- if ((pos + len) > max)
- throw new IOException("Packet too short.");
-
- byte[] res = new byte[len];
-
- System.arraycopy(arr, pos, res, 0, len);
- pos += len;
-
- return res;
- }
-
- public void readBytes(byte[] dst, int off, int len) throws IOException
- {
- if ((pos + len) > max)
- throw new IOException("Packet too short.");
-
- System.arraycopy(arr, pos, dst, off, len);
- pos += len;
- }
-
- public boolean readBoolean() throws IOException
- {
- if (pos >= max)
- throw new IOException("Packet too short.");
-
- return (arr[pos++] != 0);
- }
-
- public int readUINT32() throws IOException
- {
- if ((pos + 4) > max)
- throw new IOException("Packet too short.");
-
- return ((arr[pos++] & 0xff) << 24) | ((arr[pos++] & 0xff) << 16) | ((arr[pos++] & 0xff) << 8)
- | (arr[pos++] & 0xff);
- }
-
- public long readUINT64() throws IOException
- {
- if ((pos + 8) > max)
- throw new IOException("Packet too short.");
-
- long high = ((arr[pos++] & 0xff) << 24) | ((arr[pos++] & 0xff) << 16) | ((arr[pos++] & 0xff) << 8)
- | (arr[pos++] & 0xff); /* sign extension may take place - will be shifted away =) */
-
- long low = ((arr[pos++] & 0xff) << 24) | ((arr[pos++] & 0xff) << 16) | ((arr[pos++] & 0xff) << 8)
- | (arr[pos++] & 0xff); /* sign extension may take place - handle below */
-
- return (high << 32) | (low & 0xffffffffl); /* see Java language spec (15.22.1, 5.6.2) */
- }
-
- public BigInteger readMPINT() throws IOException
- {
- BigInteger b;
-
- byte raw[] = readByteString();
-
- if (raw.length == 0)
- b = BigInteger.ZERO;
- else
- b = new BigInteger(raw);
-
- return b;
- }
-
- public byte[] readByteString() throws IOException
- {
- int len = readUINT32();
-
- if ((len + pos) > max)
- throw new IOException("Malformed SSH byte string.");
-
- byte[] res = new byte[len];
- System.arraycopy(arr, pos, res, 0, len);
- pos += len;
- return res;
- }
-
- public String readString(String charsetName) throws IOException
- {
- int len = readUINT32();
-
- if ((len + pos) > max)
- throw new IOException("Malformed SSH string.");
-
- String res = (charsetName == null) ? new String(arr, pos, len) : new String(arr, pos, len, charsetName);
- pos += len;
-
- return res;
- }
-
- public String readString() throws IOException
- {
- int len = readUINT32();
-
- if ((len + pos) > max)
- throw new IOException("Malformed SSH string.");
-
- String res = new String(arr, pos, len, "ISO-8859-1");
-
- pos += len;
-
- return res;
- }
-
- public String[] readNameList() throws IOException
- {
- return Tokenizer.parseTokens(readString(), ',');
- }
-
- public int remain()
- {
- return max - pos;
- }
-
-}
+
+package com.trilead.ssh2.packets;
+
+import java.io.IOException;
+import java.math.BigInteger;
+
+import com.trilead.ssh2.util.Tokenizer;
+
+
+/**
+ * TypesReader.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: TypesReader.java,v 1.2 2008/04/01 12:38:09 cplattne Exp $
+ */
+public class TypesReader
+{
+ byte[] arr;
+ int pos = 0;
+ int max = 0;
+
+ public TypesReader(byte[] arr)
+ {
+ this.arr = arr;
+ pos = 0;
+ max = arr.length;
+ }
+
+ public TypesReader(byte[] arr, int off)
+ {
+ this.arr = arr;
+ this.pos = off;
+ this.max = arr.length;
+
+ if ((pos < 0) || (pos > arr.length))
+ throw new IllegalArgumentException("Illegal offset.");
+ }
+
+ public TypesReader(byte[] arr, int off, int len)
+ {
+ this.arr = arr;
+ this.pos = off;
+ this.max = off + len;
+
+ if ((pos < 0) || (pos > arr.length))
+ throw new IllegalArgumentException("Illegal offset.");
+
+ if ((max < 0) || (max > arr.length))
+ throw new IllegalArgumentException("Illegal length.");
+ }
+
+ public int readByte() throws IOException
+ {
+ if (pos >= max)
+ throw new IOException("Packet too short.");
+
+ return (arr[pos++] & 0xff);
+ }
+
+ public byte[] readBytes(int len) throws IOException
+ {
+ if ((pos + len) > max)
+ throw new IOException("Packet too short.");
+
+ byte[] res = new byte[len];
+
+ System.arraycopy(arr, pos, res, 0, len);
+ pos += len;
+
+ return res;
+ }
+
+ public void readBytes(byte[] dst, int off, int len) throws IOException
+ {
+ if ((pos + len) > max)
+ throw new IOException("Packet too short.");
+
+ System.arraycopy(arr, pos, dst, off, len);
+ pos += len;
+ }
+
+ public boolean readBoolean() throws IOException
+ {
+ if (pos >= max)
+ throw new IOException("Packet too short.");
+
+ return (arr[pos++] != 0);
+ }
+
+ public int readUINT32() throws IOException
+ {
+ if ((pos + 4) > max)
+ throw new IOException("Packet too short.");
+
+ return ((arr[pos++] & 0xff) << 24) | ((arr[pos++] & 0xff) << 16) | ((arr[pos++] & 0xff) << 8)
+ | (arr[pos++] & 0xff);
+ }
+
+ public long readUINT64() throws IOException
+ {
+ if ((pos + 8) > max)
+ throw new IOException("Packet too short.");
+
+ long high = ((arr[pos++] & 0xff) << 24) | ((arr[pos++] & 0xff) << 16) | ((arr[pos++] & 0xff) << 8)
+ | (arr[pos++] & 0xff); /* sign extension may take place - will be shifted away =) */
+
+ long low = ((arr[pos++] & 0xff) << 24) | ((arr[pos++] & 0xff) << 16) | ((arr[pos++] & 0xff) << 8)
+ | (arr[pos++] & 0xff); /* sign extension may take place - handle below */
+
+ return (high << 32) | (low & 0xffffffffl); /* see Java language spec (15.22.1, 5.6.2) */
+ }
+
+ public BigInteger readMPINT() throws IOException
+ {
+ BigInteger b;
+
+ byte raw[] = readByteString();
+
+ if (raw.length == 0)
+ b = BigInteger.ZERO;
+ else
+ b = new BigInteger(raw);
+
+ return b;
+ }
+
+ public byte[] readByteString() throws IOException
+ {
+ int len = readUINT32();
+
+ if ((len + pos) > max)
+ throw new IOException("Malformed SSH byte string.");
+
+ byte[] res = new byte[len];
+ System.arraycopy(arr, pos, res, 0, len);
+ pos += len;
+ return res;
+ }
+
+ public String readString(String charsetName) throws IOException
+ {
+ int len = readUINT32();
+
+ if ((len + pos) > max)
+ throw new IOException("Malformed SSH string.");
+
+ String res = (charsetName == null) ? new String(arr, pos, len) : new String(arr, pos, len, charsetName);
+ pos += len;
+
+ return res;
+ }
+
+ public String readString() throws IOException
+ {
+ int len = readUINT32();
+
+ if ((len + pos) > max)
+ throw new IOException("Malformed SSH string.");
+
+ String res = new String(arr, pos, len, "ISO-8859-1");
+
+ pos += len;
+
+ return res;
+ }
+
+ public String[] readNameList() throws IOException
+ {
+ return Tokenizer.parseTokens(readString(), ',');
+ }
+
+ public int remain()
+ {
+ return max - pos;
+ }
+
+}
diff --git a/lib/src/main/java/com/trilead/ssh2/packets/TypesWriter.java b/lib/src/main/java/com/trilead/ssh2/packets/TypesWriter.java
index f2e5ef3..9f7336b 100644
--- a/lib/src/main/java/com/trilead/ssh2/packets/TypesWriter.java
+++ b/lib/src/main/java/com/trilead/ssh2/packets/TypesWriter.java
@@ -1,169 +1,169 @@
-
-package com.trilead.ssh2.packets;
-
-import java.io.UnsupportedEncodingException;
-import java.math.BigInteger;
-
-/**
- * TypesWriter.
- *
- * @author Christian Plattner, plattner@trilead.com
- * @version $Id: TypesWriter.java,v 1.2 2008/04/01 12:38:09 cplattne Exp $
- */
-public class TypesWriter
-{
- byte arr[];
- int pos;
-
- public TypesWriter()
- {
- arr = new byte[256];
- pos = 0;
- }
-
- private void resize(int len)
- {
- byte new_arr[] = new byte[len];
- System.arraycopy(arr, 0, new_arr, 0, arr.length);
- arr = new_arr;
- }
-
- public int length()
- {
- return pos;
- }
-
- public byte[] getBytes()
- {
- byte[] dst = new byte[pos];
- System.arraycopy(arr, 0, dst, 0, pos);
- return dst;
- }
-
- public void getBytes(byte dst[])
- {
- System.arraycopy(arr, 0, dst, 0, pos);
- }
-
- public void writeUINT32(int val, int off)
- {
- if ((off + 4) > arr.length)
- resize(off + 32);
-
- arr[off++] = (byte) (val >> 24);
- arr[off++] = (byte) (val >> 16);
- arr[off++] = (byte) (val >> 8);
- arr[off++] = (byte) val;
- }
-
- public void writeUINT32(int val)
- {
- writeUINT32(val, pos);
- pos += 4;
- }
-
- public void writeUINT64(long val)
- {
- if ((pos + 8) > arr.length)
- resize(arr.length + 32);
-
- arr[pos++] = (byte) (val >> 56);
- arr[pos++] = (byte) (val >> 48);
- arr[pos++] = (byte) (val >> 40);
- arr[pos++] = (byte) (val >> 32);
- arr[pos++] = (byte) (val >> 24);
- arr[pos++] = (byte) (val >> 16);
- arr[pos++] = (byte) (val >> 8);
- arr[pos++] = (byte) val;
- }
-
- public void writeBoolean(boolean v)
- {
- if ((pos + 1) > arr.length)
- resize(arr.length + 32);
-
- arr[pos++] = v ? (byte) 1 : (byte) 0;
- }
-
- public void writeByte(int v, int off)
- {
- if ((off + 1) > arr.length)
- resize(off + 32);
-
- arr[off] = (byte) v;
- }
-
- public void writeByte(int v)
- {
- writeByte(v, pos);
- pos++;
- }
-
- public void writeMPInt(BigInteger b)
- {
- byte raw[] = b.toByteArray();
-
- if ((raw.length == 1) && (raw[0] == 0))
- writeUINT32(0); /* String with zero bytes of data */
- else
- writeString(raw, 0, raw.length);
- }
-
- public void writeBytes(byte[] buff)
- {
- writeBytes(buff, 0, buff.length);
- }
-
- public void writeBytes(byte[] buff, int off, int len)
- {
- if ((pos + len) > arr.length)
- resize(arr.length + len + 32);
-
- System.arraycopy(buff, off, arr, pos, len);
- pos += len;
- }
-
- public void writeString(byte[] buff, int off, int len)
- {
- writeUINT32(len);
- writeBytes(buff, off, len);
- }
-
- public void writeString(String v)
- {
- byte[] b;
-
- try
- {
- /* All Java JVMs must support ISO-8859-1 */
- b = v.getBytes("ISO-8859-1");
- }
- catch (UnsupportedEncodingException ignore)
- {
- b = v.getBytes();
- }
-
- writeUINT32(b.length);
- writeBytes(b, 0, b.length);
- }
-
- public void writeString(String v, String charsetName) throws UnsupportedEncodingException
- {
- byte[] b = (charsetName == null) ? v.getBytes() : v.getBytes(charsetName);
-
- writeUINT32(b.length);
- writeBytes(b, 0, b.length);
- }
-
- public void writeNameList(String v[])
- {
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < v.length; i++)
- {
- if (i > 0)
- sb.append(',');
- sb.append(v[i]);
- }
- writeString(sb.toString());
- }
-}
+
+package com.trilead.ssh2.packets;
+
+import java.io.UnsupportedEncodingException;
+import java.math.BigInteger;
+
+/**
+ * TypesWriter.
+ *
+ * @author Christian Plattner, plattner@trilead.com
+ * @version $Id: TypesWriter.java,v 1.2 2008/04/01 12:38:09 cplattne Exp $
+ */
+public class TypesWriter
+{
+ byte arr[];
+ int pos;
+
+ public TypesWriter()
+ {
+ arr = new byte[256];
+ pos = 0;
+ }
+
+ private void resize(int len)
+ {
+ byte new_arr[] = new byte[len];
+ System.arraycopy(arr, 0, new_arr, 0, arr.length);
+ arr = new_arr;
+ }
+
+ public int length()
+ {
+ return pos;
+ }
+
+ public byte[] getBytes()
+ {
+ byte[] dst = new byte[pos];
+ System.arraycopy(arr, 0, dst, 0, pos);
+ return dst;
+ }
+
+ public void getBytes(byte dst[])
+ {
+ System.arraycopy(arr, 0, dst, 0, pos);
+ }
+
+ public void writeUINT32(int val, int off)
+ {
+ if ((off + 4) > arr.length)
+ resize(off + 32);
+
+ arr[off++] = (byte) (val >> 24);
+ arr[off++] = (byte) (val >> 16);
+ arr[off++] = (byte) (val >> 8);
+ arr[off++] = (byte) val;
+ }
+
+ public void writeUINT32(int val)
+ {
+ writeUINT32(val, pos);
+ pos += 4;
+ }
+
+ public void writeUINT64(long val)
+ {
+ if ((pos + 8) > arr.length)
+ resize(arr.length + 32);
+
+ arr[pos++] = (byte) (val >> 56);
+ arr[pos++] = (byte) (val >> 48);
+ arr[pos++] = (byte) (val >> 40);
+ arr[pos++] = (byte) (val >> 32);
+ arr[pos++] = (byte) (val >> 24);
+ arr[pos++] = (byte) (val >> 16);
+ arr[pos++] = (byte) (val >> 8);
+ arr[pos++] = (byte) val;
+ }
+
+ public void writeBoolean(boolean v)
+ {
+ if ((pos + 1) > arr.length)
+ resize(arr.length + 32);
+
+ arr[pos++] = v ? (byte) 1 : (byte) 0;
+ }
+
+ public void writeByte(int v, int off)
+ {
+ if ((off + 1) > arr.length)
+ resize(off + 32);
+
+ arr[off] = (byte) v;
+ }
+
+ public void writeByte(int v)
+ {
+ writeByte(v, pos);
+ pos++;
+ }
+
+ public void writeMPInt(BigInteger b)
+ {
+ byte raw[] = b.toByteArray();
+
+ if ((raw.length == 1) && (raw[0] == 0))
+ writeUINT32(0); /* String with zero bytes of data */
+ else
+ writeString(raw, 0, raw.length);
+ }
+
+ public void writeBytes(byte[] buff)
+ {
+ writeBytes(buff, 0, buff.length);
+ }
+
+ public void writeBytes(byte[] buff, int off, int len)
+ {
+ if ((pos + len) > arr.length)
+ resize(arr.length + len + 32);
+
+ System.arraycopy(buff, off, arr, pos, len);
+ pos += len;
+ }
+
+ public void writeString(byte[] buff, int off, int len)
+ {
+ writeUINT32(len);
+ writeBytes(buff, off, len);
+ }
+
+ public void writeString(String v)
+ {
+ byte[] b;
+
+ try
+ {
+ /* All Java JVMs must support ISO-8859-1 */
+ b = v.getBytes("ISO-8859-1");
+ }
+ catch (UnsupportedEncodingException ignore)
+ {
+ b = v.getBytes();
+ }
+
+ writeUINT32(b.length);
+ writeBytes(b, 0, b.length);
+ }
+
+ public void writeString(String v, String charsetName) throws UnsupportedEncodingException
+ {
+ byte[] b = (charsetName == null) ? v.getBytes() : v.getBytes(charsetName);
+
+ writeUINT32(b.length);
+ writeBytes(b, 0, b.length);
+ }
+
+ public void writeNameList(String v[])
+ {
+ StringBuffer sb = new StringBuffer();
+ for (int i = 0; i < v.length; i++)
+ {
+ if (i > 0)
+ sb.append(',');
+ sb.append(v[i]);
+ }
+ writeString(sb.toString());
+ }
+}