Commit Graph

  • edc15b9fa2 Use a self-signed certificate for peers (RIPD-108): Generate a new RSA key pair and a self-signed X.509v3 certificate to use with SSL connections to rippled peers. New credentials are created each startup. Josh Juran 2014-10-14 03:55:10 -07:00
  • 93d4b73b2f RippleSSLContext: Add openssl wrappers Josh Juran 2014-10-14 03:51:47 -07:00
  • 8e3849e591 Create Ripple SSL contexts using std::make_shared. Vinnie Falco 2014-10-26 10:20:54 -07:00
  • 14b439ce43 Separate beast::http::body from beast::http::message (RIPD-660): This changes the http::message object to no longer contain a body. It modifies the parser to store the body in a separate object, or to pass the body data to a functor. This allows the body to be stored in more flexible ways. For example, in HTTP responses the body can be generated procedurally instead of being required to exist entirely in memory at once. Vinnie Falco 2014-10-29 13:22:57 -07:00
  • acaa1098f7 Separate beast::http::body from beast::http::message (RIPD-660): This changes the http::message object to no longer contain a body. It modifies the parser to store the body in a separate object, or to pass the body data to a functor. This allows the body to be stored in more flexible ways. For example, in HTTP responses the body can be generated procedurally instead of being required to exist entirely in memory at once. Vinnie Falco 2014-10-29 13:22:57 -07:00
  • 9e4c4ad8e5 Add beast::asio::basic_streambuf (RIPD-661): This is class whose interface is identical to the boost::asio::basic_streambuf, and uses an implementation that stores the data in multiple discontiguous linear buffers, expanding and shrinking as needed. Vinnie Falco 2014-10-28 12:30:30 -07:00
  • c1a5e88752 Use beast::asio::streambuf in Overlay Vinnie Falco 2014-10-28 19:53:48 -07:00
  • 74b99014d2 Add beast::asio::basic_streambuf (RIPD-661): This is class whose interface is identical to the boost::asio::basic_streambuf, and uses an implementation that stores the data in multiple discontiguous linear buffers, expanding and shrinking as needed. Vinnie Falco 2014-10-28 12:30:30 -07:00
  • 9cba944d21 Add Json::to_string: This allows the declaration for FastWriter to be hidden and makes conversion of Json::Value objects to strings a little less clunky. Tom Ritchford 2014-10-28 14:51:48 -04:00
  • 8c1c2f5d05 Eliminate a copy of the string returned by FastWriter Tom Ritchford 2014-10-28 16:49:23 -04:00
  • bf0fa8c562 Add 'sample' npm test: test/sample-test.js is the smallest possible npm test. Tom Ritchford 2014-10-16 12:26:15 -04:00
  • 3e1fc9ba6c Update unit testing command line parser parameters: A string passed by the '--unittest-arg' command line parameter is passed to suites when unit tests run and can be used to customize test behavior. * Add '--unittest-arg' command line argument * Remove obsolete '--unittest-format' command line argument Donovan Hide 2014-10-28 14:53:30 +00:00
  • f5941041d4 Improvements to beast::unit_test framework: * Some runner member functions are now thread-safe. * De-inline and tidy up declarations and definitions. * arg() interface allows command lines to be passed to suites. Vinnie Falco 2014-10-28 06:56:19 -07:00
  • 4ceba603e4 Improvements to beast::unit_test framework: * Some runner member functions are now thread-safe. * De-inline and tidy up declarations and definitions. * arg() interface allows command lines to be passed to suites. Vinnie Falco 2014-10-28 06:56:19 -07:00
  • 6591c21ace Set version to 0.26.4-rc4 Vinnie Falco 2014-10-27 11:49:39 -07:00
  • e8d03c7b9b Update rocksdb unity file Vinnie Falco 2014-10-27 11:41:44 -07:00
  • 6fbce4c2f7 Update src/rocksdb2 to rocksdb-3.5.1: Merge commit 'c168d54495d7d7b84639514f6443ad99b89ce996' into develop Vinnie Falco 2014-10-27 11:36:32 -07:00
  • c168d54495 Squashed 'src/rocksdb2/' changes from 25888ae..1fdd726 Vinnie Falco 2014-10-27 11:36:32 -07:00
  • 9ab4f7bcc6 Update SQLite to 3.8.7: sha1: 3e23079f062fc06705eead4db108ee429878b532 Vinnie Falco 2014-10-27 10:50:54 -07:00
  • 2cce22052b Update SQLite to 3.8.7: sha1: 3e23079f062fc06705eead4db108ee429878b532 Vinnie Falco 2014-10-27 10:50:54 -07:00
  • 4e19d5f625 Adjust paths and costs in Pathfinder. Tom Ritchford 2014-10-24 15:23:26 -04:00
  • 5b667da526 Squelch some warnings in rippled and third-party code. Tom Ritchford 2014-10-23 22:22:46 -04:00
  • f9fc9a3518 Reduce RippleD dependencies on Beast: * Use static_assert where appropriate * Use std::min and std::max where appropriate * Simplify RippleD error reporting * Remove use of beast::RandomAccessFile Nik Bougalis 2014-10-14 00:29:35 -07:00
  • 186ca9c235 Reduce Beast public interface and eliminate unused code: Nik Bougalis 2014-10-13 14:20:54 -07:00
  • e005cfd70e Reduce Beast public interface and eliminate unused code: Nik Bougalis 2014-10-13 14:20:54 -07:00
  • feb997481c Refactor the structure of ServerHandler: This is a cleanup to the structure of the sources. * Rename to ServerHandler * Move private implementation declaration to separate header * De-inline function definitions in the class declaration. Vinnie Falco 2014-10-26 19:15:40 -07:00
  • 2c8e90c9d8 Remove obsolete RPCServerHandler: This removes the legacy RPCServerHandler, which has been replaced by the asynchronous RPC-HTTP/S server and corresponding RPCHTTPHandler. Vinnie Falco 2014-10-26 18:50:27 -07:00
  • fefdb32d08 Remove unused and obsolete classes and tidy up: Many classes required to support type-erasure of handlers and boost::asio types are now obsolete, so these classes and files are removed: HTTPClientType, FixedInputBuffer, PeerRole, socket_wrapper, client_session, basic_url, abstract_socket, buffer_sequence, memory_buffer, enable_wait_for_async, shared_handler, wrap_handler, streambuf, ContentBodyBuffer, SSLContext, completion-handler based handshake detectors. These structural changes are made: * Some missing includes added to headers * asio module directory flattened Vinnie Falco 2014-10-25 17:59:04 -07:00
  • ec96d5afa0 Remove unused and obsolete classes and tidy up: Many classes required to support type-erasure of handlers and boost::asio types are now obsolete, so these classes and files are removed: HTTPClientType, FixedInputBuffer, PeerRole, socket_wrapper, client_session, basic_url, abstract_socket, buffer_sequence, memory_buffer, enable_wait_for_async, shared_handler, wrap_handler, streambuf, ContentBodyBuffer, SSLContext, completion-handler based handshake detectors. These structural changes are made: * Some missing includes added to headers * asio module directory flattened Vinnie Falco 2014-10-25 17:59:04 -07:00
  • 8be8853c33 Remove obsolete classes, disable unused code, and tidy up: * Removed MultiSocket. Code that previously used the MultiSocket now uses a combination of boost::asio coroutines and CRTP. * Sitefiles headers rolled up and directory flattened. * Disabled Sitefiles use of deprecated HTTPClient. * Validators headers tidied up. * Disabled Validators use of deprecated HTTPClient. Vinnie Falco 2014-10-25 17:34:50 -07:00
  • c228f5a244 Set version to 0.26.4-rc3 Vinnie Falco 2014-10-24 14:23:39 -07:00
  • d4c8b4e3ac Merge branch 'release' into develop Vinnie Falco 2014-10-25 08:07:30 -07:00
  • 6564f6c164 Fix incorrect socket closure in Overlay peers: On Application exit, Overlay was calling PeerImp::close for each peer. The implementation of PeerImp::close only canceled all pending I/O and did not call functions necessary for proper transition of Peer state during socket closure. The correct transition is ensured by calling PeerImp::detach. This changes PeerImp::close to call PeerImp::detach instead, ensuring that Overlay invariants are maintained. Specifically, that reference counts for pending I/O on peers will be correctly unwound by canceling operations and that the Peer object will be destroyed, thus allowing the Overlay to stop correctly. Vinnie Falco 2014-10-24 13:43:22 -07:00
  • 1e37a5509c Add missing includes Vinnie Falco 2014-10-23 18:12:02 -07:00
  • 1e9503deaa Set version to 0.26.2-rc2 Vinnie Falco 2014-10-23 13:49:22 -07:00
  • ab1f36c565 Revert "Add [overlay] configuration section (experimental):" Vinnie Falco 2014-10-23 13:48:52 -07:00
  • 5a212cd626 Set version to 0.26.4-rc1 Vinnie Falco 2014-10-23 13:01:12 -07:00
  • 856fd9d69f Add [overlay] configuration section (experimental): This configuration section uses the new BasicConfig interface that supports key-value pairs in the section. Some exposition is added to the example cfg file. The new settings for overlay are related to the Hub and Spoke feature which is currently in development. Production servers should not set these configuration options, they are clearly marked experimental in the example cfg file. Vinnie Falco 2014-09-23 17:30:50 -07:00
  • 4606d99951 Don't use MultiSocket in Overlay: The MultiSocket is obsolete technology which is superceded by a more straightforward, template based implementation that is compatible with boost::asio::coroutines. This removes support for the unused PROXY handshake feature. After this change a large number of classes and source files may be removed. Vinnie Falco 2014-10-13 10:43:52 -07:00
  • dbd75169e5 New JsonWriter for improved client performance (RIPD-439): When JSON-RPC and Websocket responses are calculated, the result is stored in intermediate Json::Value objects and later composed in a single linear memory buffer before being sent to the socket. These classes support a new model for building responses that supports incremental construction of JSON replies in constant time and removes the requirement that all data returned be located in continuguous memory. * New JsonWriter incrementally writes JSON with O(1) granularity and memory. * Array, Object are RAII wrappers for the O(1) JsonWriter. Tom Ritchford 2014-10-01 18:16:36 -04:00
  • 3cd391daa6 Return error_code from beast::http::basic_parser: This changes the HTTP parser interface to return an error_code instead of a bool. This eliminates the need for the error() member function and simplifies calling code. Vinnie Falco 2014-10-12 19:10:33 -07:00
  • f5b39ee911 Remove HTTP::ScopedStream: This class was used to allow stream style operator<< to write to the HTTP::Session. This is being superceded by a more robust object-based model that supports coroutines. Vinnie Falco 2014-10-14 18:37:25 -07:00
  • 88cb0a1f7a Add beast::asio::ssl_bundle workaround: This works around the limitation that 1.56 boost::asio::ssl::stream objects do not support r-value move or construction. It is required when the stream does not own the socket. Vinnie Falco 2014-10-13 10:34:35 -07:00
  • db5d52b4b2 Keep a list of section config values that are not key/value pairs: This change to BasicConfig stores all appended lines which are not key/value pairs in a separate values vector which can be retrieved later. This is to support sections containing both key/value pairs and a list of values. Vinnie Falco 2014-10-09 18:39:58 -07:00
  • dfeb9967b8 Return error_code from beast::http::basic_parser: This changes the HTTP parser interface to return an error_code instead of a bool. This eliminates the need for the error() member function and simplifies calling code. Vinnie Falco 2014-10-12 19:10:33 -07:00
  • 673e860c18 Add beast::asio::ssl_bundle workaround: This works around the limitation that 1.56 boost::asio::ssl::stream objects do not support r-value move or construction. It is required when the stream does not own the socket. Vinnie Falco 2014-10-13 10:34:35 -07:00
  • 9deae34b20 Workaround for MSVC stdlib and coroutine interaction: If beast::Time::currentTimeMillis is first called from a coroutine launched using boost::asio::spawn, Win32 throws an exception. This workaround calls getCurrentTime once in main to prevent the exception. Reference: https://svn.boost.org/trac/boost/ticket/10657 Vinnie Falco 2014-10-14 19:13:02 -07:00
  • ec92344fb4 Use autotls instead of multitls in websocket: The MultiSocket class implements a socket that handshakes in multiple protocols including SSL and PROXY. Unfortunately the way it type-erases the handlers and buffers is incompatible with boost::asio coroutines. To pave the way for coroutines this is part of a larger set of changes that roll back the usage of MultiSocket to older code, and some custom implementations that use templates. The custom implementations are more simple since they use coroutines. Removing MultiSocket will make many other classes and source files unused, a big win for trimming down the codebase size. Vinnie Falco 2014-10-18 17:40:21 -07:00
  • 44c68d6174 Change NodeStore::Backend tests to reflect observed patterns: Empirical evidence shows a database access pattern with few hits and many misses (objects that don't exist). This changes the timing tests so they more accurately reflect rippled's actual usage: * Add read missing keys test * Increase numObjectsToTest to 1,000,000 * Alter PredictableObjectFactory to seed RNG once only * Make NodeStoreTiming a manual test Donovan Hide 2014-10-22 21:24:29 +01:00
  • f0f082d3e3 Fix OS X version parsing/error related to OS X 10.10 update. Howard Hinnant 2014-10-20 21:55:57 -04:00
  • 5b7f172d03 Fix OS X version parsing/error related to OS X 10.10 update. Howard Hinnant 2014-10-20 21:55:57 -04:00
  • 65125eac87 Add "deferred" flag to transaction relay message JoelKatz 2014-10-19 22:29:31 -07:00
  • 761902864a Refactor STParsedJSON to parse an object or array [RIPD-480] Scott Schurr 2014-10-09 15:12:02 -07:00
  • 4a8555b3bf Workaround for MSVC move special members. Vinnie Falco 2014-10-18 08:16:12 -07:00
  • af24d541d1 Workaround for MSVC move special members. Vinnie Falco 2014-10-18 08:16:12 -07:00
  • 9d33e4bd7b Fix URL compositing in Beast (RIPD-636). Nik Bougalis 2014-10-13 18:42:22 -07:00
  • 3ad68a617e Fix dependency on boost::thread on OS/X. Donovan Hide 2014-10-16 20:04:49 -04:00
  • 9e1a6589d4 Return descriptive error message from memo validation (RIPD-591). Nik Bougalis 2014-10-03 19:17:42 -07:00
  • da8ceed07e RippleSSLContext.cpp cleanup. Josh Juran 2014-10-14 01:25:30 -07:00
  • 35935adc98 Fix URL compositing in Beast (RIPD-636). Nik Bougalis 2014-10-13 18:42:22 -07:00
  • 75c8d7aa57 Detab beast Howard Hinnant 2014-10-14 17:27:16 -04:00
  • 5b4a501f68 Detab beast Howard Hinnant 2014-10-14 17:27:16 -04:00
  • 5425a90f16 Fix tabs and trailing whitespace. Tom Ritchford 2014-10-14 16:58:47 -04:00
  • f034b02b92 Disable SSLv3 Mark Travis 2014-10-15 12:30:06 -07:00
  • 7eaca149c1 Remove boost_thread dependency (RIPD-216). Donovan Hide 2014-10-15 23:13:02 +01:00
  • 4b5fd95657 Disable SSLv3 Mark Travis 2014-10-15 12:30:06 -07:00
  • 96dedf553e Refactor SerializedTransaction: * Use boost:tribool instead of two intertwined bool variables * Trim down public interface, reduce member variables Nik Bougalis 2014-10-05 12:53:39 -07:00
  • 23219f2662 Disable transaction submission tests under Travis. sublimator 2014-10-11 22:37:49 +07:00
  • af78ed608e Call Stoppable::stopped in PeerFinder onStop. Vinnie Falco 2014-10-13 21:09:31 -07:00
  • 51dc59e019 Fix outgoing bytes calculation in HTTP server. Vinnie Falco 2014-10-13 19:06:50 -07:00
  • afc102e90a New class RPC::Status enforces JSON-RPC 2.0 error format. Tom Ritchford 2014-09-30 20:11:23 -04:00
  • fc560179e0 SHAMap performance improvements (RIPD-434) David Schwartz 2014-07-31 16:38:58 -07:00
  • d26241de0e Remove Og from debug mode sublimator 2014-10-05 18:52:18 +07:00
  • 96a3a34fa4 Gracefully cast from std:🧵:hardware_concurrency Howard Hinnant 2014-10-14 10:33:10 -04:00
  • 00310f4f10 Silence clang warnings Howard Hinnant 2014-10-10 19:32:20 -04:00
  • e965b7c0da Guarantee C locale Howard Hinnant 2014-10-13 19:20:53 -04:00
  • 8caae219cf Gracefully cast from std:🧵:hardware_concurrency Howard Hinnant 2014-10-14 10:33:10 -04:00
  • 2264ae9247 Guarantee C locale Howard Hinnant 2014-10-13 19:20:53 -04:00
  • 29225bbe75 Attempt to fix spurious travis failures Nicholas Dudfield 2014-10-06 16:14:44 +07:00
  • 4b5625fd59 Load PeerFinder database in Stoppable::onPrepare: OverlayImpl::onStart calls into PeerFinder before PeerFinder::Manager::onStart, causing tests to sometimes fail and the application to intermittently not start. The order of calls to Stoppable::onStart is implementation defined and not predictable. Vinnie Falco 2014-10-10 19:30:00 -07:00
  • 7c0c2419f7 Refactor PeerFinder: Previously, the PeerFinder manager constructed with a Callback object provided by the owner which was used to perform operations like connecting, disconnecting, and sending messages. This made it difficult to change the overlay code because a single call into the PeerFinder could cause both OverlayImpl and PeerImp to be re-entered one or more times, sometimes while holding a recursive mutex. This change eliminates the callback by changing PeerFinder functions to return values indicating the action the caller should take. Vinnie Falco 2014-10-07 18:00:14 -07:00
  • 5f59282ba1 Clean up Overlay and PeerFinder sources: * Tidy up identifiers and declarations * Merge PeerFinder headers into one file * Merge handout classes and functions into one file Vinnie Falco 2014-08-28 14:57:40 -07:00
  • 7847ac3144 Add pending_handlers Vinnie Falco 2014-10-07 20:19:41 -07:00
  • db03ce939c Add pending_handlers Vinnie Falco 2014-10-07 20:19:41 -07:00
  • 6708311a66 Add missing include in beast header Vinnie Falco 2014-10-08 19:10:12 -07:00
  • 68bcbbb701 Add missing include in beast header Vinnie Falco 2014-10-08 19:10:12 -07:00
  • 8bdf7b3983 Remove unused file David Schwartz 2014-10-10 10:19:55 -07:00
  • 4ab427d315 Cleanup: Combine Section and BasicConfig, move to basics Vinnie Falco 2014-10-09 12:25:24 -07:00
  • 9a0a434dd8 Fix incorrect address in connectivity check report: The remoteAddress is the address as seen on the socket, which for incoming connections has a random port chosen by the remote implementation that is different from the port number used to accept connections by the remote listening socket. The checkedAddress is the remote address as seen on the socket, combined with the port advertised in the TMEndpoints message. This fixes the reporting and metadata associated with addresses tested for connectivity. Vinnie Falco 2014-10-08 15:49:47 -07:00
  • 33d1dda954 Handle BIGNUM conversion failure Nik Bougalis 2014-10-02 14:19:01 -07:00
  • 8e9efb4ceb Remove unused transaction code. Howard Hinnant 2014-10-02 17:14:56 -04:00
  • 8835af11d5 Cleanups and surface reduction: * Don't use friendship unless needed * Trim down interfaces * Make classes feel more like std containers Nik Bougalis 2014-09-26 22:00:17 -07:00
  • cfb6b678f1 Remove HashMaps Nik Bougalis 2014-08-27 12:06:14 -07:00
  • 365500da98 Create orderbook integration test (RIPD-483) miguelportilla 2014-08-15 18:47:48 -04:00
  • f14d75e798 Optimize account_lines and account_offers (RIPD-587) Miguel Portilla 2014-09-22 12:16:18 -04:00
  • 0f71b4a378 Fix most compilation warnings for gcc, clang, release, debug. Tom Ritchford 2014-10-01 16:44:00 -04:00
  • b651e0146d Fix some fee logic: (RIPD-614) * fee_default sets cost in drops of reference transaction * Offline signing uses fee_default * Signing multiplier maximum works correctly * Fix bugs in load fee track * Remove dead code, add comments JoelKatz 2014-10-01 11:35:05 -07:00
  • a0dbbb2d84 Update and sort ErrorCode descriptions Tom Ritchford 2014-10-01 11:38:00 -04:00
  • a85fbf69e0 Update rocksdb Torrie Fischer 2014-10-01 11:21:46 -07:00
  • 225f8ac12f Merge commit '92b8c7961b433d12d9d77da5d61c26a920bbd370' into updated-rocksdb Torrie Fischer 2014-10-02 10:47:26 -07:00