From: Abhishek Lekshmanan Date: Thu, 28 Mar 2019 12:41:23 +0000 (+0100) Subject: rgw: beast: set a default port for endpoints X-Git-Tag: v13.2.6~27^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F27661%2Fhead;p=ceph.git 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) --- 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));