[Erp5-report] r24812 - in /erp5/trunk/products/ERP5Catalog: ./ tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Dec 5 18:55:40 CET 2008
Author: nicolas
Date: Fri Dec 5 18:55:40 2008
New Revision: 24812
URL: http://svn.erp5.org?rev=24812&view=rev
Log:
Escape login with sql_quote in Security Query
Modified:
erp5/trunk/products/ERP5Catalog/CatalogTool.py
erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py
Modified: erp5/trunk/products/ERP5Catalog/CatalogTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Catalog/CatalogTool.py?rev=24812&r1=24811&r2=24812&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Catalog/CatalogTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Catalog/CatalogTool.py [utf8] Fri Dec 5 18:55:40 2008
@@ -50,6 +50,7 @@
from MethodObject import Method
from Products.ERP5Security.ERP5UserManager import SUPER_USER
+from DocumentTemplate.DT_Var import sql_quote
import os, time, urllib, warnings
import sys
@@ -564,7 +565,7 @@
else:
# XXX: What with this string transformation ?! Souldn't it be done in
# dtml instead ?
- allowedRolesAndUsers = ["'%s'" % (role, ) for role in allowedRolesAndUsers]
+ allowedRolesAndUsers = ["'%s'" % (sql_quote(role), ) for role in allowedRolesAndUsers]
security_uid_list = [x.uid for x in method(security_roles_list = allowedRolesAndUsers)]
security_uid_cache[cache_key] = security_uid_list
else:
Modified: erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py?rev=24812&r1=24811&r2=24812&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py [utf8] (original)
+++ erp5/trunk/products/ERP5Catalog/tests/testERP5Catalog.py [utf8] Fri Dec 5 18:55:40 2008
@@ -2961,6 +2961,23 @@
strict_group_related_description='c')]
self.assertEquals(category_list,[sub_group_nexedi])
+ def test_EscapingLoginInSescurityQuery(self,
+ quiet=quiet, run=run_all_test):
+ if not run: return
+ if not quiet:
+ message = 'Test that login are escaped when call security_query'
+ ZopeTestCase._print('\n%s ' % message)
+ LOG('Testing... ',0,message)
+
+ # Create some objects
+ reference = "aaa.o'connor at fake.ie"
+ portal = self.getPortal()
+ uf = self.portal.acl_users
+ uf._doAddUser(reference, 'secret', ['Member'], [])
+ user = uf.getUserById(reference).__of__(uf)
+ newSecurityManager(None, user)
+ portal.view()
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestERP5Catalog))
More information about the Erp5-report
mailing list