Commit Graph

325 Commits

Author SHA1 Message Date
moneromooo-monero bd1f6029a3
http_client: rewrite header parsing manually for speed
boost::regex is stupendously atrocious at parsing malformed data
2017-12-23 11:29:58 +00:00
moneromooo-monero ec724eb64a
tests: add levin fuzz test 2017-12-23 11:29:55 +00:00
moneromooo-monero f1bdc9a42a
tests: add http client fuzz test 2017-12-23 11:29:52 +00:00
moneromooo-monero 0272df9e61
add parse_url fuzz test 2017-12-23 11:29:49 +00:00
moneromooo-monero 261b0dd0e0
tests: add base58 fuzz test 2017-12-23 11:27:45 +00:00
moneromooo-monero fd05208762
fuzz_testing: allow automatically resuming an interrupted job 2017-12-23 11:27:42 +00:00
moneromooo-monero 4cd4a4313d
fuzz_testing: create out directory if needed, and fix filename passing 2017-12-23 11:27:31 +00:00
moneromooo-monero 95aa0bf79b
add load_from_binary/load_from_json fuzzers 2017-12-23 11:27:25 +00:00
moneromooo-monero 6c94516fb4
wipeable_string: move a wipe from reserve to grow
That way, all implicit wipes ends up in grow, which is more robust
2017-12-19 14:06:42 +00:00
moneromooo-monero 5f801b6adf
wipeable_string: ignore reserve size less than actual size
This was asserting, but stoffu pointed out the std::string standard
considers this ok and ignorable
2017-12-19 14:00:41 +00:00
moneromooo-monero 9ec44a2b06
wipeable_string: fix clear and push_back 2017-12-19 11:55:45 +00:00
Riccardo Spagni a3a8343051
Merge pull request #2857
7193b89f Scrub keys from memory just before scope end. (moneromooo-monero)
2017-12-17 13:00:11 +02:00
Riccardo Spagni 066fd7aced
Merge pull request #2877
43f5269f Wallets now do not depend on the daemon rpc lib (moneromooo-monero)
bb89ae8b move connection_basic and network_throttle from src/p2p to epee (moneromooo-monero)
4abf25f3 cryptonote_core does not depend on p2p anymore (moneromooo-monero)
2017-12-17 12:59:44 +02:00
moneromooo-monero bb89ae8b20
move connection_basic and network_throttle from src/p2p to epee
These even had the epee namespace.
This fixes some ugly circular dependencies.
2017-12-16 23:28:43 +00:00
moneromooo-monero 09ce03d612
move includes around to lessen overall load 2017-12-16 22:46:38 +00:00
moneromooo-monero 7193b89fe5 Scrub keys from memory just before scope end.
Partially implements #74.

Securely erases keys from memory after they are no longer needed. Might have a
performance impact, which I haven't measured (perf measurements aren't
generally reliable on laptops).

Thanks to @stoffu for the suggestion to specialize the pod_to_hex/hex_to_pod
functions. Using overloads + SFINAE instead generalizes it so other types can
be marked as scrubbed without adding more boilerplate.
2017-12-16 15:40:33 -07:00
Riccardo Spagni 9b511d3e93
Merge pull request #2866
cf5f6236 Corrections in rate limiting / trottle code, especially in 'out' direction (rbrunner7)
2017-12-16 23:24:41 +02:00
Riccardo Spagni 6c0953b15a
Merge pull request #2860
3dffe71b new wipeable_string class to replace std::string passphrases (moneromooo-monero)
7a2a5741 utils: initialize easylogging++ in on_startup (moneromooo-monero)
54950829 use memwipe in a few relevant places (moneromooo-monero)
000666ff add a memwipe function (moneromooo-monero)
2017-12-16 23:19:27 +02:00
Riccardo Spagni f51bac990e
Merge pull request #2906
27aa8ce9 net_utils_base: fix peer list parsing (moneromooo-monero)
fe5ab2c4 epee: fix kv_unserialize return value when a field is not found (moneromooo-monero)
2017-12-10 13:08:23 +02:00
moneromooo-monero 27aa8ce95b
net_utils_base: fix peer list parsing
Fields are written with their "name" as key, and that name changed.
2017-12-09 22:16:58 +00:00
moneromooo-monero 3d0b54bd01
epee: add do while(0) around brace statement in a macro
Allows use in more complex expressions
2017-12-07 19:23:02 +00:00
Riccardo Spagni bae16bf878
Merge pull request #2847
7256d9a7 Fix versioning (vdo)
e459d467 Update snap version to 0.11.1 (vdo)
2017-12-02 09:24:08 +02:00
Riccardo Spagni 1fec38e736
Merge pull request #2832
287dde63 Added command descriptions (Cifrado)
2017-12-02 09:22:43 +02:00
moneromooo-monero fe5ab2c439
epee: fix kv_unserialize return value when a field is not found 2017-12-01 16:43:57 +00:00
rbrunner7 cf5f623616 Corrections in rate limiting / trottle code, especially in 'out' direction
Deleted 3 out of 4 calls to method connection_basic::sleep_before_packet
that were erroneous / superfluous, which enabled the elimination of a
"fudge" factor of 2.1 in connection_basic::set_rate_up_limit;
also ended the multiplying of limit values and numbers of bytes
transferred by 1024 before handing them over to the global throttle
objects
2017-11-28 21:18:01 +01:00
moneromooo-monero 3dffe71b72
new wipeable_string class to replace std::string passphrases 2017-11-27 22:25:57 +00:00
Cifrado 287dde63d8 Added command descriptions 2017-11-26 10:37:37 +01:00
vdo 7256d9a7cd Fix versioning 2017-11-22 11:18:54 +01:00
vdo e459d467f6 Update snap version to 0.11.1 2017-11-20 22:33:23 +01:00
Tim L f5461a6a07 RPC: CORS add Access-Control-Allow-Headers to OPTIONS preflight 2017-11-16 13:56:16 -05:00
Riccardo Spagni 2c12847dd6
Merge pull request #2811
f80f408b epee: don't disable -Wtautological-constant-out-of-range-compare on GCC (moneromooo-monero)
2017-11-14 21:33:20 +02:00
Riccardo Spagni edebe4e3b6
Merge pull request #2736
0d9c0db9 Do not build against epee_readline if it was not built (Howard Chu)
178014c9 split off readline code into epee_readline (moneromooo-monero)
a9e14a19 link against readline only for monerod and wallet-wallet-{rpc,cli} (moneromooo-monero)
437421ce wallet: move some scoped_message_writer calls from the libs (moneromooo-monero)
e89994e9 wallet: rejig to avoid prompting in wallet2 (moneromooo-monero)
ec5135e5 move input_line from command_line to simplewallet (moneromooo-monero)
082db75f move cryptonote command line options to cryptonote_core (moneromooo-monero)
2017-11-14 21:31:51 +02:00
Riccardo Spagni 5de492be40
Merge pull request #2629
383ff4f6 remove "using namespace std" from headers (moneromooo-monero)
2017-11-14 21:29:49 +02:00
moneromooo-monero f80f408b7e
epee: don't disable -Wtautological-constant-out-of-range-compare on GCC
It's a CLANG only option, and causes GCC to error out
2017-11-14 17:22:39 +00:00
moneromooo-monero 178014c995
split off readline code into epee_readline 2017-11-14 17:06:35 +00:00
moneromooo-monero 383ff4f689
remove "using namespace std" from headers
It's nasty, and actually breaks on Solaris, where if.h fails to
build due to:

  struct map *if_memmap;
2017-11-14 16:56:10 +00:00
Riccardo Spagni f48aeab5c4
Merge pull request #2756
0bf09154 Fix file permission issue (Tim L)
2017-11-14 16:02:28 +02:00
Riccardo Spagni a2241e8151
Merge pull request #2753
fa514082 RPC: get_info add rpc_connections_count (Tim L)
2017-11-14 15:54:33 +02:00
Riccardo Spagni 176dd1fbe5
Merge pull request #2743
9ff8e139 epee: disable a spurious warning for a storage function (moneromooo-monero)
2017-11-14 15:30:43 +02:00
Riccardo Spagni 9317c9c57e
Merge pull request #2617
7dbf76d0 Fix an object lifetime bug in net load tests (moneromooo-monero)
2017-11-14 14:54:05 +02:00
Tim L fa51408272 RPC: get_info add rpc_connections_count 2017-11-07 16:34:49 -05:00
Tim L 0bf0915446 Fix file permission issue
This branch fixes a file permission issue introduced by 69c37200aa
2017-11-03 11:27:50 -04:00
Riccardo Spagni 35dbb3be33
Merge pull request #2663
4b228dd3 cmake: epee: use var from FindOpenSSL.cmake (redfish)
29497f79 epee: use boost type for SSL error code (redfish)
2017-11-01 11:25:53 +02:00
Riccardo Spagni 54463b33b3
Merge pull request #2723
69c37200 RPC Add cross origin resource sharing support (Tim L)
2017-10-31 20:38:38 +02:00
Tim L 69c37200aa RPC Add cross origin resource sharing support 2017-10-30 13:55:56 -04:00
moneromooo-monero 9ff8e139cd
epee: disable a spurious warning for a storage function 2017-10-28 11:52:14 +01:00
moneromooo-monero 969b5a2ae3
net_helper: fix massive slowdown after SSL support 2017-10-20 17:27:15 +01:00
redfish 4b228dd356 cmake: epee: use var from FindOpenSSL.cmake
This fixes linking when path to openssl
is defined manually:
cmake -DOPENSSL_ROOT_DIR='/usr/include/openssl-1.0;/usr/lib/openssl-1.0' ...

This is useful for building with OpenSSL v1.0
when default system installation is v1.1.

The linking error is undefined SSL_load_error_strings symbol.
This is due to -L /usr/lib/openssl-1.0 not making it onto
the linkline (so -lssl pulls in the default system openssl).
2017-10-17 16:13:07 -04:00
redfish 29497f7920 epee: use boost type for SSL error code
Fixes compile error when building with OpenSSL v1.1:

contrib/epee/include/net/net_helper.h: In member function ‘void epee::net_utils::blocked_mode_client::shutdown_ssl()’:
contrib/epee/include/net/net_helper.h:579:106: error: ‘SSL_R_SHORT_READ’ was not declared in this scope
    if (ec.category() == boost::asio::error::get_ssl_category() && ec.value() != ERR_PACK(ERR_LIB_SSL, 0, SSL_R_SHORT_READ))
                                                                                                          ^
contrib/epee/include/net/net_helper.h:579:106: note: suggested alternative: ‘SSL_F_SSL_READ’

See boost/asio/ssl/error.hpp.
Boost handles differences between OpenSSL versions.

cmake: fail if Boost is too old for OpenSSL v1.1
2017-10-17 16:12:58 -04:00
moneromooo-monero 52ec0e7f4e
epee: link against ssl/crypto for the new SSL code 2017-10-15 19:11:34 +01:00