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 {