Skip to content

Commit a5184e6

Browse files
committed
Remove SocketData traffic recorder
Useful for debugging in ToyShark I guess, but effectively a memory leak of all traffic by design, yikes.
1 parent e60aeb3 commit a5184e6

File tree

4 files changed

+1
-68
lines changed

4 files changed

+1
-68
lines changed

app/src/main/java/tech/httptoolkit/android/vpn/SessionHandler.java

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,11 @@
1818

1919
import java.io.IOException;
2020
import java.nio.ByteBuffer;
21-
import java.util.LinkedList;
2221
import java.util.Queue;
2322
import java.util.concurrent.ConcurrentLinkedQueue;
2423

2524
import tech.httptoolkit.android.vpn.network.ip.IPPacketFactory;
2625
import tech.httptoolkit.android.vpn.network.ip.IPv4Header;
27-
import tech.httptoolkit.android.vpn.socket.SocketData;
2826
import tech.httptoolkit.android.vpn.transport.tcp.PacketHeaderException;
2927
import tech.httptoolkit.android.vpn.transport.tcp.TCPHeader;
3028
import tech.httptoolkit.android.vpn.transport.tcp.TCPPacketFactory;
@@ -50,15 +48,12 @@ public class SessionHandler {
5048

5149
private Queue<Session> writableSessionsQueue = new ConcurrentLinkedQueue<>();
5250
private IClientPacketWriter writer;
53-
private SocketData packetData;
5451

5552
public static SessionHandler getInstance(){
5653
return handler;
5754
}
5855

59-
private SessionHandler(){
60-
packetData = SocketData.getInstance();
61-
}
56+
private SessionHandler() { }
6257

6358
public Queue<Session> getWritableSessions() {
6459
return this.writableSessionsQueue;
@@ -189,7 +184,6 @@ private void handleTCPPacket(ByteBuffer clientPacketData, IPv4Header ipHeader, T
189184
public void handlePacket(@NonNull ByteBuffer stream) throws PacketHeaderException {
190185
final byte[] rawPacket = new byte[stream.limit()];
191186
stream.get(rawPacket, 0, stream.limit());
192-
packetData.addData(rawPacket);
193187
stream.rewind();
194188

195189
final IPv4Header ipHeader = IPPacketFactory.createIPv4Header(stream);
@@ -215,7 +209,6 @@ private void sendRstPacket(IPv4Header ip, TCPHeader tcp, int dataLength){
215209
byte[] data = TCPPacketFactory.createRstData(ip, tcp, dataLength);
216210
try {
217211
writer.write(data);
218-
packetData.addData(data);
219212
Log.d(TAG,"Sent RST Packet to client with dest => " +
220213
PacketUtil.intToIPAddress(ip.getDestinationIP()) + ":" +
221214
tcp.getDestinationPort());
@@ -228,7 +221,6 @@ private void sendLastAck(IPv4Header ip, TCPHeader tcp){
228221
byte[] data = TCPPacketFactory.createResponseAckData(ip, tcp, tcp.getSequenceNumber()+1);
229222
try {
230223
writer.write(data);
231-
packetData.addData(data);
232224
Log.d(TAG,"Sent last ACK Packet to client with dest => " +
233225
PacketUtil.intToIPAddress(ip.getDestinationIP()) + ":" +
234226
tcp.getDestinationPort());
@@ -243,7 +235,6 @@ private void ackFinAck(IPv4Header ip, TCPHeader tcp, Session session){
243235
byte[] data = TCPPacketFactory.createFinAckData(ip, tcp, ack, seq, true, true);
244236
try {
245237
writer.write(data);
246-
packetData.addData(data);
247238
if(session != null){
248239
session.cancelKey();
249240
SessionManager.INSTANCE.closeSession(session);
@@ -261,7 +252,6 @@ private void sendFinAck(IPv4Header ip, TCPHeader tcp, Session session){
261252
final ByteBuffer stream = ByteBuffer.wrap(data);
262253
try {
263254
writer.write(data);
264-
packetData.addData(data);
265255
Log.d(TAG,"00000000000 FIN-ACK packet data to vpn client 000000000000");
266256
IPv4Header vpnip = null;
267257
try {
@@ -319,7 +309,6 @@ private void sendAck(IPv4Header ipheader, TCPHeader tcpheader, int acceptedDataL
319309
byte[] data = TCPPacketFactory.createResponseAckData(ipheader, tcpheader, acknumber);
320310
try {
321311
writer.write(data);
322-
packetData.addData(data);
323312
} catch (IOException e) {
324313
Log.e(TAG,"Failed to send ACK packet: " + e.getMessage());
325314
}
@@ -332,7 +321,6 @@ private void sendAckForDisorder(IPv4Header ipHeader, TCPHeader tcpheader, int ac
332321
byte[] data = TCPPacketFactory.createResponseAckData(ipHeader, tcpheader, ackNumber);
333322
try {
334323
writer.write(data);
335-
packetData.addData(data);
336324
} catch (IOException e) {
337325
Log.e(TAG,"Failed to send ACK packet: " + e.getMessage());
338326
}
@@ -406,7 +394,6 @@ private void replySynAck(IPv4Header ip, TCPHeader tcp){
406394

407395
try {
408396
writer.write(packet.getBuffer());
409-
packetData.addData(packet.getBuffer());
410397
Log.d(TAG,"Send SYN-ACK to client");
411398
} catch (IOException e) {
412399
Log.e(TAG,"Error sending data to client: "+e.getMessage());

app/src/main/java/tech/httptoolkit/android/vpn/socket/SocketData.java

Lines changed: 0 additions & 46 deletions
This file was deleted.

app/src/main/java/tech/httptoolkit/android/vpn/socket/SocketDataReaderWorker.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,8 @@ class SocketDataReaderWorker implements Runnable {
3636
private final String TAG = TagKt.getTAG(this);
3737
private IClientPacketWriter writer;
3838
private String sessionKey;
39-
private SocketData pData;
4039

4140
SocketDataReaderWorker(IClientPacketWriter writer, String sessionKey) {
42-
pData = SocketData.getInstance();
4341
this.writer = writer;
4442
this.sessionKey = sessionKey;
4543
}
@@ -181,7 +179,6 @@ private void pushDataToClient(@NonNull Session session){
181179
session.getTimestampSender(), session.getTimestampReplyto());
182180
try {
183181
writer.write(data);
184-
pData.addData(data);
185182
} catch (IOException e) {
186183
Log.e(TAG,"Failed to send ACK + Data packet: " + e.getMessage());
187184
}
@@ -195,7 +192,6 @@ private void sendFin(Session session){
195192
session.getTimestampSender(), session.getTimestampReplyto());
196193
try {
197194
writer.write(data);
198-
pData.addData(data);
199195
} catch (IOException e) {
200196
Log.e(TAG,"Failed to send FIN packet: " + e.getMessage());
201197
}
@@ -224,8 +220,6 @@ private void readUDP(Session session){
224220
session.getLastIpHeader(), session.getLastUdpHeader(), data);
225221
//write to client
226222
writer.write(packetData);
227-
//publish to packet subscriber
228-
pData.addData(packetData);
229223
Log.d(TAG,"SDR: sent " + len + " bytes to UDP client, packetData.length: "
230224
+ packetData.length);
231225
buffer.clear();

app/src/main/java/tech/httptoolkit/android/vpn/socket/SocketDataWriterWorker.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,6 @@ private void writeTCP(Session session) {
114114
session.getLastIpHeader(), session.getLastTcpHeader(), 0);
115115
try {
116116
writer.write(rstData);
117-
SocketData socketData = SocketData.getInstance();
118-
socketData.addData(rstData);
119117
} catch (IOException ex) {
120118
ex.printStackTrace();
121119
}

0 commit comments

Comments
 (0)