final class sun.security.ssl.Utilities
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.Utilities
super_class: java.lang.Object
{
static final char[] hexDigits;
descriptor: [C
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "0123456789ABCDEF"
invokevirtual java.lang.String.toCharArray:()[C
putstatic sun.security.ssl.Utilities.hexDigits:[C
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/Utilities;
static java.util.List<javax.net.ssl.SNIServerName> addToSNIServerNameList(java.util.List<javax.net.ssl.SNIServerName>, java.lang.String);
descriptor: (Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokestatic sun.security.ssl.Utilities.rawToSNIHostName:(Ljava/lang/String;)Ljavax/net/ssl/SNIHostName;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aload 0
areturn
3: StackMap locals: javax.net.ssl.SNIHostName
StackMap stack:
aload 0
invokeinterface java.util.List.size:()I
istore 3
start local 3 4: iload 3
ifeq 6
5: new java.util.ArrayList
dup
aload 0
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
goto 7
6: StackMap locals: int
StackMap stack:
new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
7: StackMap locals:
StackMap stack: java.util.ArrayList
astore 4
start local 4 8: iconst_0
istore 5
start local 5 9: iconst_0
istore 6
start local 6 10: goto 22
11: StackMap locals: java.util.List int int
StackMap stack:
aload 4
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.net.ssl.SNIServerName
astore 7
start local 7 12: aload 7
invokevirtual javax.net.ssl.SNIServerName.getType:()I
ifne 21
13: aload 4
iload 6
aload 2
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
14: ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 19
15: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: ldc ", the previous server name in SNI ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
17: ldc ") was replaced with ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
19: StackMap locals: javax.net.ssl.SNIServerName
StackMap stack:
iconst_1
istore 5
20: goto 23
end local 7 21: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
22: iload 6
iload 3
if_icmplt 11
end local 6 23: StackMap locals:
StackMap stack:
iload 5
ifne 25
24: aload 4
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: StackMap locals:
StackMap stack:
aload 4
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
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 26 0 serverNames Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;
0 26 1 hostname Ljava/lang/String;
1 26 2 sniHostName Ljavax/net/ssl/SNIHostName;
4 26 3 size I
8 26 4 sniList Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;
9 26 5 reset Z
10 23 6 i I
12 21 7 serverName Ljavax/net/ssl/SNIServerName;
Signature: (Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;Ljava/lang/String;)Ljava/util/List<Ljavax/net/ssl/SNIServerName;>;
MethodParameters:
Name Flags
serverNames
hostname
private static javax.net.ssl.SNIHostName rawToSNIHostName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/net/ssl/SNIHostName;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
ifnull 13
aload 0
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
ifle 13
2: aload 0
ldc "."
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 13
3: aload 0
invokestatic sun.net.util.IPAddressUtil.isIPv4LiteralAddress:(Ljava/lang/String;)Z
ifne 13
4: aload 0
invokestatic sun.net.util.IPAddressUtil.isIPv6LiteralAddress:(Ljava/lang/String;)Z
ifne 13
5: new javax.net.ssl.SNIHostName
dup
aload 0
invokespecial javax.net.ssl.SNIHostName.<init>:(Ljava/lang/String;)V
astore 1
6: goto 13
StackMap locals: java.lang.String javax.net.ssl.SNIHostName
StackMap stack: java.lang.IllegalArgumentException
7: pop
8: ldc "ssl"
invokestatic sun.security.ssl.Debug.isOn:(Ljava/lang/String;)Z
ifeq 13
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: ldc ", \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc "is not a legal HostName for server name indication"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 hostname Ljava/lang/String;
1 14 1 sniHostName Ljavax/net/ssl/SNIHostName;
Exception table:
from to target type
5 6 7 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
hostname
}
SourceFile: "Utilities.java"