Skip to content

Instantly share code, notes, and snippets.

@Thynix
Last active August 29, 2015 14:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Thynix/9ff588fbdf39125fd84a to your computer and use it in GitHub Desktop.
Save Thynix/9ff588fbdf39125fd84a to your computer and use it in GitHub Desktop.
Freenet UPnP class file differences
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