diff options
Diffstat (limited to 'lib/reqsign.c')
-rw-r--r-- | lib/reqsign.c | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/lib/reqsign.c b/lib/reqsign.c index 6acf80e..f3083c6 100644 --- a/lib/reqsign.c +++ b/lib/reqsign.c @@ -44,7 +44,7 @@ compnames(const void *a, const void *b) } static void -querysign2(struct ec2_query *req, char *secret) +requestsign2(struct ec2_request *req, char *secret) { char **pnames; size_t i, n; @@ -61,17 +61,17 @@ querysign2(struct ec2_query *req, char *secret) acc = grecs_txtacc_create(); /* Add default parameters */ - eclat_query_add_param(req, "AWSAccessKeyId", req->access_key); - eclat_query_add_param(req, "SignatureMethod", "HmacSHA256"); - eclat_query_add_param(req, "SignatureVersion", "2"); + eclat_request_add_param(req, "AWSAccessKeyId", req->access_key); + eclat_request_add_param(req, "SignatureMethod", "HmacSHA256"); + eclat_request_add_param(req, "SignatureVersion", "2"); if (req->token) - eclat_query_add_param(req, "SecurityToken", req->token); + eclat_request_add_param(req, "SecurityToken", req->token); time(&t); strftime(tsbuf, sizeof(tsbuf), "%Y-%m-%dT%H:%M:%SZ", gmtime(&t)); - eclat_query_add_param(req, "Timestamp", tsbuf); + eclat_request_add_param(req, "Timestamp", tsbuf); - eclat_query_encode(req); + eclat_request_encode(req); /* Collect and sort parameter names */ n = grecs_symtab_count_entries(req->params); @@ -81,7 +81,7 @@ querysign2(struct ec2_query *req, char *secret) grecs_symtab_enumerate(req->params, get_param_name, &pn); qsort(pnames, n, sizeof(pnames[0]), compnames); - verb = (req->flags & EC2_QF_POST) ? "POST" : "GET"; + verb = (req->flags & EC2_RF_POST) ? "POST" : "GET"; grecs_txtacc_grow_string(acc, verb); grecs_txtacc_grow_char(acc, '\n'); grecs_txtacc_grow_string(acc, req->endpoint); @@ -89,7 +89,7 @@ querysign2(struct ec2_query *req, char *secret) grecs_txtacc_grow_string(acc, req->uri); grecs_txtacc_grow_char(acc, '\n'); - /* Append a canonicalized query string */ + /* Append a canonicalized request string */ for (i = 0; i < n; i++) { struct ec2_param *p, key; @@ -112,7 +112,7 @@ querysign2(struct ec2_query *req, char *secret) eclat_base64_encode((unsigned char *)digest, sizeof(digest), (unsigned char**) &signature, &siglen); - eclat_query_add_param_encoded(req, "Signature", signature); + eclat_request_add_param_encoded(req, "Signature", signature); free(signature); grecs_txtacc_free(acc); @@ -121,7 +121,7 @@ querysign2(struct ec2_query *req, char *secret) /*FIXME t += req->ttl; strftime(tsbuf, sizeof(tsbuf), "%Y-%m-%dT%H:%M:%SZ", gmtime(&t)); - eclat_query_add_param(req, "Expires", tsbuf); + eclat_request_add_param(req, "Expires", tsbuf); */ } @@ -148,7 +148,7 @@ eclat_hex_encode(unsigned char *input, size_t inlen, /* Ref. http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html */ static void -querysign4(struct ec2_query *req, char *secret) +requestsign4(struct ec2_request *req, char *secret) { char **pnames; struct pname pn; @@ -196,11 +196,11 @@ querysign4(struct ec2_query *req, char *secret) grecs_txtacc_grow_char(acc, 0); credential = grecs_txtacc_finish(acc, 0); - eclat_query_add_header(req, "Host", req->endpoint); - eclat_query_add_header(req, "X-Amz-Date", tsbuf); + eclat_request_add_header(req, "Host", req->endpoint); + eclat_request_add_header(req, "X-Amz-Date", tsbuf); - /* Encode the query */ - eclat_query_encode(req); + /* Encode the request */ + eclat_request_encode(req); /* Collect and sort parameter names */ n = grecs_symtab_count_entries(req->params); @@ -211,12 +211,12 @@ querysign4(struct ec2_query *req, char *secret) qsort(pnames, n, sizeof(pnames[0]), compnames); /* Create a canonical request */ - verb = (req->flags & EC2_QF_POST) ? "POST" : "GET"; + verb = (req->flags & EC2_RF_POST) ? "POST" : "GET"; grecs_txtacc_grow_string(acc, verb); grecs_txtacc_grow_char(acc, '\n'); grecs_txtacc_grow_string(acc, req->uri); grecs_txtacc_grow_char(acc, '\n'); - /* Append a canonicalized query string */ + /* Append a canonicalized request string */ for (i = 0; i < n; i++) { struct ec2_param *p, key; @@ -251,8 +251,8 @@ querysign4(struct ec2_query *req, char *secret) grecs_txtacc_grow_string(acc, signed_headers); grecs_txtacc_grow_char(acc, '\n'); /* Payload hash */ - if (req->flags & EC2_QF_POST) { - /* FIXME: payload = req->query */ + if (req->flags & EC2_RF_POST) { + /* FIXME: payload = req->request */ err("%s:%d: POST is not yet implemented", __FILE__, __LINE__); abort(); } else @@ -319,7 +319,7 @@ querysign4(struct ec2_query *req, char *secret) &signature, &hashsize); if (req->token) - eclat_query_add_header(req, "X-Amz-Security-Token", req->token); + eclat_request_add_header(req, "X-Amz-Security-Token", req->token); /* Build authorization header */ grecs_txtacc_grow_string(acc, algostr); @@ -331,28 +331,28 @@ querysign4(struct ec2_query *req, char *secret) grecs_txtacc_grow_string(acc, signature); grecs_txtacc_grow_char(acc, 0); p = grecs_txtacc_finish(acc, 0); - eclat_query_add_header(req, "Authorization", p); + eclat_request_add_header(req, "Authorization", p); free(signature); grecs_txtacc_free(acc); - /* Encode the query */ - eclat_query_encode(req); + /* Encode the request */ + eclat_request_encode(req); } struct qsimpl { char *qs_version; - void (*qs_fun)(struct ec2_query *, char *); + void (*qs_fun)(struct ec2_request *, char *); }; static struct qsimpl qstab[] = { - { "2", querysign2 }, - { "4", querysign4 }, + { "2", requestsign2 }, + { "4", requestsign4 }, { NULL } }; void -eclat_query_sign(struct ec2_query *req, char *secret, char *version) +eclat_request_sign(struct ec2_request *req, char *secret, char *version) { struct qsimpl *qs; |