Zope Subversion Repository |
|
Zope: zope.security/trunk/src/zope/security/checker.py
No default branch
Revision 125980
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu May 17 21:22:20 2012 UTC (12 months, 1 week ago) by tseaver
File length: 26099 byte(s)
Diff to previous 113056
,
to selected 12690
Drop support for Python 2.4 and 2.5.
Replace deprecated 'zope.component.adapts' usage with equivalent
'zope.component.adapter' decorator.
Replace deprecated 'zope.interface.classProvides' usage with equivalent
'zope.interface.provider' decorator.
Replace deprecated 'zope.interface.implements' usage with equivalent
'zope.interface.implementer' decorator.
Revision 113056
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Jun 3 17:34:32 2010 UTC (2 years, 11 months ago) by tseaver
File length: 26102 byte(s)
Diff to previous 112046
,
to selected 12690
Remove CVS-era Id fossils.
Revision 112046
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed May 5 19:21:19 2010 UTC (3 years ago) by tseaver
File length: 26108 byte(s)
Diff to previous 107750
,
to selected 12690
Conform to repository policy.
Revision 107750
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed Jan 6 18:10:43 2010 UTC (3 years, 4 months ago) by kobold
File length: 26109 byte(s)
Diff to previous 105559
,
to selected 12690
Removed the dependency on the zope.exceptions package: zope.security.checker
now imports ``DuplicationError`` from zope.exceptions if available, otherwise
it defines a package-specific ``DuplicationError`` class which inherits from
Exception.
Revision 105559
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Nov 10 14:35:15 2009 UTC (3 years, 6 months ago) by jim
File length: 25987 byte(s)
Diff to previous 99938
,
to selected 12690
- Added compatibility with Python 2.6 abstract base classes.
Revision 99938
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed May 13 22:49:50 2009 UTC (4 years ago) by tseaver
File length: 25894 byte(s)
Diff to previous 99090
,
to selected 12690
Made ``pytz`` a soft dependency.
The checker for ``pytz.UTC`` is created / tested only if the package
is already present.
Run ``bin/test_pytz`` to run the tests with ``pytz`` on the path.
Revision 99090
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Apr 10 15:05:02 2009 UTC (4 years, 1 month ago) by jinty
File length: 25790 byte(s)
Diff to previous 99070
,
to selected 12690
revert 99070
Revision 99070
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Apr 10 09:35:06 2009 UTC (4 years, 1 month ago) by jinty
File length: 25990 byte(s)
Diff to previous 97949
,
to selected 12690
Make UUIDs rocks, as (not) discussed on zope-dev http://mail.zope.org/pipermail/zope-dev/2009-April/035724.html
Revision 97949
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Mar 12 03:09:05 2009 UTC (4 years, 2 months ago) by nadako
File length: 25790 byte(s)
Diff to previous 97504
,
to selected 12690
Add zope.i18nmessage.Message to non-proxied basic types, as it's immutable and it was done by zope.app.security.
Add __name__ and __parent__ to list of available by default attributes. It was also done by zope.app.security before.
Revision 97504
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Mar 5 00:40:18 2009 UTC (4 years, 2 months ago) by nadako
File length: 25587 byte(s)
Diff to previous 78815
,
to selected 12690
Don't define checker for deprecated sets on Python 2.6.
Fix package's mailing list address and homepage.
Remove zpkg stuff.
Revision 78815
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Aug 14 17:52:16 2007 UTC (5 years, 9 months ago) by jim
File length: 25509 byte(s)
Diff to previous 78089
,
to selected 12690
Fixed bug:
The special system_user object wasn't actually a user (principal).
Also cleaned up some circular import issues.
Revision 78089
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Jul 17 17:51:01 2007 UTC (5 years, 10 months ago) by nikhil_n
File length: 25507 byte(s)
Diff to previous 75174
,
to selected 12690
merge form the branch nikhil_n-py25: made zope.security work with python2.5
Revision 75174
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu May 3 22:29:32 2007 UTC (6 years ago) by ctheune
File length: 25466 byte(s)
Diff to previous 73503
,
to selected 12690
Moving code to satellite.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 73503
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Sat Mar 24 15:04:22 2007 UTC (6 years, 2 months ago) by dobe
File length: 25466 byte(s)
Diff to previous 72593
,
to selected 12690
conditional imports, specific deps
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 72593
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Feb 15 09:11:51 2007 UTC (6 years, 3 months ago) by zagy
File length: 25417 byte(s)
Diff to previous 70211
,
to selected 12690
removed whitespace
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 70211
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Sun Sep 17 14:45:07 2006 UTC (6 years, 8 months ago) by flox
File length: 25425 byte(s)
Diff to previous 69907
,
to selected 12690
Remove some deprecated aliases.
Remove some deprecated methods.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 69907
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Aug 31 21:16:48 2006 UTC (6 years, 8 months ago) by mgedmin
File length: 25606 byte(s)
Diff to previous 69888
,
to selected 12690
Add a Decimal field and widget to Zope 3. The field and widget almost exactly
mirror the existing ones for float.
Also adds security declarations for Decimal. The reason why I didn't just
declare Decimal objects to be rocks is that they're not really immutable:
>>> from decimal import Decimal
>>> d = Decimal("1.24")
>>> d._exp = -1
>>> d
Decimal("12.4")
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 69888
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed Aug 30 13:43:44 2006 UTC (6 years, 8 months ago) by niemeyer
File length: 24597 byte(s)
Diff to previous 69149
,
to selected 12690
Minor documentation fixes.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 69149
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Sun Jul 16 17:14:41 2006 UTC (6 years, 10 months ago) by jim
File length: 24599 byte(s)
Diff to previous 67761
,
to selected 12690
Fixed issue 564, http://www.zope.org/Collectors/Zope3-dev/564
Binary set operations (&, |, ^, -) weren't avaliable for proxied sets.
Also added tests for set checkers.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 67761
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Sun Apr 30 13:56:44 2006 UTC (7 years ago) by jim
File length: 24690 byte(s)
Diff to previous 67630
,
to selected 12690
Added C implementations of interface __call__ and __adapt__. Also
Added __call__ for declarations as an alternatite to isOrExtends.
This allows invocation through a slot, which is slightly faster.
These changes won back most of the losses in request time I have up
when I fixed an adapter-cache bug yesterday. :)
This will also improve debugging a little bit, since it will no longer
be necessary to step through the rather uninteresting __call__ and
__adapt__ methods.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 67630
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Apr 27 00:54:03 2006 UTC (7 years, 1 month ago) by jim
File length: 24662 byte(s)
Diff to previous 41616
,
to selected 12690
Merge of jim-adapter branch:
This branch has three major refactorings on it:
- A redesign of the adapter registration machinery
- A major simplification of local component management
See zope.component.interfaces.IComponentRegistry.
- A flexible system for combining component registries.
- A beginning of the migration of packages out of zope.app.
- A new package for doing deferred imports. This allows you
to make names available at the package level without creating
circular imports. See zope.deferredimport and see
zope.component.__init__ for examples of it's use. This package
also provides a way to deprecate names in a module.
- Deprecation of zope. i18nmessageid.MessageID
I should have created checkin messages for individual sets of related
changes, but there were just too many for the time allowed.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 41616
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Mon Feb 13 16:47:25 2006 UTC (7 years, 3 months ago) by niemeyer
File length: 24625 byte(s)
Diff to previous 40886
,
to selected 12690
Fixing double definition of defineChecker() in zope.security.checker.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 40886
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Mon Dec 19 17:47:35 2005 UTC (7 years, 5 months ago) by poster
File length: 25095 byte(s)
Diff to previous 39777
,
to selected 12690
Make changes as discussed in http://www.zope.org/Collectors/Zope3-dev/506: canWrite now does not raise Forbidden if canAccess does not, effectively.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 39777
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Mon Oct 31 19:08:20 2005 UTC (7 years, 6 months ago) by jim
File length: 24194 byte(s)
Diff to previous 39662
,
to selected 12690
Integrated newer version of zdaemon that has more robust tests.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 39662
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Oct 27 02:26:46 2005 UTC (7 years, 7 months ago) by srichter
File length: 23670 byte(s)
Diff to previous 38496
,
to selected 12690
I think this fixes our security proxy issues. Gary, that's cool with you?
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 38496
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Sep 16 20:36:06 2005 UTC (7 years, 8 months ago) by srichter
File length: 23086 byte(s)
Diff to previous 38493
,
to selected 12690
Reverting checkin just made, because a test failed. The test explained why
it wants this behavior. While I disagree with the reasoning, I am too
tired right now to pick the fight and risk a lot of breakage.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 38493
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Sep 16 20:26:20 2005 UTC (7 years, 8 months ago) by srichter
File length: 23130 byte(s)
Diff to previous 38178
,
to selected 12690
The check method can emit two types of exceptions and both should be
caught.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 38178
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Aug 30 21:50:19 2005 UTC (7 years, 8 months ago) by mj
File length: 23086 byte(s)
Diff to previous 37671
,
to selected 12690
Massive style cleanup: Move to new raise exception style; for motivation, see:
http://permalink.gmane.org/gmane.comp.web.zope.zope3/13884
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 37671
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Aug 2 22:50:05 2005 UTC (7 years, 9 months ago) by Zen
File length: 23090 byte(s)
Diff to previous 37535
,
to selected 12690
Set security on set and frozenset if running with Python 2.4
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 37535
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Jul 28 22:37:32 2005 UTC (7 years, 9 months ago) by garrett
File length: 22874 byte(s)
Diff to previous 29482
,
to selected 12690
Added tzinfo and UTC (a commonly used instance of tzinfo) to the BasicTypes mapping, which used by checkers. tzinfo info objects now act like other date components (datetime, time, etc.) in that they're not security proxied (see tests for examples).
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 29482
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Mar 15 20:17:08 2005 UTC (8 years, 2 months ago) by garrett
File length: 22803 byte(s)
Diff to previous 29253
,
to selected 12690
No longer re-proxying objects that provide an explicit __Security_checker__.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 29253
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed Feb 23 00:53:50 2005 UTC (8 years, 3 months ago) by mgedmin
File length: 22745 byte(s)
Diff to previous 29243
,
to selected 12690
When you get an Unauthorized error, now you can see the object in addition to
the attribute and permission names in the traceback.
Should a minor change like this be mentioned in doc/CHANGES.txt?
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 29243
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Feb 22 11:24:58 2005 UTC (8 years, 3 months ago) by gintautasm
File length: 22729 byte(s)
Diff to previous 28952
,
to selected 12690
Cosmetic fixes.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 28952
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Jan 25 03:23:41 2005 UTC (8 years, 4 months ago) by poster
File length: 22741 byte(s)
Diff to previous 27237
,
to selected 12690
Add two convenience functions: canWrite and canAccess. While the tests for this package are not doc tests, I included doctest-like comments in the tests. Since these functions are primarily conveniences for app code, I imported them in the package __init__.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 27237
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Mon Aug 23 23:42:11 2004 UTC (8 years, 9 months ago) by jim
File length: 21486 byte(s)
Diff to previous 26787
,
to selected 12690
Merged from ZopeX3-3.0 branch:
r27201 | jim | 2004-08-20 18:14:11 -0400 (Fri, 20 Aug 2004) | 2 lines
Removed unneeded removeAllProxies calls.
------------------------------------------------------------------------
r27200 | jim | 2004-08-20 17:47:26 -0400 (Fri, 20 Aug 2004) | 2 lines
Removed unneeded removeAllProxies calls.
------------------------------------------------------------------------
r27199 | jim | 2004-08-20 17:42:45 -0400 (Fri, 20 Aug 2004) | 2 lines
Converted removeAllProxies calls to the prefered removeSecurityProxy.
------------------------------------------------------------------------
r27198 | jim | 2004-08-20 17:07:23 -0400 (Fri, 20 Aug 2004) | 2 lines
Converted a package with one module to a regulat module.
------------------------------------------------------------------------
r27197 | jim | 2004-08-20 17:05:39 -0400 (Fri, 20 Aug 2004) | 2 lines
Made the dependency subscriber trusted
------------------------------------------------------------------------
r27196 | jim | 2004-08-20 17:05:37 -0400 (Fri, 20 Aug 2004) | 8 lines
Converted removeAllProxies calls to the prefered removeSecurityProxy.
D src/zope/app/security/interfaces
D src/zope/app/security/interfaces/__init__.py
A + src/zope/app/security/interfaces.py
Converted a package with one module to a regulat module.
------------------------------------------------------------------------
r27195 | jim | 2004-08-20 16:29:43 -0400 (Fri, 20 Aug 2004) | 4 lines
Added a zapi.isinstance method that works with security proxies.
------------------------------------------------------------------------
r27194 | jim | 2004-08-20 15:26:59 -0400 (Fri, 20 Aug 2004) | 3 lines
Added some defensive programming to work around a lame implicit Python
string-formatting behavior.
------------------------------------------------------------------------
r27193 | jim | 2004-08-20 15:26:57 -0400 (Fri, 20 Aug 2004) | 2 lines
Removed unneeded removeAllProxies call
------------------------------------------------------------------------
r27192 | jim | 2004-08-20 15:26:55 -0400 (Fri, 20 Aug 2004) | 3 lines
Fixed a problem with the security dclarations to make calling
removeAllProxies unnecessary.
------------------------------------------------------------------------
r27191 | jim | 2004-08-20 14:20:12 -0400 (Fri, 20 Aug 2004) | 2 lines
Removed unneeded removeAllProxies calls.
------------------------------------------------------------------------
r27190 | jim | 2004-08-20 14:20:07 -0400 (Fri, 20 Aug 2004) | 2 lines
Converted removeAllProxies calls to the prefered removeSecurityProxy.
------------------------------------------------------------------------
r27189 | jim | 2004-08-20 13:02:06 -0400 (Fri, 20 Aug 2004) | 6 lines
Added "trusted" option for defining trusted subscribers.
Deprecated zope.security.trustedRemoveSecurityProxy and
zope.security.getProxiedObject. Use zope.security.removeSecurityProxy
instead. (This should also be used rather than removeAllProxies.)
------------------------------------------------------------------------
r27188 | jim | 2004-08-20 13:02:03 -0400 (Fri, 20 Aug 2004) | 4 lines
Deprecated zope.security.trustedRemoveSecurityProxy and
zope.security.getProxiedObject. Use zope.security.removeSecurityProxy
instead. (This should also be used rather than removeAllProxies.)
Also converted additional removeAllProxies calls to the prefered
removeSecurityProxy. (These were on the trunk, but not the branch.)
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 26787
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Jul 27 14:00:42 2004 UTC (8 years, 10 months ago) by jim
File length: 21592 byte(s)
Diff to previous 26752
,
to selected 12690
Moved forbidden and unauthorized exception definitions to
zope.security.interfaces.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 26752
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Sun Jul 25 14:20:25 2004 UTC (8 years, 10 months ago) by jim
File length: 21555 byte(s)
Diff to previous 26591
,
to selected 12690
Removed the special treatment of exception classes. Previously, we
treated excptions and xception clases as basic objects that were not
proxied. This strategy seems overly lax. The problem is that we
don't really kow how to raise or catch exceptions if exceptions and
exception classes are proxied. The answer is not to be lax with
exceptions. Rather, we'll need to change the way exceptions are
handled in untrusted python code. This will require code
manipulation, which we've avoided until recently.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 26591
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Jul 16 19:51:26 2004 UTC (8 years, 10 months ago) by jim
File length: 21941 byte(s)
Diff to previous 26582
,
to selected 12690
Rearranged the security apis, largely combining security policies and
interactions. Now security policies are just interaction factories --
usually just the interaction class.
See:
http://mail.zope.org/pipermail/zope3-dev/2004-July/011656.html
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 26582
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Jul 16 16:04:54 2004 UTC (8 years, 10 months ago) by jim
File length: 22116 byte(s)
Diff to previous 26551
,
to selected 12690
Unauthorized no-longer takes keyword arguments.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 26551
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Jul 15 07:06:37 2004 UTC (8 years, 10 months ago) by srichter
File length: 22148 byte(s)
Diff to previous 26487
,
to selected 12690
Removed __metaclass__ and made classes inherit 'object'.
Also made most classic classes new-style classes.
Updated module doc strings where appropriate.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 26487
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Jul 13 17:13:09 2004 UTC (8 years, 10 months ago) by philikon
File length: 22154 byte(s)
Diff to previous 26453
,
to selected 12690
Converted XXX and TODO comments about deprecated interface methods
to BBB comments.
Jim, I put today's date in, but the backward compat actually goes
back a few months. Maybe you want to change the dates.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 26453
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Jul 13 16:27:24 2004 UTC (8 years, 10 months ago) by srichter
File length: 22088 byte(s)
Diff to previous 26361
,
to selected 12690
Renamed _always_available to _available_by_default as hinted by a XXX.
You need to recompile Zope.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 26361
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Jul 9 19:03:38 2004 UTC (8 years, 10 months ago) by sidnei
File length: 22189 byte(s)
Diff to previous 26265
,
to selected 12690
Fix a typo. Make Unauthorized exception take a name and permission arguments on constructor, and fix two places where a message was being passed instead of a name
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 26265
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Jul 8 22:42:58 2004 UTC (8 years, 10 months ago) by jim
File length: 22145 byte(s)
Diff to previous 26139
,
to selected 12690
Got rid of weird branch to check for __Security_checker__ when a
checker was passed to ProxyFactory. The check never did anything and
had no point. The method is advertized to use the passed checker to
override the normal checker. This is used to override the normal
checker when needed.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 26139
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Jul 6 20:49:04 2004 UTC (8 years, 10 months ago) by jim
File length: 22386 byte(s)
Diff to previous 26062
,
to selected 12690
Merged from jim-work branch r26112
Added missing security declarations to make interface declaration
introspection work on proxied classes.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 26062
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Jul 2 19:48:23 2004 UTC (8 years, 10 months ago) by fdrake
File length: 22331 byte(s)
Diff to previous 25981
,
to selected 12690
fix typos
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 25981
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Jun 25 14:32:00 2004 UTC (8 years, 11 months ago) by mgedmin
File length: 22331 byte(s)
Diff to previous 25962
,
to selected 12690
Added security declarations for Set and ImmutableSet.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 25962
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed Jun 23 20:25:59 2004 UTC (8 years, 11 months ago) by fdrake
File length: 21835 byte(s)
Diff to previous 25949
,
to selected 12690
Fix Python 2.4 compatibility.
Merged from revision 25958 on the ZopeX3-3.0 branch.
While Python 2.3 used a single iterator type to support iteration over
dictionaries, Python 2.4 uses different types to support items, keys,
and values iterations. We need to make sure declarations are made for
all of these types.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 25949
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Jun 22 22:40:23 2004 UTC (8 years, 11 months ago) by jim
File length: 21703 byte(s)
Diff to previous 25933
,
to selected 12690
Shameless hack to increase security checking performance
It is much faster to call operators, especially from C, than it is to
call methods. Now if a checker implements __setitem__, it will be
called rather than check or check_getattr. Similarly, if a checker
implements __getitem__, it will be called rather than proxy. Yes, this
is an egregious hack, but it does yield a significant speedup and is
thus worth it. Hopefully, it is well marked.
This change reduces the time required to display a sample contents
page by about 5%. This percentage will increase as other
optimizations are made and things get faster.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 25933
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Jun 22 12:13:32 2004 UTC (8 years, 11 months ago) by jim
File length: 22083 byte(s)
Diff to previous 25921
,
to selected 12690
Implemented Checker in C for performance
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 25921
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Mon Jun 21 14:21:03 2004 UTC (8 years, 11 months ago) by jim
File length: 21834 byte(s)
Diff to previous 25920
,
to selected 12690
Changed the implementation of CombinedChecker to suclass Checker
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 25920
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Mon Jun 21 14:04:16 2004 UTC (8 years, 11 months ago) by jim
File length: 22034 byte(s)
Diff to previous 25919
,
to selected 12690
Changed basic checkers to use dictionaries.
Now when you create checkers, you must pass one or
two dictionary objects. We used to allow functions
to be passed that would be called to get the permission
needed to access a name. It turns out that this generality
wasn't needed or used. If we need this in the furture, we
can add custom checkers. For now, we only allow
dictionaries, as that will enable more efficient checker
implementation.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 25919
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Mon Jun 21 10:56:49 2004 UTC (8 years, 11 months ago) by jim
File length: 22248 byte(s)
Diff to previous 25907
,
to selected 12690
Removed unused NonPrivateChecker
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 25907
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Jun 18 16:02:27 2004 UTC (8 years, 11 months ago) by jim
File length: 22467 byte(s)
Diff to previous 25906
,
to selected 12690
Added a warning that tracing security will be done differently in the
future.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 25906
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Jun 18 15:40:05 2004 UTC (8 years, 11 months ago) by jim
File length: 22346 byte(s)
Diff to previous 25891
,
to selected 12690
Removed the unused DecoratedChecker class.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 25891
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Jun 17 16:27:31 2004 UTC (8 years, 11 months ago) by jim
File length: 26653 byte(s)
Diff to previous 25177
,
to selected 12690
Began implementing more security checking in C
Implemented zop.security.checker.selectChecker in C.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 25177
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed Jun 2 13:17:31 2004 UTC (8 years, 11 months ago) by jim
File length: 26399 byte(s)
Diff to previous 24749
,
to selected 12690
Updated to use ZPL 2.1.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 24749
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Sun May 16 13:00:21 2004 UTC (9 years ago) by philikon
File length: 26399 byte(s)
Diff to previous 24649
,
to selected 12690
Tell subversion to expand the Id keyword:
- replaced old CVS expansion with a clean $Id$
- set the svn:keywords property to "Id"
When you check-in files in the future and want $Id$ to be expanded,
make sure it reads "$Id$" in that file; then set svn:keywords to "Id".
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 24649
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri May 14 13:45:49 2004 UTC (9 years ago) by mgedmin
File length: 26447 byte(s)
Diff to previous 24642
,
to selected 12690
Renamed getInteraction to queryInteraction.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 24642
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri May 14 10:45:25 2004 UTC (9 years ago) by mgedmin
File length: 26435 byte(s)
Diff to previous 13888
,
to selected 12690
Merged Zope3/branches/mgedmin-security 24595:24640
This is UnificationOfRequestsAndSecurityContextsThroughUse:
- Security managers and security contexts are gone.
- Interactions and participations replace them.
- BaseRequest is now IParticipation.
- request.user was renamed to request.principal because of the above.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 13888
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue May 11 18:24:59 2004 UTC (9 years ago) by root
File length: 26155 byte(s)
Diff to previous 12910
,
to selected 12690
Set mime-type or svn-eol property from cvs expansion data
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 12910
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Mar 5 22:09:42 2004 UTC (9 years, 2 months ago) by jim
File length: 26155 byte(s)
Diff to previous 12690
Renamed interface methods:
isImplementedByInstancesOf to implementedBy
isImplementedBy to providedBy
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 12690
-
(view)
(download)
(as text)
- [selected]
Modified
Tue Feb 24 14:01:33 2004 UTC (9 years, 3 months ago) by srichter
File length: 26144 byte(s)
Diff to previous 11996
Addded header to C code and improved doc strings
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 11996
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed Dec 3 05:41:50 2003 UTC (9 years, 5 months ago) by jim
File length: 26056 byte(s)
Diff to previous 11962
,
to selected 12690
Added security declarations for zope.interface.interface.Method. This
is necessary to get preconditions from security-proxied interfaces.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 11962
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Nov 21 17:12:43 2003 UTC (9 years, 6 months ago) by jim
File length: 25860 byte(s)
Diff to previous 11857
,
to selected 12690
Updated the interface-related checkers.
Added a weakref.ref checker.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 11857
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed Nov 5 03:08:27 2003 UTC (9 years, 6 months ago) by jeremy
File length: 25941 byte(s)
Diff to previous 11785
,
to selected 12690
Remove code that isn't needed now that we require Python 2.3.
Cases include future statements for generators, special case
definitions of builtins like basestring and enumerate, a few uses of
types that are unnecessary.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 11785
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Oct 3 20:37:51 2003 UTC (9 years, 7 months ago) by sidnei
File length: 25976 byte(s)
Diff to previous 11551
,
to selected 12690
Typo: persmission -> permission. Add __conform__ to the list of always available attributes
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 11551
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Sep 2 20:47:22 2003 UTC (9 years, 8 months ago) by jim
File length: 25958 byte(s)
Diff to previous 11393
,
to selected 12690
Added a repr to Global objects.
Added a function for getting module checkers.
Changed the default security declaration for modules to expose only
__name__. It's unclear why __name__ is needed, but there's a test that
depends on it.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 11393
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Aug 15 19:49:56 2003 UTC (9 years, 9 months ago) by garrett
File length: 25754 byte(s)
Diff to previous 10709
,
to selected 12690
Modified the arguments for ForbiddenAttribute to include the object whose attribute is forbidden.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10709
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Jun 24 18:58:12 2003 UTC (9 years, 11 months ago) by sidnei
File length: 25733 byte(s)
Diff to previous 10636
,
to selected 12690
Made the introspector work for interfaces again, plus some whitespace cleanup here and there.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10636
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Mon Jun 23 00:03:58 2003 UTC (9 years, 11 months ago) by jim
File length: 25735 byte(s)
Diff to previous 10633
,
to selected 12690
When iterating over security-proxied sequences, Python failed to
recognize a ForbiddenAttributeError as an AttributeError. To work
around this, we now don't raise a ForbiddenAttribute for __iter__ if
the object doesn't have an __iter__ attribute.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10633
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Sun Jun 22 20:40:11 2003 UTC (9 years, 11 months ago) by jeremy
File length: 25674 byte(s)
Diff to previous 10597
,
to selected 12690
Add security declarations for generators.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10597
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Jun 20 06:40:12 2003 UTC (9 years, 11 months ago) by stevea
File length: 25580 byte(s)
Diff to previous 10469
,
to selected 12690
Added an XXX comment inside a conditional to express surprise at
one possible branch of the code. I'll need to revisit this later.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10469
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Sat Jun 7 18:58:13 2003 UTC (9 years, 11 months ago) by stevea
File length: 25339 byte(s)
Diff to previous 10410
,
to selected 12690
Tidied up long lines.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10410
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Jun 5 11:56:25 2003 UTC (9 years, 11 months ago) by mgedmin
File length: 25047 byte(s)
Diff to previous 10409
,
to selected 12690
Security checker debugging output now has verbosity levels.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10409
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Jun 5 11:45:03 2003 UTC (9 years, 11 months ago) by mgedmin
File length: 24246 byte(s)
Diff to previous 10407
,
to selected 12690
Documented the behavior of CombinedChecker explicitly. Fixed a bug where
CombinedChecker could raise a ForbiddenAttribute instead of Unauthorized.
Documented Checker.permission_id and setattr_permission_id in an interface
(INameBasedChecker).
Remove the dependency on permission_id/setattr_permission_id from
CheckerLoggingMixin. I do not think anyone cares about the distinction of
'Public' and 'Granted' when debugging checkers.
Make CombinedChecker log things when ZOPE_WATCH_CHECKERS is set.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10407
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Jun 5 09:47:37 2003 UTC (9 years, 11 months ago) by ryzaja
File length: 23707 byte(s)
Diff to previous 10406
,
to selected 12690
Make checker debugging messages more readable and more grep friendly
(Vika & Marius)
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10406
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed Jun 4 22:25:00 2003 UTC (9 years, 11 months ago) by jim
File length: 23365 byte(s)
Diff to previous 10322
,
to selected 12690
Made interface specifications picklable. This is necessary to deal
with interface assertions on instances and will be needed for
interface assertions on persistent classes.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10322
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Mon Jun 2 17:43:04 2003 UTC (9 years, 11 months ago) by stevea
File length: 23368 byte(s)
Diff to previous 10314
,
to selected 12690
Implemented descriptor for __Security_checker__ of context wrappers.
This descriptor gets a checker for the wrapper and for the proxied object,
and returns a checker combined from both of those.
If either the wrapper or the proxied object has no checker defined, then
the checker for the proxied object or the wrapper is returned,
respectively.
If no checkers are defined, None is returned.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10314
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Mon Jun 2 14:36:04 2003 UTC (9 years, 11 months ago) by stevea
File length: 23305 byte(s)
Diff to previous 10310
,
to selected 12690
Added a CombinedChecker that provides a proxy to two checkers.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10310
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Mon Jun 2 12:46:03 2003 UTC (9 years, 11 months ago) by stevea
File length: 21602 byte(s)
Diff to previous 10245
,
to selected 12690
Converted raise statements to the lazy-instantiation form.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10245
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu May 29 15:51:19 2003 UTC (9 years, 11 months ago) by stevea
File length: 21713 byte(s)
Diff to previous 10183
,
to selected 12690
Added a DecoratedChecker.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10183
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed May 28 12:55:29 2003 UTC (10 years ago) by stevea
File length: 17793 byte(s)
Diff to previous 10135
,
to selected 12690
Merged some of the work done by SteveA and MariusG on the
stevea-decorators-branch.
* Refactored acting on WATCH_CHECKERS into a reusable and unobtrusive
mixin class. Execution speed will be faster when WATCH_CHECKERS is false.
* Improved and clearer implementation of ProxyFactory.
* Added comprehensive test of ProxyFactory.
* Made an explicit TrustedCheckerBase marker type to show the connection
between the checker module and the proxy module.
* Added a note about the poor naming of _always_available. The name
_available_by_default would better reflect actual use. That is, it is
possible to make an _always_available name unavailable.
* Added a BasicTypes_examples dict that can be imported into unit tests
that want to check whether basic types are handled properly.
* Added comprehensive test of ProxyFactory.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 10135
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu May 22 19:40:32 2003 UTC (10 years ago) by jim
File length: 15360 byte(s)
Diff to previous 9907
,
to selected 12690
Fixed several bugs in security assertions for builtin types (and their
methods).
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9907
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Sat May 3 16:38:17 2003 UTC (10 years ago) by jim
File length: 15212 byte(s)
Diff to previous 9850
,
to selected 12690
Added security assertions for interface specifications.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9850
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu May 1 19:35:52 2003 UTC (10 years ago) by faassen
File length: 14589 byte(s)
Diff to previous 9770
,
to selected 12690
Importgeddon part the second. Removed unused imports throughout the
source tree. This should have taken care of most unused imports
in Zope 3. :)
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9770
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Apr 25 12:48:01 2003 UTC (10 years, 1 month ago) by stevea
File length: 14697 byte(s)
Diff to previous 9742
,
to selected 12690
Fixed http://collector.zope.org/Zope3-dev/143
All classic classes other than Exceptions now use _typeChecker.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9742
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed Apr 23 18:18:02 2003 UTC (10 years, 1 month ago) by stevea
File length: 14847 byte(s)
Diff to previous 9740
,
to selected 12690
Reverted my change as Guido pointed out why exception classes need to
be unwrapped as well as instances. This needs more thinking about
though, as no tests failed...
If all extension instances are unwrapped, and extension classes are
included inline in the code, then there is no problem with comparison.
I'll talk to people and experiment tomorrow, and perhaps re-check this in.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9740
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed Apr 23 17:38:49 2003 UTC (10 years, 1 month ago) by stevea
File length: 14879 byte(s)
Diff to previous 9731
,
to selected 12690
Made the checker for ClassType objects more sensible.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9731
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Apr 22 16:22:37 2003 UTC (10 years, 1 month ago) by gvanrossum
File length: 14773 byte(s)
Diff to previous 9728
,
to selected 12690
Report obj.__class__ as well as type(obj) in the TracebackSupplement.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9728
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Mon Apr 21 21:04:37 2003 UTC (10 years, 1 month ago) by gvanrossum
File length: 14551 byte(s)
Diff to previous 9682
,
to selected 12690
Add a __traceback_supplement__ when a permission check fails with the
class module+name, to help tracking down permission errors.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9682
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed Apr 16 19:21:39 2003 UTC (10 years, 1 month ago) by bwarsaw
File length: 13662 byte(s)
Diff to previous 9668
,
to selected 12690
BasicTypes: MessageID is no longer a rock.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9668
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Apr 15 21:23:47 2003 UTC (10 years, 1 month ago) by bwarsaw
File length: 13686 byte(s)
Diff to previous 9631
,
to selected 12690
BasicTypes: Do not proxy zope.i18n.messageid.MessageID objects.
I'm not sure this is the 100% right thing to do, but it makes
TAL/PageTemplates work. Otherwise we'd have to unwrap them to do
isinstance tests in zope/tales/tales.py, Context.evaluateText() and
that didn't seem like the right thing either.
Also, add ZPL header and re-organize imports.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9631
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Sun Apr 13 17:25:19 2003 UTC (10 years, 1 month ago) by stevea
File length: 12904 byte(s)
Diff to previous 9591
,
to selected 12690
Changed a 0 and 1 to a False and True
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9591
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Apr 10 15:39:42 2003 UTC (10 years, 1 month ago) by philikon
File length: 12897 byte(s)
Diff to previous 9399
,
to selected 12690
Added __mro__ to the attributes you can get from a type.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9399
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Mar 25 20:50:16 2003 UTC (10 years, 2 months ago) by nathan
File length: 12881 byte(s)
Diff to previous 9245
,
to selected 12690
timedelta, date, time, datetime objects made rocks after verifying with Tim that they are immutable.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9245
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed Mar 12 10:11:15 2003 UTC (10 years, 2 months ago) by stevea
File length: 14357 byte(s)
Diff to previous 9211
,
to selected 12690
__repr__ is now always allowed by security checkers.
This is important because you can always get around a restriction
on __repr__ by putting the object inside a tuple, dict or list, and
calling __repr__ on the tuple, dict, or list.
We discovered at Rotterdam that it is painful and non-intuitive to
protect __repr__ on tuples, dicts and lists.
So, it is better to make __repr__ publicly and obviously available.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9211
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Mar 7 21:13:04 2003 UTC (10 years, 2 months ago) by jim
File length: 14606 byte(s)
Diff to previous 9207
,
to selected 12690
Modified CheckerPublic so that it can be pickled and unpickled without
loss of identity. This is necessary so that it can be stored and used
in persistent objects.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9207
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Fri Mar 7 18:39:44 2003 UTC (10 years, 2 months ago) by jim
File length: 14065 byte(s)
Diff to previous 9134
,
to selected 12690
Changed the marker object, CheckerPublic to be picklable (as a global
object). This will allow the value to be safely stored in persistent
objects.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 9134
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Sun Feb 23 15:18:14 2003 UTC (10 years, 3 months ago) by stevea
File length: 13765 byte(s)
Diff to previous 8983
,
to selected 12690
More obvious way to get a bool in python 2.3.
Improved comment.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 8983
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Thu Jan 30 15:55:04 2003 UTC (10 years, 3 months ago) by jim
File length: 13765 byte(s)
Diff to previous 8931
,
to selected 12690
Updated the datetime checker to relect the addition of some new
methods.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 8931
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Sat Jan 25 05:13:50 2003 UTC (10 years, 4 months ago) by rdmurray
File length: 14022 byte(s)
Diff to previous 8813
,
to selected 12690
Use keyword instead of positional arg (and Boolean instead of 1)
to make it more obvious to someone browsing the code what is going
on when the interface 'names' method is called.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 8813
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Wed Jan 8 20:18:33 2003 UTC (10 years, 4 months ago) by tim_one
File length: 14008 byte(s)
Diff to previous 8683
,
to selected 12690
Collapsing datetime and datetimetz into datetime, and time and timetz
into time, as discussed on Zope3-Dev.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 8683
-
(view)
(download)
(as text)
- [select for diffs]
Modified
Tue Dec 31 03:35:15 2002 UTC (10 years, 4 months ago) by jim
File length: 14936 byte(s)
Diff to previous 8532
,
to selected 12690
More renaming.
Filename: Zope3/trunk/src/zope/security/checker.py
Revision 8532
-
(view)
(download)
(as text)
- [select for diffs]
Added
Wed Dec 25 14:15:36 2002 UTC (10 years, 5 months ago) by jim
File length: 14944 byte(s)
Diff
to selected 12690
Grand renaming:
- Renamed most files (especially python modules) to lower case.
- Moved views and interfaces into separate hierarchies within each
project, where each top-level directory under the zope package
is a separate project.
- Moved everything to src from lib/python.
lib/python will eventually go away. I need access to the cvs
repository to make this happen, however.
There are probably some bits that are broken. All tests pass
and zope runs, but I haven't tried everything. There are a number
of cleanups I'll work on tomorrow.
This form allows you to request diffs between any two revisions of
a file. You may select a symbolic revision name using the selection
box or you may type in a numeric name using the type-in text box.