Skip to content

Commit 627321b

Browse files
committed
Small VPN logging improvements
1 parent 389a7a5 commit 627321b

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,11 @@ public String getSessionKey() {
408408
}
409409

410410
public static String getSessionKey(int destIp, int destPort, int sourceIp, int sourcePort) {
411-
return PacketUtil.intToIPAddress(sourceIp) + ":" + sourcePort + "-" +
411+
return PacketUtil.intToIPAddress(sourceIp) + ":" + sourcePort + "->" +
412412
PacketUtil.intToIPAddress(destIp) + ":" + destPort;
413413
}
414+
415+
public String toString() {
416+
return "Session (" + this.getSessionKey() + ")";
417+
}
414418
}

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,14 +136,13 @@ private void handleTCPPacket(ByteBuffer clientPacketData, IPv4Header ipHeader) t
136136
Session session = manager.getSessionByKey(key);
137137

138138
if(session == null) {
139+
Log.w(TAG, "Ack for unknown session: " + key);
139140
if (tcpheader.isFIN()) {
140141
sendLastAck(ipHeader, tcpheader);
141142
} else if (!tcpheader.isRST()) {
142143
sendRstPacket(ipHeader, tcpheader, dataLength);
143144
}
144-
else {
145-
Log.e(TAG,"**** ==> Session not found: " + key);
146-
}
145+
147146
return;
148147
}
149148

@@ -305,7 +304,7 @@ private void sendAck(IPv4Header ipheader, TCPHeader tcpheader, int acceptedDataL
305304

306305
private void sendAckForDisorder(IPv4Header ipHeader, TCPHeader tcpheader, int acceptedDataLength) {
307306
long ackNumber = tcpheader.getSequenceNumber() + acceptedDataLength;
308-
Log.d(TAG,"sent ack, ack# " + tcpheader.getSequenceNumber() +
307+
Log.d(TAG,"sent disorder ack, ack# " + tcpheader.getSequenceNumber() +
309308
" + " + acceptedDataLength + " = " + ackNumber);
310309
byte[] data = TCPPacketFactory.createResponseAckData(ipHeader, tcpheader, ackNumber);
311310

app/src/main/java/tech/httptoolkit/android/vpn/network/ip/IPPacketFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public static IPv4Header createIPv4Header(@NonNull ByteBuffer stream) throws Pac
9898
final byte versionAndHeaderLength = stream.get();
9999
final byte ipVersion = (byte) (versionAndHeaderLength >> 4);
100100
if (ipVersion != 0x04) {
101-
throw new PacketHeaderException("Invalid IPv4 header. IP version should be 4.");
101+
throw new PacketHeaderException("Invalid IPv4 header. IP version should be 4 but was " + ipVersion);
102102
}
103103

104104
final byte internetHeaderLength = (byte) (versionAndHeaderLength & 0x0F);

app/src/main/java/tech/httptoolkit/android/vpn/transport/icmp/ICMPPacketFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public static ICMPPacket parseICMPPacket(@NonNull ByteBuffer stream) throws Pack
3030
if (type == 8) {
3131
return new ICMPPacket(type, code, checksum, identifier, sequenceNumber, data);
3232
} else {
33-
throw new PacketHeaderException("For ICMP, only echo requests are supported");
33+
throw new PacketHeaderException("Unknown ICMP type (" + type + "). Only echo requests are supported");
3434
}
3535
}
3636

0 commit comments

Comments
 (0)