We eagerly announce the release of: swift 2.19.2: OpenStack Object Storage This release is part of the rocky stable release series. The source is available from: https://opendev.org/openstack/swift Download the package from: https://tarballs.openstack.org/null/ Please report issues through: https://bugs.launchpad.net/swift/+bugs For more details, please see below. 2.19.2 ^^^^^^ Bug Fixes * Sharding improvements * The "container-replicator" now only attempts to fetch shard ranges if the remote indicates that it has shard ranges. Further, it does so with a timeout to prevent the process from hanging in certain cases. * The "container-replicator" now correctly enqueues "container- reconciler" work for sharded containers. * S3 API improvements * Fixed an issue where v4 signatures would not be validated against the body of the request, allowing a replay attack if request headers were captured by a malicious third party. Note that unsigned payloads still function normally. * CompleteMultipartUpload requests with a "Content-MD5" now work. * Fixed v1 listings that end with a non-ASCII object name. * Multipart object segments are now actually deleted when the multipart object is deleted via the S3 API. * Fixed an issue that caused Delete Multiple Objects requests with large bodies to 400. This was previously fixed in 2.20.0. * Fixed an issue where non-ASCII Keystone EC2 credentials would not get mapped to the correct account. This was previously fixed in 2.20.0. * Background corruption-detection improvements * Detect and remove invalid entries from "hashes.pkl" * When object path is not a directory, just quarantine it, rather than the whole suffix. * Fixed a bug where encryption would store the incorrect key metadata if the object name starts with a slash. * Fixed an issue where an object server failure during a client download could leave an open socket between the proxy and client. * Static Large Object sizes in listings for versioned containers are now more accurate. * When refetching Static Large Object manifests, non-manifest responses are now handled better. * Cross-account symlinks now store correct account information in container listings. This was previously fixed in 2.22.0. * Requesting multiple ranges from a Dynamic Large Object now returns the entire object instead of incorrect data. This was previously fixed in 2.23.0. * When making backend requests, the "proxy-server" now ensures query parameters are always properly quoted. Previously, the proxy would encounter an error on Python 2.7.17 if the client included non-ASCII query parameters in object requests. This was previously fixed in 2.23.0. Changes in swift 2.19.1..2.19.2 ------------------------------- 5aa4c5d88 Authors/changelog for 2.19.2 52fa1a65a Fix stable gate 345f2b542 Only url-quote Keys when encoding-type=url 187380e60 slo: Better handle non-manifest responses when refetching manifest f68bbae9c versioned_writes: checks for SLO object before copy b3cd51008 Fix quarantine when object path is not a directory b90c87158 Remove invalid dict entries from hashes.pkl 52b3bae44 reconciler: Enqueue right work for shard containers 6a02cac44 dlo: Respond 200 on multi-range GETs 41890e558 sharding: better handle get_shard_ranges failures 7d90c5bde container-replicator: Add a timeout for get_shard_ranges e3739920c Fix socket leak on object-server death 4af86c78f Fix decryption for broken objects 8fc622b28 encryption: Stop being cutesy with os.path.join() b7d83141a Fix incorrect setting of symlink_target_account 423f96293 Verify client input for v4 signatures 9bcce90be s3api: Delete multipart uploads via multi-delete 82f049822 fix documentation of default 760efd1fe Unquote URL before using splited parts. 6b8c333ef s3api: Increase max body size for Delete Multiple Objects requests c33fdf51e s3api: Block ETag header from CompleteMultipartUpload requests a24746003 Modifying URL errors in installation deployment documents 74f1093ca doc: Fix the swift middleware doc needs more info to set s3 api b164767dc bufferedhttp: ensure query params are properly quoted 35e4628c6 py2/3: Stop using stdlib's putrequest(); it only does ASCII 2b07dfe72 Remove openSUSE 42.3 job 6f3a53ee9 Fixing broken links b26aad755 OpenDev Migration Patch 2e7e0bd4b Imported Translations from Zanata Diffstat (except docs and test files) ------------------------------------- .gitreview | 2 +- .mailmap | 3 +- .zuul.yaml | 67 +++--- AUTHORS | 11 +- CHANGELOG | 65 ++++++ .../finalize-installation-ubuntu-debian.rst | 2 +- .../install/storage-install-ubuntu-debian.rst | 6 +- .../notes/2_19_2_release-82962ca2a81f9c4e.yaml | 73 +++++++ swift/common/bufferedhttp.py | 11 +- swift/common/db_replicator.py | 2 +- swift/common/exceptions.py | 4 + swift/common/middleware/crypto/keymaster.py | 59 ++++-- swift/common/middleware/dlo.py | 2 + .../common/middleware/s3api/controllers/bucket.py | 27 ++- .../middleware/s3api/controllers/multi_delete.py | 39 +++- .../middleware/s3api/controllers/multi_upload.py | 28 ++- swift/common/middleware/s3api/etree.py | 13 +- swift/common/middleware/s3api/s3api.py | 83 ++++++-- swift/common/middleware/s3api/s3request.py | 60 +++++- swift/common/middleware/s3api/s3token.py | 2 +- swift/common/middleware/slo.py | 43 +++- swift/common/middleware/symlink.py | 2 +- swift/common/middleware/versioned_writes.py | 7 +- swift/container/reconciler.py | 4 +- swift/container/replicator.py | 7 +- swift/locale/ko_KR/LC_MESSAGES/swift.po | 92 ++++++++- swift/obj/diskfile.py | 24 ++- swift/proxy/controllers/base.py | 69 +++++-- test/functional/s3api/test_multi_delete.py | 16 +- test/functional/s3api/test_multi_upload.py | 24 ++- test/functional/swift_test_client.py | 87 ++++++++ test/functional/test_dlo.py | 9 + test/functional/test_versioned_writes.py | 41 ++++ test/unit/__init__.py | 27 ++- .../common/middleware/crypto/test_encryption.py | 2 +- .../common/middleware/crypto/test_keymaster.py | 168 +++++++++++++-- test/unit/common/middleware/s3api/helpers.py | 3 + test/unit/common/middleware/s3api/test_bucket.py | 30 ++- .../common/middleware/s3api/test_multi_delete.py | 37 +++- .../common/middleware/s3api/test_multi_upload.py | 4 +- test/unit/common/middleware/s3api/test_obj.py | 82 ++++++++ .../unit/common/middleware/s3api/test_s3request.py | 77 ++++++- test/unit/common/middleware/s3api/test_s3token.py | 44 ++++ test/unit/common/middleware/test_dlo.py | 6 +- test/unit/common/middleware/test_slo.py | 158 +++++++++++++++ test/unit/common/test_bufferedhttp.py | 5 +- test/unit/container/test_replicator.py | 197 ++++++++++++++++-- test/unit/obj/test_diskfile.py | 9 +- test/unit/proxy/test_mem_server.py | 6 + test/unit/proxy/test_server.py | 225 +++++++++++++++++---- tox.ini | 5 + 61 files changed, 1850 insertions(+), 245 deletions(-)
participants (1)
-
no-reply@openstack.org