1 package ch.ethz.ssh2.packets; 2 import java.io.IOException ; 3 4 10 public class PacketDisconnect 11 { 12 byte[] payload; 13 14 int reason; 15 String desc; 16 String lang; 17 18 public PacketDisconnect(byte payload[], int off, int len) throws IOException 19 { 20 this.payload = new byte[len]; 21 System.arraycopy(payload, off, this.payload, 0, len); 22 23 TypesReader tr = new TypesReader(payload, off, len); 24 25 int packet_type = tr.readByte(); 26 27 if (packet_type != Packets.SSH_MSG_DISCONNECT) 28 throw new IOException ("This is not a Disconnect Packet! (" 29 + packet_type + ")"); 30 31 reason = tr.readUINT32(); 32 desc = tr.readString(); 33 lang = tr.readString(); 34 } 35 36 public PacketDisconnect(int reason, String desc, String lang) 37 { 38 this.reason = reason; 39 this.desc = desc; 40 this.lang = lang; 41 } 42 43 public byte[] getPayload() 44 { 45 if (payload == null) 46 { 47 TypesWriter tw = new TypesWriter(); 48 tw.writeByte(Packets.SSH_MSG_DISCONNECT); 49 tw.writeUINT32(reason); 50 tw.writeString(desc); 51 tw.writeString(lang); 52 payload = tw.getBytes(); 53 } 54 return payload; 55 } 56 } 57 | Popular Tags |