Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
pkgbuild: add ceph-17.2.5-rgw-client-boost-string-view.patch
So long story short, boost 1.81 has fairly large breaking API changes, as they migrated to use an internal string_view shim rather than std::string_view, across the entire beast codebase. Therefore, we remove any attempts to convert to std::string_view from boost::core::string_view, as it implicitly handles conversions to std::string where needed (like std::string_view). Long story. boostorg/beast#2451 introduced a change in their string_view type defs for beast, which ultimately removed the to_string() method inherited from boost::string_view (which is different to boost::core), effectively changing the type of most of the returned values in rgw_asio_client.cc's header manipulation logic. However, this new shim string_view implicitly converts to std::string, which is needed by RGWEnv::set, hence our removal of the various to_string()s scattered across the file. Notably, RGWEnv::set is remarkably strict in its accepted values, so I trust that if this compiles we have introduced a subtle use after free vis-a-vis all these string_views flying around. References: boostorg/beast#2451 References: https://github.com/ceph/ceph/blob/v17.2.5/src/rgw/rgw_asio_client.cc References: boostorg/beast#2594 (comment) References: https://github.com/ceph/ceph/blob/v17.2.5/src/rgw/rgw_env.cc#L22
- Loading branch information