Skip to content

Commit 81f16bb

Browse files
committed
add java.net.URL to retransformed class list
1 parent 4344437 commit 81f16bb

File tree

3 files changed

+247
-3
lines changed

3 files changed

+247
-3
lines changed

src/java/nginx/clojure/wave/coroutine-method-db.txt

Lines changed: 206 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@ filter:clojure/asm
217217
filter:clojure/core$generate_class
218218
filter:com/sun/crypto/provider/
219219
#filter:java/lang
220+
filter:java/lang/Long
220221
filter:java/util/LinkedHashMap
221222
filter:nginx/clojure/Stack
222223
filter:nginx/clojure/HackUtils
@@ -233,6 +234,8 @@ filter:com/sun/tools/javac/
233234

234235

235236
retransform:java.io.BufferedInputStream
237+
retransform:java.net.URL
238+
236239

237240
lazyclass:sun/security/ssl/AppInputStream
238241
read([BII)I:normal
@@ -296,6 +299,208 @@ lazyclass:sun/security/ssl/BaseSSLSocketImpl
296299
lazyclass:sun/security/ssl/Handshaker
297300
#mark from sub sun/security/ssl/ClientHandshaker
298301
processMessage(BI)V:just_mark
299-
302+
303+
## For JDK 19
304+
############Generated By Nginx-Clojure SuspendMethodTracer 2022-10-09 ##############
305+
#######Notice: Ingored Waving information from current configuration file : [nginx/clojure/wave/coroutine-method-db.txt]
306+
lazyclass:java/net/SocketInputStream
307+
read([BII)I:normal
308+
skip(J)J:normal
309+
310+
lazyclass:java/net/URL
311+
openStream()Ljava/io/InputStream;:normal
312+
313+
fuzzyclass:nginx/clojure/net/SimpleHandler(\d+)TestHttpClientGetMethod
314+
invoke(Ljava/util/Map;)[Ljava/lang/Object;:normal
315+
main([Ljava/lang/String;)V:normal
316+
317+
lazyclass:sun/net/NetworkClient
318+
doConnect(Ljava/lang/String;I)Ljava/net/Socket;:normal
319+
320+
lazyclass:sun/net/www/http/HttpClient
321+
closeServer()V:normal
322+
openServer()V:normal
323+
openServer(Ljava/lang/String;I)V:normal
324+
parseHTTP(Lsun/net/www/MessageHeader;Lsun/net/ProgressSource;Lsun/net/www/protocol/http/HttpURLConnection;)Z:normal
325+
parseHTTPHeader(Lsun/net/www/MessageHeader;Lsun/net/ProgressSource;Lsun/net/www/protocol/http/HttpURLConnection;)Z:normal
326+
writeRequests(Lsun/net/www/MessageHeader;Lsun/net/www/http/PosterOutputStream;)V:normal
327+
writeRequests(Lsun/net/www/MessageHeader;Lsun/net/www/http/PosterOutputStream;Z)V:normal
328+
329+
lazyclass:sun/net/www/protocol/http/HttpURLConnection
330+
disconnectInternal()V:normal
331+
followRedirect()Z:normal
332+
followRedirect0(Ljava/lang/String;ILjava/net/URL;)Z:normal
333+
getInputStream()Ljava/io/InputStream;:normal
334+
getInputStream0()Ljava/io/InputStream;:normal
335+
plainConnect()V:normal
336+
plainConnect0()V:normal
337+
writeRequests()V:normal
338+
339+
lazyclass:sun/net/www/protocol/http/HttpURLConnection$HttpInputStream
340+
read([B)I:normal
341+
read([BII)I:normal
342+
343+
lazyclass:sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection
344+
connect()V:normal
345+
getNewHttpClient(Ljava/net/URL;Ljava/net/Proxy;I)Lsun/net/www/http/HttpClient;:normal
346+
347+
lazyclass:sun/net/www/protocol/https/HttpsClient
348+
<init>(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljava/net/Proxy;I)V:normal
349+
New(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/net/Proxy;ZILsun/net/www/protocol/http/HttpURLConnection;)Lsun/net/www/http/HttpClient;:normal
350+
afterConnect()V:normal
351+
352+
lazyclass:sun/net/www/protocol/https/HttpsURLConnectionImpl
353+
getInputStream()Ljava/io/InputStream;:normal
354+
355+
lazyclass:sun/security/ssl/BaseSSLSocketImpl
356+
connect(Ljava/net/SocketAddress;)V:normal
357+
358+
fuzzyclass:sun/security/ssl/ChangeCipherSpec\$T(\d+)ChangeCipherSpecProducer
359+
produce(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)[B:normal
360+
361+
lazyclass:sun/security/ssl/ClientHandshakeContext
362+
kickstart()V:normal
363+
364+
lazyclass:sun/security/ssl/ClientHello$ClientHelloKickstartProducer
365+
produce(Lsun/security/ssl/ConnectionContext;)[B:normal
366+
367+
lazyclass:sun/security/ssl/ClientKeyExchange$ClientKeyExchangeProducer
368+
produce(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)[B:normal
369+
370+
lazyclass:sun/security/ssl/ECDHClientKeyExchange$ECDHEClientKeyExchangeProducer
371+
produce(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)[B:normal
372+
373+
fuzzyclass:sun/security/ssl/Finished\$T(\d+)FinishedProducer
374+
onProduceFinished(Lsun/security/ssl/ClientHandshakeContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)[B:normal
375+
produce(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)[B:normal
376+
377+
lazyclass:sun/security/ssl/HandshakeContext
378+
dispatch(BLjava/nio/ByteBuffer;)V:normal
379+
dispatch(BLsun/security/ssl/Plaintext;)V:normal
380+
381+
lazyclass:sun/security/ssl/OutputRecord
382+
changeWriteCiphers(Lsun/security/ssl/SSLCipher$SSLWriteCipher;Z)V:normal
383+
384+
lazyclass:sun/security/ssl/SSLHandshake
385+
consume(Lsun/security/ssl/ConnectionContext;Ljava/nio/ByteBuffer;)V:normal
386+
kickstart(Lsun/security/ssl/HandshakeContext;)V:normal
387+
produce(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)[B:normal
388+
389+
lazyclass:sun/security/ssl/SSLSocketImpl
390+
access$300(Lsun/security/ssl/SSLSocketImpl;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;:normal
391+
bruteForceCloseInput(Z)V:normal
392+
closeSocket(Z)V:normal
393+
decode(Ljava/nio/ByteBuffer;)Lsun/security/ssl/Plaintext;:normal
394+
duplexCloseOutput()V:normal
395+
readApplicationRecord(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;:normal
396+
readHandshakeRecord()I:normal
397+
shutdown()V:normal
398+
399+
lazyclass:sun/security/ssl/SSLSocketImpl$AppInputStream
400+
read([BII)I:normal
401+
402+
lazyclass:sun/security/ssl/SSLSocketImpl$AppOutputStream
403+
write([BII)V:normal
404+
405+
lazyclass:sun/security/ssl/SSLSocketInputRecord
406+
bytesInCompletePacket()I:normal
407+
decode([Ljava/nio/ByteBuffer;II)[Lsun/security/ssl/Plaintext;:normal
408+
decodeInputRecord([B)[Lsun/security/ssl/Plaintext;:normal
409+
deplete(Z)V:normal
410+
read(Ljava/io/InputStream;[BII)I:normal
411+
412+
lazyclass:sun/security/ssl/SSLSocketOutputRecord
413+
deliver([BII)V:normal
414+
encodeAlert(BB)V:normal
415+
encodeChangeCipherSpec()V:normal
416+
flush()V:normal
417+
418+
lazyclass:sun/security/ssl/SSLTransport
419+
decode(Lsun/security/ssl/TransportContext;[Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Plaintext;:normal
420+
421+
lazyclass:sun/security/ssl/ServerHelloDone$ServerHelloDoneConsumer
422+
consume(Lsun/security/ssl/ConnectionContext;Ljava/nio/ByteBuffer;)V:normal
423+
424+
lazyclass:sun/security/ssl/TransportContext
425+
dispatch(Lsun/security/ssl/Plaintext;)V:normal
426+
kickstart()V:normal
427+
warning(Lsun/security/ssl/Alert;)V:normal
428+
429+
lazyclass:java/io/FileInputStream
430+
#mark from sub java/net/SocketInputStream
431+
skip(J)J:just_mark
432+
433+
lazyclass:java/io/Flushable
434+
#mark from sub java/io/OutputStream
435+
flush()V:just_mark
436+
437+
lazyclass:java/io/InputStream
438+
#mark from sub java/io/FileInputStream
439+
skip(J)J:just_mark
440+
441+
lazyclass:java/io/OutputStream
442+
#mark from sub java/io/ByteArrayOutputStream
443+
flush()V:just_mark
444+
445+
lazyclass:java/net/Socket
446+
#mark from sub javax/net/ssl/SSLSocket
447+
connect(Ljava/net/SocketAddress;)V:just_mark
448+
449+
lazyclass:java/net/URLConnection
450+
#mark from sub java/net/HttpURLConnection
451+
connect()V:just_mark
452+
#mark from sub java/net/HttpURLConnection
453+
getInputStream()Ljava/io/InputStream;:just_mark
454+
455+
lazyclass:sun/net/NetworkClient
456+
#mark from sub sun/net/www/http/HttpClient
457+
closeServer()V:just_mark
458+
#mark from sub sun/net/www/http/HttpClient
459+
openServer(Ljava/lang/String;I)V:just_mark
460+
461+
lazyclass:sun/net/www/http/HttpClient
462+
#mark from sub sun/net/www/protocol/https/HttpsClient
463+
afterConnect()V:just_mark
464+
465+
lazyclass:sun/net/www/protocol/http/HttpURLConnection
466+
#mark from sub sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection
467+
connect()V:just_mark
468+
#mark from sub sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection
469+
getNewHttpClient(Ljava/net/URL;Ljava/net/Proxy;I)Lsun/net/www/http/HttpClient;:just_mark
470+
471+
lazyclass:sun/security/ssl/HandshakeContext
472+
#mark from sub sun/security/ssl/ClientHandshakeContext
473+
kickstart()V:just_mark
474+
475+
lazyclass:sun/security/ssl/HandshakeProducer
476+
#mark from sub sun/security/ssl/SSLHandshake
477+
produce(Lsun/security/ssl/ConnectionContext;Lsun/security/ssl/SSLHandshake$HandshakeMessage;)[B:just_mark
478+
479+
lazyclass:sun/security/ssl/InputRecord
480+
#mark from sub sun/security/ssl/SSLSocketInputRecord
481+
bytesInCompletePacket()I:just_mark
482+
#mark from sub sun/security/ssl/SSLSocketInputRecord
483+
decode([Ljava/nio/ByteBuffer;II)[Lsun/security/ssl/Plaintext;:just_mark
484+
485+
lazyclass:sun/security/ssl/OutputRecord
486+
#mark from sub sun/security/ssl/SSLSocketOutputRecord
487+
deliver([BII)V:just_mark
488+
#mark from sub sun/security/ssl/SSLSocketOutputRecord
489+
encodeAlert(BB)V:just_mark
490+
#mark from sub sun/security/ssl/SSLSocketOutputRecord
491+
encodeChangeCipherSpec()V:just_mark
492+
493+
lazyclass:sun/security/ssl/SSLConsumer
494+
#mark from sub sun/security/ssl/ServerHelloDone$ServerHelloDoneConsumer
495+
consume(Lsun/security/ssl/ConnectionContext;Ljava/nio/ByteBuffer;)V:just_mark
496+
497+
lazyclass:sun/security/ssl/SSLProducer
498+
#mark from sub sun/security/ssl/ClientHello$ClientHelloKickstartProducer
499+
produce(Lsun/security/ssl/ConnectionContext;)[B:just_mark
500+
501+
lazyclass:sun/security/ssl/SSLTransport
502+
#mark from sub sun/security/ssl/SSLSocketImpl
503+
shutdown()V:just_mark
504+
300505

301506

test/java/nginx/clojure/net/SimpleHandler4TestHttpClientGetMethod.java

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
import java.io.ByteArrayOutputStream;
55
import java.io.IOException;
66
import java.io.InputStream;
7+
import java.net.URL;
78
import java.util.Map;
89

910
import nginx.clojure.java.ArrayMap;
1011
import nginx.clojure.java.Constants;
1112
import nginx.clojure.java.NginxJavaRingHandler;
13+
import nginx.clojure.wave.SuspendMethodTracer;
1214

1315
import org.apache.http.client.methods.CloseableHttpResponse;
1416
import org.apache.http.client.methods.HttpGet;
@@ -20,11 +22,13 @@ public class SimpleHandler4TestHttpClientGetMethod implements NginxJavaRingHandl
2022
public SimpleHandler4TestHttpClientGetMethod() {
2123
}
2224

25+
2326
@Override
2427
public Object[] invoke(Map<String, Object> request) {
2528
CloseableHttpClient httpclient = HttpClients.createDefault();
2629
// HttpGet httpget = new HttpGet("http://cn.bing.com/");
27-
HttpGet httpget = new HttpGet("https://www.apache.org/dist/httpcomponents/httpclient/RELEASE_NOTES-4.3.x.txt");
30+
String url = "https://www.apache.org/dist/httpcomponents/httpclient/RELEASE_NOTES-4.3.x.txt";
31+
HttpGet httpget = new HttpGet(url);
2832
CloseableHttpResponse response = null;
2933
try {
3034
response = httpclient.execute(httpget);
@@ -54,5 +58,17 @@ public Object[] invoke(Map<String, Object> request) {
5458
}
5559
}
5660
}
57-
61+
62+
public static void main(String[] args) {
63+
SimpleHandler4TestHttpClientGetMethod s = new SimpleHandler4TestHttpClientGetMethod();
64+
Object[] rt = s.invoke(null);
65+
System.out.println(rt[0]);
66+
try {
67+
SuspendMethodTracer.dump();
68+
} catch (IOException e) {
69+
// TODO Auto-generated catch block
70+
e.printStackTrace();
71+
}
72+
// System.out.println(new String(((ByteArrayInputStream)rt[2]).readAllBytes()));
73+
}
5874
}

test/nginx-working-dir/coroutine-udfs/https.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,3 +259,26 @@ lazyclass:org/apache/http/pool/PoolEntry
259259
#mark from sub org/apache/http/impl/conn/CPoolEntry
260260
close()V:just_mark
261261

262+
lazyclass:sun/net/www/protocol/http/HttpURLConnection
263+
followRedirect()Z:normal
264+
followRedirect0(Ljava/lang/String;ILjava/net/URL;)Z:normal
265+
getInputStream0()Ljava/io/InputStream;:normal
266+
plainConnect0()V:normal
267+
268+
lazyclass:sun/net/www/protocol/https/HttpsClient
269+
<init>(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljava/net/Proxy;I)V:normal
270+
New(Ljavax/net/ssl/SSLSocketFactory;Ljava/net/URL;Ljavax/net/ssl/HostnameVerifier;Ljava/net/Proxy;ZILsun/net/www/protocol/http/HttpURLConnection;)Lsun/net/www/http/HttpClient;:normal
271+
272+
lazyclass:sun/net/www/protocol/https/HttpsURLConnectionImpl
273+
getInputStream()Ljava/io/InputStream;:normal
274+
275+
lazyclass:sun/security/ssl/BaseSSLSocketImpl
276+
connect(Ljava/net/SocketAddress;)V:normal
277+
278+
lazyclass:java/net/Socket
279+
#mark from sub javax/net/ssl/SSLSocket
280+
connect(Ljava/net/SocketAddress;)V:just_mark
281+
282+
lazyclass:java/net/URLConnection
283+
#mark from sub java/net/HttpURLConnection
284+
getInputStream()Ljava/io/InputStream;:just_mark

0 commit comments

Comments
 (0)