projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of https://github.com/bvanassche/fio
[fio.git]
/
engines
/
http.c
diff --git
a/engines/http.c
b/engines/http.c
index 93fcd0d8e44a5528a4e36879bbd75af9afe9904e..696febe15105784e505847ef2f12d6071c0bbd97 100644
(file)
--- a/
engines/http.c
+++ b/
engines/http.c
@@
-273,6
+273,8
@@
static void _hmac(unsigned char *md, void *key, int key_len, char *data) {
ctx = HMAC_CTX_new();
#else
ctx = &_ctx;
ctx = HMAC_CTX_new();
#else
ctx = &_ctx;
+ /* work-around crash in certain versions of libssl */
+ HMAC_CTX_init(ctx);
#endif
HMAC_Init_ex(ctx, key, key_len, EVP_sha256(), NULL);
HMAC_Update(ctx, (unsigned char*)data, strlen(data));
#endif
HMAC_Init_ex(ctx, key, key_len, EVP_sha256(), NULL);
HMAC_Update(ctx, (unsigned char*)data, strlen(data));
@@
-294,7
+296,8
@@
static int _curl_trace(CURL *handle, curl_infotype type,
switch (type) {
case CURLINFO_TEXT:
switch (type) {
case CURLINFO_TEXT:
- fprintf(stderr, "== Info: %s", data);
+ fprintf(stderr, "== Info: %s", data);
+ fio_fallthrough;
default:
case CURLINFO_SSL_DATA_OUT:
case CURLINFO_SSL_DATA_IN:
default:
case CURLINFO_SSL_DATA_OUT:
case CURLINFO_SSL_DATA_IN:
@@
-385,7
+388,7
@@
static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht
signature = _conv_hex(md, SHA256_DIGEST_LENGTH);
signature = _conv_hex(md, SHA256_DIGEST_LENGTH);
- /* Su
r
press automatic Accept: header */
+ /* Su
p
press automatic Accept: header */
slist = curl_slist_append(slist, "Accept:");
snprintf(s, sizeof(s), "x-amz-content-sha256: %s", dsha);
slist = curl_slist_append(slist, "Accept:");
snprintf(s, sizeof(s), "x-amz-content-sha256: %s", dsha);
@@
-416,7
+419,7
@@
static void _add_swift_header(CURL *curl, struct curl_slist *slist, struct http_
if (op == DDIR_WRITE) {
dsha = _gen_hex_md5(buf, len);
}
if (op == DDIR_WRITE) {
dsha = _gen_hex_md5(buf, len);
}
- /* Su
r
press automatic Accept: header */
+ /* Su
p
press automatic Accept: header */
slist = curl_slist_append(slist, "Accept:");
snprintf(s, sizeof(s), "etag: %s", dsha);
slist = curl_slist_append(slist, "Accept:");
snprintf(s, sizeof(s), "etag: %s", dsha);
@@
-635,10
+638,10
@@
static int fio_http_invalidate(struct thread_data *td, struct fio_file *f)
return 0;
}
return 0;
}
-
static
struct ioengine_ops ioengine = {
+
FIO_STATIC
struct ioengine_ops ioengine = {
.name = "http",
.version = FIO_IOOPS_VERSION,
.name = "http",
.version = FIO_IOOPS_VERSION,
- .flags = FIO_DISKLESSIO,
+ .flags = FIO_DISKLESSIO
| FIO_SYNCIO
,
.setup = fio_http_setup,
.queue = fio_http_queue,
.getevents = fio_http_getevents,
.setup = fio_http_setup,
.queue = fio_http_queue,
.getevents = fio_http_getevents,