diff options
author | Bryan Ischo <bryan@ischo.com> | 2008-08-09 01:46:30 +0000 |
---|---|---|
committer | Bryan Ischo <bryan@ischo.com> | 2008-08-09 01:46:30 +0000 |
commit | e22875d4332c48d83219ecc90e13f3786185f038 (patch) | |
tree | e908e990c1ba6619bb422385ac37d80e7a161b51 /src | |
parent | 79ef8b5a3b74147bdd0b8784776363ed183095b1 (diff) | |
download | ceph-libs3-e22875d4332c48d83219ecc90e13f3786185f038.tar.gz |
* Fixed bug reported by Troy Hakala <troy.hakala@gmail.com>:
Wasn't using URL-encoded key in request URI, so libs3 failed on keys
with spaces and other unsafe characters
* Updated RPM and DEB packaging to split packages into two: normal and devel
Diffstat (limited to 'src')
-rw-r--r-- | src/request.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/request.c b/src/request.c index 3f3ae15..a64c7ae 100644 --- a/src/request.c +++ b/src/request.c @@ -730,7 +730,8 @@ static S3Status compose_auth_header(const RequestParams *params, // Compose the URI to use for the request given the request parameters -static S3Status compose_uri(const RequestParams *params, Request *request) +static S3Status compose_uri(Request *request, const RequestParams *params, + const RequestComputedValues *values) { int len = 0; @@ -761,7 +762,7 @@ static S3Status compose_uri(const RequestParams *params, Request *request) uri_append("%s", "/"); if (params->key && params->key[0]) { - uri_append("%s", params->key); + uri_append("%s", values->urlEncodedKey); } if (params->subResource && params->subResource[0]) { @@ -970,7 +971,7 @@ static S3Status request_get(const RequestParams *params, request->headers = 0; // Compute the URL - if ((status = compose_uri(params, request)) != S3StatusOK) { + if ((status = compose_uri(request, params, values)) != S3StatusOK) { curl_easy_cleanup(request->curl); free(request); return status; |