class com.jcraft.jsch.UserAuthKeyboardInteractive extends com.jcraft.jsch.UserAuth
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.jcraft.jsch.UserAuthKeyboardInteractive
super_class: com.jcraft.jsch.UserAuth
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.jcraft.jsch.UserAuth.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/UserAuthKeyboardInteractive;
public boolean start(com.jcraft.jsch.Session);
descriptor: (Lcom/jcraft/jsch/Session;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=17, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.jcraft.jsch.UserAuth.start:(Lcom/jcraft/jsch/Session;)Z
pop
1: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.userinfo:Lcom/jcraft/jsch/UserInfo;
ifnull 3
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.userinfo:Lcom/jcraft/jsch/UserInfo;
instanceof com.jcraft.jsch.UIKeyboardInteractive
ifne 3
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.username:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "@"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 4: aload 1
getfield com.jcraft.jsch.Session.port:I
bipush 22
if_icmpeq 6
5: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield com.jcraft.jsch.Session.port:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
6: StackMap locals: java.lang.String
StackMap stack:
aload 1
getfield com.jcraft.jsch.Session.password:[B
astore 3
start local 3 7: iconst_0
istore 4
start local 4 8: aconst_null
astore 5
start local 5 9: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.username:Ljava/lang/String;
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
astore 5
10: StackMap locals: byte[] int byte[]
StackMap stack:
aload 1
getfield com.jcraft.jsch.Session.auth_failures:I
aload 1
getfield com.jcraft.jsch.Session.max_auth_tries:I
if_icmplt 12
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.packet:Lcom/jcraft/jsch/Packet;
invokevirtual com.jcraft.jsch.Packet.reset:()V
13: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
bipush 50
invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
14: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
aload 5
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
15: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
ldc "ssh-connection"
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
16: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
ldc "keyboard-interactive"
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
17: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
getstatic com.jcraft.jsch.Util.empty:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
18: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
getstatic com.jcraft.jsch.Util.empty:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
19: aload 1
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.packet:Lcom/jcraft/jsch/Packet;
invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
20: iconst_1
istore 6
start local 6 21: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Session.read:(Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/Buffer;
putfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
22: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getCommand:()B
sipush 255
iand
istore 7
start local 7 23: iload 7
bipush 52
if_icmpne 25
24: iconst_1
ireturn
25: StackMap locals: int
StackMap stack:
iload 7
bipush 53
if_icmpne 33
26: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getInt:()I
pop
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getByte:()I
pop
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getByte:()I
pop
27: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
astore 8
start local 8 28: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
pop
29: aload 8
invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
astore 9
start local 9 30: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.userinfo:Lcom/jcraft/jsch/UserInfo;
ifnull 21
31: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.userinfo:Lcom/jcraft/jsch/UserInfo;
aload 9
invokeinterface com.jcraft.jsch.UserInfo.showMessage:(Ljava/lang/String;)V
32: goto 21
end local 9 end local 8 33: StackMap locals:
StackMap stack:
iload 7
bipush 51
if_icmpne 43
34: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getInt:()I
pop
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getByte:()I
pop
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getByte:()I
pop
35: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
astore 8
start local 8 36: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getByte:()I
istore 9
start local 9 37: iload 9
ifeq 39
38: new com.jcraft.jsch.JSchPartialAuthException
dup
aload 8
invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
invokespecial com.jcraft.jsch.JSchPartialAuthException.<init>:(Ljava/lang/String;)V
athrow
39: StackMap locals: byte[] int
StackMap stack:
iload 6
ifeq 41
40: iconst_0
ireturn
41: StackMap locals:
StackMap stack:
aload 1
dup
getfield com.jcraft.jsch.Session.auth_failures:I
iconst_1
iadd
putfield com.jcraft.jsch.Session.auth_failures:I
42: goto 112
end local 9 end local 8 43: StackMap locals:
StackMap stack:
iload 7
bipush 60
if_icmpne 111
44: iconst_0
istore 6
45: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getInt:()I
pop
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getByte:()I
pop
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getByte:()I
pop
46: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
astore 8
start local 8 47: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
astore 9
start local 9 48: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
pop
49: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getInt:()I
istore 10
start local 10 50: iload 10
anewarray java.lang.String
astore 11
start local 11 51: iload 10
newarray 4
astore 12
start local 12 52: iconst_0
istore 13
start local 13 53: goto 59
54: StackMap locals: com.jcraft.jsch.UserAuthKeyboardInteractive com.jcraft.jsch.Session java.lang.String byte[] int byte[] int int java.lang.String java.lang.String int java.lang.String[] boolean[] int
StackMap stack:
aload 11
iload 13
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
aastore
55: aload 12
iload 13
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
invokevirtual com.jcraft.jsch.Buffer.getByte:()I
ifeq 56
iconst_1
goto 57
StackMap locals: com.jcraft.jsch.UserAuthKeyboardInteractive com.jcraft.jsch.Session java.lang.String byte[] int byte[] int int java.lang.String java.lang.String int java.lang.String[] boolean[] int
StackMap stack: boolean[] int
56: iconst_0
StackMap locals: com.jcraft.jsch.UserAuthKeyboardInteractive com.jcraft.jsch.Session java.lang.String byte[] int byte[] int int java.lang.String java.lang.String int java.lang.String[] boolean[] int
StackMap stack: boolean[] int int
57: bastore
58: iinc 13 1
StackMap locals:
StackMap stack:
59: iload 13
iload 10
if_icmplt 54
end local 13 60: aconst_null
astore 13
start local 13 61: aload 3
ifnull 69
62: aload 11
arraylength
iconst_1
if_icmpne 69
63: aload 12
iconst_0
baload
ifne 69
64: aload 11
iconst_0
aaload
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc "password:"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iflt 69
65: iconst_1
anewarray byte[]
astore 13
66: aload 13
iconst_0
aload 3
aastore
67: aconst_null
astore 3
68: goto 86
69: StackMap locals: com.jcraft.jsch.UserAuthKeyboardInteractive com.jcraft.jsch.Session java.lang.String byte[] int byte[] int int java.lang.String java.lang.String int java.lang.String[] boolean[] byte[][]
StackMap stack:
iload 10
ifgt 71
70: aload 8
invokevirtual java.lang.String.length:()I
ifgt 71
aload 9
invokevirtual java.lang.String.length:()I
ifle 86
71: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.userinfo:Lcom/jcraft/jsch/UserInfo;
ifnull 86
72: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.userinfo:Lcom/jcraft/jsch/UserInfo;
checkcast com.jcraft.jsch.UIKeyboardInteractive
astore 14
start local 14 73: aload 14
aload 2
74: aload 8
75: aload 9
76: aload 11
77: aload 12
78: invokeinterface com.jcraft.jsch.UIKeyboardInteractive.promptKeyboardInteractive:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Z)[Ljava/lang/String;
astore 15
start local 15 79: aload 15
ifnull 86
80: aload 15
arraylength
anewarray byte[]
astore 13
81: iconst_0
istore 16
start local 16 82: goto 85
83: StackMap locals: com.jcraft.jsch.UIKeyboardInteractive java.lang.String[] int
StackMap stack:
aload 13
iload 16
aload 15
iload 16
aaload
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
aastore
84: iinc 16 1
StackMap locals:
StackMap stack:
85: iload 16
aload 15
arraylength
if_icmplt 83
end local 16 end local 15 end local 14 86: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.packet:Lcom/jcraft/jsch/Packet;
invokevirtual com.jcraft.jsch.Packet.reset:()V
87: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
bipush 61
invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
88: iload 10
ifle 103
89: aload 13
ifnull 91
90: iload 10
aload 13
arraylength
if_icmpeq 103
91: StackMap locals:
StackMap stack:
aload 13
ifnonnull 99
92: aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
iload 10
invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
93: iconst_0
istore 14
start local 14 94: goto 97
95: StackMap locals: int
StackMap stack:
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
getstatic com.jcraft.jsch.Util.empty:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
96: iinc 14 1
StackMap locals:
StackMap stack:
97: iload 14
iload 10
if_icmplt 95
end local 14 98: goto 100
99: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
iconst_0
invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
100: StackMap locals:
StackMap stack:
aload 13
ifnonnull 109
101: iconst_1
istore 4
102: goto 109
103: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
iload 10
invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
104: iconst_0
istore 14
start local 14 105: goto 108
106: StackMap locals: int
StackMap stack:
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.buf:Lcom/jcraft/jsch/Buffer;
aload 13
iload 14
aaload
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
107: iinc 14 1
StackMap locals:
StackMap stack:
108: iload 14
iload 10
if_icmplt 106
end local 14 109: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.jcraft.jsch.UserAuthKeyboardInteractive.packet:Lcom/jcraft/jsch/Packet;
invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
110: goto 21
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 111: StackMap locals: com.jcraft.jsch.UserAuthKeyboardInteractive com.jcraft.jsch.Session java.lang.String byte[] int byte[] int int
StackMap stack:
iconst_0
ireturn
end local 7 112: StackMap locals:
StackMap stack:
iload 4
ifeq 10
113: new com.jcraft.jsch.JSchAuthCancelException
dup
ldc "keyboard-interactive"
invokespecial com.jcraft.jsch.JSchAuthCancelException.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 114 0 this Lcom/jcraft/jsch/UserAuthKeyboardInteractive;
0 114 1 session Lcom/jcraft/jsch/Session;
4 114 2 dest Ljava/lang/String;
7 114 3 password [B
8 114 4 cancel Z
9 114 5 _username [B
21 114 6 firsttime Z
23 112 7 command I
28 33 8 _message [B
30 33 9 message Ljava/lang/String;
36 43 8 foo [B
37 43 9 partial_success I
47 111 8 name Ljava/lang/String;
48 111 9 instruction Ljava/lang/String;
50 111 10 num I
51 111 11 prompt [Ljava/lang/String;
52 111 12 echo [Z
53 60 13 i I
61 111 13 response [[B
73 86 14 kbi Lcom/jcraft/jsch/UIKeyboardInteractive;
79 86 15 _response [Ljava/lang/String;
82 86 16 i I
94 98 14 i I
105 109 14 i I
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
session
}
SourceFile: "UserAuthKeyboardInteractive.java"