Entry 5455
GAE Patch
Submitted by anonymous
on July 30, 2010 at 7:28 p.m.
Language: Diff. Code size: 16.1 KB.
diff -ru a/google/appengine/api/datastore_file_stub.py b/google/appengine/api/datastore_file_stub.py --- a/google/appengine/api/datastore_file_stub.py 2010-06-22 20:40:16.000000000 +0200 +++ b/google/appengine/api/datastore_file_stub.py 2010-07-30 18:31:02.710507099 +0200 @@ -37,7 +37,7 @@ import datetime import logging -import md5 +from hashlib import md5 import os import struct import sys @@ -704,7 +704,7 @@ for property in clone.property_list() + clone.raw_property_list(): if property.value().has_uservalue(): - uid = md5.new(property.value().uservalue().email().lower()).digest() + uid = md5(property.value().uservalue().email().lower()).digest() uid = '1' + ''.join(['%02d' % ord(x) for x in uid])[:20] property.mutable_value().mutable_uservalue().set_obfuscated_gaiaid( uid) diff -ru a/google/appengine/api/memcache/__init__.py b/google/appengine/api/memcache/__init__.py --- a/google/appengine/api/memcache/__init__.py 2010-06-22 20:40:19.000000000 +0200 +++ b/google/appengine/api/memcache/__init__.py 2010-07-30 18:31:02.706506999 +0200 @@ -28,7 +28,7 @@ import math import pickle import types -import sha +from hashlib import sha1 as sha from google.appengine.api import api_base_pb from google.appengine.api import apiproxy_stub_map @@ -137,7 +137,7 @@ server_key = server_key.encode('utf-8') if len(server_key) > MAX_KEY_SIZE: - server_key = sha.new(server_key).hexdigest() + server_key = sha(server_key).hexdigest() if server_to_user_dict is not None: if not isinstance(server_to_user_dict, dict): diff -ru a/google/appengine/datastore/datastore_sqlite_stub.py b/google/appengine/datastore/datastore_sqlite_stub.py --- a/google/appengine/datastore/datastore_sqlite_stub.py 2010-06-22 20:40:04.000000000 +0200 +++ b/google/appengine/datastore/datastore_sqlite_stub.py 2010-07-30 18:31:02.702506782 +0200 @@ -32,7 +32,7 @@ import array import itertools import logging -import md5 +from hashlib import md5 import sys import threading @@ -802,7 +802,7 @@ for prop in itertools.chain(entity.property_list(), entity.raw_property_list()): if prop.value().has_uservalue(): - uid = md5.new(prop.value().uservalue().email().lower()).digest() + uid = md5(prop.value().uservalue().email().lower()).digest() uid = '1' + ''.join(['%02d' % ord(x) for x in uid])[:20] prop.mutable_value().mutable_uservalue().set_obfuscated_gaiaid(uid) diff -ru a/google/appengine/ext/ereporter/ereporter.py b/google/appengine/ext/ereporter/ereporter.py --- a/google/appengine/ext/ereporter/ereporter.py 2010-06-22 20:40:35.000000000 +0200 +++ b/google/appengine/ext/ereporter/ereporter.py 2010-07-30 18:31:02.690506223 +0200 @@ -168,7 +168,7 @@ site = '%s:%d' % (path, line_no) signature = '%s@%s' % (fulltype, site) if len(signature) > MAX_SIGNATURE_LENGTH: - signature = 'hash:%s' % sha.new(signature).hexdigest() + signature = 'hash:%s' % sha(signature).hexdigest() return signature diff -ru a/google/appengine/ext/preload/__init__.py b/google/appengine/ext/preload/__init__.py --- a/google/appengine/ext/preload/__init__.py 2010-06-22 20:40:36.000000000 +0200 +++ b/google/appengine/ext/preload/__init__.py 2010-07-30 18:31:02.698507005 +0200 @@ -104,7 +104,7 @@ import mailcap import markupbase import math -import md5 +from hashlib import md5 import mhlib import mimetools import mimetypes diff -ru a/google/appengine/ext/remote_api/handler.py b/google/appengine/ext/remote_api/handler.py --- a/google/appengine/ext/remote_api/handler.py 2010-06-22 20:40:36.000000000 +0200 +++ b/google/appengine/ext/remote_api/handler.py 2010-07-30 18:31:02.690506223 +0200 @@ -143,7 +143,7 @@ datastore_pb.Error.CONCURRENT_TRANSACTION, "Transaction precondition failed.") elif entity.has_entity(): - entity_hash = sha.new(entity.entity().Encode()).digest() + entity_hash = sha(entity.entity().Encode()).digest() if precondition.hash() != entity_hash: raise apiproxy_errors.ApplicationError( datastore_pb.Error.CONCURRENT_TRANSACTION, diff -ru a/google/appengine/ext/remote_api/remote_api_stub.py b/google/appengine/ext/remote_api/remote_api_stub.py --- a/google/appengine/ext/remote_api/remote_api_stub.py 2010-06-22 20:40:36.000000000 +0200 +++ b/google/appengine/ext/remote_api/remote_api_stub.py 2010-07-30 18:31:02.690506223 +0200 @@ -61,7 +61,7 @@ import os import pickle import random -import sha +from hashlib import sha1 as sha import sys import thread import threading @@ -294,7 +294,7 @@ for key, entity in zip(newkeys, entities): entity_hash = None if entity.has_entity(): - entity_hash = sha.new(entity.entity().Encode()).digest() + entity_hash = sha(entity.entity().Encode()).digest() txdata.preconditions[key.Encode()] = (key, entity_hash) new_response = datastore_pb.GetResponse() diff -ru a/google/appengine/ext/webapp/template.py b/google/appengine/ext/webapp/template.py --- a/google/appengine/ext/webapp/template.py 2010-06-22 20:40:37.000000000 +0200 +++ b/google/appengine/ext/webapp/template.py 2010-07-30 18:31:02.698507005 +0200 @@ -42,7 +42,7 @@ -import md5 +from hashlib import md5 import os try: diff -ru a/google/appengine/tools/appcfg.py b/google/appengine/tools/appcfg.py --- a/google/appengine/tools/appcfg.py 2010-06-22 20:40:06.000000000 +0200 +++ b/google/appengine/tools/appcfg.py 2010-07-30 18:31:02.714506891 +0200 @@ -38,7 +38,7 @@ import os import random import re -import sha +from hashlib import sha1 as sha import sys import tempfile import time @@ -59,12 +59,17 @@ from google.appengine.tools import appengine_rpc from google.appengine.tools import bulkloader - MAX_FILES_TO_CLONE = 100 LIST_DELIMITER = '\n' TUPLE_DELIMITER = '|' -VERSION_FILE = '../VERSION' +CURRENT_DIR = os.path.dirname(__file__) +if CURRENT_DIR.endswith(os.path.join('google', 'appengine', 'tools')): + APPENGINE_DIR = os.path.abspath( + os.path.join(CURRENT_DIR, *([os.pardir]*3))) +else: + APPENGINE_DIR = CURRENT_DIR +VERSION_FILE = os.path.join(APPENGINE_DIR, 'VERSION') UPDATE_CHECK_TIMEOUT = 3 @@ -1232,7 +1237,7 @@ Returns: The string representation of the hash. """ - h = sha.new(content).hexdigest() + h = sha(content).hexdigest() return '%s_%s_%s_%s_%s' % (h[0:8], h[8:16], h[16:24], h[24:32], h[32:40]) diff -ru a/google/appengine/tools/dev_appserver_login.py b/google/appengine/tools/dev_appserver_login.py --- a/google/appengine/tools/dev_appserver_login.py 2010-06-22 20:40:09.000000000 +0200 +++ b/google/appengine/tools/dev_appserver_login.py 2010-07-30 18:31:02.714506891 +0200 @@ -30,7 +30,7 @@ import cgi import Cookie -import md5 +from hashlib import md5 import os import sys import urllib @@ -84,7 +84,7 @@ if admin: admin_string = 'True' if email: - user_id_digest = md5.new(email.lower()).digest() + user_id_digest = md5(email.lower()).digest() user_id = '1' + ''.join(['%02d' % ord(x) for x in user_id_digest])[:20] else: user_id = '' diff -ru a/google/appengine/tools/dev_appserver_upload.py b/google/appengine/tools/dev_appserver_upload.py --- a/google/appengine/tools/dev_appserver_upload.py 2010-06-22 20:40:10.000000000 +0200 +++ b/google/appengine/tools/dev_appserver_upload.py 2010-07-30 18:31:02.714506891 +0200 @@ -29,7 +29,7 @@ import base64 import cStringIO import datetime -import md5 +from hashlib import md5 import random import time diff -ru a/lib/django/django/contrib/auth/models.py b/lib/django/django/contrib/auth/models.py --- a/lib/django/django/contrib/auth/models.py 2010-05-25 20:51:59.000000000 +0200 +++ b/lib/django/django/contrib/auth/models.py 2010-07-30 18:31:02.806507005 +0200 @@ -12,11 +12,11 @@ """ algo, salt, hsh = enc_password.split('$') if algo == 'md5': - import md5 - return hsh == md5.new(salt+raw_password).hexdigest() + from hashlib import md5 + return hsh == md5(salt+raw_password).hexdigest() elif algo == 'sha1': import sha - return hsh == sha.new(salt+raw_password).hexdigest() + return hsh == sha(salt+raw_password).hexdigest() raise ValueError, "Got unknown password algorithm type in password." class SiteProfileNotAvailable(Exception): @@ -140,8 +140,8 @@ def set_password(self, raw_password): import sha, random algo = 'sha1' - salt = sha.new(str(random.random())).hexdigest()[:5] - hsh = sha.new(salt+raw_password).hexdigest() + salt = sha(str(random.random())).hexdigest()[:5] + hsh = sha(salt+raw_password).hexdigest() self.password = '%s$%s$%s' % (algo, salt, hsh) def check_password(self, raw_password): @@ -152,8 +152,8 @@ # Backwards-compatibility check. Older passwords won't include the # algorithm or salt. if '$' not in self.password: - import md5 - is_correct = (self.password == md5.new(raw_password).hexdigest()) + from hashlib import md5 + is_correct = (self.password == md5(raw_password).hexdigest()) if is_correct: # Convert the password to the new, more secure format. self.set_password(raw_password) diff -ru a/lib/django/django/contrib/comments/models.py b/lib/django/django/contrib/comments/models.py --- a/lib/django/django/contrib/comments/models.py 2010-05-25 20:51:59.000000000 +0200 +++ b/lib/django/django/contrib/comments/models.py 2010-07-30 18:31:02.802506381 +0200 @@ -27,8 +27,8 @@ 'pa,ra') and target (something like 'lcom.eventtimes:5157'). Used to validate that submitted form options have not been tampered-with. """ - import md5 - return md5.new(options + photo_options + rating_options + target + settings.SECRET_KEY).hexdigest() + from hashlib import md5 + return md5(options + photo_options + rating_options + target + settings.SECRET_KEY).hexdigest() def get_rating_options(self, rating_string): """ diff -ru a/lib/django/django/contrib/csrf/middleware.py b/lib/django/django/contrib/csrf/middleware.py --- a/lib/django/django/contrib/csrf/middleware.py 2010-05-25 20:51:59.000000000 +0200 +++ b/lib/django/django/contrib/csrf/middleware.py 2010-07-30 18:31:02.790507139 +0200 @@ -7,7 +7,7 @@ """ from django.conf import settings from django.http import HttpResponseForbidden -import md5 +from hashlib import md5 import re import itertools @@ -19,7 +19,7 @@ _HTML_TYPES = ('text/html', 'application/xhtml+xml') def _make_token(session_id): - return md5.new(settings.SECRET_KEY + session_id).hexdigest() + return md5(settings.SECRET_KEY + session_id).hexdigest() class CsrfMiddleware(object): """Django middleware that adds protection against Cross Site diff -ru a/lib/django/django/contrib/formtools/preview.py b/lib/django/django/contrib/formtools/preview.py --- a/lib/django/django/contrib/formtools/preview.py 2010-05-25 20:51:59.000000000 +0200 +++ b/lib/django/django/contrib/formtools/preview.py 2010-07-30 18:31:02.790507139 +0200 @@ -50,7 +50,7 @@ from django.shortcuts import render_to_response from django.template.context import RequestContext import cPickle as pickle -import md5 +from hashlib import md5 AUTO_ID = 'formtools_%s' # Each form here uses this as its auto_id parameter. @@ -152,7 +152,7 @@ # Use HIGHEST_PROTOCOL because it's the most efficient. It requires # Python 2.3, but Django requires 2.3 anyway, so that's OK. pickled = pickle.dumps(data, protocol=pickle.HIGHEST_PROTOCOL) - return md5.new(pickled).hexdigest() + return md5(pickled).hexdigest() def failed_hash(self, request): "Returns an HttpResponse in the case of an invalid security hash." diff -ru a/lib/django/django/contrib/sessions/models.py b/lib/django/django/contrib/sessions/models.py --- a/lib/django/django/contrib/sessions/models.py 2010-05-25 20:51:59.000000000 +0200 +++ b/lib/django/django/contrib/sessions/models.py 2010-07-30 18:31:02.790507139 +0200 @@ -8,7 +8,7 @@ def encode(self, session_dict): "Returns the given session dictionary pickled and encoded as a string." pickled = pickle.dumps(session_dict) - pickled_md5 = md5.new(pickled + settings.SECRET_KEY).hexdigest() + pickled_md5 = md5(pickled + settings.SECRET_KEY).hexdigest() return base64.encodestring(pickled + pickled_md5) def get_new_session_key(self): @@ -16,7 +16,7 @@ # The random module is seeded when this Apache child is created. # Use person_id and SECRET_KEY as added salt. while 1: - session_key = md5.new(str(random.randint(0, sys.maxint - 1)) + str(random.randint(0, sys.maxint - 1)) + settings.SECRET_KEY).hexdigest() + session_key = md5(str(random.randint(0, sys.maxint - 1)) + str(random.randint(0, sys.maxint - 1)) + settings.SECRET_KEY).hexdigest() try: self.get(session_key=session_key) except self.model.DoesNotExist: @@ -77,7 +77,7 @@ def get_decoded(self): encoded_data = base64.decodestring(self.session_data) pickled, tamper_check = encoded_data[:-32], encoded_data[-32:] - if md5.new(pickled + settings.SECRET_KEY).hexdigest() != tamper_check: + if md5(pickled + settings.SECRET_KEY).hexdigest() != tamper_check: from django.core.exceptions import SuspiciousOperation raise SuspiciousOperation, "User tampered with session cookie." try: diff -ru a/lib/django/django/middleware/common.py b/lib/django/django/middleware/common.py --- a/lib/django/django/middleware/common.py 2010-05-25 20:52:00.000000000 +0200 +++ b/lib/django/django/middleware/common.py 2010-07-30 18:31:02.810506873 +0200 @@ -1,7 +1,7 @@ from django.conf import settings from django import http from django.core.mail import mail_managers -import md5 +from hashlib import md5 import re class CommonMiddleware(object): @@ -72,7 +72,7 @@ # Use ETags, if requested. if settings.USE_ETAGS: - etag = md5.new(response.content).hexdigest() + etag = md5(response.content).hexdigest() if request.META.get('HTTP_IF_NONE_MATCH') == etag: response = http.HttpResponseNotModified() else: diff -ru a/lib/django/django/utils/cache.py b/lib/django/django/utils/cache.py --- a/lib/django/django/utils/cache.py 2010-05-25 20:52:00.000000000 +0200 +++ b/lib/django/django/utils/cache.py 2010-07-30 18:31:02.786506497 +0200 @@ -74,7 +74,7 @@ cache_timeout = settings.CACHE_MIDDLEWARE_SECONDS now = datetime.datetime.utcnow() if not response.has_header('ETag'): - response['ETag'] = md5.new(response.content).hexdigest() + response['ETag'] = md5(response.content).hexdigest() if not response.has_header('Last-Modified'): response['Last-Modified'] = now.strftime('%a, %d %b %Y %H:%M:%S GMT') if not response.has_header('Expires'): @@ -111,7 +111,7 @@ def _generate_cache_key(request, headerlist, key_prefix): "Returns a cache key from the headers given in the header list." - ctx = md5.new() + ctx = md5() for header in headerlist: value = request.META.get(header, None) if value is not None: diff -ru a/lib/webob/webob/__init__.py b/lib/webob/webob/__init__.py --- a/lib/webob/webob/__init__.py 2010-05-25 20:52:01.000000000 +0200 +++ b/lib/webob/webob/__init__.py 2010-07-30 18:31:02.854508386 +0200 @@ -1919,8 +1919,8 @@ """ if body is None: body = self.body - import md5 - h = md5.new(body) + from hashlib import md5 + h = md5(body) self.etag = h.digest().encode('base64').replace('\n', '').strip('=') expires = converter(
This snippet took 0.00 seconds to highlight.
Back to the Entry List or Home.