[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/tags/1.0.0/ 'creating tag svn+ssh://[EMAIL PROTECTED]/repos/main/Zope/hotfixes/Hotfix_20080812/tags/1.0.0 from svn+ssh://[EMAIL PROTECTED]/repos/main

2008-08-12 Thread Andreas Jung
Log message for revision 89785:
  'creating tag svn+ssh://[EMAIL 
PROTECTED]/repos/main/Zope/hotfixes/Hotfix_20080812/tags/1.0.0 from 
svn+ssh://[EMAIL PROTECTED]/repos/main/Zope/hotfixes/Hotfix_20080812/trunk'

Changed:
  A   Zope/hotfixes/Hotfix_20080812/tags/1.0.0/

-=-
Copied: Zope/hotfixes/Hotfix_20080812/tags/1.0.0 (from rev 89784, 
Zope/hotfixes/Hotfix_20080812/trunk)

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/trunk/version.txt 1.0.0

2008-08-12 Thread Andreas Jung
Log message for revision 89784:
  1.0.0
  

Changed:
  U   Zope/hotfixes/Hotfix_20080812/trunk/version.txt

-=-
Modified: Zope/hotfixes/Hotfix_20080812/trunk/version.txt
===
--- Zope/hotfixes/Hotfix_20080812/trunk/version.txt 2008-08-13 06:21:39 UTC 
(rev 89783)
+++ Zope/hotfixes/Hotfix_20080812/trunk/version.txt 2008-08-13 06:22:05 UTC 
(rev 89784)
@@ -1 +1 @@
-1.0
+1.0.0

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/trunk/version.txt updated

2008-08-12 Thread Andreas Jung
Log message for revision 89783:
  updated
  

Changed:
  U   Zope/hotfixes/Hotfix_20080812/trunk/version.txt

-=-
Modified: Zope/hotfixes/Hotfix_20080812/trunk/version.txt
===
--- Zope/hotfixes/Hotfix_20080812/trunk/version.txt 2008-08-13 06:21:23 UTC 
(rev 89782)
+++ Zope/hotfixes/Hotfix_20080812/trunk/version.txt 2008-08-13 06:21:39 UTC 
(rev 89783)
@@ -1 +1 @@
-0.2
+1.0

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/trunk/README.txt added

2008-08-12 Thread Andreas Jung
Log message for revision 89782:
  added
  

Changed:
  A   Zope/hotfixes/Hotfix_20080812/trunk/README.txt

-=-
Added: Zope/hotfixes/Hotfix_20080812/trunk/README.txt
===
--- Zope/hotfixes/Hotfix_20080812/trunk/README.txt  
(rev 0)
+++ Zope/hotfixes/Hotfix_20080812/trunk/README.txt  2008-08-13 06:21:23 UTC 
(rev 89782)
@@ -0,0 +1,71 @@
+Hotfix-20080812 README
+
+PythonScripts in Zope 2 can be misused for shutting down a complete Zope 2
+instance or misused for a local denial-of-service attack. This issue 
affects
+only those Zope 2 instances where users have unrestricted access to the 
ZMI and
+the ability to edit PythonScripts. This should usually not be the case for
+instances where the Manager access is granted only to trusted persons. 
+
+A PythonScript containing
+
+  raise SystemExit
+
+will immediately shutdown the current Zope instance
+
+A PythonScript containing
+
+  return 'foo'.encode('test.testall')
+
+would import the 'test' module of Python and execute all tests
+(could be misused for a denial-of-service attack). Also other modules
+could possibly be imported.
+
+
+  Affected Versions
+
+- Zope 2.7.0 to Zope 2.11.2
+
+- Earlier versions of Zope 2 are affected as well, but no new
+  releases for older major Zope releases (Zope 2.6 and earlier) will
+  be made. This Hotfix may work for older versions, but this has not
+  been tested.
+
+  Installing the Hotfix
+
+This hotfix is installed as a standard Zope2 product.  The following
+examples assume that your Zope instance is located at
+'/var/zope/instance':  please adjust according to your actual
+instance path.  Also note that hotfix products are *not* intended
+for installation into the "software home" of your Zope.
+
+  1. Unpack the tarball / zipfile for the Hotfix into a temporary
+ location::
+
+  $ cd /tmp
+  $ tar xzf ~/Hotfix_20080812.tar.gz
+
+  2. Copy or move the product directory from the unpacked directory
+ to the 'Products' directory of your Zope instance::
+
+  $ cp -a /tmp/Hotfix_20080812/ /var/zope/instance/Products/
+
+  3. Restart Zope::
+
+  $ /var/zope/instance/bin/zopectl restart
+
+  Uninstalling the Hotfix
+
+After upgrading Zope to one of the fixed versions, you should remove
+this hotfix product from your Zope instance.
+
+  1. Remove the product directory from your instance 'Products'::
+
+  $ rm -rf /var/zope/instance/Products/Hotfix_20080812/
+
+  2. Restart Zope::
+
+  $ /var/zope/instance/bin/zopectl restart
+
+  References
+
+  http://www.zope.org/advisories/advisory-2008-08-12

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py Merge Maurits's r89745 as well: Proper English spelling of "cannot".

2008-08-12 Thread Philipp von Weitershausen
Log message for revision 89760:
  Merge Maurits's r89745 as well: Proper English spelling of "cannot".
  

Changed:
  U   Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py

-=-
Modified: Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py
===
--- Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py
2008-08-12 22:26:28 UTC (rev 89759)
+++ Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py
2008-08-12 22:48:42 UTC (rev 89760)
@@ -325,7 +325,7 @@
 try:
 result = f(*args, **kw)
 except SystemExit:
-raise ValueError('SystemExit can not be raised within a 
PythonScript')
+raise ValueError('SystemExit cannot be raised within a 
PythonScript')
 
 if keyset is not None:
 # Store the result in the cache.

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/tags/0.2/ 'creating tag svn+ssh://[EMAIL PROTECTED]/repos/main/Zope/hotfixes/Hotfix_20080812/tags/0.2 from svn+ssh://[EMAIL PROTECTED]/repos/main/Zop

2008-08-12 Thread Andreas Jung
Log message for revision 89750:
  'creating tag svn+ssh://[EMAIL 
PROTECTED]/repos/main/Zope/hotfixes/Hotfix_20080812/tags/0.2 from 
svn+ssh://[EMAIL PROTECTED]/repos/main/Zope/hotfixes/Hotfix_20080812/trunk'

Changed:
  A   Zope/hotfixes/Hotfix_20080812/tags/0.2/

-=-
Copied: Zope/hotfixes/Hotfix_20080812/tags/0.2 (from rev 89749, 
Zope/hotfixes/Hotfix_20080812/trunk)

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/trunk/version.txt updated

2008-08-12 Thread Andreas Jung
Log message for revision 89749:
  updated
  

Changed:
  U   Zope/hotfixes/Hotfix_20080812/trunk/version.txt

-=-
Modified: Zope/hotfixes/Hotfix_20080812/trunk/version.txt
===
--- Zope/hotfixes/Hotfix_20080812/trunk/version.txt 2008-08-12 18:20:56 UTC 
(rev 89748)
+++ Zope/hotfixes/Hotfix_20080812/trunk/version.txt 2008-08-12 18:21:14 UTC 
(rev 89749)
@@ -1 +1 @@
-0.1
+0.2

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/trunk/__init__.py some cleanup

2008-08-12 Thread Andreas Jung
Log message for revision 89748:
  some cleanup
  

Changed:
  U   Zope/hotfixes/Hotfix_20080812/trunk/__init__.py

-=-
Modified: Zope/hotfixes/Hotfix_20080812/trunk/__init__.py
===
--- Zope/hotfixes/Hotfix_20080812/trunk/__init__.py 2008-08-12 18:18:43 UTC 
(rev 89747)
+++ Zope/hotfixes/Hotfix_20080812/trunk/__init__.py 2008-08-12 18:20:56 UTC 
(rev 89748)
@@ -10,6 +10,8 @@
 # Python 2.5 and hopefully fixed in Python 2.4.6 release.
 
 
+# Written by Marc-Andre Lemburg ([EMAIL PROTECTED]).
+# (c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
 
 def search_function(encoding):
 
@@ -92,6 +94,8 @@
 return entry
 
 
+import encodings
+encodings.search_function.func_code = search_function.func_code
 
 
 
@@ -99,16 +103,10 @@
 # raise SystemExit exploit in PythonScripts
 
 
-import encodings
-encodings.search_function.func_code = search_function.func_code
-
-
 import new
 from Products.PythonScripts.PythonScript import PythonScript, \
  PythonScriptTracebackSupplement
 
-
-
 def _exec(self, bound_names, args, kw):
 """Call a Python Script
 
@@ -162,4 +160,3 @@
 
 
 PythonScript._exec = _exec
-

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py wording

2008-08-12 Thread Andreas Jung
Log message for revision 89747:
  wording
  

Changed:
  U   Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py

-=-
Modified: Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py
===
--- Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py
2008-08-12 18:17:15 UTC (rev 89746)
+++ Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py
2008-08-12 18:18:43 UTC (rev 89747)
@@ -325,7 +325,7 @@
 try:
 result = f(*args, **kw)
 except SystemExit:
-raise ValueError('SystemExit can not raised with a PythonScript')
+raise ValueError('SystemExit can not be raised within a 
PythonScript')
 
 if keyset is not None:
 # Store the result in the cache.

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/trunk/lib/python/Products/PythonScripts/__init__.py re-added original (C) notice for 'encodings'

2008-08-12 Thread Andreas Jung
Log message for revision 89746:
  re-added original (C) notice for 'encodings'
  monkey-patch
  

Changed:
  U   Zope/trunk/lib/python/Products/PythonScripts/__init__.py

-=-
Modified: Zope/trunk/lib/python/Products/PythonScripts/__init__.py
===
--- Zope/trunk/lib/python/Products/PythonScripts/__init__.py2008-08-12 
17:42:52 UTC (rev 89745)
+++ Zope/trunk/lib/python/Products/PythonScripts/__init__.py2008-08-12 
18:17:15 UTC (rev 89746)
@@ -72,6 +72,8 @@
 # Python 2.5 and hopefully fixed in Python 2.4.6 release.
 
 
+# Written by Marc-Andre Lemburg ([EMAIL PROTECTED]).
+# (c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
 
 def search_function(encoding):
 

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/trunk/__init__.py Since we are changing strings anyway... 'can not' -> 'cannot'.

2008-08-12 Thread Maurits van Rees
Log message for revision 89745:
  Since we are changing strings anyway... 'can not' -> 'cannot'.

Changed:
  U   Zope/hotfixes/Hotfix_20080812/trunk/__init__.py

-=-
Modified: Zope/hotfixes/Hotfix_20080812/trunk/__init__.py
===
--- Zope/hotfixes/Hotfix_20080812/trunk/__init__.py 2008-08-12 17:22:20 UTC 
(rev 89744)
+++ Zope/hotfixes/Hotfix_20080812/trunk/__init__.py 2008-08-12 17:42:52 UTC 
(rev 89745)
@@ -153,7 +153,7 @@
 try:
 result = f(*args, **kw)
 except SystemExit:
-raise ValueError('SystemExit can not be raised within a PythonScript')
+raise ValueError('SystemExit cannot be raised within a PythonScript')
 
 if keyset is not None:
 # Store the result in the cache.

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/trunk/__init__.py Make text of raised ValueError a correct sentence:

2008-08-12 Thread Maurits van Rees
Log message for revision 89743:
  Make text of raised ValueError a correct sentence:
  SystemExit can not raised with a PythonScript =>
  SystemExit can not be raised within a PythonScript
  

Changed:
  U   Zope/hotfixes/Hotfix_20080812/trunk/__init__.py

-=-
Modified: Zope/hotfixes/Hotfix_20080812/trunk/__init__.py
===
--- Zope/hotfixes/Hotfix_20080812/trunk/__init__.py 2008-08-12 16:39:23 UTC 
(rev 89742)
+++ Zope/hotfixes/Hotfix_20080812/trunk/__init__.py 2008-08-12 17:19:59 UTC 
(rev 89743)
@@ -153,7 +153,7 @@
 try:
 result = f(*args, **kw)
 except SystemExit:
-raise ValueError('SystemExit can not raised with a PythonScript')
+raise ValueError('SystemExit can not be raised within a PythonScript')
 
 if keyset is not None:
 # Store the result in the cache.

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/tags/0.1/ 'creating tag svn+ssh://[EMAIL PROTECTED]/repos/main/Zope/hotfixes/Hotfix_20080812/tags/0.1 from svn+ssh://[EMAIL PROTECTED]/repos/main/Zop

2008-08-12 Thread Andreas Jung
Log message for revision 89740:
  'creating tag svn+ssh://[EMAIL 
PROTECTED]/repos/main/Zope/hotfixes/Hotfix_20080812/tags/0.1 from 
svn+ssh://[EMAIL PROTECTED]/repos/main/Zope/hotfixes/Hotfix_20080812/trunk'

Changed:
  A   Zope/hotfixes/Hotfix_20080812/tags/0.1/

-=-
Copied: Zope/hotfixes/Hotfix_20080812/tags/0.1 (from rev 89739, 
Zope/hotfixes/Hotfix_20080812/trunk)

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/ moved

2008-08-12 Thread Andreas Jung
Log message for revision 89739:
  moved
  

Changed:
  D   Zope/hotfixes/Hotfix_20080812/__init__.py
  D   Zope/hotfixes/Hotfix_20080812/tests/
  A   Zope/hotfixes/Hotfix_20080812/trunk/__init__.py
  A   Zope/hotfixes/Hotfix_20080812/trunk/tests/
  A   Zope/hotfixes/Hotfix_20080812/trunk/version.txt
  D   Zope/hotfixes/Hotfix_20080812/version.txt

-=-
Deleted: Zope/hotfixes/Hotfix_20080812/__init__.py
===
--- Zope/hotfixes/Hotfix_20080812/__init__.py   2008-08-12 15:41:50 UTC (rev 
89738)
+++ Zope/hotfixes/Hotfix_20080812/__init__.py   2008-08-12 15:42:13 UTC (rev 
89739)
@@ -1,165 +0,0 @@
-
-
-
-# Monkey patch for LP #257276
-#
-# This code is taken from the encodings module of Python 2.4.
-# Note that this code is originally (C) CNRI and it is possibly not compatible
-# with the ZPL and therefore should not live within svn.zope.org. However this
-# checkin is blessed by Jim Fulton for now. The fix is no longer required with
-# Python 2.5 and hopefully fixed in Python 2.4.6 release.
-
-
-
-def search_function(encoding):
-
-# Cache lookup
-entry = _cache.get(encoding, _unknown)
-if entry is not _unknown:
-return entry
-
-# Import the module:
-#
-# First try to find an alias for the normalized encoding
-# name and lookup the module using the aliased name, then try to
-# lookup the module using the standard import scheme, i.e. first
-# try in the encodings package, then at top-level.
-#
-norm_encoding = normalize_encoding(encoding)
-aliased_encoding = _aliases.get(norm_encoding) or \
-   _aliases.get(norm_encoding.replace('.', '_'))
-if aliased_encoding is not None:
-modnames = [aliased_encoding,
-norm_encoding]
-else:
-modnames = [norm_encoding]
-for modname in modnames:
-
-if not modname or '.' in modname:
-continue
-
-try:
-mod = __import__(modname,
- globals(), locals(), _import_tail)
-if not mod.__name__.startswith('encodings.'):
-continue
-
-except ImportError:
-pass
-else:
-break
-else:
-mod = None
-
-try:
-getregentry = mod.getregentry
-except AttributeError:
-# Not a codec module
-mod = None
-
-if mod is None:
-# Cache misses
-_cache[encoding] = None
-return None
-
-# Now ask the module for the registry entry
-entry = tuple(getregentry())
-if len(entry) != 4:
-raise CodecRegistryError,\
-  'module "%s" (%s) failed to register' % \
-  (mod.__name__, mod.__file__)
-for obj in entry:
-if not callable(obj):
-raise CodecRegistryError,\
-  'incompatible codecs in module "%s" (%s)' % \
-  (mod.__name__, mod.__file__)
-
-# Cache the codec registry entry
-_cache[encoding] = entry
-
-# Register its aliases (without overwriting previously registered
-# aliases)
-try:
-codecaliases = mod.getaliases()
-except AttributeError:
-pass
-else:
-for alias in codecaliases:
-if not _aliases.has_key(alias):
-_aliases[alias] = modname
-
-# Return the registry entry
-return entry
-
-
-
-
-
-# Monkey patch for LP #257269
-# raise SystemExit exploit in PythonScripts
-
-
-import encodings
-encodings.search_function.func_code = search_function.func_code
-
-
-import new
-from Products.PythonScripts.PythonScript import PythonScript, \
- PythonScriptTracebackSupplement
-
-
-
-def _exec(self, bound_names, args, kw):
-"""Call a Python Script
-
-Calling a Python Script is an actual function invocation.
-"""
-# Retrieve the value from the cache.
-keyset = None
-if self.ZCacheable_isCachingEnabled():
-# Prepare a cache key.
-keyset = kw.copy()
-asgns = self.getBindingAssignments()
-name_context = asgns.getAssignedName('name_context', None)
-if name_context:
-keyset[name_context] = aq_parent(self).getPhysicalPath()
-name_subpath = asgns.getAssignedName('name_subpath', None)
-if name_subpath:
-keyset[name_subpath] = self._getTraverseSubpath()
-# Note: perhaps we should cache based on name_ns also.
-keyset['*'] = args
-result = self.ZCacheable_get(keywords=keyset, default=_marker)
-if result is not _marker:
-# Got a cached value.
-return result
-
-#__traceback_info__ = bound_names, args, kw, self.func_defaults
-
-ft = self._v_ft
-if ft is Non

[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/t added

2008-08-12 Thread Andreas Jung
Log message for revision 89738:
  added
  

Changed:
  A   Zope/hotfixes/Hotfix_20080812/tags/
  A   Zope/hotfixes/Hotfix_20080812/trunk/

-=-
___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/__init__.py cleanup

2008-08-12 Thread Andreas Jung
Log message for revision 89737:
  cleanup
  

Changed:
  U   Zope/hotfixes/Hotfix_20080812/__init__.py

-=-
Modified: Zope/hotfixes/Hotfix_20080812/__init__.py
===
--- Zope/hotfixes/Hotfix_20080812/__init__.py   2008-08-12 15:09:12 UTC (rev 
89736)
+++ Zope/hotfixes/Hotfix_20080812/__init__.py   2008-08-12 15:28:45 UTC (rev 
89737)
@@ -1,12 +1,14 @@
 
 
+
 # Monkey patch for LP #257276
-
+#
 # This code is taken from the encodings module of Python 2.4.
 # Note that this code is originally (C) CNRI and it is possibly not compatible
 # with the ZPL and therefore should not live within svn.zope.org. However this
 # checkin is blessed by Jim Fulton for now. The fix is no longer required with
 # Python 2.5 and hopefully fixed in Python 2.4.6 release.
+
 
 
 def search_function(encoding):
@@ -90,8 +92,13 @@
 return entry
 
 
-# MONKEY
 
+
+
+# Monkey patch for LP #257269
+# raise SystemExit exploit in PythonScripts
+
+
 import encodings
 encodings.search_function.func_code = search_function.func_code
 

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/tests/testPythonScript.py added

2008-08-12 Thread Andreas Jung
Log message for revision 89736:
  added
  

Changed:
  A   Zope/hotfixes/Hotfix_20080812/tests/testPythonScript.py

-=-
Added: Zope/hotfixes/Hotfix_20080812/tests/testPythonScript.py
===
--- Zope/hotfixes/Hotfix_20080812/tests/testPythonScript.py 
(rev 0)
+++ Zope/hotfixes/Hotfix_20080812/tests/testPythonScript.py 2008-08-12 
15:09:12 UTC (rev 89736)
@@ -0,0 +1,113 @@
+##
+#
+# Copyright (c) 2002 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE
+#
+##
+import os, unittest, warnings
+
+from Products.PythonScripts.PythonScript import PythonScript
+from AccessControl.SecurityManagement import newSecurityManager
+from AccessControl.SecurityManagement import noSecurityManager
+from RestrictedPython.tests.verify import verify
+
+
+if __name__=='__main__':
+here = os.getcwd()
+else:
+here = os.path.dirname(__file__)
+if not here:
+here = os.getcwd()
+
+class WarningInterceptor:
+
+_old_stderr = None
+_our_stderr_stream = None
+
+def _trap_warning_output( self ):
+
+if self._old_stderr is not None:
+return
+
+import sys
+from StringIO import StringIO
+
+self._old_stderr = sys.stderr
+self._our_stderr_stream = sys.stderr = StringIO()
+
+def _free_warning_output( self ):
+
+if self._old_stderr is None:
+return
+
+import sys
+sys.stderr = self._old_stderr
+
+# Test Classes
+
+def readf(name):
+path = os.path.join(here, 'tscripts', '%s.ps' % name)
+return open(path, 'r').read()
+
+class VerifiedPythonScript(PythonScript):
+
+def _newfun(self, code):
+verify(code)
+return PythonScript._newfun(self, code)
+
+
+class PythonScriptTestBase(unittest.TestCase):
+def setUp(self):
+newSecurityManager(None, None)
+
+def tearDown(self):
+noSecurityManager()
+
+def _newPS(self, txt, bind=None):
+ps = VerifiedPythonScript('ps')
+ps.ZBindings_edit(bind or {})
+ps.write(txt)
+ps._makeFunction()
+if ps.errors:
+raise SyntaxError, ps.errors[0]
+return ps
+
+def _filePS(self, fname, bind=None):
+ps = VerifiedPythonScript(fname)
+ps.ZBindings_edit(bind or {})
+ps.write(readf(fname))
+ps._makeFunction()
+if ps.errors:
+raise SyntaxError, ps.errors[0]
+return ps
+
+class TestPythonScriptNoAq(PythonScriptTestBase):
+
+def testRaiseSystemExitLaunchpad257269(self):
+ps = self._newPS("raise SystemExit")
+self.assertRaises(ValueError, ps)
+
+def testEncodingTestDotTestAllLaunchpad257276(self):
+ps = self._newPS("return 'foo'.encode('test.testall')")
+self.assertRaises(LookupError, ps)
+
+
+
+def test_suite():
+suite = unittest.TestSuite()
+suite.addTest(unittest.makeSuite(TestPythonScriptNoAq))
+return suite
+
+
+def main():
+unittest.TextTestRunner().run(test_suite())
+
+
+if __name__ == '__main__':
+main()

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/tests/__init__.py added

2008-08-12 Thread Andreas Jung
Log message for revision 89735:
  added
  

Changed:
  A   Zope/hotfixes/Hotfix_20080812/tests/__init__.py

-=-
Added: Zope/hotfixes/Hotfix_20080812/tests/__init__.py
===
--- Zope/hotfixes/Hotfix_20080812/tests/__init__.py 
(rev 0)
+++ Zope/hotfixes/Hotfix_20080812/tests/__init__.py 2008-08-12 15:06:13 UTC 
(rev 89735)
@@ -0,0 +1 @@
+# place holder

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/tests/ added

2008-08-12 Thread Andreas Jung
Log message for revision 89734:
  added
  

Changed:
  A   Zope/hotfixes/Hotfix_20080812/tests/

-=-
___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/__init__.py fixes

2008-08-12 Thread Andreas Jung
Log message for revision 89733:
  fixes
  

Changed:
  U   Zope/hotfixes/Hotfix_20080812/__init__.py

-=-
Modified: Zope/hotfixes/Hotfix_20080812/__init__.py
===
--- Zope/hotfixes/Hotfix_20080812/__init__.py   2008-08-12 15:02:25 UTC (rev 
89732)
+++ Zope/hotfixes/Hotfix_20080812/__init__.py   2008-08-12 15:05:38 UTC (rev 
89733)
@@ -96,9 +96,12 @@
 encodings.search_function.func_code = search_function.func_code
 
 
-from Products.PythonScripts.PythonScript import PythonScript
+import new
+from Products.PythonScripts.PythonScript import PythonScript, \
+ PythonScriptTracebackSupplement
 
 
+
 def _exec(self, bound_names, args, kw):
 """Call a Python Script
 

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/ addedc

2008-08-12 Thread Andreas Jung
Log message for revision 89732:
  addedc
  

Changed:
  U   Zope/hotfixes/Hotfix_20080812/__init__.py
  A   Zope/hotfixes/Hotfix_20080812/version.txt

-=-
Modified: Zope/hotfixes/Hotfix_20080812/__init__.py
===
--- Zope/hotfixes/Hotfix_20080812/__init__.py   2008-08-12 15:00:15 UTC (rev 
89731)
+++ Zope/hotfixes/Hotfix_20080812/__init__.py   2008-08-12 15:02:25 UTC (rev 
89732)
@@ -96,7 +96,7 @@
 encodings.search_function.func_code = search_function.func_code
 
 
-from Products.PythonScript.PythonScript import PythonScript
+from Products.PythonScripts.PythonScript import PythonScript
 
 
 def _exec(self, bound_names, args, kw):
@@ -153,4 +153,3 @@
 
 PythonScript._exec = _exec
 
-

Added: Zope/hotfixes/Hotfix_20080812/version.txt
===
--- Zope/hotfixes/Hotfix_20080812/version.txt   (rev 0)
+++ Zope/hotfixes/Hotfix_20080812/version.txt   2008-08-12 15:02:25 UTC (rev 
89732)
@@ -0,0 +1 @@
+0.1

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/__init__.py added

2008-08-12 Thread Andreas Jung
Log message for revision 89731:
  added
  

Changed:
  A   Zope/hotfixes/Hotfix_20080812/__init__.py

-=-
Added: Zope/hotfixes/Hotfix_20080812/__init__.py
===
--- Zope/hotfixes/Hotfix_20080812/__init__.py   (rev 0)
+++ Zope/hotfixes/Hotfix_20080812/__init__.py   2008-08-12 15:00:15 UTC (rev 
89731)
@@ -0,0 +1,156 @@
+
+
+# Monkey patch for LP #257276
+
+# This code is taken from the encodings module of Python 2.4.
+# Note that this code is originally (C) CNRI and it is possibly not compatible
+# with the ZPL and therefore should not live within svn.zope.org. However this
+# checkin is blessed by Jim Fulton for now. The fix is no longer required with
+# Python 2.5 and hopefully fixed in Python 2.4.6 release.
+
+
+def search_function(encoding):
+
+# Cache lookup
+entry = _cache.get(encoding, _unknown)
+if entry is not _unknown:
+return entry
+
+# Import the module:
+#
+# First try to find an alias for the normalized encoding
+# name and lookup the module using the aliased name, then try to
+# lookup the module using the standard import scheme, i.e. first
+# try in the encodings package, then at top-level.
+#
+norm_encoding = normalize_encoding(encoding)
+aliased_encoding = _aliases.get(norm_encoding) or \
+   _aliases.get(norm_encoding.replace('.', '_'))
+if aliased_encoding is not None:
+modnames = [aliased_encoding,
+norm_encoding]
+else:
+modnames = [norm_encoding]
+for modname in modnames:
+
+if not modname or '.' in modname:
+continue
+
+try:
+mod = __import__(modname,
+ globals(), locals(), _import_tail)
+if not mod.__name__.startswith('encodings.'):
+continue
+
+except ImportError:
+pass
+else:
+break
+else:
+mod = None
+
+try:
+getregentry = mod.getregentry
+except AttributeError:
+# Not a codec module
+mod = None
+
+if mod is None:
+# Cache misses
+_cache[encoding] = None
+return None
+
+# Now ask the module for the registry entry
+entry = tuple(getregentry())
+if len(entry) != 4:
+raise CodecRegistryError,\
+  'module "%s" (%s) failed to register' % \
+  (mod.__name__, mod.__file__)
+for obj in entry:
+if not callable(obj):
+raise CodecRegistryError,\
+  'incompatible codecs in module "%s" (%s)' % \
+  (mod.__name__, mod.__file__)
+
+# Cache the codec registry entry
+_cache[encoding] = entry
+
+# Register its aliases (without overwriting previously registered
+# aliases)
+try:
+codecaliases = mod.getaliases()
+except AttributeError:
+pass
+else:
+for alias in codecaliases:
+if not _aliases.has_key(alias):
+_aliases[alias] = modname
+
+# Return the registry entry
+return entry
+
+
+# MONKEY
+
+import encodings
+encodings.search_function.func_code = search_function.func_code
+
+
+from Products.PythonScript.PythonScript import PythonScript
+
+
+def _exec(self, bound_names, args, kw):
+"""Call a Python Script
+
+Calling a Python Script is an actual function invocation.
+"""
+# Retrieve the value from the cache.
+keyset = None
+if self.ZCacheable_isCachingEnabled():
+# Prepare a cache key.
+keyset = kw.copy()
+asgns = self.getBindingAssignments()
+name_context = asgns.getAssignedName('name_context', None)
+if name_context:
+keyset[name_context] = aq_parent(self).getPhysicalPath()
+name_subpath = asgns.getAssignedName('name_subpath', None)
+if name_subpath:
+keyset[name_subpath] = self._getTraverseSubpath()
+# Note: perhaps we should cache based on name_ns also.
+keyset['*'] = args
+result = self.ZCacheable_get(keywords=keyset, default=_marker)
+if result is not _marker:
+# Got a cached value.
+return result
+
+#__traceback_info__ = bound_names, args, kw, self.func_defaults
+
+ft = self._v_ft
+if ft is None:
+__traceback_supplement__ = (
+PythonScriptTracebackSupplement, self)
+raise RuntimeError, '%s %s has errors.' % (self.meta_type, self.id)
+
+fcode, g, fadefs = ft
+g = g.copy()
+if bound_names is not None:
+g.update(bound_names)
+g['__traceback_supplement__'] = (
+PythonScriptTracebackSupplement, self, -1)
+g['__file__'] = getattr(self, '_filepath', None) or self.get_filepath()
+f = new.function(fcode, g, None, fadefs)
+
+try:
+result = f(*args, **kw)
+except SystemExit:
+raise ValueError('SystemExit can not raised with a PythonScript')
+
+

[Zope-Checkins] SVN: Zope/hotfixes/Hotfix_20080812/ added

2008-08-12 Thread Andreas Jung
Log message for revision 89730:
  added
  

Changed:
  A   Zope/hotfixes/Hotfix_20080812/

-=-
___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/trunk/ Monkey patch for LP #257276

2008-08-12 Thread Andreas Jung
Log message for revision 89727:
  Monkey patch for LP #257276
  
  This code is taken from the encodings module of Python 2.4.
  Note that this code is originally (C) CNRI and it is possibly not compatible
  with the ZPL and therefore should not live within svn.zope.org. However this
  checkin is blessed by Jim Fulton for now. The fix is no longer required with
  Python 2.5 and hopefully fixed in Python 2.4.6 release.
  
  

Changed:
  U   Zope/trunk/doc/CHANGES.txt
  U   Zope/trunk/lib/python/Products/PythonScripts/__init__.py
  U   Zope/trunk/lib/python/Products/PythonScripts/tests/testPythonScript.py

-=-
Modified: Zope/trunk/doc/CHANGES.txt
===
--- Zope/trunk/doc/CHANGES.txt  2008-08-12 13:41:53 UTC (rev 89726)
+++ Zope/trunk/doc/CHANGES.txt  2008-08-12 13:51:43 UTC (rev 89727)
@@ -204,6 +204,10 @@
 
 Bugs Fixed
 
+  - Launchpad #257276: fix for possible denial-of-service attack
+in PythonScript when passing an arbitrary module to the encode()
+or decode() of strings.
+
   - Launchpad #257269: 'raise SystemExit' with a PythonScript could 
shutdown
 a complete Zope instance
 

Modified: Zope/trunk/lib/python/Products/PythonScripts/__init__.py
===
--- Zope/trunk/lib/python/Products/PythonScripts/__init__.py2008-08-12 
13:41:53 UTC (rev 89726)
+++ Zope/trunk/lib/python/Products/PythonScripts/__init__.py2008-08-12 
13:51:43 UTC (rev 89727)
@@ -61,3 +61,100 @@
 if names:
 return 'The following Scripts were recompiled:\n' + '\n'.join(names)
 return 'No Scripts were found that required recompilation.'
+
+
+# Monkey patch for LP #257276
+
+# This code is taken from the encodings module of Python 2.4.
+# Note that this code is originally (C) CNRI and it is possibly not compatible
+# with the ZPL and therefore should not live within svn.zope.org. However this
+# checkin is blessed by Jim Fulton for now. The fix is no longer required with
+# Python 2.5 and hopefully fixed in Python 2.4.6 release.
+
+
+
+def search_function(encoding):
+
+# Cache lookup
+entry = _cache.get(encoding, _unknown)
+if entry is not _unknown:
+return entry
+
+# Import the module:
+#
+# First try to find an alias for the normalized encoding
+# name and lookup the module using the aliased name, then try to
+# lookup the module using the standard import scheme, i.e. first
+# try in the encodings package, then at top-level.
+#
+norm_encoding = normalize_encoding(encoding)
+aliased_encoding = _aliases.get(norm_encoding) or \
+   _aliases.get(norm_encoding.replace('.', '_'))
+if aliased_encoding is not None:
+modnames = [aliased_encoding,
+norm_encoding]
+else:
+modnames = [norm_encoding]
+for modname in modnames:
+
+if not modname or '.' in modname:
+continue
+
+try:
+mod = __import__(modname,
+ globals(), locals(), _import_tail)
+if not mod.__name__.startswith('encodings.'):
+continue
+
+except ImportError:
+pass
+else:
+break
+else:
+mod = None
+
+try:
+getregentry = mod.getregentry
+except AttributeError:
+# Not a codec module
+mod = None
+
+if mod is None:
+# Cache misses
+_cache[encoding] = None
+return None
+
+# Now ask the module for the registry entry
+entry = tuple(getregentry())
+if len(entry) != 4:
+raise CodecRegistryError,\
+  'module "%s" (%s) failed to register' % \
+  (mod.__name__, mod.__file__)
+for obj in entry:
+if not callable(obj):
+raise CodecRegistryError,\
+  'incompatible codecs in module "%s" (%s)' % \
+  (mod.__name__, mod.__file__)
+
+# Cache the codec registry entry
+_cache[encoding] = entry
+
+# Register its aliases (without overwriting previously registered
+# aliases)
+try:
+codecaliases = mod.getaliases()
+except AttributeError:
+pass
+else:
+for alias in codecaliases:
+if not _aliases.has_key(alias):
+_aliases[alias] = modname
+
+# Return the registry entry
+return entry
+
+
+# MONKEY
+
+import encodings
+encodings.search_function.func_code = search_function.func_code

Modified: Zope/trunk/lib/python/Products/PythonScripts/tests/testPythonScript.py
===
--- Zope/trunk/lib/python/Products/PythonScripts/tests/testPythonScript.py  
2008-08-12 13:41:53 UTC (rev 89726)
+++ Zope/trunk/lib/python/Products/PythonScripts/tests/testPythonScript.py  
2008-08-12 13:51:43 UTC (rev 89727)
@@ -226,6 +226,9 @@
 ps = self._newPS("raise SystemExit")
 

[Zope-Checkins] SVN: Zope/trunk/ - Launchpad #257269: 'raise SystemExit' with a PythonScript could shutdown

2008-08-12 Thread Andreas Jung
Log message for revision 89723:
  - Launchpad #257269: 'raise SystemExit' with a PythonScript could shutdown
a complete Zope instance
  

Changed:
  U   Zope/trunk/doc/CHANGES.txt
  U   Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py
  U   Zope/trunk/lib/python/Products/PythonScripts/tests/testPythonScript.py

-=-
Modified: Zope/trunk/doc/CHANGES.txt
===
--- Zope/trunk/doc/CHANGES.txt  2008-08-12 12:51:13 UTC (rev 89722)
+++ Zope/trunk/doc/CHANGES.txt  2008-08-12 12:51:20 UTC (rev 89723)
@@ -204,6 +204,9 @@
 
 Bugs Fixed
 
+  - Launchpad #257269: 'raise SystemExit' with a PythonScript could 
shutdown
+a complete Zope instance
+
   - DateTime conversion of datetime objects with non-pytz tzinfo. 
 Timezones() returns a copy of the timezone list (allows tests to run).
 

Modified: Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py
===
--- Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py
2008-08-12 12:51:13 UTC (rev 89722)
+++ Zope/trunk/lib/python/Products/PythonScripts/PythonScript.py
2008-08-12 12:51:20 UTC (rev 89723)
@@ -322,7 +322,11 @@
 g['__file__'] = getattr(self, '_filepath', None) or self.get_filepath()
 f = new.function(fcode, g, None, fadefs)
 
-result = f(*args, **kw)
+try:
+result = f(*args, **kw)
+except SystemExit:
+raise ValueError('SystemExit can not raised with a PythonScript')
+
 if keyset is not None:
 # Store the result in the cache.
 self.ZCacheable_set(result, keywords=keyset)

Modified: Zope/trunk/lib/python/Products/PythonScripts/tests/testPythonScript.py
===
--- Zope/trunk/lib/python/Products/PythonScripts/tests/testPythonScript.py  
2008-08-12 12:51:13 UTC (rev 89722)
+++ Zope/trunk/lib/python/Products/PythonScripts/tests/testPythonScript.py  
2008-08-12 12:51:20 UTC (rev 89723)
@@ -222,7 +222,12 @@
 res = self._newPS("return 
DateTime('2007/12/10').strftime('%d.%m.%Y')")()
 self.assertEqual(res, '10.12.2007')
 
+def testRaiseSystemExitLaunchpad257269(self):
+ps = self._newPS("raise SystemExit")
+self.assertRaises(ValueError, ps)
 
+
+
 class TestPythonScriptErrors(PythonScriptTestBase):
 
 def assertPSRaises(self, error, path=None, body=None):

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/branches/2.11/lib/python/zope/app/ removed dupe 'folder' definition

2008-08-12 Thread Andreas Jung
Log message for revision 89703:
  removed dupe 'folder' definition
  

Changed:
  _U  Zope/branches/2.11/lib/python/zope/app/

-=-

Property changes on: Zope/branches/2.11/lib/python/zope/app
___
Name: svn:externals
   - annotation   
svn://svn.zope.org/repos/main/zope.app.annotation/tags/3.4.0/src/zope/app/annotation
apidoc   
svn://svn.zope.org/repos/main/zope.app.apidoc/tags/3.4.3/src/zope/app/apidoc
applicationcontrol   
svn://svn.zope.org/repos/main/zope.app.applicationcontrol/tags/3.4.1/src/zope/app/applicationcontrol
appsetup 
svn://svn.zope.org/repos/main/zope.app.appsetup/tags/3.4.1/src/zope/app/appsetup
authentication   
svn://svn.zope.org/repos/main/zope.app.authentication/tags/3.4.1/src/zope/app/authentication
basicskin
svn://svn.zope.org/repos/main/zope.app.basicskin/tags/3.4.0/src/zope/app/basicskin
broken   
svn://svn.zope.org/repos/main/zope.app.broken/tags/3.4.0/src/zope/app/broken
cache
svn://svn.zope.org/repos/main/zope.app.cache/tags/3.4.0/src/zope/app/cache
component
svn://svn.zope.org/repos/main/zope.app.component/tags/3.4.1/src/zope/app/component
container
svn://svn.zope.org/repos/main/zope.app.container/tags/3.5.3/src/zope/app/container
content  
svn://svn.zope.org/repos/main/zope.app.content/tags/3.4.0/src/zope/app/content
content_types
svn://svn.zope.org/repos/main/Zope3/branches/3.4/src/zope/app/content_types
debug
svn://svn.zope.org/repos/main/zope.app.debug/tags/3.4.0/src/zope/app/debug
dependable   
svn://svn.zope.org/repos/main/zope.app.dependable/tags/3.4.0/src/zope/app/dependable
error
svn://svn.zope.org/repos/main/zope.app.error/tags/3.5.1/src/zope/app/error
event
svn://svn.zope.org/repos/main/Zope3/branches/3.4/src/zope/app/event 
exception
svn://svn.zope.org/repos/main/zope.app.exception/tags/3.4.1/src/zope/app/exception
file 
svn://svn.zope.org/repos/main/zope.app.file/tags/3.4.2/src/zope/app/file
filerepresentation   
svn://svn.zope.org/repos/main/Zope3/branches/3.4/src/zope/app/filerepresentation
 
folder   
svn://svn.zope.org/repos/main/zope.app.folder/tags/3.4.0/src/zope/app/folder
folder   
svn://svn.zope.org/repos/main/zope.app.folder/tags/3.4.0/src/zope/app/folder
form 
svn://svn.zope.org/repos/main/zope.app.form/tags/3.4.1/src/zope/app/form
generations  
svn://svn.zope.org/repos/main/zope.app.generations/tags/3.4.1/src/zope/app/generations
http 
svn://svn.zope.org/repos/main/zope.app.http/tags/3.4.1/src/zope/app/http
i18n 
svn://svn.zope.org/repos/main/zope.app.i18n/tags/3.4.4/src/zope/app/i18n
interface
svn://svn.zope.org/repos/main/zope.app.interface/tags/3.4.0/src/zope/app/interface
intid
svn://svn.zope.org/repos/main/zope.app.intid/tags/3.4.1/src/zope/app/intid
keyreference 
svn://svn.zope.org/repos/main/zope.app.keyreference/tags/3.4.1/src/zope/app/keyreference
layers   
svn://svn.zope.org/repos/main/zope.app.layers/tags/3.4.0/src/zope/app/layers
locales  
svn://svn.zope.org/repos/main/zope.app.locales/tags/3.4.0/src/zope/app/locales
location 
svn://svn.zope.org/repos/main/Zope3/branches/3.4/src/zope/app/location 
mail 
svn://svn.zope.org/repos/main/Zope3/branches/3.4/src/zope/app/mail 
onlinehelp   
svn://svn.zope.org/repos/main/zope.app.onlinehelp/tags/3.4.0/src/zope/app/onlinehelp
pagetemplate 
svn://svn.zope.org/repos/main/zope.app.pagetemplate/tags/3.4.0/src/zope/app/pagetemplate
pluggableauth
svn://svn.zope.org/repos/main/zope.app.pluggableauth/tags/3.4.0/src/zope/app/pluggableauth
preference   
svn://svn.zope.org/repos/main/zope.app.preference/tags/3.4.1/src/zope/app/preference
preview  
svn://svn.zope.org/repos/main/zope.app.preview/tags/3.4.0/src/zope/app/preview
principalannotation  
svn://svn.zope.org/repos/main/zope.app.principalannotation/tags/3.4.0/src/zope/app/principalannotation
publication  
svn://svn.zope.org/repos/main/zope.app.publication/tags/3.4.2/src/zope/app/publication
publisher
svn://svn.zope.org/repos/main/zope.app.publisher/tags/3.4.1/src/zope/app/publisher
rdb  
svn://svn.zope.org/repos/main/Zope3/branches/3.4/src/zope/app/rdb 
renderer 
svn://svn.zope.org/repos/main/zope.app.renderer/tags/3.4.0/src/zope/app/renderer
rotterdam
svn://svn.zope.org/repos/main/zope.app.rotterdam/tags/3.4.1/src/zope/app/rotterdam
schema   
svn://svn.zope.org/repos/main/zope.app.schema/tags/3.4.0/src/zope/app/schema
security 
svn://svn.zope.org/repos/main/zope.app.security/tags/3.4.0/src/zope/app/security
securitypolicy   
svn://svn.zope.org/repos/main/zope.app.securitypolicy/tags/3.4.6/src/zop

[Zope-Checkins] SVN: Zope/branches/2.11/lib/python/zope/app/ removed empty line

2008-08-12 Thread Andreas Jung
Log message for revision 89701:
  removed empty line
  

Changed:
  _U  Zope/branches/2.11/lib/python/zope/app/

-=-

Property changes on: Zope/branches/2.11/lib/python/zope/app
___
Name: svn:externals
   - annotation   
svn://svn.zope.org/repos/main/zope.app.annotation/tags/3.4.0/src/zope/app/annotation
apidoc   
svn://svn.zope.org/repos/main/zope.app.apidoc/tags/3.4.3/src/zope/app/apidoc
applicationcontrol   
svn://svn.zope.org/repos/main/zope.app.applicationcontrol/tags/3.4.1/src/zope/app/applicationcontrol
appsetup 
svn://svn.zope.org/repos/main/zope.app.appsetup/tags/3.4.1/src/zope/app/appsetup
authentication   
svn://svn.zope.org/repos/main/zope.app.authentication/tags/3.4.1/src/zope/app/authentication
basicskin
svn://svn.zope.org/repos/main/zope.app.basicskin/tags/3.4.0/src/zope/app/basicskin
broken   
svn://svn.zope.org/repos/main/zope.app.broken/tags/3.4.0/src/zope/app/broken
cache
svn://svn.zope.org/repos/main/zope.app.cache/tags/3.4.0/src/zope/app/cache
component
svn://svn.zope.org/repos/main/zope.app.component/tags/3.4.1/src/zope/app/component
container
svn://svn.zope.org/repos/main/zope.app.container/tags/3.5.3/src/zope/app/container
content  
svn://svn.zope.org/repos/main/zope.app.content/tags/3.4.0/src/zope/app/content
content_types
svn://svn.zope.org/repos/main/Zope3/branches/3.4/src/zope/app/content_types
debug
svn://svn.zope.org/repos/main/zope.app.debug/tags/3.4.0/src/zope/app/debug
dependable   
svn://svn.zope.org/repos/main/zope.app.dependable/tags/3.4.0/src/zope/app/dependable
error
svn://svn.zope.org/repos/main/zope.app.error/tags/3.5.1/src/zope/app/error
event
svn://svn.zope.org/repos/main/Zope3/branches/3.4/src/zope/app/event 
exception
svn://svn.zope.org/repos/main/zope.app.exception/tags/3.4.1/src/zope/app/exception
file 
svn://svn.zope.org/repos/main/zope.app.file/tags/3.4.2/src/zope/app/file
filerepresentation   
svn://svn.zope.org/repos/main/Zope3/branches/3.4/src/zope/app/filerepresentation
 
folder   
svn://svn.zope.org/repos/main/zope.app.folder/tags/3.4.0/src/zope/app/folder
folder   
svn://svn.zope.org/repos/main/zope.app.folder/tags/3.4.0/src/zope/app/folder
form 
svn://svn.zope.org/repos/main/zope.app.form/tags/3.4.1/src/zope/app/form
generations  
svn://svn.zope.org/repos/main/zope.app.generations/tags/3.4.1/src/zope/app/generations
http 
svn://svn.zope.org/repos/main/zope.app.http/tags/3.4.1/src/zope/app/http
i18n 
svn://svn.zope.org/repos/main/zope.app.i18n/tags/3.4.4/src/zope/app/i18n
interface
svn://svn.zope.org/repos/main/zope.app.interface/tags/3.4.0/src/zope/app/interface
intid
svn://svn.zope.org/repos/main/zope.app.intid/tags/3.4.1/src/zope/app/intid
keyreference 
svn://svn.zope.org/repos/main/zope.app.keyreference/tags/3.4.1/src/zope/app/keyreference
layers   
svn://svn.zope.org/repos/main/zope.app.layers/tags/3.4.0/src/zope/app/layers
locales  
svn://svn.zope.org/repos/main/zope.app.locales/tags/3.4.0/src/zope/app/locales
location 
svn://svn.zope.org/repos/main/Zope3/branches/3.4/src/zope/app/location 
mail 
svn://svn.zope.org/repos/main/Zope3/branches/3.4/src/zope/app/mail 
onlinehelp   
svn://svn.zope.org/repos/main/zope.app.onlinehelp/tags/3.4.0/src/zope/app/onlinehelp
pagetemplate 
svn://svn.zope.org/repos/main/zope.app.pagetemplate/tags/3.4.0/src/zope/app/pagetemplate
pluggableauth
svn://svn.zope.org/repos/main/zope.app.pluggableauth/tags/3.4.0/src/zope/app/pluggableauth
preference   
svn://svn.zope.org/repos/main/zope.app.preference/tags/3.4.1/src/zope/app/preference
preview  
svn://svn.zope.org/repos/main/zope.app.preview/tags/3.4.0/src/zope/app/preview
principalannotation  
svn://svn.zope.org/repos/main/zope.app.principalannotation/tags/3.4.0/src/zope/app/principalannotation
publication  
svn://svn.zope.org/repos/main/zope.app.publication/tags/3.4.2/src/zope/app/publication
publisher
svn://svn.zope.org/repos/main/zope.app.publisher/tags/3.4.1/src/zope/app/publisher
rdb  
svn://svn.zope.org/repos/main/Zope3/branches/3.4/src/zope/app/rdb 
renderer 
svn://svn.zope.org/repos/main/zope.app.renderer/tags/3.4.0/src/zope/app/renderer
rotterdam
svn://svn.zope.org/repos/main/zope.app.rotterdam/tags/3.4.1/src/zope/app/rotterdam
schema   
svn://svn.zope.org/repos/main/zope.app.schema/tags/3.4.0/src/zope/app/schema
security 
svn://svn.zope.org/repos/main/zope.app.security/tags/3.4.0/src/zope/app/security
securitypolicy   
svn://svn.zope.org/repos/main/zope.app.securitypolicy/tags/3.4.6/src/zope/app/security

[Zope-Checkins] SVN: Zope/branches/2.11/lib/python/ removed empty line

2008-08-12 Thread Andreas Jung
Log message for revision 89699:
  removed empty line
  

Changed:
  _U  Zope/branches/2.11/lib/python/

-=-

Property changes on: Zope/branches/2.11/lib/python
___
Name: svn:externals
   - BTrees   
svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/BTrees
ClientForm   svn://svn.zope.org/repos/main/Zope3/trunk/src/ClientForm
RestrictedPython 
svn://svn.zope.org/repos/main/RestrictedPython/tags/3.4.2/src/RestrictedPython
ThreadedAsync
svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/ThreadedAsync
ZConfig  svn://svn.zope.org/repos/main/ZConfig/tags/2.5.1/ZConfig
ZEO  svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/ZEO
ZODB svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/ZODB
ZopeUndo svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/ZopeUndo
docutils svn://svn.zope.org/repos/main/docutils/tags/0.4.0
mechanizesvn://svn.zope.org/repos/main/Zope3/trunk/src/mechanize
persistent   
svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/persistent
pytz svn://svn.zope.org/repos/main/Zope3/trunk/src/pytz
transaction  
svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/transaction
zdaemon  
svn://svn.zope.org/repos/main/zdaemon/tags/2.0.2/src/zdaemon
zodbcode 
svn://svn.zope.org/repos/main/zodbcode/tags/3.4.0/src/zodbcode


   + BTrees   
svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/BTrees
ClientForm   svn://svn.zope.org/repos/main/Zope3/trunk/src/ClientForm
RestrictedPython 
svn://svn.zope.org/repos/main/RestrictedPython/tags/3.4.2/src/RestrictedPython
ThreadedAsync
svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/ThreadedAsync
ZConfig  svn://svn.zope.org/repos/main/ZConfig/tags/2.5.1/ZConfig
ZEO  svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/ZEO
ZODB svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/ZODB
ZopeUndo svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/ZopeUndo
docutils svn://svn.zope.org/repos/main/docutils/tags/0.4.0
mechanizesvn://svn.zope.org/repos/main/Zope3/trunk/src/mechanize
persistent   
svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/persistent
pytz svn://svn.zope.org/repos/main/Zope3/trunk/src/pytz
transaction  
svn://svn.zope.org/repos/main/ZODB/tags/3.8.0/src/transaction
zdaemon  
svn://svn.zope.org/repos/main/zdaemon/tags/2.0.2/src/zdaemon
zodbcode 
svn://svn.zope.org/repos/main/zodbcode/tags/3.4.0/src/zodbcode


___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins