Mercurial > kallithea
changeset 8899:af20f57282ff i18n
Merge stable
line wrap: on
line diff
--- a/.hgtags Fri May 14 16:44:27 2021 +0200 +++ b/.hgtags Sun May 30 01:34:48 2021 +0200 @@ -80,3 +80,4 @@ a22edac2be58eaf68d1940d4dfeb88fadbabb43a 0.6.1 22bfca5da6f56738f6220d24bb6ce2f9bc4f9b1e 0.6.2 213450cbdc11fff8508ba25101dc05ab74048e55 0.6.3 +7324ff1929d558075500ca483889b28e904ef934 0.7.0
--- a/CONTRIBUTORS Fri May 14 16:44:27 2021 +0200 +++ b/CONTRIBUTORS Sun May 30 01:34:48 2021 +0200 @@ -1,19 +1,26 @@ List of contributors to Kallithea project: - Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> 2014-2020 - Mads Kiilerich <mads@kiilerich.com> 2016-2020 + Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> 2014-2021 + Mads Kiilerich <mads@kiilerich.com> 2016-2021 + ssantos <ssantos@web.de> 2018-2021 + Private <adamantine.sword@gmail.com> 2019-2021 + Étienne Gilli <etienne@gilli.io> 2020-2021 + fresh <fresh190@protonmail.com> 2020-2021 + robertus <robertuss12@gmail.com> 2020-2021 + Eugenia Russell <eugenia.russell2019@gmail.com> 2021 + Michalis <michalisntovas@yahoo.gr> 2021 + vs <vsuhachev@yandex.ru> 2021 + Александр <akonn7@mail.ru> 2021 Asterios Dimitriou <steve@pci.gr> 2016-2017 2020 Allan Nordhøy <epost@anotheragency.no> 2017-2020 Anton Schur <tonich.sh@gmail.com> 2017 2020 - ssantos <ssantos@web.de> 2018-2020 Manuel Jacob <me@manueljacob.de> 2019-2020 - Private <adamantine.sword@gmail.com> 2019-2020 + Artem <kovalevartem.ru@gmail.com> 2020 David Ignjić <ignjic@gmail.com> 2020 Dennis Fink <dennis.fink@c3l.lu> 2020 - Étienne Gilli <etienne@gilli.io> 2020 J. Lavoie <j.lavoie@net-c.ca> 2020 - robertus <robertuss12@gmail.com> 2020 Ross Thomas <ross@lns-nevasoft.com> 2020 + Tim Ooms <tatankat@users.noreply.github.com> 2020 Andrej Shadura <andrew@shadura.me> 2012 2014-2017 2019 Étienne Gilli <etienne.gilli@gmail.com> 2015-2017 2019 Adi Kriegisch <adi@cg.tuwien.ac.at> 2019
--- a/MANIFEST.in Fri May 14 16:44:27 2021 +0200 +++ b/MANIFEST.in Sun May 30 01:34:48 2021 +0200 @@ -12,6 +12,7 @@ include dev_requirements.txt include development.ini include pytest.ini +include pytype_requirements.txt include requirements.txt include tox.ini recursive-include docs *
--- a/development.ini Fri May 14 16:44:27 2021 +0200 +++ b/development.ini Sun May 30 01:34:48 2021 +0200 @@ -81,6 +81,7 @@ #[filter:proxy-prefix] #use = egg:PasteDeploy#prefix #prefix = /<your-prefix> +#translate_forwarded_server = False [app:main] use = egg:kallithea @@ -111,11 +112,17 @@ ## cut off limit for large diffs (size in bytes) cut_off_limit = 256000 -## force https in Kallithea, fixes https redirects, assumes it's always https -force_https = false +## WSGI environment variable to get the IP address of the client (default REMOTE_ADDR) +#remote_addr_variable = HTTP_X_FORWARDED_FOR + +## WSGI environment variable to get the protocol (http or https) of the client connection (default wsgi.url_scheme) +#url_scheme_variable = HTTP_X_FORWARDED_PROTO -## use Strict-Transport-Security headers -use_htsts = false +## always pretend the client connected using HTTPS (default false) +#force_https = true + +## use Strict-Transport-Security headers (default false) +#use_htsts = true ## number of commits stats will parse on each iteration commit_parse_limit = 25
--- a/docs/conf.py Fri May 14 16:44:27 2021 +0200 +++ b/docs/conf.py Sun May 30 01:34:48 2021 +0200 @@ -47,7 +47,7 @@ # General information about the project. project = 'Kallithea' -copyright = '2010-2020 by various authors, licensed as GPLv3.' +copyright = '2010-2021 by various authors, licensed as GPLv3.' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the
--- a/docs/setup.rst Fri May 14 16:44:27 2021 +0200 +++ b/docs/setup.rst Sun May 30 01:34:48 2021 +0200 @@ -406,6 +406,38 @@ user that Kallithea runs. +Proxy setups +------------ + +When Kallithea is processing HTTP requests from a user, it will see and use +some of the basic properties of the connection, both at the TCP/IP level and at +the HTTP level. The WSGI server will provide this information to Kallithea in +the "environment". + +In some setups, a proxy server will take requests from users and forward +them to the actual Kallithea server. The proxy server will thus be the +immediate client of the Kallithea WSGI server, and Kallithea will basically see +it as such. To make sure Kallithea sees the request as it arrived from the +client to the proxy server, the proxy server must be configured to +somehow pass the original information on to Kallithea, and Kallithea must be +configured to pick that information up and trust it. + +Kallithea will by default rely on its WSGI server to provide the IP of the +client in the WSGI environment as ``REMOTE_ADDR``, but it can be configured to +get it from an HTTP header that has been set by the proxy server. For +example, if the proxy server puts the client IP in the ``X-Forwarded-For`` +HTTP header, set:: + + remote_addr_variable = HTTP_X_FORWARDED_FOR + +Kallithea will by default rely on finding the protocol (``http`` or ``https``) +in the WSGI environment as ``wsgi.url_scheme``. If the proxy server puts +the protocol of the client request in the ``X-Forwarded-Proto`` HTTP header, +Kallithea can be configured to trust that header by setting:: + + url_scheme_variable = HTTP_X_FORWARDED_PROTO + + HTTPS support ------------- @@ -414,10 +446,9 @@ Alternatively, you can use some special configuration settings to control directly which scheme/protocol Kallithea will use when generating URLs: -- With ``https_fixup = true``, the scheme will be taken from the - ``X-Url-Scheme``, ``X-Forwarded-Scheme`` or ``X-Forwarded-Proto`` HTTP header - (default ``http``). -- With ``force_https = true`` the default will be ``https``. +- With ``url_scheme_variable`` set, the scheme will be taken from that HTTP + header. +- With ``force_https = true``, the scheme will be seen as ``https``. - With ``use_htsts = true``, Kallithea will set ``Strict-Transport-Security`` when using https. .. _nginx_virtual_host:
--- a/kallithea/__init__.py Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/__init__.py Sun May 30 01:34:48 2021 +0200 @@ -36,7 +36,7 @@ if sys.version_info < (3, 6): raise Exception('Kallithea requires python 3.6 or later') -VERSION = (0, 6, 99) +VERSION = (0, 7, 0) BACKENDS = { 'hg': 'Mercurial repository', 'git': 'Git repository',
--- a/kallithea/config/application.py Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/config/application.py Sun May 30 01:34:48 2021 +0200 @@ -35,7 +35,7 @@ app = SimpleGit(app, config) # Enable https redirects based on HTTP_X_URL_SCHEME set by proxy - if any(asbool(config.get(x)) for x in ['https_fixup', 'force_https', 'use_htsts']): + if any(asbool(config.get(x)) for x in ['url_scheme_variable', 'force_https', 'use_htsts']): app = HttpsFixup(app, config) app = PermanentRepoUrl(app, config)
--- a/kallithea/config/middleware/https_fixup.py Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/config/middleware/https_fixup.py Sun May 30 01:34:48 2021 +0200 @@ -26,6 +26,7 @@ """ +import kallithea from kallithea.lib.utils2 import asbool @@ -54,20 +55,17 @@ middleware you should set this header inside your proxy ie. nginx, apache etc. """ - # DETECT PROTOCOL ! - if 'HTTP_X_URL_SCHEME' in environ: - proto = environ.get('HTTP_X_URL_SCHEME') - elif 'HTTP_X_FORWARDED_SCHEME' in environ: - proto = environ.get('HTTP_X_FORWARDED_SCHEME') - elif 'HTTP_X_FORWARDED_PROTO' in environ: - proto = environ.get('HTTP_X_FORWARDED_PROTO') - else: - proto = 'http' - org_proto = proto + proto = None # if we have force, just override if asbool(self.config.get('force_https')): proto = 'https' + else: + # get protocol from configured WSGI environment variable + url_scheme_variable = kallithea.CONFIG.get('url_scheme_variable') + if url_scheme_variable: + proto = environ.get(url_scheme_variable) - environ['wsgi.url_scheme'] = proto - environ['wsgi._org_proto'] = org_proto + if proto: + environ['wsgi._org_proto'] = environ.get('wsgi.url_scheme') + environ['wsgi.url_scheme'] = proto
--- a/kallithea/controllers/base.py Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/controllers/base.py Sun May 30 01:34:48 2021 +0200 @@ -64,35 +64,29 @@ def _filter_proxy(ip): """ - HEADERS can have multiple ips inside the left-most being the original - client, and each successive proxy that passed the request adding the IP - address where it received the request from. + HTTP_X_FORWARDED_FOR headers can have multiple IP addresses, with the + leftmost being the original client. Each proxy that is forwarding the + request will usually add the IP address it sees the request coming from. - :param ip: + The client might have provided a fake leftmost value before hitting the + first proxy, so if we have a proxy that is adding one IP address, we can + only trust the rightmost address. """ if ',' in ip: _ips = ip.split(',') - _first_ip = _ips[0].strip() + _first_ip = _ips[-1].strip() log.debug('Got multiple IPs %s, using %s', ','.join(_ips), _first_ip) return _first_ip return ip def get_ip_addr(environ): - proxy_key = 'HTTP_X_REAL_IP' - proxy_key2 = 'HTTP_X_FORWARDED_FOR' - def_key = 'REMOTE_ADDR' - - ip = environ.get(proxy_key) - if ip: - return _filter_proxy(ip) - - ip = environ.get(proxy_key2) - if ip: - return _filter_proxy(ip) - - ip = environ.get(def_key, '0.0.0.0') - return _filter_proxy(ip) + """The web server will set REMOTE_ADDR to the unfakeable IP layer client IP address. + If using a proxy server, make it possible to use another value, such as + the X-Forwarded-For header, by setting `remote_addr_variable = HTTP_X_FORWARDED_FOR`. + """ + remote_addr_variable = kallithea.CONFIG.get('remote_addr_variable', 'REMOTE_ADDR') + return _filter_proxy(environ.get(remote_addr_variable, '0.0.0.0')) def get_path_info(environ):
--- a/kallithea/i18n/be/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/be/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2017-08-20 10:44+0000\n" "Last-Translator: Viktar Vauchkevich <victorenator@gmail.com>\n" "Language-Team: Belarusian <https://hosted.weblate.org/projects/kallithea/" @@ -18,26 +18,26 @@ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 2.17-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "Рэпазітар не знойдзены на файлавай сістэме" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Яшчэ не было змен" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "Набор змен для %s %s не знойдзены ў %s" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 #, fuzzy #| msgid "Your account is disabled" msgid "SSH access is disabled."
--- a/kallithea/i18n/bg/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/bg/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.4.99\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -17,26 +17,26 @@ "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.6.0\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr ""
--- a/kallithea/i18n/cs/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/cs/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2015-11-12 08:51+0000\n" "Last-Translator: Michal Čihař <michal@cihar.com>\n" "Language-Team: Czech <https://hosted.weblate.org/projects/kallithea/" @@ -17,26 +17,26 @@ "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: Weblate 2.5-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr ""
--- a/kallithea/i18n/da/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/da/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3.99\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2019-03-14 01:03+0000\n" "Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n" "Language-Team: Danish <https://hosted.weblate.org/projects/kallithea/" @@ -16,26 +16,26 @@ "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 3.5.1\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "CSRF-token lækage opdaget, alle form-tokens er invalideret" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "Repository ikke fundet i filsystemet" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Der er ingen changesets endnu" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "Changeset for %s %s ikke fundet i %s" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr ""
--- a/kallithea/i18n/de/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/de/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2020-12-21 05:29+0000\n" "Last-Translator: J. Lavoie <j.lavoie@net-c.ca>\n" "Language-Team: German <https://hosted.weblate.org/projects/kallithea/" @@ -16,28 +16,28 @@ "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.4-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" "Es wurde ein CSRF Leck entdeckt. Alle Formular Token sind abgelaufen" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "Das Repository konnte nicht im Filesystem gefunden werden" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Es gibt noch keine Änderungssätze" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, fuzzy, python-format #| msgid "Changeset not found" msgid "Changeset for %s %s not found in %s" msgstr "Änderungssatz nicht gefunden" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 #, fuzzy #| msgid "Your account is disabled" msgid "SSH access is disabled."
--- a/kallithea/i18n/el/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/el/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2021-05-10 09:32+0000\n" "Last-Translator: Eugenia Russell <eugenia.russell2019@gmail.com>\n" "Language-Team: Greek <https://hosted.weblate.org/projects/kallithea/" @@ -16,28 +16,28 @@ "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.7-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" "Εντοπίστηκε διαρροή ενός διακριτικού CSRF - όλα τα διακριτικά της φόρμας " "έχουν λήξει" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "Το αποθετήριο δε βρέθηκε στο σύστημα αρχείων" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Δεν υπάρχουν σετ αλλαγών ακόμα" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "Το σετ αλλαγών για %s %sδεν βρέθηκε στο %s" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr "Η πρόσβαση μέσω SSH είναι απενεργοποιημένη."
--- a/kallithea/i18n/es/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/es/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2018-04-18 11:43+0000\n" "Last-Translator: Jesús Sánchez <jsanchezfdz95@gmail.com>\n" "Language-Team: Spanish <https://hosted.weblate.org/projects/kallithea/" @@ -16,26 +16,26 @@ "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 3.0-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Aún no hay cambios" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr ""
--- a/kallithea/i18n/fr/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/fr/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2021-05-15 17:32+0000\n" "Last-Translator: Étienne Gilli <etienne@gilli.io>\n" "Language-Team: French <https://hosted.weblate.org/projects/kallithea/" @@ -16,28 +16,28 @@ "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.7-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" "Une fuite de jeton CSRF a été détectée - tous les jetons de formulaire " "sont considérés comme expirés" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "Dépôt non trouvé sur le système de fichiers" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Il n’y a aucun changement pour le moment" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "Ensemble de changements pour %s %s non trouvé dans %s" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr "L'accès SSH est désactivé." @@ -953,8 +953,8 @@ "Hook names with \".kallithea_\" are reserved for internal use. Please use " "another hook name." msgstr "" -"Les noms de hook avec \".kallithea_\" sont réservés pour un usage interne. " -"Merci de choisir un autre nom pour le hook." +"Les noms de hook avec \".kallithea_\" sont réservés pour un usage " +"interne. Merci de choisir un autre nom pour le hook." #: kallithea/controllers/admin/settings.py:339 msgid "Added new hook" @@ -1304,8 +1304,8 @@ "Invalid SSH key - base64 part %r seems truncated (it is too short for " "declared string length %s)" msgstr "" -"Clé SSH invalide – la partie base64 %r semble tronquée (elle est trop court " -"pour la taille déclarée %s)" +"Clé SSH invalide – la partie base64 %r semble tronquée (elle est trop " +"court pour la taille déclarée %s)" #: kallithea/lib/ssh.py:132 #, python-format @@ -1313,13 +1313,14 @@ "Invalid SSH key - base64 part %r seems truncated (it contains too few " "strings for a %s key)" msgstr "" -"Clé SSH invalide – la partie base64 %r semble tronquée (elle ne contient pas " -"assez de parties pour une clé %s)" +"Clé SSH invalide – la partie base64 %r semble tronquée (elle ne contient " +"pas assez de parties pour une clé %s)" #: kallithea/lib/ssh.py:134 #, python-format msgid "Invalid SSH key - it is a %s key but the base64 part contains %r" -msgstr "Clé SSH invalide – c'est une clé %s mais la partie base64 contient %r" +msgstr "" +"Clé SSH invalide – c'est une clé %s mais la partie base64 contient %r" #: kallithea/lib/webutils.py:623 #, python-format @@ -1543,8 +1544,8 @@ "[Comment] %(repo_name)s changeset %(short_id)s \"%(message_short)s\" on " "%(branch)s by %(cs_author_username)s" msgstr "" -"[Commentaire] Changeset %(short_id)s « %(message_short)s » de %(repo_name)s " -"dans %(branch)s par %(cs_author_username)s" +"[Commentaire] Changeset %(short_id)s « %(message_short)s » de " +"%(repo_name)s dans %(branch)s par %(cs_author_username)s" #: kallithea/model/notification.py:174 #, python-format @@ -1800,7 +1801,8 @@ #: kallithea/model/validators.py:401 msgid "Invalid repository URL. It must be a valid http, https, or ssh URL" msgstr "" -"URL de dépôt invalide. Ce doit être une URL valide de type http, https ou ssh" +"URL de dépôt invalide. Ce doit être une URL valide de type http, https ou " +"ssh" #: kallithea/model/validators.py:426 msgid "Fork has to be the same type as parent" @@ -3497,9 +3499,9 @@ "post-receive hooks internally. Installation of these hooks is managed in " "%s." msgstr "" -"Kallithea ne supporte pas les hooks Git personnalisés. Kallithea utilise des " -"hooks Git de post-réception en interne. L'installation de ces hooks est " -"gérée dans %s." +"Kallithea ne supporte pas les hooks Git personnalisés. Kallithea utilise " +"des hooks Git de post-réception en interne. L'installation de ces hooks " +"est gérée dans %s." #: kallithea/templates/admin/settings/settings_hooks.html:48 msgid "Custom Hooks are not enabled" @@ -3559,9 +3561,9 @@ "hooks that don't seem to come from Kallithea will be disabled by renaming " "to .bak extension." msgstr "" -"Installe les hooks internes de Kallithea pour tous les dépôts Git. Les hooks " -"existants qui ne semblent pas être livrés avec Kallithea seront désactivés " -"en les renommant avec l'extension .bak." +"Installe les hooks internes de Kallithea pour tous les dépôts Git. Les " +"hooks existants qui ne semblent pas être livrés avec Kallithea seront " +"désactivés en les renommant avec l'extension .bak." #: kallithea/templates/admin/settings/settings_mapping.html:41 msgid "Rescan Repositories" @@ -3747,12 +3749,13 @@ "hostname\n" " " msgstr "" -"Modèle de construction d'URL de clone. Par exemple : " -"'{scheme}://{user}@{netloc}/{repo}'.\n" +"Modèle de construction d'URL de clone. Par exemple : '{scheme}://{user}" +"@{netloc}/{repo}'.\n" " Les variables " "suivantes sont disponibles :\n" -" {scheme} 'http' " -"ou 'https' envoyé à partir du serveur Kallithea en cours d'utilisation,\n" +" {scheme} " +"'http' ou 'https' envoyé à partir du serveur Kallithea en cours " +"d'utilisation,\n" " {user} nom de " "l'utilisateur courant,\n" " {netloc} " @@ -3761,8 +3764,8 @@ "complet du dépôt,\n" " {repoid} ID du " "dépôt, peut être utilisé pour cloner par ID,\n" -" {system_user} nom " -"de l'utilisateur système Kallithea,\n" +" {system_user} " +"nom de l'utilisateur système Kallithea,\n" " {hostname} nom " "d'hôte du serveur\n" " "
--- a/kallithea/i18n/hu/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/hu/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2015-04-11 00:59+0200\n" "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n" "Language-Team: Hungarian <https://hosted.weblate.org/projects/kallithea/" @@ -17,26 +17,26 @@ "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.3-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr ""
--- a/kallithea/i18n/ja/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/ja/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2019-08-27 07:23+0000\n" "Last-Translator: leela <53352@protonmail.com>\n" "Language-Team: Japanese <https://hosted.weblate.org/projects/kallithea/" @@ -16,27 +16,27 @@ "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 3.9-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "ファイルシステム内にリポジトリが見つかりません" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "まだチェンジセットがありません" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, fuzzy, python-format #| msgid "Changeset not found" msgid "Changeset for %s %s not found in %s" msgstr "リビジョンが見つかりません" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 #, fuzzy #| msgid "Your account is disabled" msgid "SSH access is disabled."
--- a/kallithea/i18n/kallithea.pot Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/kallithea.pot Sun May 30 01:34:48 2021 +0200 @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: Kallithea 0.6.99\n" +"Project-Id-Version: Kallithea 0.7.0\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,25 +17,25 @@ "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.1\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr ""
--- a/kallithea/i18n/lb/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/lb/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -3,7 +3,7 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2020-04-13 19:42+0000\n" "Last-Translator: Dennis Fink <dennis.fink@c3l.lu>\n" "Language: lb\n" @@ -13,26 +13,26 @@ "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.0-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Et sinn nach keng Ännerungen do" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr "SSH Accès ass ausgeschalt."
--- a/kallithea/i18n/nb_NO/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/nb_NO/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3.99\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2020-08-11 11:32+0000\n" "Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n" "Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/" @@ -16,26 +16,26 @@ "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.2-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Ingen endringssett enda" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr ""
--- a/kallithea/i18n/nl_BE/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/nl_BE/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2019-10-05 19:28+0000\n" "Last-Translator: Thomas De Schampheleire <patrickdepinguin@gmail.com>\n" "Language-Team: Flemish <https://hosted.weblate.org/projects/kallithea/" @@ -17,26 +17,26 @@ "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 3.9-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Er zijn nog geen changesets" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr ""
--- a/kallithea/i18n/pl/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/pl/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2021-01-15 18:32+0000\n" "Last-Translator: robertus <robertuss12@gmail.com>\n" "Language-Team: Polish <https://hosted.weblate.org/projects/kallithea/" @@ -17,29 +17,29 @@ "%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.5-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" "Wykryto wyciek tokenu CSRF — wszystkie tokeny formularza zostały " "unieważnione" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 #, fuzzy msgid "Repository not found in the filesystem" msgstr "Nie znaleziono repozytorium w systemie plików" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Brak zestawienia zmian" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "Zmiany dla %s %s nie zostały znalezione w %s" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr "Dostęp SSH jest wyłączony."
--- a/kallithea/i18n/pt/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/pt/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.6.1\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2021-05-10 09:32+0000\n" "Last-Translator: ssantos <ssantos@web.de>\n" "Language-Team: none\n" @@ -19,26 +19,26 @@ "X-Generator: Weblate 4.7-dev\n" "Generated-By: Babel 2.8.0\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Não há nenhum changeset ainda" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr ""
--- a/kallithea/i18n/pt_BR/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/pt_BR/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2014-02-13 14:34+0000\n" "Last-Translator: Marcin Kuźmiński <marcin@python-works.com>\n" "Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects/" @@ -15,27 +15,27 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Não há nenhum changeset ainda" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, fuzzy, python-format #| msgid "Changeset not found" msgid "Changeset for %s %s not found in %s" msgstr "Conjunto de alterações não encontrado" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 #, fuzzy #| msgid "Your account is disabled" msgid "SSH access is disabled."
--- a/kallithea/i18n/ru/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/ru/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2021-02-14 06:50+0000\n" "Last-Translator: vs <vsuhachev@yandex.ru>\n" "Language-Team: Russian <https://hosted.weblate.org/projects/kallithea/" @@ -17,26 +17,26 @@ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.5-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "Обнаружена утечка CSRF-токена — истёк срок действия токенов форм" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "Репозиторий не найден на файловой системе" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Наборы изменений отсутствуют" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "Набор изменений для %s %s не найден в %s" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr "Доступ по SSH отключен."
--- a/kallithea/i18n/sk/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/sk/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2015-04-01 12:59+0200\n" "Last-Translator: Andrej Shadura <andrew@shadura.me>\n" "Language-Team: Slovak <https://hosted.weblate.org/projects/kallithea/" @@ -17,26 +17,26 @@ "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" "Generated-By: Babel 1.3\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Zatiaľ nie sú žiadne zmeny" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr ""
--- a/kallithea/i18n/tr/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/tr/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.4.99\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2019-11-05 08:03+0000\n" "Last-Translator: Hüseyin Tunç <huseyin.tunc@bulutfon.com>\n" "Language-Team: Turkish <https://hosted.weblate.org/projects/kallithea/" @@ -20,26 +20,26 @@ "X-Generator: Weblate 3.10-dev\n" "Generated-By: Babel 2.6.0\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr ""
--- a/kallithea/i18n/uk/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/uk/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3.2\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2019-11-13 10:04+0000\n" "Last-Translator: Oleksandr Shtalinberg <o.shtalinberg@gmail.com>\n" "Language-Team: Ukrainian <https://hosted.weblate.org/projects/kallithea/" @@ -17,26 +17,26 @@ "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 3.10-dev\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "Виявлено витік токенів CSRF - всі маркери форми минули" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "Репозиторій не знайдено у файловій системі" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "Наборів змін немає" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "Набір змін для %s %s не знайдено в %s" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 msgid "SSH access is disabled." msgstr ""
--- a/kallithea/i18n/zh_CN/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/zh_CN/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2019-08-14 19:00+0000\n" "Last-Translator: Elizabeth Sherrock <lizzyd710@gmail.com>\n" "Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/" @@ -17,26 +17,26 @@ "X-Generator: Weblate 3.8-dev\n" "Generated-By: Babel 1.3\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "还没有修订集" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, fuzzy, python-format msgid "Changeset for %s %s not found in %s" msgstr "未找到修订集" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 #, fuzzy #| msgid "Your account is disabled" msgid "SSH access is disabled."
--- a/kallithea/i18n/zh_TW/LC_MESSAGES/kallithea.po Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/i18n/zh_TW/LC_MESSAGES/kallithea.po Sun May 30 01:34:48 2021 +0200 @@ -4,7 +4,7 @@ msgstr "" "Project-Id-Version: Kallithea 0.3\n" "Report-Msgid-Bugs-To: translations@kallithea-scm.org\n" -"POT-Creation-Date: 2021-05-12 11:36+0200\n" +"POT-Creation-Date: 2021-05-30 01:30+0200\n" "PO-Revision-Date: 2017-03-10 18:26+0000\n" "Last-Translator: mao <mao@lins.fju.edu.tw>\n" "Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/" @@ -17,26 +17,26 @@ "X-Generator: Weblate 2.12\n" "Generated-By: Babel 1.3\n" -#: kallithea/controllers/base.py:476 +#: kallithea/controllers/base.py:470 msgid "" "CSRF token leak has been detected - all form tokens have been expired" msgstr "" -#: kallithea/controllers/base.py:572 +#: kallithea/controllers/base.py:566 msgid "Repository not found in the filesystem" msgstr "" -#: kallithea/controllers/base.py:593 kallithea/controllers/changelog.py:67 +#: kallithea/controllers/base.py:587 kallithea/controllers/changelog.py:67 #: kallithea/controllers/pullrequests.py:249 msgid "There are no changesets yet" msgstr "" -#: kallithea/controllers/base.py:596 +#: kallithea/controllers/base.py:590 #, python-format msgid "Changeset for %s %s not found in %s" msgstr "" -#: kallithea/controllers/base.py:637 +#: kallithea/controllers/base.py:631 #, fuzzy #| msgid "Your account is disabled" msgid "SSH access is disabled."
--- a/kallithea/lib/vcs/backends/git/repository.py Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/lib/vcs/backends/git/repository.py Sun May 30 01:34:48 2021 +0200 @@ -192,7 +192,11 @@ >>> GitRepository._check_url('git://example.com/\t') Traceback (most recent call last): ... + urllib.error.URLError: <urlopen error Invalid ...> + + The failure above will be one of, depending on the level of WhatWG support: urllib.error.URLError: <urlopen error Invalid whitespace character in path: '\t'> + urllib.error.URLError: <urlopen error Invalid url: 'git://example.com/ ' normalizes to 'git://example.com/'> """ try: parsed_url = urllib.parse.urlparse(url) @@ -204,6 +208,10 @@ if os.path.isabs(url) and os.path.isdir(url): return + unparsed_url = urllib.parse.urlunparse(parsed_url) + if unparsed_url != url: + raise urllib.error.URLError("Invalid url: '%s' normalizes to '%s'" % (url, unparsed_url)) + if parsed_url.scheme == 'git': # Mitigate problems elsewhere with incorrect handling of encoded paths. # Don't trust urllib.parse.unquote but be prepared for more flexible implementations elsewhere.
--- a/kallithea/templates/about.html Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/templates/about.html Sun May 30 01:34:48 2021 +0200 @@ -24,20 +24,27 @@ necessarily limited to the following:</p> <ul> - <li>Copyright © 2012–2020, Mads Kiilerich</li> - <li>Copyright © 2014–2020, Thomas De Schampheleire</li> - <li>Copyright © 2015–2017, 2019–2020, Étienne Gilli</li> + <li>Copyright © 2012–2021, Mads Kiilerich</li> + <li>Copyright © 2014–2021, Thomas De Schampheleire</li> + <li>Copyright © 2015–2017, 2019–2021, Étienne Gilli</li> + <li>Copyright © 2018–2021, ssantos</li> + <li>Copyright © 2019–2021, Private</li> + <li>Copyright © 2020–2021, fresh</li> + <li>Copyright © 2020–2021, robertus</li> + <li>Copyright © 2021, Eugenia Russell</li> + <li>Copyright © 2021, Michalis</li> + <li>Copyright © 2021, vs</li> + <li>Copyright © 2021, Александр</li> <li>Copyright © 2016–2017, 2020, Asterios Dimitriou</li> <li>Copyright © 2017–2020, Allan Nordhøy</li> <li>Copyright © 2017, 2020, Anton Schur</li> - <li>Copyright © 2018–2020, ssantos</li> <li>Copyright © 2019–2020, Manuel Jacob</li> - <li>Copyright © 2019–2020, Private</li> + <li>Copyright © 2020, Artem</li> <li>Copyright © 2020, David Ignjić</li> <li>Copyright © 2020, Dennis Fink</li> <li>Copyright © 2020, J. Lavoie</li> - <li>Copyright © 2020, robertus</li> <li>Copyright © 2020, Ross Thomas</li> + <li>Copyright © 2020, Tim Ooms</li> <li>Copyright © 2012, 2014–2017, 2019, Andrej Shadura</li> <li>Copyright © 2019, Adi Kriegisch</li> <li>Copyright © 2019, Danni Randeris</li>
--- a/kallithea/templates/base/base.html Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/templates/base/base.html Sun May 30 01:34:48 2021 +0200 @@ -23,7 +23,7 @@ <a class="navbar-link" href="${h.url('kallithea_project_url')}" target="_blank">Kallithea</a>, %endif which is - <a class="navbar-link" href="${h.canonical_url('about')}#copyright">© 2010–2020 by various authors & licensed under GPLv3</a>. + <a class="navbar-link" href="${h.canonical_url('about')}#copyright">© 2010–2021 by various authors & licensed under GPLv3</a>. %if c.issues_url: – <a class="navbar-link" href="${c.issues_url}" target="_blank">${_('Support')}</a> %endif
--- a/kallithea/templates/ini/template.ini.mako Fri May 14 16:44:27 2021 +0200 +++ b/kallithea/templates/ini/template.ini.mako Sun May 30 01:34:48 2021 +0200 @@ -145,6 +145,7 @@ #[filter:proxy-prefix] #use = egg:PasteDeploy#prefix #prefix = /<your-prefix> +#translate_forwarded_server = False [app:main] use = egg:kallithea @@ -174,11 +175,17 @@ <%text>##</%text> cut off limit for large diffs (size in bytes) cut_off_limit = 256000 -<%text>##</%text> force https in Kallithea, fixes https redirects, assumes it's always https -force_https = false +<%text>##</%text> WSGI environment variable to get the IP address of the client (default REMOTE_ADDR) +#remote_addr_variable = HTTP_X_FORWARDED_FOR + +<%text>##</%text> WSGI environment variable to get the protocol (http or https) of the client connection (default wsgi.url_scheme) +#url_scheme_variable = HTTP_X_FORWARDED_PROTO -<%text>##</%text> use Strict-Transport-Security headers -use_htsts = false +<%text>##</%text> always pretend the client connected using HTTPS (default false) +#force_https = true + +<%text>##</%text> use Strict-Transport-Security headers (default false) +#use_htsts = true <%text>##</%text> number of commits stats will parse on each iteration commit_parse_limit = 25