From 5d9379a3db989c6ffbf38f9aa90a2eeeb9291bb1 Mon Sep 17 00:00:00 2001 From: Abhishek Lekshmanan Date: Thu, 28 Mar 2019 13:41:23 +0100 Subject: [PATCH] rgw: beast: set a default port for endpoints if no port is specified we don't set one(or set to 0), and don't exactly error out, so rgw keeps running without being bound to a port. Set the port to default in these cases Fixes: http://tracker.ceph.com/issues/39000 Signed-off-by: Abhishek Lekshmanan (cherry picked from commit 9e5d4bd1a5d74490268e4dc16e885a64a1c2644c) --- src/rgw/rgw_asio_frontend.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/rgw/rgw_asio_frontend.cc b/src/rgw/rgw_asio_frontend.cc index 3c6ae446990e..7073d5c5f7c0 100644 --- a/src/rgw/rgw_asio_frontend.cc +++ b/src/rgw/rgw_asio_frontend.cc @@ -283,6 +283,8 @@ tcp::endpoint parse_endpoint(boost::asio::string_view input, auto port_str = input.substr(addr_end + 2); endpoint.port(parse_port(port_str.data(), ec)); } + } else { + endpoint.port(default_port); } auto addr = input.substr(addr_begin, addr_end - addr_begin); endpoint.address(boost::asio::ip::make_address_v6(addr, ec)); @@ -294,6 +296,8 @@ tcp::endpoint parse_endpoint(boost::asio::string_view input, if (ec) { return endpoint; } + } else { + endpoint.port(default_port); } auto addr = input.substr(0, colon); endpoint.address(boost::asio::ip::make_address_v4(addr, ec)); -- 2.47.3