Skip to content

Commit 2196167

Browse files
committed
Fixed an issue with TLS SNI extraction, thanks @jedy
raise-isayan/TunProxy#6
1 parent 26e6159 commit 2196167

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

app/src/main/cpp/tcp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -749,7 +749,7 @@ jboolean handle_tcp(const struct arguments *args,
749749
}
750750
}
751751
if (cur->tcp.connect_sent == TCP_CONNECT_NOT_SENT) {
752-
if (len > 0) {
752+
if (len > 0 && datalen > 0) {
753753
char buffer[512];
754754
sprintf(buffer, "CONNECT %s:443 HTTP/1.1\r\n\r\n", cur->tcp.hostname);
755755

app/src/main/cpp/tls.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ void parse_tls_header(const char *data, size_t data_len, char *hostname)
144144
data_len = MIN(data_len, len);
145145

146146
/* Check we received entire TLS record length */
147-
if (data_len < len)
147+
if (data_len < len && data_len < 512)
148148
return;
149149

150150
/* Handshake */
@@ -196,5 +196,5 @@ void parse_tls_header(const char *data, size_t data_len, char *hostname)
196196
if (pos + len > data_len)
197197
return;
198198

199-
parse_extensions(data + pos, len, hostname);
199+
parse_extensions(data + pos, MIN(data_len - pos, len), hostname);
200200
}

app/src/main/java/io/github/krlvm/powertunnel/android/services/TunnelingVpnService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,9 @@ public int onStartCommand(Intent intent, int flags, int startId) {
114114
);
115115
}
116116
);
117-
vpnResolveHosts = PreferenceManager.getDefaultSharedPreferences(this)
118-
.getBoolean("vpn_resolve_hosts", false);
117+
vpnResolveHosts = false;
118+
//vpnResolveHosts = PreferenceManager.getDefaultSharedPreferences(this)
119+
// .getBoolean("vpn_resolve_hosts", false);
119120
proxy.setHostnamesAvailability(!vpnResolveHosts);
120121
proxy.start();
121122
return START_STICKY;

0 commit comments

Comments
 (0)