annotate docs/administrator_guide/vcs_setup.rst @ 7367:c57d926edd39

auth: strip RFC4007 zone identifiers from IPv6 addresses before doing access control If using IPv6, the request IP address might contain a '%' that the ipaddr module that is used for IP filtering can't handle. https://tools.ietf.org/html/rfc4007#section-11 specifies how IPv6 addresses can have zone identifiers like trailing '%13' or '%eth0'. The zone identifier is used to help distinguish *if* the same address should be available on multiple interfaces. It *could* potentially have security implications in the odd case where the same address is different on different interfaces. The IP whitelist functionality does however not support zone filters, so there is no way users can expect the zone to be relevant for IP filtering. We can thus safely strip the zone index and only check for match on the other parts of the address.
author Mads Kiilerich <mads@kiilerich.com>
date Sat, 01 Sep 2018 01:12:13 +0200
parents 52f823b92614
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7338
2bb5e9ee49fe docs: split vcs_support into admin/vcs_setup and usage/vcs_notes
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 6789
diff changeset
1 .. _vcs_setup:
4970
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
2
7338
2bb5e9ee49fe docs: split vcs_support into admin/vcs_setup and usage/vcs_notes
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 6789
diff changeset
3 =============================
2bb5e9ee49fe docs: split vcs_support into admin/vcs_setup and usage/vcs_notes
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 6789
diff changeset
4 Version control systems setup
2bb5e9ee49fe docs: split vcs_support into admin/vcs_setup and usage/vcs_notes
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 6789
diff changeset
5 =============================
4970
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
6
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
7 Kallithea supports Git and Mercurial repositories out-of-the-box.
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
8 For Git, you do need the ``git`` command line client installed on the server.
811
bb35ad076e2f docs updates
Marcin Kuzminski <marcin@python-works.com>
parents:
diff changeset
9
4970
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
10 You can always disable Git or Mercurial support by editing the
7338
2bb5e9ee49fe docs: split vcs_support into admin/vcs_setup and usage/vcs_notes
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 6789
diff changeset
11 file ``kallithea/__init__.py`` and commenting out the backend. For example, to
2bb5e9ee49fe docs: split vcs_support into admin/vcs_setup and usage/vcs_notes
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 6789
diff changeset
12 disable Git but keep Mercurial enabled:
4970
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
13
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
14 .. code-block:: python
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
15
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
16 BACKENDS = {
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
17 'hg': 'Mercurial repository',
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
18 #'git': 'Git repository',
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
19 }
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
20
5433
fbbe80e3322b docs: consistent spacing around headings
Mads Kiilerich <madski@unity3d.com>
parents: 5417
diff changeset
21
7338
2bb5e9ee49fe docs: split vcs_support into admin/vcs_setup and usage/vcs_notes
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 6789
diff changeset
22 Git-specific setup
2bb5e9ee49fe docs: split vcs_support into admin/vcs_setup and usage/vcs_notes
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 6789
diff changeset
23 ------------------
2325
18d34a56a736 fix for issue #417, git execution was broken on windows for certain commands.
Marcin Kuzminski <marcin@python-works.com>
parents: 2095
diff changeset
24
5433
fbbe80e3322b docs: consistent spacing around headings
Mads Kiilerich <madski@unity3d.com>
parents: 5417
diff changeset
25
4902
03bbd33bc084 docs: rework stuff
Mads Kiilerich <madski@unity3d.com>
parents: 4192
diff changeset
26 Web server with chunked encoding
5575
ed2fb6e84a02 docs: use consistent style for section titles
Mads Kiilerich <madski@unity3d.com>
parents: 5434
diff changeset
27 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5433
fbbe80e3322b docs: consistent spacing around headings
Mads Kiilerich <madski@unity3d.com>
parents: 5417
diff changeset
28
4970
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
29 Large Git pushes require an HTTP server with support for
4955
4e6dfdb3fa01 docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents: 4937
diff changeset
30 chunked encoding for POST. The Python web servers waitress_ and
4970
601282d36c06 docs/usage: generalize 'git support' into 'version control systems support'
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4955
diff changeset
31 gunicorn_ (Linux only) can be used. By default, Kallithea uses
6554
2c3d30095d5e gearbox: replace paster with something TurboGears2-ish that still works with the Pylons stack
Mads Kiilerich <madski@unity3d.com>
parents: 5575
diff changeset
32 waitress_ for `gearbox serve` instead of the built-in `paste` WSGI
4955
4e6dfdb3fa01 docs: English and consistency corrections
Michael V. DePalatis <mike@depalatis.net>
parents: 4937
diff changeset
33 server.
2023
c45fb78969a3 docs updates on git support
Marcin Kuzminski <marcin@python-works.com>
parents: 1123
diff changeset
34
6554
2c3d30095d5e gearbox: replace paster with something TurboGears2-ish that still works with the Pylons stack
Mads Kiilerich <madski@unity3d.com>
parents: 5575
diff changeset
35 The web server used by gearbox is controlled in the .ini file::
3224
8b8edfc25856 whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents: 2992
diff changeset
36
2023
c45fb78969a3 docs updates on git support
Marcin Kuzminski <marcin@python-works.com>
parents: 1123
diff changeset
37 use = egg:waitress#main
c45fb78969a3 docs updates on git support
Marcin Kuzminski <marcin@python-works.com>
parents: 1123
diff changeset
38
2325
18d34a56a736 fix for issue #417, git execution was broken on windows for certain commands.
Marcin Kuzminski <marcin@python-works.com>
parents: 2095
diff changeset
39 or::
18d34a56a736 fix for issue #417, git execution was broken on windows for certain commands.
Marcin Kuzminski <marcin@python-works.com>
parents: 2095
diff changeset
40
18d34a56a736 fix for issue #417, git execution was broken on windows for certain commands.
Marcin Kuzminski <marcin@python-works.com>
parents: 2095
diff changeset
41 use = egg:gunicorn#main
3224
8b8edfc25856 whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents: 2992
diff changeset
42
4902
03bbd33bc084 docs: rework stuff
Mads Kiilerich <madski@unity3d.com>
parents: 4192
diff changeset
43 Also make sure to comment out the following options::
2023
c45fb78969a3 docs updates on git support
Marcin Kuzminski <marcin@python-works.com>
parents: 1123
diff changeset
44
3224
8b8edfc25856 whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents: 2992
diff changeset
45 threadpool_workers =
8b8edfc25856 whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents: 2992
diff changeset
46 threadpool_max_requests =
8b8edfc25856 whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents: 2992
diff changeset
47 use_threadpool =
8b8edfc25856 whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents: 2992
diff changeset
48
7339
52f823b92614 docs: vcs_setup: add note about Git HTTP POST buffer
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 7338
diff changeset
49 Increasing Git HTTP POST buffer size
52f823b92614 docs: vcs_setup: add note about Git HTTP POST buffer
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 7338
diff changeset
50 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
52f823b92614 docs: vcs_setup: add note about Git HTTP POST buffer
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 7338
diff changeset
51
52f823b92614 docs: vcs_setup: add note about Git HTTP POST buffer
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 7338
diff changeset
52 If Git pushes fail with HTTP error code 411 (Length Required), you may need to
52f823b92614 docs: vcs_setup: add note about Git HTTP POST buffer
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 7338
diff changeset
53 increase the Git HTTP POST buffer. Run the following command as the user that
52f823b92614 docs: vcs_setup: add note about Git HTTP POST buffer
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 7338
diff changeset
54 runs Kallithea to set a global Git variable to this effect::
52f823b92614 docs: vcs_setup: add note about Git HTTP POST buffer
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 7338
diff changeset
55
52f823b92614 docs: vcs_setup: add note about Git HTTP POST buffer
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 7338
diff changeset
56 git config --global http.postBuffer 524288000
52f823b92614 docs: vcs_setup: add note about Git HTTP POST buffer
Thomas De Schampheleire <thomas.de_schampheleire@nokia.com>
parents: 7338
diff changeset
57
2024
370e995e46c2 fixes in doc about waitress wsgi
Marcin Kuzminski <marcin@python-works.com>
parents: 2023
diff changeset
58
2023
c45fb78969a3 docs updates on git support
Marcin Kuzminski <marcin@python-works.com>
parents: 1123
diff changeset
59 .. _waitress: http://pypi.python.org/pypi/waitress
3224
8b8edfc25856 whitespace cleanup
Marcin Kuzminski <marcin@python-works.com>
parents: 2992
diff changeset
60 .. _gunicorn: http://pypi.python.org/pypi/gunicorn
4972
b52a1ccee927 docs/usage: reword information on Mercurial subrepository support
Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
parents: 4971
diff changeset
61 .. _subrepositories: http://mercurial.aragost.com/kick-start/en/subrepositories/