Hello community, here is the log from the commit of package python-swift3 for openSUSE:Factory checked in at 2013-11-15 13:30:47 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-swift3 (Old) and /work/SRC/openSUSE:Factory/.python-swift3.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-swift3" Changes: -------- --- /work/SRC/openSUSE:Factory/python-swift3/python-swift3.changes 2013-10-02 17:20:46.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python-swift3.new/python-swift3.changes 2013-11-15 13:30:48.000000000 +0100 @@ -1,0 +2,12 @@ +Wed Nov 13 09:31:55 UTC 2013 - [email protected] + +- Update to version 1.7+git.1379116028.c367e2f: + + Issue #49 - fixed Date and ExpireDate checking logic Cleaned up PEP8 and Flake8 formatting errors.canonical_string refactoring + fix typing in middleware comment + + Undo part of patch by Willys + + Add a error of EntityTooLarge + + fix signature generation +- Fix set_version service by changing the version from "v1.7..." to "1.7". + Since RPM comparison says numbers are bigger than characters, it's just + an ordinary version update + +------------------------------------------------------------------- Old: ---- swift3-v1.7+git.1372425725.9e51c35.tar.gz New: ---- _servicedata swift3-1.7+git.1379116028.c367e2f.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-swift3.spec ++++++ --- /var/tmp/diff_new_pack.OmfGSb/_old 2013-11-15 13:30:49.000000000 +0100 +++ /var/tmp/diff_new_pack.OmfGSb/_new 2013-11-15 13:30:49.000000000 +0100 @@ -17,7 +17,7 @@ Name: python-swift3 -Version: v1.7+git.1372425725.9e51c35 +Version: 1.7+git.1379116028.c367e2f Release: 0 Summary: OpenStack Swift - Amazon S3 API Middleware License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.OmfGSb/_old 2013-11-15 13:30:49.000000000 +0100 +++ /var/tmp/diff_new_pack.OmfGSb/_new 2013-11-15 13:30:49.000000000 +0100 @@ -3,8 +3,10 @@ <param name="url">git://github.com/fujita/swift3.git</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="versionformat">@PARENT_TAG@+git.%ct.%h</param> + <param name="versionformat">1.7+git.%ct.%h</param> <param name="revision">master</param> + <!--TOOD(saschpe): Reenable changes generation once Adrian merged my pull: + <param name="changesgenerate">enable</param>--> </service> <service name="recompress" mode="disabled"> ++++++ _servicedata ++++++ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/fujita/swift3.git</param> <param name="changesrevision">c367e2f891</param></service> </servicedata>++++++ swift3-v1.7+git.1372425725.9e51c35.tar.gz -> swift3-1.7+git.1379116028.c367e2f.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swift3-v1.7+git.1372425725.9e51c35/swift3/middleware.py new/swift3-1.7+git.1379116028.c367e2f/swift3/middleware.py --- old/swift3-v1.7+git.1372425725.9e51c35/swift3/middleware.py 2013-07-02 13:39:42.000000000 +0200 +++ new/swift3-1.7+git.1379116028.c367e2f/swift3/middleware.py 2013-11-13 10:26:36.000000000 +0100 @@ -70,7 +70,8 @@ from swift.common.http import HTTP_OK, HTTP_CREATED, HTTP_ACCEPTED, \ HTTP_NO_CONTENT, HTTP_BAD_REQUEST, HTTP_UNAUTHORIZED, HTTP_FORBIDDEN, \ HTTP_NOT_FOUND, HTTP_CONFLICT, HTTP_UNPROCESSABLE_ENTITY, is_success, \ - HTTP_NOT_IMPLEMENTED, HTTP_LENGTH_REQUIRED, HTTP_SERVICE_UNAVAILABLE + HTTP_NOT_IMPLEMENTED, HTTP_LENGTH_REQUIRED, HTTP_SERVICE_UNAVAILABLE, \ + HTTP_REQUEST_ENTITY_TOO_LARGE MAX_BUCKET_LISTING = 1000 @@ -108,6 +109,9 @@ (HTTP_BAD_REQUEST, 'The Content-MD5 you specified was invalid'), 'BadDigest': (HTTP_BAD_REQUEST, 'The Content-Length you specified was invalid'), + 'EntityTooLarge': + (HTTP_BAD_REQUEST, 'Your proposed upload exceeds the maximum ' + 'allowed object size.'), 'NoSuchBucket': (HTTP_NOT_FOUND, 'The specified bucket does not exist'), 'SignatureDoesNotMatch': @@ -283,7 +287,8 @@ if '?' in path: path, args = path.split('?', 1) params = [] - for key, value in urlparse.parse_qsl(args, keep_blank_values=True): + for key, value in sorted(urlparse.parse_qsl(args, + keep_blank_values=True)): if key in ALLOWED_SUB_RESOURCES: params.append('%s=%s' % (key, value) if value else key) if params: @@ -798,6 +803,8 @@ return get_err_response('NoSuchBucket') elif status == HTTP_UNPROCESSABLE_ENTITY: return get_err_response('InvalidDigest') + elif status == HTTP_REQUEST_ENTITY_TOO_LARGE: + return get_err_response('EntityTooLarge') else: return get_err_response('InvalidURI') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/swift3-v1.7+git.1372425725.9e51c35/swift3/test/unit/test_swift3.py new/swift3-1.7+git.1379116028.c367e2f/swift3/test/unit/test_swift3.py --- old/swift3-v1.7+git.1372425725.9e51c35/swift3/test/unit/test_swift3.py 2013-07-02 13:39:42.000000000 +0200 +++ new/swift3-1.7+git.1379116028.c367e2f/swift3/test/unit/test_swift3.py 2013-11-13 10:26:36.000000000 +0100 @@ -17,13 +17,14 @@ from datetime import datetime import cgi import hashlib +import base64 import xml.dom.minidom import simplejson from swift.common.swob import Request, Response, HTTPUnauthorized, \ HTTPCreated,HTTPNoContent, HTTPAccepted, HTTPBadRequest, HTTPNotFound, \ - HTTPConflict, HTTPForbidden + HTTPConflict, HTTPForbidden, HTTPRequestEntityTooLarge from swift3 import middleware as swift3 @@ -167,6 +168,9 @@ start_response(HTTPForbidden(request=req).status, []) elif self.status == 404: start_response(HTTPNotFound(request=req).status, []) + elif self.status == 413: + start_response(HTTPRequestEntityTooLarge(request=req).status, + []) else: start_response(HTTPBadRequest(request=req).status, []) elif env['REQUEST_METHOD'] == 'DELETE': @@ -514,6 +518,9 @@ '/bucket/object', 404) self.assertEquals(code, 'NoSuchBucket') code = self._test_method_error(FakeAppObject, 'PUT', + '/bucket/object', 413) + self.assertEquals(code, 'EntityTooLarge') + code = self._test_method_error(FakeAppObject, 'PUT', '/bucket/object', 0) self.assertEquals(code, 'InvalidURI') @@ -678,5 +685,16 @@ self.assertEquals(req.headers['Authorization'], 'AWS Z:X') self.assertEquals(req.headers['Date'], 'Y') + def test_token_generation(self): + req = Request.blank('/bucket/object?uploadId=123456789abcdef' + '&partNumber=1', + environ={'REQUEST_METHOD': 'PUT'}) + req.headers['Authorization'] = 'AWS X:Y' + resp = self.app(req.environ, start_response) + self.assertEquals(base64.urlsafe_b64decode( + req.headers['X-Auth-Token']), + 'PUT\n\n\n/bucket/object?partNumber=1' + '&uploadId=123456789abcdef') + if __name__ == '__main__': unittest.main() -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
