Files @ 9f976d75b04c
Branch filter:

Location: kallithea/docs/index.rst - annotation

9f976d75b04c 1.2 KiB text/prs.fallenstein.rst Show Source Show as Raw Download as Raw
Mads Kiilerich
auth: restore anonymous repository access

Dominik Ruf found that aa25ef34ebab introduced a regression in anonymous access
to repositories ... if that is enabled.

The refactoring was too strict when it missed that not all repo permission
checks require a logged in user. Read access can be granted to the default user
... but not write or admin.

Instead of the commands used in aa25ef34ebab, the following commands are used
to consistently also allow the default user in all decorators where we only need
repo read access:

# Introduce explicit allow_default_user=True - that was the default before aa25ef34ebab
sed -i 's/@LoginRequired()/@LoginRequired(allow_default_user=True)/g' `hg mani`
sed -i 's/@LoginRequired(\(..*\))/@LoginRequired(\1, allow_default_user=True)/g' `hg mani`
# The primary case: Replace @NotAnonymous with removal of allow_default_user=True
perl -0pi -e 's/\@LoginRequired\((?:(.*), )?allow_default_user=True\)\n\s*\@NotAnonymous\(\)/\@LoginRequired(\1)/g' `hg mani`
# If there is a global permission check, no anonymous is ever allowed
perl -0pi -e 's/\@LoginRequired\(allow_default_user=True\)(\n\s*\@HasPermission)/\@LoginRequired()\1/g' `hg mani`
# Repo access for write or admin also assume no default user
perl -0pi -e 's/\@LoginRequired\(allow_default_user=True\)(\n\s*\@HasRepoPermissionLevelDecorator\('"'(write|admin)'"'\))/\@LoginRequired()\1/g' `hg mani`
.. _index:

#######################
Kallithea Documentation
#######################

**Readme**

.. toctree::
   :maxdepth: 1

   readme

**Installation**

.. toctree::
   :maxdepth: 1

   overview
   installation
   installation_win
   installation_win_old
   installation_iis
   setup
   installation_puppet
   upgrade

**Usage**

.. toctree::
   :maxdepth: 1

   usage/general
   usage/vcs_support
   usage/locking
   usage/statistics

**Administrator's guide**

.. toctree::
   :maxdepth: 1

   usage/email
   usage/performance
   usage/backup
   usage/debugging
   usage/troubleshooting
   usage/customization

**Development**

.. toctree::
   :maxdepth: 1

   contributing
   dev/translation
   dev/dbmigrations

**API**

.. toctree::
   :maxdepth: 1

   api/api


Other topics
************

* :ref:`genindex`
* :ref:`search`


.. _virtualenv: http://pypi.python.org/pypi/virtualenv
.. _python: http://www.python.org/
.. _django: http://www.djangoproject.com/
.. _mercurial: https://www.mercurial-scm.org/
.. _bitbucket: http://bitbucket.org/
.. _subversion: http://subversion.tigris.org/
.. _git: http://git-scm.com/
.. _celery: http://celeryproject.org/
.. _Sphinx: http://sphinx.pocoo.org/
.. _vcs: http://pypi.python.org/pypi/vcs