diff options
author | Tim Burke <tim.burke@gmail.com> | 2018-03-28 15:18:17 -0700 |
---|---|---|
committer | Kota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp> | 2018-03-29 11:48:18 +0900 |
commit | 72230f86bea82d9164002bd28dadb49adeb05d6a (patch) | |
tree | db3a1c3443c436f6b1c66ead2661e5fe3402033d | |
parent | bb6eeb84af49df81d7f7147655a0e0fb130b6895 (diff) | |
download | swift-72230f86bea82d9164002bd28dadb49adeb05d6a.tar.gz |
Address lingering TODO comments about copied Swift code
Change-Id: Id3daf383b8d5a2050571b266ec61bcc9ab2f4302
-rw-r--r-- | swift/common/middleware/s3api/s3request.py | 3 | ||||
-rw-r--r-- | swift/common/middleware/s3api/s3token.py | 5 | ||||
-rw-r--r-- | swift/common/middleware/s3api/utils.py | 45 |
3 files changed, 4 insertions, 49 deletions
diff --git a/swift/common/middleware/s3api/s3request.py b/swift/common/middleware/s3api/s3request.py index 990404eaf..cbb3c8725 100644 --- a/swift/common/middleware/s3api/s3request.py +++ b/swift/common/middleware/s3api/s3request.py @@ -36,6 +36,7 @@ from swift.common.http import HTTP_OK, HTTP_CREATED, HTTP_ACCEPTED, \ from swift.common.constraints import check_utf8 from swift.proxy.controllers.base import get_container_info, \ headers_to_container_info +from swift.common.request_helpers import check_path_header from swift.common.middleware.s3api.controllers import ServiceController, \ ObjectController, AclController, MultiObjectDeleteController, \ @@ -53,7 +54,7 @@ from swift.common.middleware.s3api.response import AccessDenied, \ from swift.common.middleware.s3api.exception import NotS3Request, \ BadSwiftRequest from swift.common.middleware.s3api.utils import utf8encode, \ - check_path_header, S3Timestamp, mktime, MULTIUPLOAD_SUFFIX + S3Timestamp, mktime, MULTIUPLOAD_SUFFIX from swift.common.middleware.s3api.subresource import decode_acl, encode_acl from swift.common.middleware.s3api.utils import sysmeta_header, \ validate_bucket_name diff --git a/swift/common/middleware/s3api/s3token.py b/swift/common/middleware/s3api/s3token.py index 0450ab679..ec1651a5d 100644 --- a/swift/common/middleware/s3api/s3token.py +++ b/swift/common/middleware/s3api/s3token.py @@ -40,11 +40,10 @@ from six.moves import urllib from swift.common.swob import Request, HTTPBadRequest, HTTPUnauthorized, \ HTTPException -from swift.common.utils import config_true_value, split_path, get_logger +from swift.common.utils import config_true_value, split_path, get_logger, \ + is_valid_ipv6 from swift.common.wsgi import ConfigFileError -from swift.common.middleware.s3api.utils import is_valid_ipv6 - PROTOCOL_NAME = 'S3 Token Authentication' diff --git a/swift/common/middleware/s3api/utils.py b/swift/common/middleware/s3api/utils.py index e156c06d6..9d4bd4aea 100644 --- a/swift/common/middleware/s3api/utils.py +++ b/swift/common/middleware/s3api/utils.py @@ -17,14 +17,11 @@ import base64 import calendar import email.utils import re -import socket import time -from urllib import unquote import uuid # Need for check_path_header from swift.common import utils -from swift.common.swob import HTTPPreconditionFailed MULTIUPLOAD_SUFFIX = '+segments' @@ -70,48 +67,6 @@ def utf8decode(s): return s -def check_path_header(req, name, length, error_msg): - # FIXME: replace swift.common.constraints check_path_header - # when swift3 supports swift 2.2 or later - """ - Validate that the value of path-like header is - well formatted. We assume the caller ensures that - specific header is present in req.headers. - - :param req: HTTP request object - :param name: header name - :param length: length of path segment check - :param error_msg: error message for client - :returns: A tuple with path parts according to length - :raise: HTTPPreconditionFailed if header value - is not well formatted. - """ - src_header = unquote(req.headers.get(name)) - if not src_header.startswith('/'): - src_header = '/' + src_header - try: - return utils.split_path(src_header, length, length, True) - except ValueError: - raise HTTPPreconditionFailed( - request=req, - body=error_msg) - - -def is_valid_ipv6(ip): - # FIXME: replace with swift.common.ring.utils is_valid_ipv6 - # when swift3 requires swift 2.3 or later - # --or-- - # swift.common.utils is_valid_ipv6 when swift3 requires swift>2.9 - """ - Returns True if the provided ip is a valid IPv6-address - """ - try: - socket.inet_pton(socket.AF_INET6, ip) - except socket.error: # not a valid IPv6 address - return False - return True - - def validate_bucket_name(name, dns_compliant_bucket_names): """ Validates the name of the bucket against S3 criteria, |