Compare commits

..

22 Commits

Author SHA1 Message Date
Denis Angell
2d187658ae Update mulDiv.cpp 2024-09-20 17:05:20 +02:00
Denis Angell
94dbb2398f Merge branch 'dev' into strict-builds 2024-09-20 17:00:05 +02:00
Denis Angell
0c2cab76c9 Merge branch 'dev' into strict-builds 2024-09-04 16:50:53 +02:00
Denis Angell
77f9415e51 Update loops.txt 2024-07-08 11:25:36 +02:00
Denis Angell
fa7406fe1e add header includes 2024-07-08 11:22:17 +02:00
Denis Angell
84eee588d3 Merge branch 'dev' into strict-builds 2024-06-05 12:17:36 +02:00
Denis Angell
03569dbb11 add correct imports 2024-05-14 12:03:07 +02:00
Denis Angell
cb77121e20 Merge branch 'dev' into strict-builds 2024-05-06 12:14:05 +02:00
Denis Angell
c55a97c51a Update STValidation.h 2024-03-25 09:27:17 +01:00
Denis Angell
fc0be9c416 Merge branch 'dev' into strict-builds 2024-03-25 09:13:55 +01:00
Denis Angell
aaccf9b5b2 revert remove json log 2024-03-25 09:12:55 +01:00
Denis Angell
17af075665 revert remove json log 2024-03-25 09:12:33 +01:00
Denis Angell
e6b362c832 Merge branch 'dev' into strict-builds 2024-03-22 13:38:51 +01:00
Denis Angell
5b2b915955 clang-format 2024-03-18 14:57:35 +01:00
Denis Angell
e801ead39d fix more headers 2024-03-18 14:52:00 +01:00
Denis Angell
78a96dd633 add missing headers 2024-03-18 13:17:10 +01:00
Denis Angell
b3984c166d misc 2024-03-18 13:13:09 +01:00
Denis Angell
945f737706 Update ServerInfo.cpp 2024-03-18 13:09:01 +01:00
Denis Angell
8360ff8bc2 more linting 2024-03-18 13:03:05 +01:00
Denis Angell
c1274d2a12 Update ServerDefinitions_test.cpp 2024-03-18 13:02:03 +01:00
Denis Angell
4aa79b6100 Update ClaimReward_test.cpp 2024-03-18 12:59:05 +01:00
Denis Angell
6a4c563ced fix
invalid operands to binary expression ('basic_ostream<char, std::char_traits<char>>' and 'Json::Value')
2024-03-18 12:38:25 +01:00
23 changed files with 52 additions and 93 deletions

View File

@@ -3,7 +3,7 @@
"C_Cpp.clang_format_path": ".clang-format", "C_Cpp.clang_format_path": ".clang-format",
"C_Cpp.clang_format_fallbackStyle": "{ ColumnLimit: 0 }", "C_Cpp.clang_format_fallbackStyle": "{ ColumnLimit: 0 }",
"[cpp]":{ "[cpp]":{
"editor.wordBasedSuggestions": "off", "editor.wordBasedSuggestions": false,
"editor.suggest.insertMode": "replace", "editor.suggest.insertMode": "replace",
"editor.semanticHighlighting.enabled": true, "editor.semanticHighlighting.enabled": true,
"editor.tabSize": 4, "editor.tabSize": 4,

View File

@@ -44,7 +44,7 @@ else()
endif() endif()
# TBD: # TBD:
# Boost_USE_DEBUG_RUNTIME: When ON, uses Boost libraries linked against the # Boost_USE_DEBUG_RUNTIME: When ON, uses Boost libraries linked against the
find_package(Boost 1.86 REQUIRED find_package(Boost 1.70 REQUIRED
COMPONENTS COMPONENTS
chrono chrono
container container

View File

@@ -90,11 +90,11 @@ echo "-- Install Cmake 3.23.1 --" &&
pwd && pwd &&
( wget -nc -q https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-linux-x86_64.tar.gz; echo "" ) && ( wget -nc -q https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1-linux-x86_64.tar.gz; echo "" ) &&
tar -xzf cmake-3.23.1-linux-x86_64.tar.gz -C /hbb/ && tar -xzf cmake-3.23.1-linux-x86_64.tar.gz -C /hbb/ &&
echo "-- Install Boost 1.86.0 --" && echo "-- Install Boost 1.75.0 --" &&
pwd && pwd &&
( wget -nc -q https://boostorg.jfrog.io/artifactory/main/release/1.86.0/source/boost_1_86_0.tar.gz; echo "" ) && ( wget -nc -q https://boostorg.jfrog.io/artifactory/main/release/1.75.0/source/boost_1_75_0.tar.gz; echo "" ) &&
tar -xzf boost_1_86_0.tar.gz && tar -xzf boost_1_75_0.tar.gz &&
cd boost_1_86_0 && ./bootstrap.sh && ./b2 link=static -j$3 && ./b2 install && cd boost_1_75_0 && ./bootstrap.sh && ./b2 link=static -j$3 && ./b2 install &&
cd ../ && cd ../ &&
echo "-- Install Protobuf 3.20.0 --" && echo "-- Install Protobuf 3.20.0 --" &&
pwd && pwd &&
@@ -127,9 +127,9 @@ echo "-- Build WasmEdge --" &&
cd WasmEdge-0.11.2 && cd WasmEdge-0.11.2 &&
( mkdir build; echo "" ) && ( mkdir build; echo "" ) &&
cd build && cd build &&
export BOOST_ROOT="/usr/local/src/boost_1_86_0" && export BOOST_ROOT="/usr/local/src/boost_1_75_0" &&
export Boost_LIBRARY_DIRS="/usr/local/lib" && export Boost_LIBRARY_DIRS="/usr/local/lib" &&
export BOOST_INCLUDEDIR="/usr/local/src/boost_1_86_0" && export BOOST_INCLUDEDIR="/usr/local/src/boost_1_75_0" &&
export PATH=`echo $PATH | sed -E "s/devtoolset-7/devtoolset-9/g"` && export PATH=`echo $PATH | sed -E "s/devtoolset-7/devtoolset-9/g"` &&
cmake .. \ cmake .. \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \

View File

@@ -144,12 +144,4 @@ D686F2538F410C9D0D856788E98E3579595DAF7B38D38887F81ECAC934B06040 HooksUpdate1
86E83A7D2ECE3AD5FA87AB2195AE015C950469ABF0B72EAACED318F74886AE90 CryptoConditionsSuite 86E83A7D2ECE3AD5FA87AB2195AE015C950469ABF0B72EAACED318F74886AE90 CryptoConditionsSuite
3C43D9A973AA4443EF3FC38E42DD306160FBFFDAB901CD8BAA15D09F2597EB87 NonFungibleTokensV1 3C43D9A973AA4443EF3FC38E42DD306160FBFFDAB901CD8BAA15D09F2597EB87 NonFungibleTokensV1
0285B7E5E08E1A8E4C15636F0591D87F73CB6A7B6452A932AD72BBC8E5D1CBE3 fixNFTokenDirV1 0285B7E5E08E1A8E4C15636F0591D87F73CB6A7B6452A932AD72BBC8E5D1CBE3 fixNFTokenDirV1
36799EA497B1369B170805C078AEFE6188345F9B3E324C21E9CA3FF574E3C3D6 fixNFTokenNegOffer 36799EA497B1369B170805C078AEFE6188345F9B3E324C21E9CA3FF574E3C3D6 fixNFTokenNegOffer
4C499D17719BB365B69010A436B64FD1A82AAB199FC1CEB06962EBD01059FB09 fixXahauV1
215181D23BF5C173314B5FDB9C872C92DE6CC918483727DE037C0C13E7E6EE9D fixXahauV2
0D8BF22FF7570D58598D1EF19EBB6E142AD46E59A223FD3816262FBB69345BEA Remit
7CA0426E7F411D39BB014E57CD9E08F61DE1750F0D41FCD428D9FB80BB7596B0 ZeroB2M
4B8466415FAB32FFA89D9DCBE166A42340115771DF611A7160F8D7439C87ECD8 fixNSDelete
EDB4EE4C524E16BDD91D9A529332DED08DCAAA51CC6DC897ACFA1A0ED131C5B6 fix240819
8063140E9260799D6716756B891CEC3E7006C4E4F277AB84670663A88F94B9C4 fixPageCap
88693F108C3CD8A967F3F4253A32DEF5E35F9406ACD2A11B88B11D90865763A9 fix240911

View File

@@ -1,5 +1,5 @@
/** /**
* These are helper macros for writing hooks, all of them are optional as is including macro.h at all * These are helper macros for writing hooks, all of them are optional as is including hookmacro.h at all
*/ */
#include <stdint.h> #include <stdint.h>

View File

@@ -111,7 +111,7 @@ public:
std::uint32_t minimumTxnInLedgerSA = 1000; std::uint32_t minimumTxnInLedgerSA = 1000;
/// Number of transactions per ledger that fee escalation "works /// Number of transactions per ledger that fee escalation "works
/// towards". /// towards".
std::uint32_t targetTxnInLedger = 1000; std::uint32_t targetTxnInLedger = 256;
/** Optional maximum allowed value of transactions per ledger before /** Optional maximum allowed value of transactions per ledger before
fee escalation kicks in. By default, the maximum is an emergent fee escalation kicks in. By default, the maximum is an emergent
property of network, validator, and consensus performance. This property of network, validator, and consensus performance. This

View File

@@ -1132,7 +1132,7 @@ accountTxPage(
{ {
sql = boost::str( sql = boost::str(
boost::format( boost::format(
prefix + (R"(AccountTransactions.LedgerSeq BETWEEN %u AND %u prefix + (R"(AccountTransactions.LedgerSeq BETWEEN '%u' AND '%u'
ORDER BY AccountTransactions.LedgerSeq %s, ORDER BY AccountTransactions.LedgerSeq %s,
AccountTransactions.TxnSeq %s AccountTransactions.TxnSeq %s
LIMIT %u;)")) % LIMIT %u;)")) %
@@ -1155,14 +1155,12 @@ accountTxPage(
FROM AccountTransactions, Transactions WHERE FROM AccountTransactions, Transactions WHERE
(AccountTransactions.TransID = Transactions.TransID AND (AccountTransactions.TransID = Transactions.TransID AND
AccountTransactions.Account = '%s' AND AccountTransactions.Account = '%s' AND
AccountTransactions.LedgerSeq BETWEEN %u AND %u) AccountTransactions.LedgerSeq BETWEEN '%u' AND '%u')
UNION OR
SELECT AccountTransactions.LedgerSeq,AccountTransactions.TxnSeq,Status,RawTxn,TxnMeta
FROM AccountTransactions, Transactions WHERE
(AccountTransactions.TransID = Transactions.TransID AND (AccountTransactions.TransID = Transactions.TransID AND
AccountTransactions.Account = '%s' AND AccountTransactions.Account = '%s' AND
AccountTransactions.LedgerSeq = %u AND AccountTransactions.LedgerSeq = '%u' AND
AccountTransactions.TxnSeq %s %u) AccountTransactions.TxnSeq %s '%u')
ORDER BY AccountTransactions.LedgerSeq %s, ORDER BY AccountTransactions.LedgerSeq %s,
AccountTransactions.TxnSeq %s AccountTransactions.TxnSeq %s
LIMIT %u; LIMIT %u;

View File

@@ -194,14 +194,8 @@ ETLSource::onResolve(
{ {
boost::beast::get_lowest_layer(*ws_).expires_after( boost::beast::get_lowest_layer(*ws_).expires_after(
std::chrono::seconds(30)); std::chrono::seconds(30));
// Use async_connect with the entire results
boost::beast::get_lowest_layer(*ws_).async_connect( boost::beast::get_lowest_layer(*ws_).async_connect(
results, results, [this](auto ec, auto ep) { onConnect(ec, ep); });
[this](
boost::beast::error_code ec,
boost::asio::ip::tcp::resolver::results_type::endpoint_type
ep) { onConnect(ec, ep); });
} }
} }

View File

@@ -24,7 +24,6 @@
#include <ripple/beast/utility/Journal.h> #include <ripple/beast/utility/Journal.h>
#include <boost/beast/core/string.hpp> #include <boost/beast/core/string.hpp>
#include <boost/filesystem.hpp> #include <boost/filesystem.hpp>
#include <fstream>
#include <map> #include <map>
#include <memory> #include <memory>
#include <mutex> #include <mutex>

View File

@@ -549,8 +549,7 @@ using uint128 = base_uint<128>;
using uint160 = base_uint<160>; using uint160 = base_uint<160>;
using uint256 = base_uint<256>; using uint256 = base_uint<256>;
/* template <std::size_t Bits, class Tag>
* template <std::size_t Bits, class Tag>
[[nodiscard]] inline constexpr std::strong_ordering [[nodiscard]] inline constexpr std::strong_ordering
operator<=>(base_uint<Bits, Tag> const& lhs, base_uint<Bits, Tag> const& rhs) operator<=>(base_uint<Bits, Tag> const& lhs, base_uint<Bits, Tag> const& rhs)
{ {
@@ -571,19 +570,6 @@ operator<=>(base_uint<Bits, Tag> const& lhs, base_uint<Bits, Tag> const& rhs)
return (*ret.first > *ret.second) ? std::strong_ordering::greater return (*ret.first > *ret.second) ? std::strong_ordering::greater
: std::strong_ordering::less; : std::strong_ordering::less;
} }
*/
template <std::size_t Bits, class Tag>
[[nodiscard]] inline constexpr std::strong_ordering
operator<=>(base_uint<Bits, Tag> const& lhs, base_uint<Bits, Tag> const& rhs)
{
return std::lexicographical_compare_three_way(
lhs.cbegin(),
lhs.cend(),
rhs.cbegin(),
rhs.cend(),
std::compare_three_way{});
}
template <std::size_t Bits, typename Tag> template <std::size_t Bits, typename Tag>
[[nodiscard]] inline constexpr bool [[nodiscard]] inline constexpr bool

View File

@@ -18,7 +18,6 @@
//============================================================================== //==============================================================================
#include <ripple/basics/FileUtilities.h> #include <ripple/basics/FileUtilities.h>
#include <fstream>
namespace ripple { namespace ripple {
@@ -42,7 +41,7 @@ getFileContents(
return {}; return {};
} }
std::ifstream fileStream(fullPath.string(), std::ios::in); ifstream fileStream(fullPath, std::ios::in);
if (!fileStream) if (!fileStream)
{ {
@@ -72,8 +71,7 @@ writeFileContents(
using namespace boost::filesystem; using namespace boost::filesystem;
using namespace boost::system::errc; using namespace boost::system::errc;
std::ofstream fileStream( ofstream fileStream(destPath, std::ios::out | std::ios::trunc);
destPath.string(), std::ios::out | std::ios::trunc);
if (!fileStream) if (!fileStream)
{ {

View File

@@ -240,7 +240,7 @@ public:
bool LEDGER_REPLAY = false; bool LEDGER_REPLAY = false;
// Work queue limits // Work queue limits
int MAX_TRANSACTIONS = 1000; int MAX_TRANSACTIONS = 250;
static constexpr int MAX_JOB_QUEUE_TX = 1000; static constexpr int MAX_JOB_QUEUE_TX = 1000;
static constexpr int MIN_JOB_QUEUE_TX = 100; static constexpr int MIN_JOB_QUEUE_TX = 100;

View File

@@ -18,7 +18,6 @@
//============================================================================== //==============================================================================
#include <ripple/app/rdb/Download.h> #include <ripple/app/rdb/Download.h>
#include <fstream>
namespace ripple { namespace ripple {

View File

@@ -1894,9 +1894,7 @@ fromNetwork(
constexpr auto RPC_REPLY_MAX_BYTES = megabytes(256); constexpr auto RPC_REPLY_MAX_BYTES = megabytes(256);
using namespace std::chrono_literals; using namespace std::chrono_literals;
// auto constexpr RPC_NOTIFY = 10min; // Wietse: lolwut 10 minutes for one auto constexpr RPC_NOTIFY = 10min;
// HTTP call?
auto constexpr RPC_NOTIFY = 30s;
HTTPClient::request( HTTPClient::request(
bSSL, bSSL,

View File

@@ -78,14 +78,12 @@ public:
{ {
std::lock_guard sl(mLock); std::lock_guard sl(mLock);
// Wietse: we're not going to limit this, this is admin-port only, scale if (mDeque.size() >= eventQueueMax)
// accordingly Dropping events just like this results in inconsistent {
// data on the receiving end if (mDeque.size() >= eventQueueMax) // Drop the previous event.
// { JLOG(j_.warn()) << "RPCCall::fromNetwork drop";
// // Drop the previous event. mDeque.pop_back();
// JLOG(j_.warn()) << "RPCCall::fromNetwork drop"; }
// mDeque.pop_back();
// }
auto jm = broadcast ? j_.debug() : j_.info(); auto jm = broadcast ? j_.debug() : j_.info();
JLOG(jm) << "RPCCall::fromNetwork push: " << jvObj; JLOG(jm) << "RPCCall::fromNetwork push: " << jvObj;
@@ -184,8 +182,7 @@ private:
} }
private: private:
// Wietse: we're not going to limit this, this is admin-port only, scale enum { eventQueueMax = 32 };
// accordingly enum { eventQueueMax = 32 };
boost::asio::io_service& m_io_service; boost::asio::io_service& m_io_service;
JobQueue& m_jobQueue; JobQueue& m_jobQueue;

View File

@@ -44,7 +44,7 @@ getFeatureValue(
return {}; return {};
boost::smatch match; boost::smatch match;
boost::regex rx(feature + "=([^;\\s]+)"); boost::regex rx(feature + "=([^;\\s]+)");
auto const value = std::string(header->value()); auto const value = header->value().to_string();
if (boost::regex_search(value, match, rx)) if (boost::regex_search(value, match, rx))
return {match[1]}; return {match[1]};
return {}; return {};
@@ -233,7 +233,7 @@ verifyHandshake(
{ {
if (auto const iter = headers.find("Server-Domain"); iter != headers.end()) if (auto const iter = headers.find("Server-Domain"); iter != headers.end())
{ {
if (!isProperlyFormedTomlDomain(std::string(iter->value()))) if (!isProperlyFormedTomlDomain(iter->value().to_string()))
throw std::runtime_error("Invalid server domain"); throw std::runtime_error("Invalid server domain");
} }
@@ -243,8 +243,7 @@ verifyHandshake(
uint32_t peer_nid = 0; uint32_t peer_nid = 0;
if (auto const iter = headers.find("Network-ID"); iter != headers.end()) if (auto const iter = headers.find("Network-ID"); iter != headers.end())
{ {
if (!beast::lexicalCastChecked( if (!beast::lexicalCastChecked(peer_nid, iter->value().to_string()))
peer_nid, std::string(iter->value())))
throw std::runtime_error("Invalid peer network identifier"); throw std::runtime_error("Invalid peer network identifier");
} }
@@ -256,7 +255,7 @@ verifyHandshake(
if (auto const iter = headers.find("Network-Time"); iter != headers.end()) if (auto const iter = headers.find("Network-Time"); iter != headers.end())
{ {
auto const netTime = auto const netTime =
[str = std::string(iter->value())]() -> TimeKeeper::time_point { [str = iter->value().to_string()]() -> TimeKeeper::time_point {
TimeKeeper::duration::rep val; TimeKeeper::duration::rep val;
if (beast::lexicalCastChecked(val, str)) if (beast::lexicalCastChecked(val, str))
@@ -292,7 +291,7 @@ verifyHandshake(
if (auto const iter = headers.find("Public-Key"); iter != headers.end()) if (auto const iter = headers.find("Public-Key"); iter != headers.end())
{ {
auto pk = parseBase58<PublicKey>( auto pk = parseBase58<PublicKey>(
TokenType::NodePublic, std::string(iter->value())); TokenType::NodePublic, iter->value().to_string());
if (pk) if (pk)
{ {
@@ -318,7 +317,7 @@ verifyHandshake(
if (iter == headers.end()) if (iter == headers.end())
throw std::runtime_error("No session signature specified"); throw std::runtime_error("No session signature specified");
auto sig = base64_decode(std::string(iter->value())); auto sig = base64_decode(iter->value().to_string());
if (!verifyDigest(publicKey, sharedValue, makeSlice(sig), false)) if (!verifyDigest(publicKey, sharedValue, makeSlice(sig), false))
throw std::runtime_error("Failed to verify session"); throw std::runtime_error("Failed to verify session");
@@ -331,7 +330,7 @@ verifyHandshake(
{ {
boost::system::error_code ec; boost::system::error_code ec;
auto const local_ip = boost::asio::ip::address::from_string( auto const local_ip = boost::asio::ip::address::from_string(
std::string(iter->value()), ec); iter->value().to_string(), ec);
if (ec) if (ec)
throw std::runtime_error("Invalid Local-IP"); throw std::runtime_error("Invalid Local-IP");
@@ -346,7 +345,7 @@ verifyHandshake(
{ {
boost::system::error_code ec; boost::system::error_code ec;
auto const remote_ip = boost::asio::ip::address::from_string( auto const remote_ip = boost::asio::ip::address::from_string(
std::string(iter->value()), ec); iter->value().to_string(), ec);
if (ec) if (ec)
throw std::runtime_error("Invalid Remote-IP"); throw std::runtime_error("Invalid Remote-IP");

View File

@@ -176,7 +176,7 @@ PeerImp::run()
if (auto const iter = headers_.find("Closed-Ledger"); if (auto const iter = headers_.find("Closed-Ledger");
iter != headers_.end()) iter != headers_.end())
{ {
closed = parseLedgerHash(std::string(iter->value())); closed = parseLedgerHash(iter->value().to_string());
if (!closed) if (!closed)
fail("Malformed handshake data (1)"); fail("Malformed handshake data (1)");
@@ -185,7 +185,7 @@ PeerImp::run()
if (auto const iter = headers_.find("Previous-Ledger"); if (auto const iter = headers_.find("Previous-Ledger");
iter != headers_.end()) iter != headers_.end())
{ {
previous = parseLedgerHash(std::string(iter->value())); previous = parseLedgerHash(iter->value().to_string());
if (!previous) if (!previous)
fail("Malformed handshake data (2)"); fail("Malformed handshake data (2)");
@@ -372,8 +372,8 @@ std::string
PeerImp::getVersion() const PeerImp::getVersion() const
{ {
if (inbound_) if (inbound_)
return std::string(headers_["User-Agent"]); return headers_["User-Agent"].to_string();
return std::string(headers_["Server"]); return headers_["Server"].to_string();
} }
Json::Value Json::Value
@@ -399,7 +399,7 @@ PeerImp::json()
if (auto const d = domain(); !d.empty()) if (auto const d = domain(); !d.empty())
ret[jss::server_domain] = domain(); ret[jss::server_domain] = domain();
if (auto const nid = std::string(headers_["Network-ID"]); !nid.empty()) if (auto const nid = headers_["Network-ID"].to_string(); !nid.empty())
ret[jss::network_id] = nid; ret[jss::network_id] = nid;
ret[jss::load] = usage_.balance(); ret[jss::load] = usage_.balance();
@@ -839,7 +839,7 @@ PeerImp::name() const
std::string std::string
PeerImp::domain() const PeerImp::domain() const
{ {
return std::string(headers_["Server-Domain"]); return headers_["Server-Domain"].to_string();
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------

View File

@@ -21,6 +21,7 @@
#define RIPPLE_PEERFINDER_CHECKER_H_INCLUDED #define RIPPLE_PEERFINDER_CHECKER_H_INCLUDED
#include <ripple/beast/net/IPAddressConversion.h> #include <ripple/beast/net/IPAddressConversion.h>
#include <boost/asio/detail/handler_invoke_helpers.hpp>
#include <boost/asio/io_service.hpp> #include <boost/asio/io_service.hpp>
#include <boost/asio/ip/tcp.hpp> #include <boost/asio/ip/tcp.hpp>
#include <boost/intrusive/list.hpp> #include <boost/intrusive/list.hpp>

View File

@@ -247,11 +247,11 @@ build_map(boost::beast::http::fields const& h)
std::map<std::string, std::string> c; std::map<std::string, std::string> c;
for (auto const& e : h) for (auto const& e : h)
{ {
auto key(std::string(e.name_string())); auto key(e.name_string().to_string());
std::transform(key.begin(), key.end(), key.begin(), [](auto kc) { std::transform(key.begin(), key.end(), key.begin(), [](auto kc) {
return std::tolower(static_cast<unsigned char>(kc)); return std::tolower(static_cast<unsigned char>(kc));
}); });
c[key] = std::string(e.value()); c[key] = e.value().to_string();
} }
return c; return c;
} }

View File

@@ -50,7 +50,7 @@ public:
{ {
auto it = h.find("X-User"); auto it = h.find("X-User");
if (it != h.end()) if (it != h.end())
user_ = std::string(it->value()); user_ = it->value().to_string();
fwdfor_ = std::string(forwardedFor(h)); fwdfor_ = std::string(forwardedFor(h));
} }
} }

View File

@@ -154,7 +154,7 @@ class LedgerLoad_test : public beast::unit_test::suite
copy_file( copy_file(
sd.ledgerFile, sd.ledgerFile,
ledgerFileCorrupt, ledgerFileCorrupt,
copy_options::overwrite_existing, copy_option::overwrite_if_exists,
ec); ec);
if (!BEAST_EXPECTS(!ec, ec.message())) if (!BEAST_EXPECTS(!ec, ec.message()))
return; return;

View File

@@ -29,7 +29,6 @@
#include <boost/asio.hpp> #include <boost/asio.hpp>
#include <boost/asio/ip/tcp.hpp> #include <boost/asio/ip/tcp.hpp>
#include <boost/asio/ssl/stream.hpp> #include <boost/asio/ssl/stream.hpp>
#include <boost/beast/core/flat_buffer.hpp>
#include <boost/beast/http.hpp> #include <boost/beast/http.hpp>
#include <boost/beast/ssl.hpp> #include <boost/beast/ssl.hpp>
#include <boost/beast/version.hpp> #include <boost/beast/version.hpp>
@@ -575,7 +574,7 @@ private:
if (ec) if (ec)
break; break;
auto path = req.target(); //.to_string(); auto path = req.target().to_string();
res.insert("Server", "TrustedPublisherServer"); res.insert("Server", "TrustedPublisherServer");
res.version(req.version()); res.version(req.version());
res.keep_alive(req.keep_alive()); res.keep_alive(req.keep_alive());
@@ -678,8 +677,7 @@ private:
// unknown request // unknown request
res.result(boost::beast::http::status::not_found); res.result(boost::beast::http::status::not_found);
res.insert("Content-Type", "text/html"); res.insert("Content-Type", "text/html");
res.body() = res.body() = "The file '" + path + "' was not found";
"The file '" + std::string(path) + "' was not found";
} }
if (prepare) if (prepare)

View File

@@ -674,10 +674,10 @@ class ServerStatus_test : public beast::unit_test::suite,
resp.result() == boost::beast::http::status::switching_protocols); resp.result() == boost::beast::http::status::switching_protocols);
BEAST_EXPECT( BEAST_EXPECT(
resp.find("Upgrade") != resp.end() && resp.find("Upgrade") != resp.end() &&
std::string(resp["Upgrade"]) == "websocket"); resp["Upgrade"] == "websocket");
BEAST_EXPECT( BEAST_EXPECT(
resp.find("Connection") != resp.end() && resp.find("Connection") != resp.end() &&
std::string(resp["Connection"]) == "Upgrade"); resp["Connection"] == "upgrade");
} }
void void