Skip to content

Commit

Permalink
Revert "Always loudly log intercepted connections that fail to reach …
Browse files Browse the repository at this point in the history
…the proxy"

This reverts commit 6eec741.

This doensn't actually work correctly, as connect() will return -1
(treated here as failure) for sockets that are still in progress, when
opened non-blocking, and therefore we end up logging these as failures.
We need to handle async connection state detection - that's a bit fiddly
from inside Frida, so for now let's just roll this back.
  • Loading branch information
pimterry committed Nov 15, 2023
1 parent 6eec741 commit 78fa288
Showing 1 changed file with 6 additions and 20 deletions.
26 changes: 6 additions & 20 deletions native-connect-hook.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,7 @@ if (!connectFn) { // Should always be set, but just in case
: PROXY_HOST_IPv4_BYTES
);

if (isIntercepted) {
this.intercepted = true;
return;
}
if (isIntercepted) return;

if (!shouldBeIntercepted) {
// Not intercecpted, sent to unrecognized port - probably not HTTP(S)
Expand Down Expand Up @@ -91,33 +88,22 @@ if (!connectFn) { // Should always be set, but just in case
// Skip 4 bytes: 2 family, 2 port
addrPtr.add(4).writeByteArray(PROXY_HOST_IPv4_BYTES);
}
this.intercepted = true;
} else if (DEBUG_MODE) {
console.log(`Ignoring ${sockType} connection`);
this.ignored = true;
}

// N.b. we ignore all non-TCP connections: both UDP and Unix streams
},
onLeave: function (result) {
if (!this.intercepted) return; // Don't log about connections we don't touch.
const wasSuccessful = result.toInt32() === 0;

if (wasSuccessful && !DEBUG_MODE) return;
if (!DEBUG_MODE || this.ignored) return;

const fd = this.sockFd;
const sockType = Socket.type(fd);
const address = Socket.peerAddress(fd);

if (wasSuccessful) {
console.debug(
`Connected ${sockType} fd ${fd} to ${JSON.stringify(address)} (${result.toInt32()})`
);
} else {
console.error(
`\n !!! --- Intercepted ${sockType} connection ${fd} failed when redirected to proxy ${PROXY_HOST}:${PROXY_PORT} --- !!!\n` +
` Is your proxy configured correctly?\n`
);
}
console.debug(
`Connected ${sockType} fd ${fd} to ${JSON.stringify(address)} (${result.toInt32()})`
);
}
});

Expand Down

0 comments on commit 78fa288

Please sign in to comment.