Skip to content
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

Merged
merged 2 commits into from Dec 16, 2021

Conversation

addaleax
Copy link
Contributor

@addaleax addaleax commented Dec 3, 2021

- Spec PR: mongodb/specifications#1103
- Node.js driver PR that makes use of this script:
  mongodb/node-mongodb-native#3041
.evergreen/socks5srv.py Outdated Show resolved Hide resolved
.evergreen/socks5srv.py Outdated Show resolved Hide resolved
"""Handle the Socks5 communication with a freshly connected client"""

# Client greeting
if self.request.recv(1) != b'\x05': # Socks5 only
Copy link
Contributor

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.

Copy link
Contributor Author

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.

.evergreen/socks5srv.py Show resolved Hide resolved
with a, b:
while True:
try:
(readable, _, _) = select.select([a, b], [], [])
Copy link
Contributor

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?

Copy link
Contributor Author

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 :)

Copy link
Contributor

@ShaneHarvey ShaneHarvey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@nbbeeken nbbeeken changed the title Add socks5srv.py helper script DRIVERS-1357: Add socks5srv.py helper script Dec 16, 2021
@nbbeeken nbbeeken merged commit 7c409f1 into mongodb-labs:master Dec 16, 2021
@nbbeeken nbbeeken deleted the 3633-dev branch December 16, 2021 14:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants