1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
Patch by Robin Mueller
Fix musl date handling
--- a/src/rgw/rgw_lc.cc 2021-09-16 16:27:19.000000000 +0200
+++ b/src/rgw/rgw_lc.cc 2021-10-01 09:17:06.996639952 +0200
@@ -2238,8 +2238,21 @@
// Fri, 23 Dec 2012 00:00:00 GMT
char exp_buf[100];
time_t exp = ceph::real_clock::to_time_t(*expiration_date);
- if (std::strftime(exp_buf, sizeof(exp_buf),
- "%a, %d %b %Y %T %Z", std::gmtime(&exp))) {
+ std::size_t len = std::strftime(exp_buf, sizeof(exp_buf), "%a, %d %b %Y %T %Z", std::gmtime(&exp));
+
+ if (len) {
+ int position = 0;
+ while (exp_buf[position] != 'U' && len - position > 3)
+ position++;
+
+ if (len - position == 3) {
+ char substr[4];
+ memcpy(substr, &exp_buf[position], 4);
+
+ if (strcmp(substr, "UTC") == 0)
+ memcpy(&exp_buf[position], "GMT", 3);
+ }
+
hdr = fmt::format("expiry-date=\"{0}\", rule-id=\"{1}\"", exp_buf,
*rule_id);
} else {
|