diff options
Diffstat (limited to 'repo/ceph/11-dump_time_header_impl.patch')
-rw-r--r-- | repo/ceph/11-dump_time_header_impl.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/repo/ceph/11-dump_time_header_impl.patch b/repo/ceph/11-dump_time_header_impl.patch new file mode 100644 index 0000000..d19e7ed --- /dev/null +++ b/repo/ceph/11-dump_time_header_impl.patch @@ -0,0 +1,34 @@ +Patch by Robin Mueller + +The strftime method of the libmusl writes 'UTC' instead of 'GMT' when +the character Z is used in the format pattern, and it looks like the +S3 clients don't like 'UTC' in the date strings. + +This patch replaces 'UTC' with 'GMT' at the relevant location. + +--- a/src/rgw/rgw_rest.cc 2021-07-08 16:03:56.000000000 +0200 ++++ b/src/rgw/rgw_rest.cc 2021-08-19 09:48:30.339492024 +0200 +@@ -436,8 +436,21 @@ + return 0; + } + +- return strftime(timestr, sizeof(timestr), +- "%a, %d %b %Y %H:%M:%S %Z", tmp); ++ size_t len = strftime(timestr, sizeof(timestr), ++ "%a, %d %b %Y %H:%M:%S %Z", tmp); ++ ++ int position = 0; ++ while (timestr[position] != 'U' && len - position > 3) ++ position++; ++ ++ if (len - position == 3) { ++ char substr[4]; ++ memcpy(substr, ×tr[position], 4); ++ ++ if (strcmp(substr, "UTC") == 0) ++ memcpy(×tr[position], "GMT", 3); ++ } ++ return len; + } + + void dump_time_header(struct req_state *s, const char *name, real_time t) |