OSDN Git Service

Initial import from http://code.google.com/p/connectbot/ (r416)
[android-x86/packages-apps-ConnectBot.git] / src / com / trilead / ssh2 / packets / PacketUserauthRequestNone.java
1 package com.trilead.ssh2.packets;\r
2 \r
3 import java.io.IOException;\r
4 \r
5 /**\r
6  * PacketUserauthRequestPassword.\r
7  * \r
8  * @author Christian Plattner, plattner@trilead.com\r
9  * @version $Id: PacketUserauthRequestNone.java,v 1.1 2007/10/15 12:49:55 cplattne Exp $\r
10  */\r
11 public class PacketUserauthRequestNone\r
12 {\r
13         byte[] payload;\r
14 \r
15         String userName;\r
16         String serviceName;\r
17 \r
18         public PacketUserauthRequestNone(String serviceName, String user)\r
19         {\r
20                 this.serviceName = serviceName;\r
21                 this.userName = user;\r
22         }\r
23 \r
24         public PacketUserauthRequestNone(byte payload[], int off, int len) throws IOException\r
25         {\r
26                 this.payload = new byte[len];\r
27                 System.arraycopy(payload, off, this.payload, 0, len);\r
28 \r
29                 TypesReader tr = new TypesReader(payload, off, len);\r
30 \r
31                 int packet_type = tr.readByte();\r
32 \r
33                 if (packet_type != Packets.SSH_MSG_USERAUTH_REQUEST)\r
34                         throw new IOException("This is not a SSH_MSG_USERAUTH_REQUEST! (" + packet_type + ")");\r
35 \r
36                 userName = tr.readString();\r
37                 serviceName = tr.readString();\r
38 \r
39                 String method = tr.readString();\r
40 \r
41                 if (method.equals("none") == false)\r
42                         throw new IOException("This is not a SSH_MSG_USERAUTH_REQUEST with type none!");\r
43 \r
44                 if (tr.remain() != 0)\r
45                         throw new IOException("Padding in SSH_MSG_USERAUTH_REQUEST packet!");\r
46         }\r
47 \r
48         public byte[] getPayload()\r
49         {\r
50                 if (payload == null)\r
51                 {\r
52                         TypesWriter tw = new TypesWriter();\r
53                         tw.writeByte(Packets.SSH_MSG_USERAUTH_REQUEST);\r
54                         tw.writeString(userName);\r
55                         tw.writeString(serviceName);\r
56                         tw.writeString("none");\r
57                         payload = tw.getBytes();\r
58                 }\r
59                 return payload;\r
60         }\r
61 }\r