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: v14.2.2~138^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3cf5bb263e8b6f05ba4519fb13b5f88b1d6e0bd7;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 9007fc138c4..e4be074ec74 100644 --- a/src/rgw/rgw_asio_frontend.cc +++ b/src/rgw/rgw_asio_frontend.cc @@ -330,6 +330,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)); @@ -341,6 +343,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));