summaryrefslogtreecommitdiff
path: root/swift/common/request_helpers.py
diff options
context:
space:
mode:
authorClay Gerrard <clay.gerrard@gmail.com>2019-12-20 11:47:13 -0600
committerClay Gerrard <clay.gerrard@gmail.com>2020-01-05 10:04:05 -0600
commitb1178b4a967ab621e66356a9e7bca08de5be5e2a (patch)
tree9f0b36513c30c58408f0c415deb2d11d68b0bf5e /swift/common/request_helpers.py
parent4601548dabdec0a4dc89cefba11e963217255be3 (diff)
downloadswift-b1178b4a967ab621e66356a9e7bca08de5be5e2a.tar.gz
Allow reconciler to handle reserved names
Change-Id: Ib918f10e95970b9f562b88e923c25608b826b83f
Diffstat (limited to 'swift/common/request_helpers.py')
-rw-r--r--swift/common/request_helpers.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/swift/common/request_helpers.py b/swift/common/request_helpers.py
index bdc234c9e..c8399f093 100644
--- a/swift/common/request_helpers.py
+++ b/swift/common/request_helpers.py
@@ -29,6 +29,7 @@ import six
from swift.common.header_key_dict import HeaderKeyDict
from swift import gettext_ as _
+from swift.common.constraints import AUTO_CREATE_ACCOUNT_PREFIX
from swift.common.storage_policy import POLICIES
from swift.common.exceptions import ListingIterError, SegmentError
from swift.common.http import is_success
@@ -41,6 +42,7 @@ from swift.common.utils import split_path, validate_device_partition, \
parse_content_range, csv_append, list_from_csv, Spliterator, quote, \
RESERVED
from swift.common.wsgi import make_subrequest
+from swift.container.reconciler import MISPLACED_OBJECTS_ACCOUNT
OBJECT_TRANSIENT_SYSMETA_PREFIX = 'x-object-transient-sysmeta-'
@@ -121,7 +123,8 @@ def validate_internal_obj(account, container, obj):
if not container:
raise ValueError('Container is required')
validate_internal_container(account, container)
- if obj:
+ if obj and not (account.startswith(AUTO_CREATE_ACCOUNT_PREFIX) or
+ account == MISPLACED_OBJECTS_ACCOUNT):
_validate_internal_name(obj, 'object')
if container.startswith(RESERVED) and not obj.startswith(RESERVED):
raise HTTPBadRequest(body='Invalid user-namespace object '