aboutsummaryrefslogtreecommitdiff
path: root/contrib/epee/include (follow)
AgeCommit message (Collapse)AuthorFilesLines
2018-10-26Merge pull request #4573Riccardo Spagni1-0/+1
8f3c7937 readline_buffer: fix "cursor in prompt" bug (moneromooo-monero)
2018-10-20console_handler: add a global log when exiting via EOFmoneromooo-monero1-1/+4
It's a common confusion point for users which run monerod without stdin and with --detach
2018-10-15Merge pull request #4489Riccardo Spagni4-10/+11
00901e9c epee: initialize a few data members where it seems to be appropriate (moneromooo-monero) 144a6c32 abstract_tcp_server2: move m_period to subclass (moneromooo-monero) 758d7684 connection_basic: remove unused floating time start time (moneromooo-monero) e5108a29 Catch more exceptions in dtors (moneromooo-monero)
2018-10-12readline_buffer: fix "cursor in prompt" bugmoneromooo-monero1-0/+1
It happens when readline displays a prompt just before switching to a shorter one
2018-10-12Remove epee header dependency on cryptonote_coremoneromooo-monero2-6/+5
2018-10-02epee: initialize a few data members where it seems to be appropriatemoneromooo-monero1-1/+3
2018-10-02abstract_tcp_server2: move m_period to subclassmoneromooo-monero1-5/+6
This is where it is actually used, and initialized
2018-10-02connection_basic: remove unused floating time start timemoneromooo-monero1-3/+0
2018-10-02Catch more exceptions in dtorsmoneromooo-monero1-1/+2
Misc coverity reports
2018-09-29Merge pull request #4459Riccardo Spagni3-2/+10
bcf3f6af fuzz_tests: catch unhandled exceptions (moneromooo-monero) 3ebd05d4 miner: restore stream flags after changing them (moneromooo-monero) a093092e levin_protocol_handler_async: do not propagate exception through dtor (moneromooo-monero) 1eebb82b net_helper: do not propagate exceptions through dtor (moneromooo-monero) fb6a3630 miner: do not propagate exceptions through dtor (moneromooo-monero) 2e2139ff epee: do not propagate exception through dtor (moneromooo-monero) 0749a8bd db_lmdb: do not propagate exceptions in dtor (moneromooo-monero) 1b0afeeb wallet_rpc_server: exit cleanly on unhandled exceptions (moneromooo-monero) 418a9936 unit_tests: catch unhandled exceptions (moneromooo-monero) ea7f9543 threadpool: do not propagate exceptions through the dtor (moneromooo-monero) 6e855422 gen_multisig: nice exit on unhandled exception (moneromooo-monero) 53df2deb db_lmdb: catch error in mdb_stat calls during migration (moneromooo-monero) e67016dd blockchain_blackball: catch failure to commit db transaction (moneromooo-monero) 661439f4 mlog: don't remove old logs if we failed to rename the current file (moneromooo-monero) 5fdcda50 easylogging++: test for NULL before dereference (moneromooo-monero) 7ece1550 performance_test: fix bad last argument calling add_arg (moneromooo-monero) a085da32 unit_tests: add check for page size > 0 before dividing (moneromooo-monero) d8b1ec8b unit_tests: use std::shared_ptr to shut coverity up about leaks (moneromooo-monero) 02563bf4 simplewallet: top level exception catcher to print nicer messages (moneromooo-monero) c57a65b2 blockchain_blackball: fix shift range for 32 bit archs (moneromooo-monero)
2018-09-25epee: fix stack overflow on crafted inputmoneromooo-monero1-5/+8
2018-09-25epee: fix invalid memory write reading an array entrymoneromooo-monero1-0/+8
Reported by Lilith Wyatt at Talos. Since this is not needed in normal operation, I just let this error out.
2018-09-21Merge pull request #4209Riccardo Spagni1-6/+40
26a42fe5 Added features to epee::span<T> : - Support for classes - Added `remove_prefix` function - Added `to_mut_span` and `as_mut_byte_span` (Lee Clagett)
2018-09-18Merge pull request #4306Riccardo Spagni2-1/+19
56b50faa wallet: use wipeable_string in more places where a secret is used (moneromooo-monero) 07ec748c wipeable_string: add hex_to_pod function (moneromooo-monero)
2018-09-18Merge pull request #3430Riccardo Spagni1-1/+1
42397359 Fixup 32bit arm build (TheCharlatan) a06d2581 Fix Windows build (TheCharlatan) ecaf5b3f Add libsodium to the packages, the arm build was complaining about it. (TheCharlatan) cbbf4d24 Adapt translations to upstream changes (TheCharlatan) db571546 Updated pcsc url (TheCharlatan) f0ba19fd Add lrelease to the depends (TheCharlatan) cfb30462 Add Miniupnp submodule (TheCharlatan) 5f7da005 Unbound is now a submodule. Adapt depends for this. (TheCharlatan) d6b9bdd3 Update readmes to reflect the usage of depends (TheCharlatan) 56b6e41e Add support for apple and arm building (TheCharlatan) 29311fd1 Disable stack unwinding for mingw32 depends build. (TheCharlatan) 8db3d573 Modify depends for monero's dependencies (TheCharlatan) 0806a23a Initial depends addition (TheCharlatan)
2018-09-14Merge pull request #4307Riccardo Spagni1-4/+20
4469b0c4 abstract_tcp_server2: fix binding to the wrong IP (moneromooo-monero) 8eab6147 epee: use the socket::bind variant which does not throw (moneromooo-monero)
2018-09-12wipeable_string: add hex_to_pod functionmoneromooo-monero2-1/+19
2018-09-10Modify depends for monero's dependenciesTheCharlatan1-1/+1
Add readline, ldns, graphviz, unbound to depends packages Add a cmake toolchain file to depends that is uniquely created for every build and placed in triple/share/toolchain.cmake This file is then passed to cmake with -DCMAKE_TOOLCHAIN_FILE=/path/to/triple/share/toolchain.cmake Add the boost locale package to depends In the depends cmake toolchain file, a DEPENDS flag is added to exclude, or change cmake checks done that are required for depends Link miniupnpc and unwind from depends and not external Add libiconv and icu4c to depends, required for mingw32 builds. Headers (winsock) need to be lower case in order to compile on unix systems. This should not affect building on windows.
2018-09-09abstract_tcp_server2: fix binding to the wrong IPmoneromooo-monero1-4/+4
2018-09-04Merge pull request #4270luigi11112-1/+14
29dea03 epee: resize vectors where possible in serialization (moneromooo-monero) 76affd9 epee: some speedup in parsing (moneromooo-monero) dc6c069 db_lmdb: speedup the get_output_distribution common case (moneromooo-monero) 76ac5a8 wallet2: ask for a binary output distribution, for speed (moneromooo-monero)
2018-08-27epee: use the socket::bind variant which does not throwmoneromooo-monero1-2/+18
When this throws in a loop, stack trace generation can take a significant amount of CPU
2018-08-19epee: some speedup in parsingmoneromooo-monero1-1/+8
2018-08-17epee: resize vectors where possible in serializationmoneromooo-monero1-0/+6
to avoid unnecessary repeated reallocation
2018-08-16common: add a class to safely wrap mlock/munlockmoneromooo-monero2-0/+94
This class will allow mlocking small objects, of which there may be several per page. It adds refcounting so pages are only munlocked when the last object on that page munlocks.
2018-08-16store secret keys encrypted where possiblemoneromooo-monero1-0/+9
The secret spend key is kept encrypted in memory, and decrypted on the fly when needed. Both spend and view secret keys are kept encrypted in a JSON field in the keys file. This avoids leaving the keys in memory due to being manipulated by the JSON I/O API.
2018-08-16wallet: wipe seed from memory where appropriatemoneromooo-monero3-1/+77
2018-08-15Merge pull request #4177luigi11111-0/+1
e7c0fcd epee: set jsonrpc to '2.0' in parse error return data (moneromooo-monero)
2018-08-15Merge pull request #4130luigi11112-1/+9
979105b abstract_tcp_server2: fix race on shutdown (moneromooo-monero)
2018-08-15Merge pull request #4090luigi11111-5/+13
42f3b7c http_protocol_handler: catch invalid numbers when parsing (moneromooo-monero) 0a4a7da http_protocol_handler: fix HTTP/x.y parsing (moneromooo-monero)
2018-08-03Added features to epee::span<T> :Lee Clagett1-6/+40
- Support for classes - Added `remove_prefix` function - Added `to_mut_span` and `as_mut_byte_span`
2018-07-25epee: set jsonrpc to "2.0" in parse error return datamoneromooo-monero1-0/+1
2018-07-15abstract_tcp_server2: fix race on shutdownmoneromooo-monero2-1/+9
2018-07-03http_protocol_handler: fix HTTP/x.y parsingmoneromooo-monero1-1/+1
It was accepting any character for the dot (yeah, massive big I know)
2018-07-03http_protocol_handler: catch invalid numbers when parsingmoneromooo-monero1-4/+12
2018-07-03Merge pull request #4080Riccardo Spagni1-2/+2
dead780f abstract_tcp_server2: fix use after free (moneromooo-monero)
2018-07-03Merge pull request #3997Riccardo Spagni1-4/+19
1a526ed5 abstract_tcp_server2: restart async accept on error (moneromooo-monero)
2018-06-29abstract_tcp_server2: fix use after freemoneromooo-monero1-2/+2
2018-06-28epee.string_tools: add conversion between UTF-8 and UTF-16stoffu2-15/+45
2018-06-25Merge pull request #3971luigi11111-1/+1
4ecf714 epee: fix include for ofstream (moneromooo-monero)
2018-06-25Merge pull request #3962luigi11114-19/+75
55c7fb8 epee: adaptive connection timeout system (moneromooo-monero)
2018-06-20Merge pull request #3902luigi11111-1/+1
f8dd433 epee: fix detection of 172.16.0.0/172.31.255.255 local IP range (moneromooo-monero) 5db9e3c unit_tests: add tests for local IP range detection (moneromooo-monero)
2018-06-20Merge pull request #3897luigi11111-1/+2
63d0ab0 mlog: --max-log-files to set the max number of rotated log files (stoffu)
2018-06-19Merge pull request #3878luigi11111-3/+3
5a412b7 disable file size sanity check when loading the wallet cache (moneromooo-monero)
2018-06-19Merge pull request #3821luigi11111-1/+1
558d05b epee: log type name when a container size check fails (moneromooo-monero) a2566db object_sizes: add a few useful types (moneromooo-monero)
2018-06-18abstract_tcp_server2: restart async accept on errormoneromooo-monero1-4/+19
2018-06-13wallet-rpc: added IPs to error logging in simple_http_connection_handlerjcktm2-18/+18
2018-06-13mlog: --max-log-files to set the max number of rotated log filesstoffu1-1/+2
2018-06-10epee: adaptive connection timeout systemmoneromooo-monero4-19/+75
a connection's timeout is halved for every extra connection from the same host. Also keep track of when we don't need to use a connection anymore, so we can close it and free the resource for another connection. Also use the longer timeout for non routable local addresses.
2018-06-09epee: fix include for ofstreammoneromooo-monero1-1/+1
2018-06-01epee: fix detection of 172.16.0.0/172.31.255.255 local IP rangemoneromooo-monero1-1/+1
2018-05-28disable file size sanity check when loading the wallet cachemoneromooo-monero1-3/+3
2018-05-27http_protocol_handler: limit the number of starting newlinesmoneromooo-monero3-1/+12
2018-05-26abstract_tcp_server2: timeout on RPC connectionsmoneromooo-monero2-1/+68
2018-05-26http_protocol_handler: speedup newline discardingmoneromooo-monero1-2/+5
2018-05-26console_handler: fix start_default_console use of prompt parametermoneromooo-monero1-3/+21
It had not been updated to the function type change
2018-05-17epee: log type name when a container size check failsmoneromooo-monero1-1/+1
2018-04-19epee: Drop deprecated Boost.Thread headerJan Beich2-2/+4
In file included from src/cryptonote_basic/hardfork.cpp:33: In file included from src/blockchain_db/blockchain_db.h:42: In file included from src/cryptonote_basic/hardfork.h:31: contrib/epee/include/syncobj.h:37:10: fatal error: 'boost/thread/v2/thread.hpp' file not found #include <boost/thread/v2/thread.hpp> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from src/rpc/daemon_handler.cpp:29: In file included from src/rpc/daemon_handler.h:36: In file included from src/p2p/net_node.h:41: In file included from contrib/epee/include/net/levin_server_cp2.h:32: In file included from contrib/epee/include/net/abstract_tcp_server2.h:324: contrib/epee/include/net/abstract_tcp_server2.inl:44:10: fatal error: 'boost/thread/v2/thread.hpp' file not found #include <boost/thread/v2/thread.hpp> // TODO ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ contrib/epee/include/math_helper.h: In member function 'bool epee::math_helper::average<val, default_base>::set_base()': contrib/epee/include/syncobj.h:227:56: error: 'sleep_for' is not a member of 'boost::this_thread' #define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x) ^ contrib/epee/include/syncobj.h:227:56: note: in definition of macro 'CRITICAL_REGION_LOCAL' #define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x) ^~~~~~~~~ contrib/epee/include/syncobj.h:227:56: note: suggested alternative: 'sleep' #define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x) ^ contrib/epee/include/syncobj.h:227:56: note: in definition of macro 'CRITICAL_REGION_LOCAL' #define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x) ^~~~~~~~~
2018-03-15Fix typos in various filesDimitris Apostolou2-2/+2
2018-02-25Wallet2 + CLI wallet: UTF-8 support for filenames and paths under Windowsrbrunner71-1/+82
2018-02-20Merge pull request #3243Riccardo Spagni1-2/+2
2bc8c3db epee get_ns_count: cast to uint64_t before multiplying 10^9 to avoid overflow (stoffu)
2018-02-16Merge pull request #3226Riccardo Spagni4-11/+11
e4646379 keccak: fix mdlen bounds sanity checking (moneromooo-monero) 2e3e90ac pass large parameters by const ref, not value (moneromooo-monero) 61defd89 blockchain: sanity check number of precomputed hash of hash blocks (moneromooo-monero) 9af6b2d1 ringct: fix infinite loop in unused h2b function (moneromooo-monero) 8cea8d0c simplewallet: double check a new multisig wallet is multisig (moneromooo-monero) 9b98a6ac threadpool: catch exceptions in dtor, to avoid terminate (moneromooo-monero) 24803ed9 blockchain_export: fix buffer overflow in exporter (moneromooo-monero) f3f7da62 perf_timer: rewrite to make it clear there is no division by zero (moneromooo-monero) c6ea3df0 performance_tests: remove add_arg call stray extra param (moneromooo-monero) fa6b4566 fuzz_tests: fix an uninitialized var in setup (moneromooo-monero) 03887f11 keccak: fix sanity check bounds test (moneromooo-monero) ad11db91 blockchain_db: initialize m_open in base class ctor (moneromooo-monero) bece67f9 miner: restore std::cout precision after modification (moneromooo-monero) 1aabd14c db_lmdb: check hard fork info drop succeeded (moneromooo-monero)
2018-02-16Merge pull request #3252Riccardo Spagni1-0/+3
f689a77e Fix #602 Turn on socket keepalive (Howard Chu)
2018-02-16Merge pull request #3217Riccardo Spagni1-3/+0
fde4489e wipeable_string: call memwipe directly (moneromooo-monero)
2018-02-11Fix #602 Turn on socket keepaliveHoward Chu1-0/+3
2018-02-08epee get_ns_count: cast to uint64_t before multiplying 10^9 to avoid overflowstoffu1-2/+2
2018-02-02pass large parameters by const ref, not valuemoneromooo-monero4-11/+11
Coverity 136394 136397 136409 136526 136529 136533 175302
2018-01-31wipeable_string: call memwipe directlymoneromooo-monero1-3/+0
since the original reason for the indirect call (that memwipe was not in contrib) is now gone
2018-01-29Fix method name in invoke_http_json_rpcErik de Castro Lopo1-1/+1
Previously, the method name was printed as an exmpty string because the input string had already been moved with `std::move`.
2018-01-29Allow the number of incoming connections to be limitedErik de Castro Lopo1-33/+45
It was already possible to limit outgoing connections. One might want to do this on home network connections with high bandwidth but low usage caps.
2018-01-27Merge pull request #2969Riccardo Spagni3-12/+15
95171614 Remove is_pod trait, and replace with is_standard_layout requirement (Lee Clagett)
2018-01-27Merge pull request #3098Riccardo Spagni1-1/+1
935e39c7 levin_protocol_handler_async: erase from back of vector instead of front (stoffu)
2018-01-26Readd copyright starting datexmr-eric4-4/+4
2018-01-26Update 2018 copyrightxmr-eric8-8/+8
2018-01-26levin_protocol_handler_async: erase from back of vector instead of frontstoffu1-1/+1
2018-01-25Merge pull request #3012Riccardo Spagni1-8/+18
e4bbeff2 epee: check some error return values (moneromooo-monero)
2018-01-18Remove is_pod trait, and replace with is_standard_layout requirementLee Clagett3-12/+15
2018-01-11epee: detect strptime, use std::get_time as fallbackmoneromooo-monero1-0/+6
2018-01-10Merge pull request #2990Riccardo Spagni1-1/+0
2d17feb0 factor STL container serialization (moneromooo-monero)
2018-01-10Merge pull request #2986Riccardo Spagni1-3/+3
373d1d50 epee: use strptime instead of std::get_time, for compatibility (moneromooo-monero)
2018-01-10move memwipe to epee to avoid common<->crypto circular dependenciesmoneromooo-monero1-0/+84
2018-01-10epee: remove dependency on commonmoneromooo-monero4-7/+9
2017-12-27epee: check some error return valuesmoneromooo-monero1-8/+18
2017-12-25Merge pull request #2936Riccardo Spagni1-9/+12
cb9aa23c levin_protocol_handler_async: another attempt at fixing at exception (moneromooo-monero) 64d23ce3 Revert "epee: keep a ref to a connection we're deleting" (moneromooo-monero)
2017-12-25Merge pull request #2930Riccardo Spagni1-5/+9
7f4bb612 levin_protocol_handler_async: add missing response handler locking (moneromooo-monero)
2017-12-25Merge pull request #2929Riccardo Spagni1-0/+20
ae55bacd resumption support for updates using range requests (moneromooo-monero) fe0fae50 epee: add a get_file_size function (moneromooo-monero)
2017-12-25Merge pull request #2920Riccardo Spagni6-8/+21
bd5cce07 network_throttle: fix ineffective locking (moneromooo-monero) e0a61299 network_throttle: remove unused xxx static member (moneromooo-monero) 24f584d9 cryptonote_core: remove unused functions with off by one bugs (moneromooo-monero) b1634aa3 blockchain: don't leave dangling pointers in this (moneromooo-monero) 8e60b81c cryptonote_core: fix db leak on error (moneromooo-monero) 213e326c abstract_tcp_server2: log init_server errors as fatal (moneromooo-monero) b51dc566 use const refs in for loops for non tiny types (moneromooo-monero) f0568ca6 net_parse_helpers: fix regex error checking (moneromooo-monero) b49ddc76 check accessing an element past the end of a container (moneromooo-monero) 2305bf26 check return value for generate_key_derivation and derive_public_key (moneromooo-monero) a4240d9f catch const exceptions (moneromooo-monero) 45a1c4c0 add empty container sanity checks when using front() and back() (moneromooo-monero) 56fa6ce1 tests: fix a buffer overread in a unit test (moneromooo-monero) b4524892 rpc: guard against json parsing a non object (moneromooo-monero) c2ed8618 easylogging++: avoid buffer underflow (moneromooo-monero) 187a6ab2 epee: trap failure to parse URI from request (moneromooo-monero) 061789b5 checkpoints: trap failure to load JSON checkpoints (moneromooo-monero) ba2fefb9 checkpoints: pass std::string by const ref, not const value (moneromooo-monero) 38c8f4e0 mlog: terminate a string at last char, just in case (moneromooo-monero) d753d716 fix a few leaks by throwing objects, not newed pointers to objects (moneromooo-monero) fe568db8 p2p: use size_t for arbitrary counters instead of uint8_t (moneromooo-monero) 46d6fa35 cryptonote_protocol: sanity check chain hashes from peer (moneromooo-monero) 25584f86 cryptonote_protocol: print peer versions when unexpected (moneromooo-monero) 490a5d41 rpc: do not try to use an invalid txid in relay_tx (moneromooo-monero)
2017-12-25Merge pull request #2909Riccardo Spagni1-0/+1
dba2de61 levin_protocol_handler_async: call handler destroy function on dtor (moneromooo-monero)
2017-12-25Merge pull request #2905Riccardo Spagni1-77/+109
bd1f6029 http_client: rewrite header parsing manually for speed (moneromooo-monero) ec724eb6 tests: add levin fuzz test (moneromooo-monero) f1bdc9a4 tests: add http client fuzz test (moneromooo-monero) 0272df9e add parse_url fuzz test (moneromooo-monero) 261b0dd0 tests: add base58 fuzz test (moneromooo-monero) fd052087 fuzz_testing: allow automatically resuming an interrupted job (moneromooo-monero) c80bb0eb tests: don't init stuff we don't need in fuzz tests - faster (moneromooo-monero) 53b83a83 tests: better load-from-binary fuzz test data file (moneromooo-monero) 1a379ef6 fuzz_testing: build with ASAN (assumed to be available) (moneromooo-monero) 4cd4a431 fuzz_testing: create out directory if needed, and fix filename passing (moneromooo-monero) c27d9092 Makefile: build fuzz tests statically, starts faster (moneromooo-monero) 95aa0bf7 add load_from_binary/load_from_json fuzzers (moneromooo-monero)
2017-12-23Fix Windows builddEBRUYNE-11-0/+4
Fix no new line
2017-12-23http_client: rewrite header parsing manually for speedmoneromooo-monero1-74/+95
boost::regex is stupendously atrocious at parsing malformed data
2017-12-23tests: add http client fuzz testmoneromooo-monero1-3/+14
2017-12-22factor STL container serializationmoneromooo-monero1-1/+0
2017-12-21epee: use strptime instead of std::get_time, for compatibilitymoneromooo-monero1-3/+3
2017-12-18network_throttle: remove unused xxx static membermoneromooo-monero1-2/+0
2017-12-18abstract_tcp_server2: log init_server errors as fatalmoneromooo-monero1-1/+11
so they show up by default
2017-12-18net_parse_helpers: fix regex error checkingmoneromooo-monero1-2/+2
2017-12-18catch const exceptionsmoneromooo-monero1-1/+1
2017-12-18add empty container sanity checks when using front() and back()moneromooo-monero1-1/+1
2017-12-18epee: trap failure to parse URI from requestmoneromooo-monero1-1/+6
2017-12-17Merge pull request #2857Riccardo Spagni1-1/+1
7193b89f Scrub keys from memory just before scope end. (moneromooo-monero)
2017-12-17Merge pull request #2877Riccardo Spagni4-2/+444
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-16move connection_basic and network_throttle from src/p2p to epeemoneromooo-monero4-2/+444
These even had the epee namespace. This fixes some ugly circular dependencies.
2017-12-16move includes around to lessen overall loadmoneromooo-monero18-75/+40
2017-12-16Scrub keys from memory just before scope end.moneromooo-monero1-1/+1
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-16Merge pull request #2866Riccardo Spagni1-5/+4
cf5f6236 Corrections in rate limiting / trottle code, especially in 'out' direction (rbrunner7)
2017-12-16Merge pull request #2860Riccardo Spagni2-3/+73
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-15levin_protocol_handler_async: another attempt at fixing at exceptionmoneromooo-monero1-3/+12
2017-12-15Revert "epee: keep a ref to a connection we're deleting"moneromooo-monero1-8/+2
This reverts commit f2939bdce8c86b0f96921f731184c361106390c8.
2017-12-15levin_protocol_handler_async: add missing response handler lockingmoneromooo-monero1-5/+9
2017-12-15epee: add a get_file_size functionmoneromooo-monero1-0/+20
2017-12-11levin_protocol_handler_async: call handler destroy function on dtormoneromooo-monero1-0/+1
2017-12-10Merge pull request #2906Riccardo Spagni2-5/+27
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-09net_utils_base: fix peer list parsingmoneromooo-monero1-3/+25
Fields are written with their "name" as key, and that name changed.
2017-12-07epee: add do while(0) around brace statement in a macromoneromooo-monero1-1/+1
Allows use in more complex expressions
2017-12-02Merge pull request #2832Riccardo Spagni1-9/+15
287dde63 Added command descriptions (Cifrado)
2017-12-01epee: fix kv_unserialize return value when a field is not foundmoneromooo-monero1-2/+2
2017-11-28Corrections in rate limiting / trottle code, especially in 'out' directionrbrunner71-5/+4
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-27new wipeable_string class to replace std::string passphrasesmoneromooo-monero2-3/+73
2017-11-26Added command descriptionsCifrado1-9/+15
2017-11-16RPC: CORS add Access-Control-Allow-Headers to OPTIONS preflightTim L1-0/+3
2017-11-14Merge pull request #2811Riccardo Spagni1-0/+2
f80f408b epee: don't disable -Wtautological-constant-out-of-range-compare on GCC (moneromooo-monero)
2017-11-14Merge pull request #2629Riccardo Spagni1-2/+0
383ff4f6 remove "using namespace std" from headers (moneromooo-monero)
2017-11-14epee: don't disable -Wtautological-constant-out-of-range-compare on GCCmoneromooo-monero1-0/+2
It's a CLANG only option, and causes GCC to error out
2017-11-14remove "using namespace std" from headersmoneromooo-monero1-2/+0
It's nasty, and actually breaks on Solaris, where if.h fails to build due to: struct map *if_memmap;
2017-11-14Merge pull request #2756Riccardo Spagni6-0/+0
0bf09154 Fix file permission issue (Tim L)
2017-11-14Merge pull request #2753Riccardo Spagni2-0/+11
fa514082 RPC: get_info add rpc_connections_count (Tim L)
2017-11-14Merge pull request #2743Riccardo Spagni1-0/+1
9ff8e139 epee: disable a spurious warning for a storage function (moneromooo-monero)
2017-11-14Merge pull request #2617Riccardo Spagni4-5/+26
7dbf76d0 Fix an object lifetime bug in net load tests (moneromooo-monero)
2017-11-07RPC: get_info add rpc_connections_countTim L2-0/+11
2017-11-03Fix file permission issueTim L6-0/+0
This branch fixes a file permission issue introduced by https://github.com/monero-project/monero/commit/69c37200aa87f100f731e755bdca7a0dc6ae820a
2017-11-01Merge pull request #2663Riccardo Spagni1-1/+9
4b228dd3 cmake: epee: use var from FindOpenSSL.cmake (redfish) 29497f79 epee: use boost type for SSL error code (redfish)
2017-10-31Merge pull request #2723Riccardo Spagni6-17/+60
69c37200 RPC Add cross origin resource sharing support (Tim L)
2017-10-30RPC Add cross origin resource sharing supportTim L6-17/+60
2017-10-28epee: disable a spurious warning for a storage functionmoneromooo-monero1-0/+1
2017-10-20net_helper: fix massive slowdown after SSL supportmoneromooo-monero1-5/+5
2017-10-17epee: use boost type for SSL error coderedfish1-1/+9
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-15Merge pull request #2602Riccardo Spagni2-5/+5
bc1b9333 frob level 1 logs a bit for consistency (moneromooo-monero)
2017-10-15add string_tools::validate_hex()Jaquee1-0/+6
2017-10-15Serializer: string to integer conversion for MyMonero compatibilityJaquee1-0/+27
mymonero timestamp conversion
2017-10-15epee http_client SSL supportJaquee3-46/+111
2017-10-09Fix an object lifetime bug in net load testsmoneromooo-monero4-5/+26
The commands handler must not be destroyed before the config object, or we'll be accessing freed memory. An earlier attempt at using boost::shared_ptr to control object lifetime turned out to be very invasive, though would be a better solution in theory.
2017-10-07frob level 1 logs a bit for consistencymoneromooo-monero2-5/+5
Level 1 logs map to INFO, so setting log level to 1 should show these. Demote some stuff to DEBUG to avoid spam, though.
2017-10-07Subaddresseskenshi841-5/+41
2017-10-06Merge pull request #2541Riccardo Spagni1-0/+2
15e62581 connection_context: initialize m_callback_request_count to 0 (moneromooo-monero) 5fa199c6 copyable_atomic: add a ctor with initial value (moneromooo-monero)
2017-10-05Upgrades to epee::net_utils::network_addressLee Clagett2-71/+127
- internal nullptr checks - prevent modifications to network_address (shallow copy issues) - automagically works with any type containing interface functions - removed fnv1a hashing - ipv4_network_address now flattened with no base class
2017-10-02Merge pull request #2512Riccardo Spagni1-0/+1
792ba4f0 Log categories can now be added to and removed from (moneromooo-monero) 48f92eb6 easylogging++: add categories getter (moneromooo-monero) f35afe62 epee: factor log level/categories setting (moneromooo-monero)
2017-10-02Merge pull request #2475Riccardo Spagni1-2/+8
f2939bdc epee: keep a ref to a connection we're deleting (moneromooo-monero)
2017-10-02Merge pull request #2467Riccardo Spagni1-0/+3
2e82b232 epee: give virtual dtor to network_address_base (moneromooo-monero)
2017-09-27copyable_atomic: add a ctor with initial valuemoneromooo-monero1-0/+2
2017-09-25serialization: add deque serializationmoneromooo-monero1-0/+36
2017-09-25Merge pull request #2456Riccardo Spagni1-1/+2
91def9a5 daemon, wallet: add --max-log-file-size option (selsta)
2017-09-25http_base: init size_t in http_request_info ctormoneromooo-monero1-1/+2
CID 161879
2017-09-22Log categories can now be added to and removed frommoneromooo-monero1-0/+1
Also, set_log without parameters now prints the log categories
2017-09-21Merge pull request #2302Riccardo Spagni2-22/+15
ef005f5e p2p: add a couple early outs when the stop signal is received (moneromooo-monero) 80d361c7 abstract_tcp_server2: improve tracking/cancelling of early connections (moneromooo-monero)
2017-09-19epee: keep a ref to a connection we're deletingmoneromooo-monero1-2/+8
close might end up dropping a ref, ending up removing the connection from m_connects, as the lock is recursive. This'd cause an out of bounds exception and kill the idle connection maker thread
2017-09-18epee: give virtual dtor to network_address_basemoneromooo-monero1-0/+3
It has virtual functions and is used as a base class
2017-09-17daemon, wallet: add --max-log-file-size optionselsta1-1/+2
2017-08-26Merge pull request #2320Riccardo Spagni2-18/+16
c656dd0e Fix refresh counter display (Howard Chu) c088d38a Simplify readline support (Howard Chu)
2017-08-25Merge pull request #2311Riccardo Spagni1-0/+12
df0cffed cryptonote_protocol: warn if we see a higher top version we expect (moneromooo-monero) 317ab21a cryptonote_protocol: less strict check on top version on connect (moneromooo-monero) cc81a371 cryptonote_protocol: update target height when syncing too (moneromooo-monero) e2ad372b cryptonote_protocol: simplify and remove unnecessary casts (moneromooo-monero) 727e67ca cryptonote_protocol: print peer top height along with its version (moneromooo-monero) b5345ef4 crypto: use malloc instead of alloca (moneromooo-monero) 80794b31 thread_group: set thread size to THREAD_STACK_SIZE (moneromooo-monero) 5524bc31 print peer id in 0 padded hex for consistency (moneromooo-monero) 8f8cc09b contrib: add sync_info to rlwrap command set (moneromooo-monero) 70b8c6d7 cryptonote_protocol: misc fixes to the new sync algorithm (moneromooo-monero)
2017-08-23print peer id in 0 padded hex for consistencymoneromooo-monero1-0/+12
2017-08-22http_client: add getters for host and portmoneromooo-monero1-0/+3
2017-08-22Simplify readline supportHoward Chu2-18/+16
And don't use std::mutex
2017-08-16abstract_tcp_server2: improve tracking/cancelling of early connectionsmoneromooo-monero2-22/+15
We don't actually need to keep them past the call to start, as this adds them to the config object list, and so they'll then be cancelled already when the stop signal arrives. This allows removing the periodic call to cleanup connections.
2017-08-16Construct on first use for completion_commandsJethro Grassie1-11/+3
2017-08-15Merge pull request #2253Riccardo Spagni1-2/+2
51ebedb8 epee: remove a couple unused locals (moneromooo-monero)
2017-08-15Merge pull request #2240Riccardo Spagni1-11/+16
b7d6ec83 simplewallet: add (out of sync) or (no daemon) markers in the prompt (moneromooo-monero) fa23a500 wallet2: add a is_synced function (moneromooo-monero) f1307bbd node_rpc_proxy: add a proxy for target height (moneromooo-monero)
2017-08-15Merge pull request #2237Riccardo Spagni2-5/+17
5d4ef719 core: speed up output index unique set calculation (moneromooo-monero) 19d7f568 perf_timer: allow profiling more granular than millisecond (moneromooo-monero) bda8c598 epee: add nanosecond timer and pause/restart profiling macros (moneromooo-monero)
2017-08-09epee: fixup KV_SERIALIZE_OPT to work in more casesmoneromooo-monero1-1/+4
2017-08-07Merge pull request #2149Riccardo Spagni1-0/+14
158c3ecf core: thread most of handle_incoming_tx (moneromooo-monero) f57ee382 cryptonote_protocol: retry stale spans early (moneromooo-monero) 90df52e1 cryptonote_protocol: light cleanup (moneromooo-monero) 84e23156 cryptonote_protocol: avoid spurious SYNCHRONIZED OK messages (moneromooo-monero) 5be43fcd cryptonote_protocol_handler: sync speedup (moneromooo-monero)
2017-08-07Merge pull request #2220Riccardo Spagni1-3/+0
c6ba7d11 p2p: move m_in_timedsync from connection_context to p2p_connection_context (moneromooo-monero)
2017-08-07Merge pull request #2201Riccardo Spagni1-0/+7
dc0b312f wallet_rpc_server: optionally return tx blobs on transfer calls (moneromooo-monero) 5eb79983 epee: add a KV_SERIALIZE variant for optional parameters (moneromooo-monero)
2017-08-07Merge pull request #2195Riccardo Spagni1-0/+1
599436a4 mlog: default to msgwriter logs only for log level 1 (moneromooo-monero) 58f3fc68 Make msgwriter logs go to file only (moneromooo-monero)
2017-08-07Merge pull request #2151Riccardo Spagni1-1/+1
13a8d64f epee: don't send the body of the response to a HEAD HTTP request (Guillaume LE VAILLANT)
2017-08-07Merge pull request #2153Riccardo Spagni6-9/+9
35d68b2c Fix spelling errors (Erik de Castro Lopo)
2017-08-07cryptonote_protocol_handler: sync speedupmoneromooo-monero1-0/+14
A block queue is now placed between block download and block processing. Blocks are now requested only from one peer (unless starved). Includes a new sync_info coommand.
2017-08-05epee: remove a couple unused localsmoneromooo-monero1-2/+2
2017-08-02simplewallet: add (out of sync) or (no daemon) markers in the promptmoneromooo-monero1-11/+16
Should help people who don't realize why they haven't seen their monero yet.
2017-08-01p2p: move m_in_timedsync from connection_context to p2p_connection_contextmoneromooo-monero1-3/+0
It's got no place in the base class as it's P2P specific field
2017-08-01epee: add nanosecond timer and pause/restart profiling macrosmoneromooo-monero2-5/+17
Nanosecond timer precision won't work on Windows, but we don't care since I'm using that just for profiling incremental code paths, but a Windows coder is welcome to add it if there's a way.
2017-07-24epee: add a KV_SERIALIZE variant for optional parametersmoneromooo-monero1-0/+7
2017-07-24Make msgwriter logs go to file onlymoneromooo-monero1-0/+1
This was the case for monero-wallet-cli already, but not for monerod, which was making it pretty spammy as it was duplicating intended output. Since my original intent was to ensure logs included command output for debugging, this achieves both.
2017-07-19Merge pull request #2159Riccardo Spagni2-0/+19
6955976b Add various readline related fixes (Jethro Grassie)
2017-07-19Merge pull request #2131Riccardo Spagni1-3/+3
a04faf56 abstract_tcp_server2: guard against accessing lock on a destroyed object (moneromooo-monero)
2017-07-09Add various readline related fixesJethro Grassie2-0/+19
- Add missing unbind key - Fix colored messages - Add command completion - Preserve last command input - Fix cursor position issues - Fix trailing whitespace in commands - Synchronize set_prompt
2017-07-05epee: don't send the body of the response to a HEAD HTTP requestGuillaume LE VAILLANT1-1/+1
According to the HTTP spec: "The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response".
2017-07-05Fix spelling errorsErik de Castro Lopo6-9/+9
2017-07-03Merge pull request #2130Riccardo Spagni1-15/+20
a0d2c745 Fix issue #2119 SEGV (Howard Chu)
2017-07-03Merge pull request #2122Riccardo Spagni1-1/+0
a282c575 Fix #2071: remove declaration of unused variable "it" in epee (binaryFate)
2017-07-03Merge pull request #2098Riccardo Spagni1-1/+5
fdccf7e6 Add readline improvements (Jethro Grassie)
2017-07-01Fix issue #2119 SEGVHoward Chu1-15/+20
Due to bad refactoring in PR #2073. timeout_handler() doesn't work as a virtual function.
2017-06-28abstract_tcp_server2: guard against accessing lock on a destroyed objectmoneromooo-monero1-3/+3
2017-06-28Remove typeid use in network_addressmoneromooo-monero1-3/+2
Since I had to add an ID to the derived classes anyway, this can be used instead. This removes an apparently pointless warning from CLANG too.
2017-06-26Fix #2071: remove declaration of unused variable "it" in epeebinaryFate1-1/+0
2017-06-24Add readline improvementsJethro Grassie1-1/+5
Color prompt now working and no reprompting on exit command.
2017-06-24Merge pull request #2103Riccardo Spagni1-2/+2
21b939e1 readline: fix invalid memory access (moneromooo-monero) 5f8f2905 readline_buffer: add a couple const (moneromooo-monero)
2017-06-24Merge pull request #2073Riccardo Spagni2-9/+49
07c4276c Don't issue a new timedsync while one is already in progress (Howard Chu) cf3a376c Don't timeout a slow operation that's making progress (Howard Chu) 340830de Fix PR#2039 (Howard Chu)
2017-06-21readline_buffer: add a couple constmoneromooo-monero1-2/+2
2017-06-19net_utils_base: added missing template keywordkenshi841-1/+1
2017-06-18Add readline support to clijethro2-0/+81
This PR adds readline support to the daemon and monero-wallet-cli. Only GNU readline is supported (e.g. not libedit) and there are cmake checks to ensure this. There is a cmake variable, Readline_ROOT_DIR that can specify a directory to find readline, otherwise some default paths are searched. There is also a cmake option, USE_READLINE, that defaults to ON. If set to ON, if readline is not found, the build continues but without readline support. One negative side effect of using readline is that the color prompt in the wallet-cli now has no color and just uses terminal default. I know how to fix this but it's quite a big change so will tackle another time.
2017-06-15Don't issue a new timedsync while one is already in progressHoward Chu1-0/+3
A timedsync is issued every minute on a connection, but the input tineout is 2 minutes. This means a new sync request could be issued while a slow sync request was already in progress. The additional request will further clog the network on a slow connection, and cause a premature timeout.