New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DRIVERS-1357: Add socks5srv.py helper script #181
Conversation
- Spec PR: mongodb/specifications#1103 - Node.js driver PR that makes use of this script: mongodb/node-mongodb-native#3041
"""Handle the Socks5 communication with a freshly connected client""" | ||
|
||
# Client greeting | ||
if self.request.recv(1) != b'\x05': # Socks5 only |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any request.recv/sendall call can raise an OSError exception, do you want to handle those explicitly or just let the thread fail with an exception? I think the latter is fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I’d also say so – I don’t really see a better alternative and I think this behavior is fine for our usage.
with a, b: | ||
while True: | ||
try: | ||
(readable, _, _) = select.select([a, b], [], []) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
select will fail if the fd is > 1024 so we should prefer poll but since this is test only it's not a big deal. We're not planning to test this with >1000 connections are we?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also here, I agree that this is just fine for our usage – we are not planning to run this with more than 1000 connections at a time for sure :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
feat(NODE-3633): add Socks5 support mongodb/node-mongodb-native#3041