Patch for s3cmd-0.9.8.3

Ecosystem Tool Source: 
diff -ur s3cmd-0.9.8.3-orig/S3/Config.py s3cmd-0.9.8.3/S3/Config.py
--- s3cmd-0.9.8.3-orig/S3/Config.py 2008-06-10 19:22:10.000000000 -0700
+++ s3cmd-0.9.8.3/S3/Config.py  2009-08-12 13:35:43.000000000 -0700
@@ -15,6 +15,7 @@
    secret_key = ""
    host_base = "s3.amazonaws.com"
    host_bucket = "%(bucket)s.s3.amazonaws.com"
+        service_path = ""
    simpledb_host = "sdb.amazonaws.com"
    verbosity = logging.WARNING
    send_chunk = 4096
diff -ur s3cmd-0.9.8.3-orig/S3/S3.py s3cmd-0.9.8.3/S3/S3.py
--- s3cmd-0.9.8.3-orig/S3/S3.py 2008-07-03 05:33:39.000000000 -0700
+++ s3cmd-0.9.8.3/S3/S3.py  2009-08-12 13:38:57.000000000 -0700
@@ -264,9 +264,12 @@
    def create_request(self, operation, bucket = None, object = None, headers = None, extra = None, **params):
        resource = { 'bucket' : None, 'uri' : "/" }
        if bucket:
-           resource['bucket'] = str(bucket)
-           if object:
-               resource['uri'] = "/" + self.urlencode_string(object)
+#          resource['bucket'] = str(bucket)
+                        resource['uri'] = "/" + self.urlencode_string(bucket)
+               if object:
+#              resource['uri'] = "/" + self.urlencode_string(object)
+                                resource['uri'] = resource['uri'] + "/" + self.urlencode_string(object)
+
        if extra:
            resource['uri'] += extra

@@ -280,6 +283,9 @@

        if not headers.has_key("x-amz-date"):
            headers["x-amz-date"] = time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.gmtime())
+
+                if self.config.service_path:
+                        resource['uri'] = self.config.service_path + resource['uri']

        method_string = S3.http_methods.getkey(S3.operations[operation] & S3.http_methods["MASK"])
        signature = self.sign_headers(method_string, resource, headers)
@@ -467,8 +473,8 @@
        for header in headers.keys():
            if header.startswith("x-amz-"):
                h += header+":"+str(headers[header])+"\n"
-       if resource['bucket']:
-           h += "/" + resource['bucket']
+#      if resource['bucket']:
+#          h += "/" + resource['bucket']
        h += resource['uri']
        debug("SignHeaders: " + repr(h))
        return base64.encodestring(hmac.new(self.config.secret_key, h, sha).digest()).strip()

Share This Page

Share this Page on Facebook Share this Page on Twitter Email a Friend