|
rippled
|
Test for TMGetObjectByHash reply size limiting. More...


Classes | |
| class | PeerTest |
| Test peer that captures sent messages for verification. More... | |
Public Member Functions | |
| template<class = void> | |
| void | operator() (runner &r) |
| Invokes the test using the specified runner. | |
| template<class = void> | |
| void | pass () |
| Record a successful test condition. | |
| template<class F , class String > | |
| bool | except (F &&f, String const &reason) |
| template<class F > | |
| bool | except (F &&f) |
| template<class E , class F , class String > | |
| bool | except (F &&f, String const &reason) |
| template<class E , class F > | |
| bool | except (F &&f) |
| template<class F , class String > | |
| bool | unexcept (F &&f, String const &reason) |
| template<class F > | |
| bool | unexcept (F &&f) |
| std::string const & | arg () const |
| Return the argument associated with the runner. | |
| template<class Condition , class String > | |
| bool | unexpected (Condition shouldBeFalse, String const &reason) |
| template<class Condition > | |
| bool | unexpected (Condition shouldBeFalse) |
| template<class String > | |
| void | fail (String const &reason, char const *file, int line) |
| Record a failure. | |
| template<class = void> | |
| void | fail (std::string const &reason="") |
| template<class Condition > | |
| bool | expect (Condition const &shouldBeTrue) |
| Evaluate a test condition. | |
| template<class Condition , class String > | |
| bool | expect (Condition const &shouldBeTrue, String const &reason) |
| template<class Condition > | |
| bool | expect (Condition const &shouldBeTrue, char const *file, int line) |
| template<class Condition , class String > | |
| bool | expect (Condition const &shouldBeTrue, String const &reason, char const *file, int line) |
Static Public Member Functions | |
| static suite * | this_suite () |
| Returns the "current" running suite. | |
Public Attributes | |
| log_os< char > | log |
| Logging output stream. | |
| testcase_t | testcase |
| Memberspace for declaring test cases. | |
Private Types | |
| using | middle_type = boost::beast::tcp_stream |
| using | stream_type = boost::beast::ssl_stream< middle_type > |
| using | socket_type = boost::asio::ip::tcp::socket |
| using | shared_context = std::shared_ptr< boost::asio::ssl::context > |
Private Member Functions | |
| std::shared_ptr< PeerTest > | createPeer (jtx::Env &env) |
| std::shared_ptr< protocol::TMGetObjectByHash > | createRequest (size_t const numObjects, Env &env) |
| void | testReplyLimit (size_t const numObjects, int const expectedReplySize) |
| Test that reply is limited to hardMaxReplyNodes when more objects are requested than the limit allows. | |
| void | run () override |
| Runs the suite. | |
| void | propagate_abort () |
Static Private Member Functions | |
| static suite ** | p_this_suite () |
Private Attributes | |
| shared_context | context_ {make_SSLContext("")} |
| ProtocolVersion | protocolVersion_ {1, 7} |
| bool | abort_ = false |
| bool | aborted_ = false |
| runner * | runner_ = nullptr |
Test for TMGetObjectByHash reply size limiting.
This verifies the fix that limits TMGetObjectByHash replies to Tuning::hardMaxReplyNodes to prevent excessive memory usage and potential DoS attacks from peers requesting large numbers of objects.
Definition at line 28 of file TMGetObjectByHash_test.cpp.
|
private |
Definition at line 30 of file TMGetObjectByHash_test.cpp.
|
private |
Definition at line 31 of file TMGetObjectByHash_test.cpp.
|
private |
Definition at line 32 of file TMGetObjectByHash_test.cpp.
|
private |
Definition at line 33 of file TMGetObjectByHash_test.cpp.
|
private |
Definition at line 96 of file TMGetObjectByHash_test.cpp.
|
private |
Definition at line 117 of file TMGetObjectByHash_test.cpp.
|
private |
Test that reply is limited to hardMaxReplyNodes when more objects are requested than the limit allows.
Definition at line 153 of file TMGetObjectByHash_test.cpp.
|
overrideprivatevirtual |
Runs the suite.
Implements beast::unit_test::suite.
Definition at line 183 of file TMGetObjectByHash_test.cpp.
|
staticinherited |
|
inherited |
Invokes the test using the specified runner.
Data members are set up here instead of the constructor as a convenience to writing the derived class to avoid repetition of forwarded constructor arguments to the base. Normally this is called by the framework for you.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
Evaluate a test condition.
This function provides improved logging by incorporating the file name and line number into the reported output on failure, as well as additional text specified by the caller.
| shouldBeTrue | The condition to test. The condition is evaluated in a boolean context. |
| reason | Optional added text to output on a failure. |
| file | The source code file where the test failed. |
| line | The source code line number where the test failed. |
true if the test condition indicates success.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
staticprivateinherited |
|
privateinherited |
|
private |
Definition at line 92 of file TMGetObjectByHash_test.cpp.
|
private |
Definition at line 93 of file TMGetObjectByHash_test.cpp.
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
inherited |
|
inherited |