##// END OF EJS Templates
dispatch: protect against malicious 'hg serve --stdio' invocations (sec)...
dispatch: protect against malicious 'hg serve --stdio' invocations (sec) Some shared-ssh installations assume that 'hg serve --stdio' is a safe command to run for minimally trusted users. Unfortunately, the messy implementation of argument parsing here meant that trying to access a repo named '--debugger' would give the user a pdb prompt, thereby sidestepping any hoped-for sandboxing. Serving repositories over HTTP(S) is unaffected. We're not currently hardening any subcommands other than 'serve'. If your service exposes other commands to users with arbitrary repository names, it is imperative that you defend against repository names of '--debugger' and anything starting with '--config'. The read-only mode of hg-ssh stopped working because it provided its hook configuration to "hg serve --stdio" via --config parameter. This is banned for security reasons now. This patch switches it to directly call ui.setconfig(). If your custom hosting infrastructure relies on passing --config to "hg serve --stdio", you'll need to find a different way to get that configuration into Mercurial, either by using ui.setconfig() as hg-ssh does in this patch, or by placing an hgrc file someplace where Mercurial will read it. mitrandir@fb.com provided some extra fixes for the dispatch code and for hg-ssh in places that I overlooked.

File last commit:

r31846:1064a296 default
r32050:77eaf953 4.1.3 stable
Show More
test-check-py3-compat.t
42 lines | 2.6 KiB | text/troff | Tads3Lexer
/ tests / test-check-py3-compat.t
Gregory Szorc
tests: add test for Python 3 compatibility...
r27279 #require test-repo
timeless
tests: silence test-repo obsolete warning...
r29219 $ . "$TESTDIR/helpers-testrepo.sh"
Gregory Szorc
tests: add test for Python 3 compatibility...
r27279 $ cd "$TESTDIR"/..
Matt Harbison
tests: convert directory separators to '/' for MSYS in test-check-py-compat...
r27438 $ hg files 'set:(**.py)' | sed 's|\\|/|g' | xargs python contrib/check-py3-compat.py
Gregory Szorc
zstd: vendor python-zstandard 0.5.0...
r30435 contrib/python-zstandard/setup.py not using absolute_import
contrib/python-zstandard/setup_zstd.py not using absolute_import
contrib/python-zstandard/tests/common.py not using absolute_import
contrib/python-zstandard/tests/test_cffi.py not using absolute_import
contrib/python-zstandard/tests/test_compressor.py not using absolute_import
contrib/python-zstandard/tests/test_data_structures.py not using absolute_import
contrib/python-zstandard/tests/test_decompressor.py not using absolute_import
contrib/python-zstandard/tests/test_estimate_sizes.py not using absolute_import
contrib/python-zstandard/tests/test_module_attributes.py not using absolute_import
contrib/python-zstandard/tests/test_roundtrip.py not using absolute_import
contrib/python-zstandard/tests/test_train_dictionary.py not using absolute_import
Gregory Szorc
tests: add test for Python 3 compatibility...
r27279 i18n/check-translation.py not using absolute_import
setup.py not using absolute_import
tests/test-demandimport.py not using absolute_import
Gregory Szorc
tests: perform an ast parse with Python 3...
r28583
#if py3exe
Pulkit Goyal
py3: exclude pywatchman from test-check-py3-compat.t...
r30673 $ hg files 'set:(**.py) - grep(pygments)' -X hgext/fsmonitor/pywatchman \
> | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py \
Yuya Nishihara
py3: automatically glob out line numbers from check-py3-compat output...
r29810 > | sed 's/[0-9][0-9]*)$/*)/'
Mateusz Kwapich
py3: use raw strings in line continuation (convert ext)...
r30132 hgext/convert/transport.py: error importing: <ImportError> No module named 'svn.client' (error at transport.py:*)
Pulkit Goyal
py3: exclude pywatchman from test-check-py3-compat.t...
r30673 hgext/fsmonitor/state.py: error importing: <SyntaxError> from __future__ imports must occur at the beginning of the file (__init__.py, line 30) (error at watchmanclient.py:*)
Pulkit Goyal
py3: update test-check-py3-compat.t...
r30672 hgext/fsmonitor/watchmanclient.py: error importing: <SyntaxError> from __future__ imports must occur at the beginning of the file (__init__.py, line 30) (error at watchmanclient.py:*)
Pulkit Goyal
py3: update test-check-py3-compat.t output...
r30469 mercurial/cffi/bdiff.py: error importing: <ImportError> No module named 'mercurial.cffi' (error at check-py3-compat.py:*)
mercurial/cffi/mpatch.py: error importing: <ImportError> No module named 'mercurial.cffi' (error at check-py3-compat.py:*)
mercurial/cffi/osutil.py: error importing: <ImportError> No module named 'mercurial.cffi' (error at check-py3-compat.py:*)
Yuya Nishihara
py3: update test-check-py3-compat.t output...
r30333 mercurial/scmwindows.py: error importing: <ImportError> No module named 'msvcrt' (error at win32.py:*)
Yuya Nishihara
py3: include module filename in check-py3-compat.py output...
r30093 mercurial/win32.py: error importing: <ImportError> No module named 'msvcrt' (error at win32.py:*)
mercurial/windows.py: error importing: <ImportError> No module named 'msvcrt' (error at windows.py:*)
Gregory Szorc
tests: perform an ast parse with Python 3...
r28583
#endif
Augie Fackler
py3: split check of pygments-using files from the rest of the tree...
r29886
#if py3exe py3pygments
$ hg files 'set:(**.py) and grep(pygments)' | sed 's|\\|/|g' \
> | xargs $PYTHON3 contrib/check-py3-compat.py \
> | sed 's/[0-9][0-9]*)$/*)/'
#endif