Also return some lost files back, document 4intra.net modifications
in CHANGES and README files, remove 'union' authorizer and rewritehtml
as the similar functionality is already provided by the core.
Also fix diffs for non-bash (sh/ash/dash) shells.
anonymously").
* lib/vcauth/svnauthz/__init__.py
(ViewVCAuthorizer.__init__): Don't try to convert a None username to
lower- or upper-case.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@2738 8cb11bc2-c004-0410-86c3-e597b4017df7
(ViewVCAuthorizer._get_paths_for_root): Trap and return a cleaned-up
error when the authzfile isn't parse-able.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@2505 8cb11bc2-c004-0410-86c3-e597b4017df7
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
case-handling semantics.
* conf/viewvc.conf.dist
(force_username_case): New option.
* lib/vcauth/svnauthz/__init__.py
(ViewVCAuthorizer.__init__): Find and handle new force_username_case
authorizer option.
(ViewVCAuthorizer._get_paths_for_root): Replace ConfigParser.optionxform()
(which does normalization of option names) with an identity function
of sorts.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@2192 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/vcauth/svnauthz/__init__.py
(_userspec_matches_user): New, abstracted from _process_access_section(),
but now with support for the inversion indicator (~).
(_process_access_section): Use new _userspec_matches_user().
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@2032 8cb11bc2-c004-0410-86c3-e597b4017df7
(ViewVCAuthorizer._process_access_section): Add support for the
"$anonymous" and "$authenticated" magic user specifications
introduced in Subversion 1.5.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@2028 8cb11bc2-c004-0410-86c3-e597b4017df7
Subversion 1.5. (This was filed as issue #359.)
* lib/vcauth/svnauthz/__init__.py
(ViewVCAuthorizer._get_paths_for_root): Parse the 'aliases' section,
and fix username checks to include aliases, too.
Patch by: Thom May <thom {at} clearairturbulence.org>
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1973 8cb11bc2-c004-0410-86c3-e597b4017df7
confusing folks upgrading from ViewVC 1.0.x.
* lib/vcauth/forbiddenre/__init__.py
(ViewVCAuthorizer.__init__): Look for a configuration option called
"forbiddenre" instead of "forbidden".
* lib/config.py
(_force_multi_value): Remove "forbidden" from this list, as we don't parse
its value directly any more.
* docs/upgrading-howto.html
Update the section about migrating forbiddenness settings.
* viewvc.conf.dist
Rename the authz-forbidden.forbidden option to authz-forbidden.forbiddenre.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1836 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/vcauth/forbiddenre/__init__.py
(ViewVCAuthorizer._check_root_path_access): Lose 'rootname' and
'path_parts' parameters and logic to combine them; just accept the
combined form as a new 'root_path' parameter.
(ViewVCAuthorizer.check_root_access): Update call to
_check_root_path_access().
(ViewVCAuthorizer.check_path_access): Do root and path combination
here, and Update call to _check_root_path_access().
* viewvc.conf.dist
(forbiddenre.forbidden): Update documentation and examples.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1818 8cb11bc2-c004-0410-86c3-e597b4017df7
checking all roots and paths against regular expressions.
* viewvc.conf.dist
(forbidden): New authz-forbiddenre section.
* lib/vcauth/forbiddenre,
* lib/vcauth/forbiddenre/__init__.py
New authorizer based on simple regular expressions.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1763 8cb11bc2-c004-0410-86c3-e597b4017df7
(ViewVCAuthorizer.__init__): Don't assume that the 'forbidden' parameter
is present. Noticed by Vairoj Arunyaangkul <va@waveman.com>.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1680 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/viewvc.py
(setup_authorizer): Rework this for tighter exception handling.
* lib/vcauth/svnauthz/__init__.py
(ViewVCAuthorizer.__init__): Don't reveal server paths in the
file-not-found exception.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1668 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
(ViewVCAuthorizer.__init__): Look for the read ('r') code instead
of trying to match specific permission strings ('r', 'rw', ...).
Hopefully this gives us a little better resilience if Subversion grows
more authz codes. Suggested by Jan Grant <jan.grant@bristol.ac.uk>.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1653 8cb11bc2-c004-0410-86c3-e597b4017df7
(ViewVCAuthorizer.__init__): Fix a logic bug in access rights
determination. Patch by Jan Grant <jan.grant@bristol.ac.uk>.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1651 8cb11bc2-c004-0410-86c3-e597b4017df7
* lib/vcauth/svnauthz/__init__.py
(ViewVCAuthorizer._process_group): Fix a usage of string.strip()
where string.split() was intended. Noticed by
Jan Grant <jan.grant@bristol.ac.uk>.
git-svn-id: http://viewvc.tigris.org/svn/viewvc/trunk@1650 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