summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Burke <tim.burke@gmail.com>2018-03-28 15:18:17 -0700
committerKota Tsuyuzaki <tsuyuzaki.kota@lab.ntt.co.jp>2018-03-29 11:48:18 +0900
commit72230f86bea82d9164002bd28dadb49adeb05d6a (patch)
treedb3a1c3443c436f6b1c66ead2661e5fe3402033d
parentbb6eeb84af49df81d7f7147655a0e0fb130b6895 (diff)
downloadswift-72230f86bea82d9164002bd28dadb49adeb05d6a.tar.gz
Address lingering TODO comments about copied Swift code
Change-Id: Id3daf383b8d5a2050571b266ec61bcc9ab2f4302
-rw-r--r--swift/common/middleware/s3api/s3request.py3
-rw-r--r--swift/common/middleware/s3api/s3token.py5
-rw-r--r--swift/common/middleware/s3api/utils.py45
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,