summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBryan Ischo <bryan@ischo.com>2008-08-09 01:46:30 +0000
committerBryan Ischo <bryan@ischo.com>2008-08-09 01:46:30 +0000
commite22875d4332c48d83219ecc90e13f3786185f038 (patch)
treee908e990c1ba6619bb422385ac37d80e7a161b51 /src
parent79ef8b5a3b74147bdd0b8784776363ed183095b1 (diff)
downloadceph-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.c7
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;