Give the 'vcauth' subsystem a way to make universal access
determinations, which can seriously improve performance in situations
where a user has universal read access to a repository.
* lib/vcauth/__init__.py
(GenericViewVCAuthorizer.check_universal_access): New skeletal function.
(ViewVCAuthorizer.check_universal_access): New function.
* lib/vcauth/svnauthz/__init__.py (ViewVCAuthorizer.check_universal_access),
* lib/vcauth/forbidden/__init__.py (ViewVCAuthorizer.check_universal_access),
* lib/vcauth/forbiddenre/__init__.py (ViewVCAuthorizer.check_universal_access)
New functions.
* lib/vclib/ccvs/bincvs.py
(BaseCVSRepository.open): New function.
* lib/vclib/svn/svn_repos.py
(LocalSubversionRepository.open): Now check for universal read access.
* lib/vclib/svn/svn_ra.py
(RemoteSubversionRepository.open): Now check for universal read access.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@2496 8cb11bc2-c004-0410-86c3-e597b4017df7
of this is aimed at not paying the maintenance price of supporting
Python versions prior to 2.4 any longer, plus a little bit of just
getting dead code out of the way.
* lib/compat.py
Remove as unused.
* bin/cvsdbadmin,
* bin/loginfo-handler,
* bin/make-database,
* bin/svndbadmin,
* lib/accept.py,
* lib/blame.py,
* lib/cvsdb.py,
* lib/popen.py,
* lib/query.py,
* lib/sapi.py,
* lib/vcauth/forbidden/__init__.py
* lib/vcauth/forbiddenre/__init__.py,
* lib/vcauth/svnauthz/__init__.py,
* lib/vclib/__init__.py,
* lib/vclib/ccvs/blame.py,
* lib/win32popen.py,
* tests/timelog.py
Replace explicit import and use of the 'string' module with newer constructs.
* bin/standalone.py,
* lib/viewvc.py
No longer use 'compat' module. Replace explicit import and use of
the 'string' module with newer constructs.
* lib/dbi.py
Use calender.timegm() instead of compat.timegm().
* lib/vcauth/__init__.py
Lose unused module imports.
* lib/config.py,
Replace explicit import and use of the 'string' module with newer
constructs where possible. Lose old ConfigParser patch-up code for
Python 1.5.1.
* lib/vclib/ccvs/ccvs.py
Replace explicit import and use of the 'string' module with newer
constructs where possible. Import _path_join() from bincvs, and use
it instead of a bunch of copy-and-pasted string join() statements
throughout.
* lib/vclib/ccvs/__init__.py
(cvs_strptime): Moved here from the 'compat' module.
* lib/vclib/ccvs/bincvs.py
(): No longer use 'compat' module. Replace explicit import and use
of the 'string' module with newer constructs.
(_path_join): New, used now instead of a bunch of copy-and-pasted
string join() statements throughout.
* viewvc-install
Don't use the 'compat' module any more.
Also, so some rearranging of non-critical bits.
* misc/: New directory.
* misc/py2html.py: Moved from 'lib/py2html.py'.
* misc/PyFontify.py: Moved from 'lib/PyFontify.py'.
* misc/elemx/: Moved from 'elemx/'.
* misc/tparse/: Moved from 'tparse/'.
* tools/make-release
Omit 'misc' directory from releases, too.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@2437 8cb11bc2-c004-0410-86c3-e597b4017df7
check_file_access() functions into a single check_path_access(). Most
authorizers won't need to care about the distinction.
* lib/vcauth/__init__.py
(GenericViewVCAuthorizer.check_path_access): New, replaces ...
(GenericViewVCAuthorizer.check_file_access,
GenericViewVCAuthorizer.check_directory_access): ...these
now-removed functions.
(ViewVCAuthorizer.check_path_access): New.
(ViewVCAuthorizer.check_file_access,
ViewVCAuthorizer.check_directory_access): Removed.
* lib/vcauth/forbidden/__init__.py
(ViewVCAuthorizer.__init__): Squirrel away 'root' so we can use it ...
(ViewVCAuthorizer.check_path_access): ...here. Was
check_directory_access(), and now optionally checks the path's type
before making the access determination.
(ViewVCAuthorizer.check_file_access): Removed.
* lib/vcauth/svnauthz/__init__.py
(ViewVCAuthorizer.check_path_access): Was _check_path_access(). Add
'rev' parameter.
(ViewVCAuthorizer.check_file_access,
ViewVCAuthorizer.check_directory_access): Removed.
* lib/viewvc.py
(Request.run_viewvc, view_directory, _get_diff_path_parts,
generate_tarball, view_revision, build_commit): Use the
authorizor's check_path_access() instead of the now-removed
check_directory_access() and check_file_access() functions.
* lib/query.py
(build_commit): Use check_path_access() instead of
check_directory_access().
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1661 8cb11bc2-c004-0410-86c3-e597b4017df7
easily query the repository for information.
* lib/vcauth/__init__.py
(GenericViewVCAuthorizer.__init__): Lose 'rootpath', 'roottype', and
'rootname' for just 'root', so the authz modules can make queries
of the backing VC system as necessary.
* lib/vcauth/forbidden/__init__.py
(ViewVCAuthorizer.__init__): Lose 'rootpath', 'roottype', and
'rootname' for just 'root'.
* lib/vcauth/svnauthz/__init__.py
(ViewVCAuthorizer.__init__): Lose 'rootpath', 'roottype', and
'rootname' for just 'root'.
* lib/viewvc.py
(Request.run_viewvc): Update call to setup_authorizer().
(setup_authorizer): Lose 'rootpath', 'roottype', and 'rootname' for
just 'root'.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1655 8cb11bc2-c004-0410-86c3-e597b4017df7
subsystem go mainstream!
* notes/authz-dev-TODO
* lib/vcauth/*
New, copied from the authz-dev branch.
* viewvc.conf.dist
* lib/viewvc.py
* lib/query.py
* lib/debug.py
Merge changes from the authz-dev branch.
* lib/config.py
Merge changes from the authz-dev branch. Also, make 'forbidden' the
default value for 'authorizer'.
* docs/upgrading-howto.html
Add sections about handling forbidden modules.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1623 8cb11bc2-c004-0410-86c3-e597b4017df7