Commit f221d5d8 authored by Jérome Perrin's avatar Jérome Perrin

*: fix wrong base64 usage

parent d33d3d9d
...@@ -73,7 +73,7 @@ class ERP5CookieCrumblerTests (CookieCrumblerTests): ...@@ -73,7 +73,7 @@ class ERP5CookieCrumblerTests (CookieCrumblerTests):
self.req = makerequest(root, self.responseOut) self.req = makerequest(root, self.responseOut)
self.credentials = quote( self.credentials = quote(
base64.encodebytes('abraham:pass-w').replace('\012', '')) base64.encodebytes(b'abraham:pass-w').decode().replace('\012', ''))
def testCookieLongLogin(self): def testCookieLongLogin(self):
# verify the user and auth cookie get set # verify the user and auth cookie get set
...@@ -88,7 +88,7 @@ class ERP5CookieCrumblerTests (CookieCrumblerTests): ...@@ -88,7 +88,7 @@ class ERP5CookieCrumblerTests (CookieCrumblerTests):
'abrahammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm') 'abrahammmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm')
resp = self.req.response resp = self.req.response
self.assertIn('__ac', resp.cookies) self.assertIn('__ac', resp.cookies)
self.credentials = base64.encodebytes('%s:%s' % (long_name, long_pass)).replace('\012', '') self.credentials = base64.encodebytes(('%s:%s' % (long_name, long_pass)).encode()).decode().replace('\012', '')
self.assertEqual(resp.cookies['__ac']['value'], self.assertEqual(resp.cookies['__ac']['value'],
self.credentials) self.credentials)
self.assertEqual(resp.cookies['__ac'][normalizeCookieParameterName('path')], '/') self.assertEqual(resp.cookies['__ac'][normalizeCookieParameterName('path')], '/')
......
...@@ -58,8 +58,8 @@ def convertToOdf(self, name, data): ...@@ -58,8 +58,8 @@ def convertToOdf(self, name, data):
to work with (and we for example have to figure out portal_type) to work with (and we for example have to figure out portal_type)
""" """
sp = mkProxy(self) sp = mkProxy(self)
kw = sp.run_convert(name,base64.encodebytes(data)) kw = sp.run_convert(name, base64.encodebytes(data).decode())
odf = base64.decodebytes(kw['data']) odf = base64.decodebytes(kw['data'].encode())
return odf return odf
def mkProxy(self): def mkProxy(self):
...@@ -74,7 +74,7 @@ def mkProxy(self): ...@@ -74,7 +74,7 @@ def mkProxy(self):
def generateFile(self, name, data, format): # pylint: disable=redefined-builtin def generateFile(self, name, data, format): # pylint: disable=redefined-builtin
sp = mkProxy(self) sp = mkProxy(self)
kw = sp.run_generate(name, data, None, format) kw = sp.run_generate(name, data, None, format)
res = base64.decodebytes(kw['data']) res = base64.decodebytes(kw['data'].encode())
return res return res
def getAttrFromFilename(self, fname): def getAttrFromFilename(self, fname):
......
...@@ -19,8 +19,8 @@ except KeyError: ...@@ -19,8 +19,8 @@ except KeyError:
return result_dict return result_dict
try: try:
encoded = name.replace("definition_view/", "", 1) encoded = name.replace("definition_view/", "", 1).encode()
name = base64.decodebytes(encoded) name = base64.decodebytes(encoded).decode()
base_64 = True base_64 = True
except binascii.Error: except binascii.Error:
pass pass
......
...@@ -55,9 +55,9 @@ class PayzenREST: ...@@ -55,9 +55,9 @@ class PayzenREST:
def callPayzenApi(self, URL, payzen_dict): def callPayzenApi(self, URL, payzen_dict):
base64string = base64.encodebytes( base64string = base64.encodebytes(
'%s:%s' % ( ('%s:%s' % (
self.getServiceUsername(), self.getServiceUsername(),
self.getServiceApiKey())).replace('\n', '') self.getServiceApiKey())).encode()).decode().replace('\n', '')
header = {"Authorization": "Basic %s" % base64string} header = {"Authorization": "Basic %s" % base64string}
LOG('callPayzenApi', WARNING, LOG('callPayzenApi', WARNING,
"data = %s URL = %s" % (str(payzen_dict), URL), error=False) "data = %s URL = %s" % (str(payzen_dict), URL), error=False)
......
...@@ -2,8 +2,8 @@ import base64 ...@@ -2,8 +2,8 @@ import base64
portal = context.getPortalObject() portal = context.getPortalObject()
expense_record_module = portal.getDefaultModule('Expense Record') expense_record_module = portal.getDefaultModule('Expense Record')
sender = portal.portal_membership.getAuthenticatedMember().getUserValue() sender = portal.portal_membership.getAuthenticatedMember().getUserValue()
data = context.getData() data = bytes(context.getData())
data64 = u''.join(base64.encodebytes(data).splitlines()) data64 = u''.join(base64.encodebytes(data).decode().splitlines())
photo_data = u'data:%s;base64,%s' % ("image/*", data64) photo_data = u'data:%s;base64,%s' % ("image/*", data64)
expense_record_module.newContent( expense_record_module.newContent(
comment=comment, comment=comment,
......
...@@ -48,7 +48,7 @@ class ShaCacheMixin(object): ...@@ -48,7 +48,7 @@ class ShaCacheMixin(object):
self.shacache.publish() self.shacache.publish()
self.header_dict = { self.header_dict = {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'Authorization': 'Basic %s' % (base64.encodebytes('ERP5TypeTestCase:').strip()) 'Authorization': 'Basic %s' % (base64.encodebytes(b'ERP5TypeTestCase:').decode().strip())
} }
self.shacache_url = self.shacache.absolute_url() self.shacache_url = self.shacache.absolute_url()
self.tic() self.tic()
......
...@@ -59,8 +59,8 @@ class TestShaCacheExternal(ShaCacheMixin, ShaSecurityMixin, ERP5TypeTestCase): ...@@ -59,8 +59,8 @@ class TestShaCacheExternal(ShaCacheMixin, ShaSecurityMixin, ERP5TypeTestCase):
# Define POST headers with Authentication # Define POST headers with Authentication
self.content_type = 'application/json' self.content_type = 'application/json'
authentication_string = 'lucas:lucas' authentication_string = b'lucas:lucas'
base64string = base64.encodebytes(authentication_string).strip() base64string = base64.encodebytes(authentication_string).decode().strip()
self.header_dict = {'Authorization': 'Basic %s' % base64string, self.header_dict = {'Authorization': 'Basic %s' % base64string,
'Content-Type': self.content_type} 'Content-Type': self.content_type}
......
...@@ -60,8 +60,8 @@ class TestShaDirExternal(ShaDirMixin, ShaSecurityMixin, ERP5TypeTestCase): ...@@ -60,8 +60,8 @@ class TestShaDirExternal(ShaDirMixin, ShaSecurityMixin, ERP5TypeTestCase):
# Define POST headers with Authentication # Define POST headers with Authentication
self.content_type = 'application/json' self.content_type = 'application/json'
authentication_string = 'lucas:lucas' authentication_string = b'lucas:lucas'
base64string = base64.encodebytes(authentication_string).strip() base64string = base64.encodebytes(authentication_string).decode().strip()
self.header_dict = {'Authorization': 'Basic %s' % base64string, self.header_dict = {'Authorization': 'Basic %s' % base64string,
'Content-Type': self.content_type} 'Content-Type': self.content_type}
......
...@@ -45,7 +45,7 @@ zope_url = url.rsplit('/', 2)[0] ...@@ -45,7 +45,7 @@ zope_url = url.rsplit('/', 2)[0]
import base64 import base64
browser.mech_browser.addheaders.append( browser.mech_browser.addheaders.append(
('Authorization', ('Authorization',
'Basic %s' % base64.encodebytes('%s:%s' % (username, password)))) 'Basic %s' % base64.encodebytes(('%s:%s' % (username, password)).encode())).decode())
for index in range(user_nbr): for index in range(user_nbr):
new_username = "%s%d" % (new_username_prefix, index) new_username = "%s%d" % (new_username_prefix, index)
......
...@@ -4,7 +4,7 @@ import six.moves.http_client ...@@ -4,7 +4,7 @@ import six.moves.http_client
connection = six.moves.http_client.HTTPConnection('192.168.242.68:12001') connection = six.moves.http_client.HTTPConnection('192.168.242.68:12001')
import base64 import base64
base64string = base64.encodebytes('zope:insecure')[:-1] base64string = base64.encodebytes(b'zope:insecure').decode()[:-1]
n = 1 << 20 n = 1 << 20
......
...@@ -62,24 +62,24 @@ if IS_ZOPE2: # BBB ...@@ -62,24 +62,24 @@ if IS_ZOPE2: # BBB
def _setUserNameForAccessLog(username, REQUEST): def _setUserNameForAccessLog(username, REQUEST):
"""Make the current user look as `username` in Zope's Z2.log """Make the current user look as `username` in Zope's Z2.log
Taken from Products.CMFCore.CookieCrumbler._setAuthHeader Taken from Products.CMFCore.CookieCrumbler._setAuthHeader
""" """
# Set the authorization header in the medusa http request # Set the authorization header in the medusa http request
# so that the username can be logged to the Z2.log # so that the username can be logged to the Z2.log
# Put the full-arm latex glove on now... # Put the full-arm latex glove on now...
try:
# Is this WSGI ?
REQUEST._orig_env['wsgi.input']
except KeyError:
# Not WSGI, maybe Medusa
try: try:
# Is this WSGI ? medusa_headers = REQUEST.RESPONSE.stdout._request._header_cache
REQUEST._orig_env['wsgi.input'] except AttributeError:
except KeyError: pass
# Not WSGI, maybe Medusa
try:
medusa_headers = REQUEST.RESPONSE.stdout._request._header_cache
except AttributeError:
pass
else:
medusa_headers['authorization'] = 'Basic %s' % encodebytes('%s:' % username).rstrip()
else: else:
REQUEST._orig_env['REMOTE_USER'] = username medusa_headers['authorization'] = 'Basic %s' % encodebytes(('%s:' % username).encode()).decode().rstrip()
else:
REQUEST._orig_env['REMOTE_USER'] = username
else: # zope4 else: # zope4
def _setUserNameForAccessLog(username, REQUEST): def _setUserNameForAccessLog(username, REQUEST):
""" """
...@@ -87,7 +87,6 @@ else: # zope4 ...@@ -87,7 +87,6 @@ else: # zope4
""" """
pass pass
def initialize(context): def initialize(context):
from . import ( from . import (
ERP5UserManager, ERP5UserManager,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment