Last active
August 29, 2015 14:08
-
-
Save Thynix/9ff588fbdf39125fd84a to your computer and use it in GitHub Desktop.
Freenet UPnP class file differences
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class plugins.UPnP.UPnP extends plugins.UPnP.org.cybergarage.upnp.ControlPoint implements freenet.pluginmanager.FredPluginHTTP,freenet.pluginmanager.FredPlugin,freenet.pluginmanager.FredPluginThreadless,freenet.pluginmanager.FredPluginIPDetector,freenet.pluginmanager.FredPluginPortForward,freenet.pluginmanager.FredPluginBandwidthIndicator,freenet.pluginmanager.FredPluginVersioned,freenet.pluginmanager.FredPluginRealVersioned,plugins.UPnP.org.cybergarage.upnp.device.DeviceChangeListener { | |
public plugins.UPnP.UPnP(); | |
Code: | |
0: aload_0 | |
1: invokespecial #1 // Method plugins/UPnP/org/cybergarage/upnp/ControlPoint."<init>":()V | |
4: aload_0 | |
5: iconst_0 | |
6: putfield #2 // Field isDisabled:Z | |
9: aload_0 | |
10: new #3 // class java/lang/Object | |
13: dup | |
14: invokespecial #4 // Method java/lang/Object."<init>":()V | |
17: putfield #5 // Field lock:Ljava/lang/Object; | |
20: aload_0 | |
21: iconst_0 | |
22: putfield #6 // Field thinksWeAreDoubleNatted:Z | |
25: aload_0 | |
26: new #7 // class java/util/HashSet | |
29: dup | |
30: invokespecial #8 // Method java/util/HashSet."<init>":()V | |
33: putfield #9 // Field portsForwarded:Ljava/util/Set; | |
36: aload_0 | |
37: aload_0 | |
38: invokevirtual #10 // Method addDeviceChangeListener:(Lplugins/UPnP/org/cybergarage/upnp/device/DeviceChangeListener;)V | |
41: return | |
public void runPlugin(freenet.pluginmanager.PluginRespirator); | |
Code: | |
0: aload_0 | |
1: aload_1 | |
2: putfield #11 // Field pr:Lfreenet/pluginmanager/PluginRespirator; | |
5: aload_0 | |
6: invokespecial #12 // Method plugins/UPnP/org/cybergarage/upnp/ControlPoint.start:()Z | |
9: pop | |
10: return | |
public void terminate(); | |
Code: | |
0: aload_0 | |
1: invokevirtual #13 // Method unregisterPortMappings:()V | |
4: aload_0 | |
5: invokespecial #14 // Method plugins/UPnP/org/cybergarage/upnp/ControlPoint.stop:()Z | |
8: pop | |
9: return | |
public freenet.pluginmanager.DetectedIP[] getAddress(); | |
Code: | |
0: aload_0 | |
1: ldc #15 // String UP&P.getAddress() is called \o/ | |
3: invokestatic #16 // Method freenet/support/Logger.minor:(Ljava/lang/Object;Ljava/lang/String;)V | |
6: aload_0 | |
7: getfield #2 // Field isDisabled:Z | |
10: ifeq 21 | |
13: aload_0 | |
14: ldc #17 // String Plugin has been disabled previously, ignoring request. | |
16: invokestatic #18 // Method freenet/support/Logger.normal:(Ljava/lang/Object;Ljava/lang/String;)V | |
19: aconst_null | |
20: areturn | |
21: aload_0 | |
22: invokevirtual #19 // Method isNATPresent:()Z | |
25: ifne 36 | |
28: aload_0 | |
29: ldc #20 // String No UP&P device found, detection of the external ip address using the plugin has failed | |
31: invokestatic #18 // Method freenet/support/Logger.normal:(Ljava/lang/Object;Ljava/lang/String;)V | |
34: aconst_null | |
35: areturn | |
36: aconst_null | |
37: astore_1 | |
38: aload_0 | |
39: invokevirtual #21 // Method getNATAddress:()Ljava/lang/String; | |
42: astore_2 | |
43: aload_2 | |
44: invokestatic #22 // Method java/net/InetAddress.getByName:(Ljava/lang/String;)Ljava/net/InetAddress; | |
47: astore_3 | |
48: iconst_1 | |
49: istore 4 | |
51: aload_0 | |
52: aload_3 | |
53: iconst_0 | |
54: invokestatic #23 // Method freenet/support/transport/ip/IPUtil.isValidAddress:(Ljava/net/InetAddress;Z)Z | |
57: ifne 64 | |
60: iconst_1 | |
61: goto 65 | |
64: iconst_0 | |
65: putfield #6 // Field thinksWeAreDoubleNatted:Z | |
68: aload_0 | |
69: getfield #9 // Field portsForwarded:Ljava/util/Set; | |
72: invokeinterface #24, 1 // InterfaceMethod java/util/Set.size:()I | |
77: iconst_1 | |
78: if_icmple 91 | |
81: aload_0 | |
82: getfield #6 // Field thinksWeAreDoubleNatted:Z | |
85: ifne 91 | |
88: iconst_2 | |
89: istore 4 | |
91: new #25 // class freenet/pluginmanager/DetectedIP | |
94: dup | |
95: aload_3 | |
96: iload 4 | |
98: invokespecial #26 // Method freenet/pluginmanager/DetectedIP."<init>":(Ljava/net/InetAddress;S)V | |
101: astore_1 | |
102: aload_0 | |
103: new #27 // class java/lang/StringBuilder | |
106: dup | |
107: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
110: ldc #29 // String Successful UP&P discovery: | |
112: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
115: aload_1 | |
116: invokevirtual #31 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; | |
119: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
122: invokestatic #18 // Method freenet/support/Logger.normal:(Ljava/lang/Object;Ljava/lang/String;)V | |
125: getstatic #33 // Field java/lang/System.out:Ljava/io/PrintStream; | |
128: new #27 // class java/lang/StringBuilder | |
131: dup | |
132: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
135: ldc #29 // String Successful UP&P discovery: | |
137: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
140: aload_1 | |
141: invokevirtual #31 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; | |
144: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
147: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
150: iconst_1 | |
151: anewarray #25 // class freenet/pluginmanager/DetectedIP | |
154: dup | |
155: iconst_0 | |
156: aload_1 | |
157: aastore | |
158: areturn | |
159: astore_3 | |
160: aload_0 | |
161: new #27 // class java/lang/StringBuilder | |
164: dup | |
165: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
168: ldc #36 // String Caught an UnknownHostException resolving | |
170: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
173: aload_2 | |
174: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
177: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
180: aload_3 | |
181: invokestatic #37 // Method freenet/support/Logger.error:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Throwable;)V | |
184: getstatic #38 // Field java/lang/System.err:Ljava/io/PrintStream; | |
187: new #27 // class java/lang/StringBuilder | |
190: dup | |
191: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
194: ldc #39 // String UP&P discovery has failed: unable to resolve | |
196: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
199: aload_1 | |
200: invokevirtual #31 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; | |
203: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
206: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
209: aconst_null | |
210: areturn | |
Exception table: | |
from to target type | |
43 158 159 Class java/net/UnknownHostException | |
public void deviceAdded(plugins.UPnP.org.cybergarage.upnp.Device); | |
Code: | |
0: aload_0 | |
1: getfield #5 // Field lock:Ljava/lang/Object; | |
4: dup | |
5: astore_2 | |
6: monitorenter | |
7: aload_0 | |
8: getfield #2 // Field isDisabled:Z | |
11: ifeq 23 | |
14: aload_0 | |
15: ldc #40 // String Plugin has been disabled previously, ignoring new device. | |
17: invokestatic #18 // Method freenet/support/Logger.normal:(Ljava/lang/Object;Ljava/lang/String;)V | |
20: aload_2 | |
21: monitorexit | |
22: return | |
23: aload_2 | |
24: monitorexit | |
25: goto 33 | |
28: astore_3 | |
29: aload_2 | |
30: monitorexit | |
31: aload_3 | |
32: athrow | |
33: ldc #41 // String urn:schemas-upnp-org:device:InternetGatewayDevice:1 | |
35: aload_1 | |
36: invokevirtual #42 // Method plugins/UPnP/org/cybergarage/upnp/Device.getDeviceType:()Ljava/lang/String; | |
39: invokevirtual #43 // Method java/lang/String.equals:(Ljava/lang/Object;)Z | |
42: ifeq 52 | |
45: aload_1 | |
46: invokevirtual #44 // Method plugins/UPnP/org/cybergarage/upnp/Device.isRootDevice:()Z | |
49: ifne 53 | |
52: return | |
53: aload_0 | |
54: invokevirtual #19 // Method isNATPresent:()Z | |
57: ifeq 114 | |
60: aload_0 | |
61: ldc #45 // String We got a second IGD on the network! the plugin doesn't handle that: let's disable it. | |
63: invokestatic #46 // Method freenet/support/Logger.error:(Ljava/lang/Object;Ljava/lang/String;)V | |
66: getstatic #38 // Field java/lang/System.err:Ljava/io/PrintStream; | |
69: ldc #47 // String The UP&P plugin has found more than one IGD on the network, as a result it will be disabled | |
71: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
74: aload_0 | |
75: iconst_1 | |
76: putfield #2 // Field isDisabled:Z | |
79: aload_0 | |
80: getfield #5 // Field lock:Ljava/lang/Object; | |
83: dup | |
84: astore_2 | |
85: monitorenter | |
86: aload_0 | |
87: aconst_null | |
88: putfield #48 // Field _router:Lplugins/UPnP/org/cybergarage/upnp/Device; | |
91: aload_0 | |
92: aconst_null | |
93: putfield #49 // Field _service:Lplugins/UPnP/org/cybergarage/upnp/Service; | |
96: aload_2 | |
97: monitorexit | |
98: goto 108 | |
101: astore 4 | |
103: aload_2 | |
104: monitorexit | |
105: aload 4 | |
107: athrow | |
108: aload_0 | |
109: invokevirtual #50 // Method stop:()Z | |
112: pop | |
113: return | |
114: aload_0 | |
115: new #27 // class java/lang/StringBuilder | |
118: dup | |
119: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
122: ldc #51 // String UP&P IGD found: | |
124: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
127: aload_1 | |
128: invokevirtual #52 // Method plugins/UPnP/org/cybergarage/upnp/Device.getFriendlyName:()Ljava/lang/String; | |
131: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
134: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
137: invokestatic #18 // Method freenet/support/Logger.normal:(Ljava/lang/Object;Ljava/lang/String;)V | |
140: getstatic #33 // Field java/lang/System.out:Ljava/io/PrintStream; | |
143: new #27 // class java/lang/StringBuilder | |
146: dup | |
147: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
150: ldc #51 // String UP&P IGD found: | |
152: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
155: aload_1 | |
156: invokevirtual #52 // Method plugins/UPnP/org/cybergarage/upnp/Device.getFriendlyName:()Ljava/lang/String; | |
159: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
162: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
165: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
168: aload_0 | |
169: getfield #5 // Field lock:Ljava/lang/Object; | |
172: dup | |
173: astore_2 | |
174: monitorenter | |
175: aload_0 | |
176: aload_1 | |
177: putfield #48 // Field _router:Lplugins/UPnP/org/cybergarage/upnp/Device; | |
180: aload_2 | |
181: monitorexit | |
182: goto 192 | |
185: astore 5 | |
187: aload_2 | |
188: monitorexit | |
189: aload 5 | |
191: athrow | |
192: aload_0 | |
193: invokespecial #53 // Method discoverService:()V | |
196: aload_0 | |
197: invokevirtual #50 // Method stop:()Z | |
200: pop | |
201: aload_0 | |
202: getfield #5 // Field lock:Ljava/lang/Object; | |
205: dup | |
206: astore_2 | |
207: monitorenter | |
208: aload_0 | |
209: getfield #49 // Field _service:Lplugins/UPnP/org/cybergarage/upnp/Service; | |
212: ifnonnull 242 | |
215: aload_0 | |
216: ldc #54 // String The IGD device we got isn't suiting our needs, let's disable the plugin | |
218: invokestatic #46 // Method freenet/support/Logger.error:(Ljava/lang/Object;Ljava/lang/String;)V | |
221: getstatic #38 // Field java/lang/System.err:Ljava/io/PrintStream; | |
224: ldc #54 // String The IGD device we got isn't suiting our needs, let's disable the plugin | |
226: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
229: aload_0 | |
230: iconst_1 | |
231: putfield #2 // Field isDisabled:Z | |
234: aload_0 | |
235: aconst_null | |
236: putfield #48 // Field _router:Lplugins/UPnP/org/cybergarage/upnp/Device; | |
239: aload_2 | |
240: monitorexit | |
241: return | |
242: aload_2 | |
243: monitorexit | |
244: goto 254 | |
247: astore 6 | |
249: aload_2 | |
250: monitorexit | |
251: aload 6 | |
253: athrow | |
254: aload_0 | |
255: invokespecial #55 // Method registerPortMappings:()V | |
258: return | |
Exception table: | |
from to target type | |
7 22 28 any | |
23 25 28 any | |
28 31 28 any | |
86 98 101 any | |
101 105 101 any | |
175 182 185 any | |
185 189 185 any | |
208 241 247 any | |
242 244 247 any | |
247 251 247 any | |
public boolean tryAddMapping(java.lang.String, int, java.lang.String, freenet.pluginmanager.ForwardPort); | |
Code: | |
0: aload_0 | |
1: new #27 // class java/lang/StringBuilder | |
4: dup | |
5: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
8: ldc #76 // String Registering a port mapping for | |
10: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
13: iload_2 | |
14: invokevirtual #77 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
17: ldc #78 // String / | |
19: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
22: aload_1 | |
23: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
26: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
29: invokestatic #18 // Method freenet/support/Logger.normal:(Ljava/lang/Object;Ljava/lang/String;)V | |
32: getstatic #38 // Field java/lang/System.err:Ljava/io/PrintStream; | |
35: new #27 // class java/lang/StringBuilder | |
38: dup | |
39: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
42: ldc #79 // String UPnP: Registering a port mapping for | |
44: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
47: iload_2 | |
48: invokevirtual #77 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
51: ldc #78 // String / | |
53: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
56: aload_1 | |
57: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
60: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
63: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
66: iconst_0 | |
67: istore 5 | |
69: iconst_0 | |
70: istore 6 | |
72: iload 5 | |
74: iinc 5, 1 | |
77: iconst_5 | |
78: if_icmpge 132 | |
81: aload_0 | |
82: aload_1 | |
83: iload_2 | |
84: new #27 // class java/lang/StringBuilder | |
87: dup | |
88: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
91: ldc #80 // String Freenet 0.7 | |
93: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
96: aload_3 | |
97: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
100: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
103: aload 4 | |
105: invokespecial #81 // Method addMapping:(Ljava/lang/String;ILjava/lang/String;Lfreenet/pluginmanager/ForwardPort;)Z | |
108: istore 6 | |
110: iload 6 | |
112: ifeq 118 | |
115: goto 132 | |
118: ldc2_w #82 // long 5000l | |
121: invokestatic #84 // Method java/lang/Thread.sleep:(J)V | |
124: goto 72 | |
127: astore 7 | |
129: goto 72 | |
132: aload_0 | |
133: new #27 // class java/lang/StringBuilder | |
136: dup | |
137: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
140: iload 6 | |
142: ifeq 150 | |
145: ldc #86 // String Mapping is successful! | |
147: goto 152 | |
150: ldc #87 // String Mapping has failed! | |
152: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
155: ldc #88 // String ( | |
157: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
160: iload 5 | |
162: invokevirtual #77 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
165: ldc #89 // String tries) | |
167: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
170: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
173: invokestatic #18 // Method freenet/support/Logger.normal:(Ljava/lang/Object;Ljava/lang/String;)V | |
176: getstatic #38 // Field java/lang/System.err:Ljava/io/PrintStream; | |
179: new #27 // class java/lang/StringBuilder | |
182: dup | |
183: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
186: ldc #90 // String UPnP: | |
188: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
191: iload 6 | |
193: ifeq 201 | |
196: ldc #86 // String Mapping is successful! | |
198: goto 203 | |
201: ldc #87 // String Mapping has failed! | |
203: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
206: ldc #88 // String ( | |
208: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
211: iload 5 | |
213: invokevirtual #77 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
216: ldc #89 // String tries) | |
218: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
221: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
224: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
227: iload 6 | |
229: ireturn | |
Exception table: | |
from to target type | |
118 124 127 Class java/lang/InterruptedException | |
public void unregisterPortMappings(); | |
Code: | |
0: new #7 // class java/util/HashSet | |
3: dup | |
4: invokespecial #8 // Method java/util/HashSet."<init>":()V | |
7: astore_1 | |
8: aload_0 | |
9: getfield #5 // Field lock:Ljava/lang/Object; | |
12: dup | |
13: astore_2 | |
14: monitorenter | |
15: aload_1 | |
16: aload_0 | |
17: getfield #9 // Field portsForwarded:Ljava/util/Set; | |
20: invokeinterface #57, 2 // InterfaceMethod java/util/Set.addAll:(Ljava/util/Collection;)Z | |
25: pop | |
26: aload_2 | |
27: monitorexit | |
28: goto 36 | |
31: astore_3 | |
32: aload_2 | |
33: monitorexit | |
34: aload_3 | |
35: athrow | |
36: aload_0 | |
37: aload_1 | |
38: invokespecial #91 // Method unregisterPorts:(Ljava/util/Set;)V | |
41: return | |
Exception table: | |
from to target type | |
15 28 31 any | |
31 34 31 any | |
public void deviceRemoved(plugins.UPnP.org.cybergarage.upnp.Device); | |
Code: | |
0: aload_0 | |
1: getfield #5 // Field lock:Ljava/lang/Object; | |
4: dup | |
5: astore_2 | |
6: monitorenter | |
7: aload_0 | |
8: getfield #48 // Field _router:Lplugins/UPnP/org/cybergarage/upnp/Device; | |
11: ifnonnull 17 | |
14: aload_2 | |
15: monitorexit | |
16: return | |
17: aload_0 | |
18: getfield #48 // Field _router:Lplugins/UPnP/org/cybergarage/upnp/Device; | |
21: aload_1 | |
22: invokevirtual #92 // Method java/lang/Object.equals:(Ljava/lang/Object;)Z | |
25: ifeq 38 | |
28: aload_0 | |
29: aconst_null | |
30: putfield #48 // Field _router:Lplugins/UPnP/org/cybergarage/upnp/Device; | |
33: aload_0 | |
34: aconst_null | |
35: putfield #49 // Field _service:Lplugins/UPnP/org/cybergarage/upnp/Service; | |
38: aload_2 | |
39: monitorexit | |
40: goto 48 | |
43: astore_3 | |
44: aload_2 | |
45: monitorexit | |
46: aload_3 | |
47: athrow | |
48: return | |
Exception table: | |
from to target type | |
7 16 43 any | |
17 40 43 any | |
43 46 43 any | |
public boolean isNATPresent(); | |
Code: | |
0: aload_0 | |
1: getfield #48 // Field _router:Lplugins/UPnP/org/cybergarage/upnp/Device; | |
4: ifnull 18 | |
7: aload_0 | |
8: getfield #49 // Field _service:Lplugins/UPnP/org/cybergarage/upnp/Service; | |
11: ifnull 18 | |
14: iconst_1 | |
15: goto 19 | |
18: iconst_0 | |
19: ireturn | |
public java.lang.String getNATAddress(); | |
Code: | |
0: aload_0 | |
1: invokevirtual #19 // Method isNATPresent:()Z | |
4: ifne 9 | |
7: aconst_null | |
8: areturn | |
9: aload_0 | |
10: getfield #49 // Field _service:Lplugins/UPnP/org/cybergarage/upnp/Service; | |
13: ldc #93 // String GetExternalIPAddress | |
15: invokevirtual #94 // Method plugins/UPnP/org/cybergarage/upnp/Service.getAction:(Ljava/lang/String;)Lplugins/UPnP/org/cybergarage/upnp/Action; | |
18: astore_1 | |
19: aload_1 | |
20: ifnull 30 | |
23: aload_1 | |
24: invokevirtual #95 // Method plugins/UPnP/org/cybergarage/upnp/Action.postControlAction:()Z | |
27: ifne 32 | |
30: aconst_null | |
31: areturn | |
32: aload_1 | |
33: invokevirtual #96 // Method plugins/UPnP/org/cybergarage/upnp/Action.getOutputArgumentList:()Lplugins/UPnP/org/cybergarage/upnp/ArgumentList; | |
36: ldc #97 // String NewExternalIPAddress | |
38: invokevirtual #98 // Method plugins/UPnP/org/cybergarage/upnp/ArgumentList.getArgument:(Ljava/lang/String;)Lplugins/UPnP/org/cybergarage/upnp/Argument; | |
41: invokevirtual #99 // Method plugins/UPnP/org/cybergarage/upnp/Argument.getValue:()Ljava/lang/String; | |
44: areturn | |
public int getUpstramMaxBitRate(); | |
Code: | |
0: aload_0 | |
1: invokevirtual #19 // Method isNATPresent:()Z | |
4: ifeq 14 | |
7: aload_0 | |
8: getfield #6 // Field thinksWeAreDoubleNatted:Z | |
11: ifeq 16 | |
14: iconst_m1 | |
15: ireturn | |
16: aload_0 | |
17: getfield #49 // Field _service:Lplugins/UPnP/org/cybergarage/upnp/Service; | |
20: ldc #100 // String GetLinkLayerMaxBitRates | |
22: invokevirtual #94 // Method plugins/UPnP/org/cybergarage/upnp/Service.getAction:(Ljava/lang/String;)Lplugins/UPnP/org/cybergarage/upnp/Action; | |
25: astore_1 | |
26: aload_1 | |
27: ifnull 57 | |
30: aload_1 | |
31: invokevirtual #95 // Method plugins/UPnP/org/cybergarage/upnp/Action.postControlAction:()Z | |
34: ifne 57 | |
37: aload_1 | |
38: invokevirtual #96 // Method plugins/UPnP/org/cybergarage/upnp/Action.getOutputArgumentList:()Lplugins/UPnP/org/cybergarage/upnp/ArgumentList; | |
41: ldc #101 // String NewUpstreamMaxBitRate | |
43: invokevirtual #98 // Method plugins/UPnP/org/cybergarage/upnp/ArgumentList.getArgument:(Ljava/lang/String;)Lplugins/UPnP/org/cybergarage/upnp/Argument; | |
46: invokevirtual #99 // Method plugins/UPnP/org/cybergarage/upnp/Argument.getValue:()Ljava/lang/String; | |
49: invokestatic #102 // Method java/lang/Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer; | |
52: invokevirtual #103 // Method java/lang/Integer.intValue:()I | |
55: ireturn | |
56: astore_2 | |
57: aload_0 | |
58: getfield #49 // Field _service:Lplugins/UPnP/org/cybergarage/upnp/Service; | |
61: ldc #105 // String GetCommonLinkProperties | |
63: invokevirtual #94 // Method plugins/UPnP/org/cybergarage/upnp/Service.getAction:(Ljava/lang/String;)Lplugins/UPnP/org/cybergarage/upnp/Action; | |
66: astore_1 | |
67: aload_1 | |
68: ifnull 98 | |
71: aload_1 | |
72: invokevirtual #95 // Method plugins/UPnP/org/cybergarage/upnp/Action.postControlAction:()Z | |
75: ifne 98 | |
78: aload_1 | |
79: invokevirtual #96 // Method plugins/UPnP/org/cybergarage/upnp/Action.getOutputArgumentList:()Lplugins/UPnP/org/cybergarage/upnp/ArgumentList; | |
82: ldc #106 // String NewLayer1UpstreamMaxBitRate | |
84: invokevirtual #98 // Method plugins/UPnP/org/cybergarage/upnp/ArgumentList.getArgument:(Ljava/lang/String;)Lplugins/UPnP/org/cybergarage/upnp/Argument; | |
87: invokevirtual #99 // Method plugins/UPnP/org/cybergarage/upnp/Argument.getValue:()Ljava/lang/String; | |
90: invokestatic #102 // Method java/lang/Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer; | |
93: invokevirtual #103 // Method java/lang/Integer.intValue:()I | |
96: ireturn | |
97: astore_2 | |
98: aload_0 | |
99: aload_0 | |
100: getfield #48 // Field _router:Lplugins/UPnP/org/cybergarage/upnp/Device; | |
103: invokespecial #107 // Method getUpstreamMaxBitRate:(Lplugins/UPnP/org/cybergarage/upnp/Device;)I | |
106: ireturn | |
Exception table: | |
from to target type | |
37 55 56 Class java/lang/NumberFormatException | |
78 96 97 Class java/lang/NumberFormatException | |
public int getDownstreamMaxBitRate(); | |
Code: | |
0: aload_0 | |
1: invokevirtual #19 // Method isNATPresent:()Z | |
4: ifeq 14 | |
7: aload_0 | |
8: getfield #6 // Field thinksWeAreDoubleNatted:Z | |
11: ifeq 16 | |
14: iconst_m1 | |
15: ireturn | |
16: aload_0 | |
17: getfield #49 // Field _service:Lplugins/UPnP/org/cybergarage/upnp/Service; | |
20: ldc #100 // String GetLinkLayerMaxBitRates | |
22: invokevirtual #94 // Method plugins/UPnP/org/cybergarage/upnp/Service.getAction:(Ljava/lang/String;)Lplugins/UPnP/org/cybergarage/upnp/Action; | |
25: astore_1 | |
26: aload_1 | |
27: ifnull 57 | |
30: aload_1 | |
31: invokevirtual #95 // Method plugins/UPnP/org/cybergarage/upnp/Action.postControlAction:()Z | |
34: ifne 57 | |
37: aload_1 | |
38: invokevirtual #96 // Method plugins/UPnP/org/cybergarage/upnp/Action.getOutputArgumentList:()Lplugins/UPnP/org/cybergarage/upnp/ArgumentList; | |
41: ldc #108 // String NewDownstreamMaxBitRate | |
43: invokevirtual #98 // Method plugins/UPnP/org/cybergarage/upnp/ArgumentList.getArgument:(Ljava/lang/String;)Lplugins/UPnP/org/cybergarage/upnp/Argument; | |
46: invokevirtual #99 // Method plugins/UPnP/org/cybergarage/upnp/Argument.getValue:()Ljava/lang/String; | |
49: invokestatic #102 // Method java/lang/Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer; | |
52: invokevirtual #103 // Method java/lang/Integer.intValue:()I | |
55: ireturn | |
56: astore_2 | |
57: aload_0 | |
58: getfield #49 // Field _service:Lplugins/UPnP/org/cybergarage/upnp/Service; | |
61: ldc #105 // String GetCommonLinkProperties | |
63: invokevirtual #94 // Method plugins/UPnP/org/cybergarage/upnp/Service.getAction:(Ljava/lang/String;)Lplugins/UPnP/org/cybergarage/upnp/Action; | |
66: astore_1 | |
67: aload_1 | |
68: ifnull 98 | |
71: aload_1 | |
72: invokevirtual #95 // Method plugins/UPnP/org/cybergarage/upnp/Action.postControlAction:()Z | |
75: ifne 98 | |
78: aload_1 | |
79: invokevirtual #96 // Method plugins/UPnP/org/cybergarage/upnp/Action.getOutputArgumentList:()Lplugins/UPnP/org/cybergarage/upnp/ArgumentList; | |
82: ldc #109 // String NewLayer1DownstreamMaxBitRate | |
84: invokevirtual #98 // Method plugins/UPnP/org/cybergarage/upnp/ArgumentList.getArgument:(Ljava/lang/String;)Lplugins/UPnP/org/cybergarage/upnp/Argument; | |
87: invokevirtual #99 // Method plugins/UPnP/org/cybergarage/upnp/Argument.getValue:()Ljava/lang/String; | |
90: invokestatic #102 // Method java/lang/Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer; | |
93: invokevirtual #103 // Method java/lang/Integer.intValue:()I | |
96: ireturn | |
97: astore_2 | |
98: aload_0 | |
99: aload_0 | |
100: getfield #48 // Field _router:Lplugins/UPnP/org/cybergarage/upnp/Device; | |
103: invokespecial #110 // Method getDownstreamMaxBitRate:(Lplugins/UPnP/org/cybergarage/upnp/Device;)I | |
106: ireturn | |
Exception table: | |
from to target type | |
37 55 56 Class java/lang/NumberFormatException | |
78 96 97 Class java/lang/NumberFormatException | |
public java.lang.String handleHTTPGet(freenet.support.api.HTTPRequest) throws freenet.pluginmanager.PluginHTTPException; | |
Code: | |
0: aload_1 | |
1: ldc #174 // String getDeviceCapabilities | |
3: invokeinterface #175, 2 // InterfaceMethod freenet/support/api/HTTPRequest.isParameterSet:(Ljava/lang/String;)Z | |
8: ifeq 49 | |
11: new #27 // class java/lang/StringBuilder | |
14: dup | |
15: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
18: astore_2 | |
19: aload_2 | |
20: ldc #176 // String <html><head><title>UPnP report</title></head><body> | |
22: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
25: pop | |
26: aload_0 | |
27: ldc #177 // String WANDevice | |
29: aload_0 | |
30: getfield #48 // Field _router:Lplugins/UPnP/org/cybergarage/upnp/Device; | |
33: aload_2 | |
34: invokespecial #171 // Method listSubDev:(Ljava/lang/String;Lplugins/UPnP/org/cybergarage/upnp/Device;Ljava/lang/StringBuilder;)V | |
37: aload_2 | |
38: ldc #178 // String </body></html> | |
40: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
43: pop | |
44: aload_2 | |
45: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
48: areturn | |
49: aload_0 | |
50: getfield #11 // Field pr:Lfreenet/pluginmanager/PluginRespirator; | |
53: invokevirtual #179 // Method freenet/pluginmanager/PluginRespirator.getPageMaker:()Lfreenet/clients/http/PageMaker; | |
56: ldc #180 // String UP&P plugin configuration page | |
58: iconst_0 | |
59: aconst_null | |
60: invokevirtual #181 // Method freenet/clients/http/PageMaker.getPageNode:(Ljava/lang/String;ZLfreenet/clients/http/ToadletContext;)Lfreenet/clients/http/PageNode; | |
63: astore_2 | |
64: aload_2 | |
65: getfield #182 // Field freenet/clients/http/PageNode.outer:Lfreenet/support/HTMLNode; | |
68: astore_3 | |
69: aload_2 | |
70: getfield #183 // Field freenet/clients/http/PageNode.content:Lfreenet/support/HTMLNode; | |
73: astore 4 | |
75: aload_0 | |
76: getfield #2 // Field isDisabled:Z | |
79: ifeq 146 | |
82: aload 4 | |
84: ldc #184 // String div | |
86: ldc #185 // String class | |
88: ldc #186 // String infobox infobox-error | |
90: invokevirtual #187 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
93: astore 5 | |
95: aload 5 | |
97: ldc #184 // String div | |
99: ldc #185 // String class | |
101: ldc #188 // String infobox-header | |
103: invokevirtual #187 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
106: astore 6 | |
108: aload 5 | |
110: ldc #184 // String div | |
112: ldc #185 // String class | |
114: ldc #189 // String infobox-content | |
116: invokevirtual #187 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
119: astore 7 | |
121: aload 6 | |
123: ldc #190 // String # | |
125: ldc #191 // String UP&P plugin report | |
127: invokevirtual #192 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
130: pop | |
131: aload 7 | |
133: ldc #190 // String # | |
135: ldc #193 // String The plugin has been disabled; Do you have more than one UP&P IGD on your LAN ? | |
137: invokevirtual #192 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
140: pop | |
141: aload_3 | |
142: invokevirtual #194 // Method freenet/support/HTMLNode.generate:()Ljava/lang/String; | |
145: areturn | |
146: aload_0 | |
147: invokevirtual #19 // Method isNATPresent:()Z | |
150: ifne 217 | |
153: aload 4 | |
155: ldc #184 // String div | |
157: ldc #185 // String class | |
159: ldc #195 // String infobox infobox-warning | |
161: invokevirtual #187 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
164: astore 5 | |
166: aload 5 | |
168: ldc #184 // String div | |
170: ldc #185 // String class | |
172: ldc #188 // String infobox-header | |
174: invokevirtual #187 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
177: astore 6 | |
179: aload 5 | |
181: ldc #184 // String div | |
183: ldc #185 // String class | |
185: ldc #189 // String infobox-content | |
187: invokevirtual #187 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
190: astore 7 | |
192: aload 6 | |
194: ldc #190 // String # | |
196: ldc #191 // String UP&P plugin report | |
198: invokevirtual #192 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
201: pop | |
202: aload 7 | |
204: ldc #190 // String # | |
206: ldc #196 // String The plugin hasn't found any UP&P aware, compatible device on your LAN. | |
208: invokevirtual #192 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
211: pop | |
212: aload_3 | |
213: invokevirtual #194 // Method freenet/support/HTMLNode.generate:()Ljava/lang/String; | |
216: areturn | |
217: aload 4 | |
219: ldc #184 // String div | |
221: ldc #185 // String class | |
223: ldc #197 // String infobox infobox-normal | |
225: invokevirtual #187 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
228: astore 5 | |
230: aload 5 | |
232: ldc #184 // String div | |
234: ldc #185 // String class | |
236: ldc #188 // String infobox-header | |
238: invokevirtual #187 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
241: astore 6 | |
243: aload 5 | |
245: ldc #184 // String div | |
247: ldc #185 // String class | |
249: ldc #189 // String infobox-content | |
251: invokevirtual #187 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
254: astore 7 | |
256: aload 6 | |
258: ldc #190 // String # | |
260: ldc #191 // String UP&P plugin report | |
262: invokevirtual #192 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
265: pop | |
266: aload 7 | |
268: ldc #198 // String p | |
270: ldc #199 // String The following device has been found: | |
272: invokevirtual #192 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
275: ldc #200 // String a | |
277: ldc #201 // String href | |
279: ldc #202 // String ?getDeviceCapabilities | |
281: invokevirtual #187 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
284: ldc #190 // String # | |
286: aload_0 | |
287: getfield #48 // Field _router:Lplugins/UPnP/org/cybergarage/upnp/Device; | |
290: invokevirtual #52 // Method plugins/UPnP/org/cybergarage/upnp/Device.getFriendlyName:()Ljava/lang/String; | |
293: invokevirtual #192 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
296: pop | |
297: aload 7 | |
299: ldc #198 // String p | |
301: new #27 // class java/lang/StringBuilder | |
304: dup | |
305: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
308: ldc #203 // String Our current external ip address is: | |
310: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
313: aload_0 | |
314: invokevirtual #21 // Method getNATAddress:()Ljava/lang/String; | |
317: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
320: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
323: invokevirtual #192 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
326: pop | |
327: aload_0 | |
328: invokevirtual #204 // Method getDownstreamMaxBitRate:()I | |
331: istore 8 | |
333: aload_0 | |
334: invokevirtual #205 // Method getUpstramMaxBitRate:()I | |
337: istore 9 | |
339: iload 8 | |
341: ifle 379 | |
344: aload 7 | |
346: ldc #198 // String p | |
348: new #27 // class java/lang/StringBuilder | |
351: dup | |
352: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
355: ldc #206 // String Our reported max downstream bit rate is: | |
357: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
360: aload_0 | |
361: invokevirtual #204 // Method getDownstreamMaxBitRate:()I | |
364: invokevirtual #77 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
367: ldc #207 // String bits/sec | |
369: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
372: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
375: invokevirtual #192 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
378: pop | |
379: iload 9 | |
381: ifle 419 | |
384: aload 7 | |
386: ldc #198 // String p | |
388: new #27 // class java/lang/StringBuilder | |
391: dup | |
392: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
395: ldc #208 // String Our reported max upstream bit rate is: | |
397: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
400: aload_0 | |
401: invokevirtual #205 // Method getUpstramMaxBitRate:()I | |
404: invokevirtual #77 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
407: ldc #207 // String bits/sec | |
409: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
412: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
415: invokevirtual #192 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
418: pop | |
419: aload_0 | |
420: getfield #5 // Field lock:Ljava/lang/Object; | |
423: dup | |
424: astore 10 | |
426: monitorenter | |
427: aload_0 | |
428: getfield #56 // Field portsToForward:Ljava/util/Set; | |
431: ifnull 611 | |
434: aload_0 | |
435: getfield #56 // Field portsToForward:Ljava/util/Set; | |
438: invokeinterface #209, 1 // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator; | |
443: astore 11 | |
445: aload 11 | |
447: invokeinterface #62, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z | |
452: ifeq 611 | |
455: aload 11 | |
457: invokeinterface #63, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; | |
462: checkcast #210 // class freenet/pluginmanager/ForwardPort | |
465: astore 12 | |
467: aload_0 | |
468: getfield #9 // Field portsForwarded:Ljava/util/Set; | |
471: aload 12 | |
473: invokeinterface #211, 2 // InterfaceMethod java/util/Set.contains:(Ljava/lang/Object;)Z | |
478: ifeq 546 | |
481: aload 7 | |
483: ldc #198 // String p | |
485: new #27 // class java/lang/StringBuilder | |
488: dup | |
489: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
492: ldc #212 // String The | |
494: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
497: aload 12 | |
499: getfield #213 // Field freenet/pluginmanager/ForwardPort.name:Ljava/lang/String; | |
502: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
505: ldc #214 // String port | |
507: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
510: aload 12 | |
512: getfield #215 // Field freenet/pluginmanager/ForwardPort.portNumber:I | |
515: invokevirtual #77 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
518: ldc #216 // String / | |
520: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
523: aload 12 | |
525: getfield #217 // Field freenet/pluginmanager/ForwardPort.protocol:I | |
528: invokevirtual #77 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
531: ldc #218 // String has been forwarded successfully. | |
533: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
536: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
539: invokevirtual #192 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
542: pop | |
543: goto 608 | |
546: aload 7 | |
548: ldc #198 // String p | |
550: new #27 // class java/lang/StringBuilder | |
553: dup | |
554: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
557: ldc #212 // String The | |
559: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
562: aload 12 | |
564: getfield #213 // Field freenet/pluginmanager/ForwardPort.name:Ljava/lang/String; | |
567: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
570: ldc #214 // String port | |
572: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
575: aload 12 | |
577: getfield #215 // Field freenet/pluginmanager/ForwardPort.portNumber:I | |
580: invokevirtual #77 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
583: ldc #216 // String / | |
585: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
588: aload 12 | |
590: getfield #217 // Field freenet/pluginmanager/ForwardPort.protocol:I | |
593: invokevirtual #77 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
596: ldc #219 // String has not been forwarded. | |
598: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
601: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
604: invokevirtual #192 // Method freenet/support/HTMLNode.addChild:(Ljava/lang/String;Ljava/lang/String;)Lfreenet/support/HTMLNode; | |
607: pop | |
608: goto 445 | |
611: aload 10 | |
613: monitorexit | |
614: goto 625 | |
617: astore 13 | |
619: aload 10 | |
621: monitorexit | |
622: aload 13 | |
624: athrow | |
625: aload_3 | |
626: invokevirtual #194 // Method freenet/support/HTMLNode.generate:()Ljava/lang/String; | |
629: areturn | |
Exception table: | |
from to target type | |
427 614 617 any | |
617 622 617 any | |
public java.lang.String handleHTTPPost(freenet.support.api.HTTPRequest) throws freenet.pluginmanager.PluginHTTPException; | |
Code: | |
0: aconst_null | |
1: areturn | |
public void onChangePublicPorts(java.util.Set<freenet.pluginmanager.ForwardPort>, freenet.pluginmanager.ForwardPortCallback); | |
Code: | |
0: aconst_null | |
1: astore_3 | |
2: aconst_null | |
3: astore 4 | |
5: getstatic #38 // Field java/lang/System.err:Ljava/io/PrintStream; | |
8: new #27 // class java/lang/StringBuilder | |
11: dup | |
12: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
15: ldc #242 // String UP&P Forwarding | |
17: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
20: aload_1 | |
21: invokeinterface #24, 1 // InterfaceMethod java/util/Set.size:()I | |
26: invokevirtual #77 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
29: ldc #243 // String ports... | |
31: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
34: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
37: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
40: aload_0 | |
41: getfield #5 // Field lock:Ljava/lang/Object; | |
44: dup | |
45: astore 5 | |
47: monitorenter | |
48: aload_0 | |
49: getfield #244 // Field forwardCallback:Lfreenet/pluginmanager/ForwardPortCallback; | |
52: ifnull 107 | |
55: aload_0 | |
56: getfield #244 // Field forwardCallback:Lfreenet/pluginmanager/ForwardPortCallback; | |
59: aload_2 | |
60: if_acmpeq 107 | |
63: aload_2 | |
64: ifnull 107 | |
67: aload_0 | |
68: new #27 // class java/lang/StringBuilder | |
71: dup | |
72: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
75: ldc #245 // String ForwardPortCallback changed from | |
77: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
80: aload_0 | |
81: getfield #244 // Field forwardCallback:Lfreenet/pluginmanager/ForwardPortCallback; | |
84: invokevirtual #31 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; | |
87: ldc #246 // String to | |
89: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
92: aload_2 | |
93: invokevirtual #31 // Method java/lang/StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder; | |
96: ldc #247 // String - using new value, but this is very strange! | |
98: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
101: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
104: invokestatic #46 // Method freenet/support/Logger.error:(Ljava/lang/Object;Ljava/lang/String;)V | |
107: aload_0 | |
108: aload_2 | |
109: putfield #244 // Field forwardCallback:Lfreenet/pluginmanager/ForwardPortCallback; | |
112: aload_0 | |
113: getfield #56 // Field portsToForward:Ljava/util/Set; | |
116: ifnull 131 | |
119: aload_0 | |
120: getfield #56 // Field portsToForward:Ljava/util/Set; | |
123: invokeinterface #58, 1 // InterfaceMethod java/util/Set.isEmpty:()Z | |
128: ifeq 144 | |
131: aload_0 | |
132: aload_1 | |
133: putfield #56 // Field portsToForward:Ljava/util/Set; | |
136: aload_1 | |
137: astore 4 | |
139: aconst_null | |
140: astore_3 | |
141: goto 323 | |
144: aload_1 | |
145: ifnull 157 | |
148: aload_1 | |
149: invokeinterface #58, 1 // InterfaceMethod java/util/Set.isEmpty:()Z | |
154: ifeq 173 | |
157: aload_0 | |
158: getfield #56 // Field portsToForward:Ljava/util/Set; | |
161: astore_3 | |
162: aload_0 | |
163: aload_1 | |
164: putfield #56 // Field portsToForward:Ljava/util/Set; | |
167: aconst_null | |
168: astore 4 | |
170: goto 323 | |
173: aload_1 | |
174: invokeinterface #209, 1 // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator; | |
179: astore 6 | |
181: aload 6 | |
183: invokeinterface #62, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z | |
188: ifeq 247 | |
191: aload 6 | |
193: invokeinterface #63, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; | |
198: checkcast #210 // class freenet/pluginmanager/ForwardPort | |
201: astore 7 | |
203: aload_0 | |
204: getfield #56 // Field portsToForward:Ljava/util/Set; | |
207: aload 7 | |
209: invokeinterface #211, 2 // InterfaceMethod java/util/Set.contains:(Ljava/lang/Object;)Z | |
214: ifeq 220 | |
217: goto 244 | |
220: aload 4 | |
222: ifnonnull 234 | |
225: new #7 // class java/util/HashSet | |
228: dup | |
229: invokespecial #8 // Method java/util/HashSet."<init>":()V | |
232: astore 4 | |
234: aload 4 | |
236: aload 7 | |
238: invokeinterface #236, 2 // InterfaceMethod java/util/Set.add:(Ljava/lang/Object;)Z | |
243: pop | |
244: goto 181 | |
247: aload_0 | |
248: getfield #56 // Field portsToForward:Ljava/util/Set; | |
251: invokeinterface #209, 1 // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator; | |
256: astore 6 | |
258: aload 6 | |
260: invokeinterface #62, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z | |
265: ifeq 318 | |
268: aload 6 | |
270: invokeinterface #63, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; | |
275: checkcast #210 // class freenet/pluginmanager/ForwardPort | |
278: astore 7 | |
280: aload_1 | |
281: aload 7 | |
283: invokeinterface #211, 2 // InterfaceMethod java/util/Set.contains:(Ljava/lang/Object;)Z | |
288: ifeq 294 | |
291: goto 315 | |
294: aload_3 | |
295: ifnonnull 306 | |
298: new #7 // class java/util/HashSet | |
301: dup | |
302: invokespecial #8 // Method java/util/HashSet."<init>":()V | |
305: astore_3 | |
306: aload_3 | |
307: aload 7 | |
309: invokeinterface #236, 2 // InterfaceMethod java/util/Set.add:(Ljava/lang/Object;)Z | |
314: pop | |
315: goto 258 | |
318: aload_0 | |
319: aload_1 | |
320: putfield #56 // Field portsToForward:Ljava/util/Set; | |
323: aload_0 | |
324: getfield #48 // Field _router:Lplugins/UPnP/org/cybergarage/upnp/Device; | |
327: ifnonnull 334 | |
330: aload 5 | |
332: monitorexit | |
333: return | |
334: aload 5 | |
336: monitorexit | |
337: goto 348 | |
340: astore 8 | |
342: aload 5 | |
344: monitorexit | |
345: aload 8 | |
347: athrow | |
348: aload_3 | |
349: ifnull 357 | |
352: aload_0 | |
353: aload_3 | |
354: invokespecial #91 // Method unregisterPorts:(Ljava/util/Set;)V | |
357: aload 4 | |
359: ifnull 368 | |
362: aload_0 | |
363: aload 4 | |
365: invokespecial #59 // Method registerPorts:(Ljava/util/Set;)V | |
368: return | |
Exception table: | |
from to target type | |
48 333 340 any | |
334 337 340 any | |
340 345 340 any | |
public java.lang.String getVersion(); | |
Code: | |
0: new #27 // class java/lang/StringBuilder | |
3: dup | |
4: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
7: invokestatic #260 // Method plugins/UPnP/Version.getVersion:()Ljava/lang/String; | |
10: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
13: ldc #241 // String | |
15: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
18: invokestatic #261 // Method plugins/UPnP/Version.getSvnRevision:()Ljava/lang/String; | |
21: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
24: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
27: areturn | |
public long getRealVersion(); | |
Code: | |
0: invokestatic #262 // Method plugins/UPnP/Version.getRealVersion:()J | |
3: lreturn | |
public static void main(java.lang.String[]) throws java.lang.Exception; | |
Code: | |
0: new #263 // class plugins/UPnP/UPnP | |
3: dup | |
4: invokespecial #264 // Method "<init>":()V | |
7: astore_1 | |
8: new #265 // class plugins/UPnP/org/cybergarage/upnp/ControlPoint | |
11: dup | |
12: invokespecial #1 // Method plugins/UPnP/org/cybergarage/upnp/ControlPoint."<init>":()V | |
15: astore_2 | |
16: getstatic #33 // Field java/lang/System.out:Ljava/io/PrintStream; | |
19: ldc_w #266 // String Searching for up&p devices: | |
22: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
25: aload_2 | |
26: invokevirtual #12 // Method plugins/UPnP/org/cybergarage/upnp/ControlPoint.start:()Z | |
29: pop | |
30: aload_2 | |
31: invokevirtual #267 // Method plugins/UPnP/org/cybergarage/upnp/ControlPoint.search:()V | |
34: aload_2 | |
35: invokevirtual #268 // Method plugins/UPnP/org/cybergarage/upnp/ControlPoint.getDeviceList:()Lplugins/UPnP/org/cybergarage/upnp/DeviceList; | |
38: astore_3 | |
39: getstatic #33 // Field java/lang/System.out:Ljava/io/PrintStream; | |
42: new #27 // class java/lang/StringBuilder | |
45: dup | |
46: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
49: ldc_w #269 // String Found | |
52: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
55: aload_3 | |
56: invokevirtual #66 // Method plugins/UPnP/org/cybergarage/upnp/DeviceList.size:()I | |
59: invokevirtual #77 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; | |
62: ldc_w #270 // String devices! | |
65: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
68: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
71: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
74: new #27 // class java/lang/StringBuilder | |
77: dup | |
78: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
81: astore 4 | |
83: aload_3 | |
84: invokevirtual #61 // Method plugins/UPnP/org/cybergarage/upnp/DeviceList.iterator:()Ljava/util/Iterator; | |
87: astore 5 | |
89: aload 5 | |
91: invokeinterface #62, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z | |
96: ifeq 183 | |
99: aload 5 | |
101: invokeinterface #63, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; | |
106: checkcast #64 // class plugins/UPnP/org/cybergarage/upnp/Device | |
109: astore 6 | |
111: aload_1 | |
112: aload 6 | |
114: invokevirtual #271 // Method java/lang/Object.toString:()Ljava/lang/String; | |
117: aload 6 | |
119: aload 4 | |
121: invokespecial #171 // Method listSubDev:(Ljava/lang/String;Lplugins/UPnP/org/cybergarage/upnp/Device;Ljava/lang/StringBuilder;)V | |
124: getstatic #33 // Field java/lang/System.out:Ljava/io/PrintStream; | |
127: new #27 // class java/lang/StringBuilder | |
130: dup | |
131: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
134: ldc_w #272 // String Here is the listing for | |
137: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
140: aload 6 | |
142: invokevirtual #271 // Method java/lang/Object.toString:()Ljava/lang/String; | |
145: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
148: ldc_w #273 // String : | |
151: invokevirtual #30 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; | |
154: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
157: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
160: getstatic #33 // Field java/lang/System.out:Ljava/io/PrintStream; | |
163: aload 4 | |
165: invokevirtual #32 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; | |
168: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
171: new #27 // class java/lang/StringBuilder | |
174: dup | |
175: invokespecial #28 // Method java/lang/StringBuilder."<init>":()V | |
178: astore 4 | |
180: goto 89 | |
183: getstatic #33 // Field java/lang/System.out:Ljava/io/PrintStream; | |
186: ldc_w #274 // String End | |
189: invokevirtual #34 // Method java/io/PrintStream.println:(Ljava/lang/String;)V | |
192: ldc2_w #275 // long 2000l | |
195: invokestatic #84 // Method java/lang/Thread.sleep:(J)V | |
198: goto 34 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment