- 04 Jan, 2021 2 commits
-
-
Scott Kuhl authored
If you use the tproxy method with a large subnet (such as 0/0), then (1) you may not receive UDP packets that sshuttle/tproxy can handle and (2) you are unable to connect to your machine using an IP that your computer recognizes as its own. To resolve those issues, any traffic to an IP that the host knows is local, does not go through the sshuttle chains.
-
Scott Kuhl authored
* Improve error messages related to sshuttle server. There are many GitHub issues related to the cryptic message: fatal: expected server init string 'SSHUTTLE0001'; got b'' The code that prints that message is after another check that is intended to verify that the server is still running. This code was faulty since the server is still running when rv==None (but exited when rv==0). I corrected this problem and then investigated ways to clarify the error message. I added additional exit codes for the server: 97 (exec in the shell returned), 98 (the python exec() function called returned). The end result is that the cryptic error message above will now print a more appropriate error message that should aid in debugging. I also changed the server so that it catches Fatal() and exits with exit code 99 (like the client does). Previously, it was just an unhandled exception on the server. I suspect some of the error messages were caused by restricted shells. I also investigated and added comments about how sshuttle might behave if it is being run on a server that has a restricted shell. This commit also replaces a couple of exit() calls in cmdline.py with 'return' since exit() is intended for interactive use. This change doesn't impact the server. * Remind user to exclude remote host when server exits with 255.
-
- 01 Jan, 2021 1 commit
-
-
Scott Kuhl authored
This commit rewrites the log() function so that it will append a newline at the end of the message if none is present. It doesn't make sense to print a log message without a newline since the next log message (which will write a prefix) expects to be starting at the beginning of a line. Although it isn't strictly necessary, this commit also removes any newlines at the ends of messages. If I missed any, including the newline at the end of the message will continue to work as it did before. Previously, some calls were missing the newline at the end even though including it was necessary for subsequent messages to appear correctly. This code also cleans up some redundant prefixes. The log() method will prepend the prefix and the different processes should set their prefix as soon as they start. Multiline messages are still supported (although the prefix for the additional lines was changed to match the length of the prefix used for the first line).
-
- 31 Dec, 2020 1 commit
-
-
Scott Kuhl authored
When users put parameters in a config file and pass them to sshuttle using '@', they might copy the quotes from the command line into the config file. This fix first ensures that we strip whitespace from the beginning/end of each line in the config file. Then, if the line begins and ends with a matching quote character, strip those too. Fixes #573.
-
- 29 Dec, 2020 2 commits
-
-
Herby Gillot authored
-
Brian May authored
-
- 28 Dec, 2020 10 commits
-
-
Brian May authored
-
Brian May authored
-
Scott Kuhl authored
Add an "is_supported()" function to the different methods so that each method can include whatever logic they wish to indicate if they are supported on a particular machine. Previously, methods/__init__.py contained all of the logic for selecting individual methods. Now, it iterates through a list of possible options and stops on the first method that it finds that is_supported(). Currently, the decision is made based on the presence of programs in the PATH. In the future, things such as the platform sshuttle is running on could be considered.
-
Samuel Bernardo authored
Signed-off-by:Samuel Bernardo <samuel@lip.pt>
-
Samuel Bernardo authored
Signed-off-by:Samuel Bernardo <samuel@lip.pt>
-
Samuel Bernardo authored
Signed-off-by:Samuel Bernardo <samuel@lip.pt>
-
Samuel Bernardo authored
Signed-off-by:Samuel Bernardo <samuel@lip.pt>
-
Samuel Bernardo authored
Signed-off-by:Samuel Bernardo <samuel@lip.pt>
-
Samuel Bernardo authored
Signed-off-by:Samuel Bernardo <samuel@lip.pt>
-
Samuel Bernardo authored
Add .gitignore .vscode/ path. Resolve the issue #374 adding tproxy mark option to allow different network mapping. Signed-off-by:Samuel Bernardo <samuel@lip.pt>
-
- 16 Dec, 2020 4 commits
-
-
dependabot-preview[bot] authored
Bumps [mock](https://github.com/testing-cabal/mock) from 2.0.0 to 4.0.3. - [Release notes](https://github.com/testing-cabal/mock/releases) - [Changelog](https://github.com/testing-cabal/mock/blob/master/CHANGELOG.rst) - [Commits](https://github.com/testing-cabal/mock/compare/2.0.0...4.0.3) Signed-off-by:
dependabot-preview[bot] <support@dependabot.com>
-
Brian May authored
Bump pytest from 6.2.0 to 6.2.1
-
dependabot-preview[bot] authored
Bumps [pytest](https://github.com/pytest-dev/pytest) from 6.2.0 to 6.2.1. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/master/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/6.2.0...6.2.1) Signed-off-by:
dependabot-preview[bot] <support@dependabot.com>
-
Brian May authored
Due to message from CI: DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020. Please upgrade your Python as Python 3.5 is no longer maintained. pip 21.0 will drop support for Python 3.5 in January 2021. pip 21.0 will remove support for this functionality.
-
- 14 Dec, 2020 4 commits
-
-
Brian May authored
Bump pytest from 6.1.2 to 6.2.0
-
Brian May authored
Bump setuptools-scm from 4.1.2 to 5.0.1
-
dependabot-preview[bot] authored
Bumps [pytest](https://github.com/pytest-dev/pytest) from 6.1.2 to 6.2.0. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/master/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/6.1.2...6.2.0) Signed-off-by:
dependabot-preview[bot] <support@dependabot.com>
-
dependabot-preview[bot] authored
Bumps [setuptools-scm](https://github.com/pypa/setuptools_scm) from 4.1.2 to 5.0.1. - [Release notes](https://github.com/pypa/setuptools_scm/releases) - [Changelog](https://github.com/pypa/setuptools_scm/blob/master/CHANGELOG.rst) - [Commits](https://github.com/pypa/setuptools_scm/compare/v4.1.2...v5.0.1) Signed-off-by:
dependabot-preview[bot] <support@dependabot.com>
-
- 16 Nov, 2020 2 commits
- 07 Nov, 2020 1 commit
-
-
Brian May authored
Bump attrs from 20.2.0 to 20.3.0
-
- 06 Nov, 2020 1 commit
-
-
dependabot-preview[bot] authored
Bumps [attrs](https://github.com/python-attrs/attrs) from 20.2.0 to 20.3.0. - [Release notes](https://github.com/python-attrs/attrs/releases) - [Changelog](https://github.com/python-attrs/attrs/blob/master/CHANGELOG.rst) - [Commits](https://github.com/python-attrs/attrs/compare/20.2.0...20.3.0) Signed-off-by:
dependabot-preview[bot] <support@dependabot.com>
-
- 05 Nov, 2020 2 commits
-
-
Brian May authored
Fix "DNS request from ... to None" messages.
-
Scott Kuhl authored
-
- 04 Nov, 2020 6 commits
-
-
Brian May authored
Intercept DNS requests sent by systemd-resolved.
-
Brian May authored
Improve nft IPv6 support.
-
Scott Kuhl authored
The server should just read from resolv.conf to find DNS servers to use. This restores this behavior after the previous commit changed it. The client now reads both /etc/resolv.conf and /run/systemd/resolve/resolv.conf. The latter is required to more reliably intercept regular DNS requests that systemd-resolved makes.
-
Scott Kuhl authored
This commit makes two fixes: 1. If an IPv6 DNS server is used, an nft rule had "ip6 protocol" in it which is invalid and caused sshuttle to exit. 2. I modified detection of udp vs tcp to follow the recommendation at https://superuser.com/questions/1560376/match-ipv6-protocol-using-nftables I also re-arranged the code slightly to reduce the number of if-statements.
-
Brian May authored
Improve consistency of PATH, environments, and which()
-
Scott Kuhl authored
-
- 29 Oct, 2020 2 commits
-
-
Brian May authored
Bump pytest from 6.1.1 to 6.1.2
-
dependabot-preview[bot] authored
Bumps [pytest](https://github.com/pytest-dev/pytest) from 6.1.1 to 6.1.2. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/master/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/6.1.1...6.1.2) Signed-off-by:
dependabot-preview[bot] <support@dependabot.com>
-
- 27 Oct, 2020 2 commits
-
-
Scott Kuhl authored
-
Scott Kuhl authored
Some methods are unable to determine the destination address of DNS packets that we capture. When this happens, change the message so it just shows where the DNS requests are from.
-