aboutsummaryrefslogtreecommitdiff
path: root/contrib/epee/include/net
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge pull request #2130Riccardo Spagni2017-07-031-15/+20
|\ \ | | | | | | | | | a0d2c745 Fix issue #2119 SEGV (Howard Chu)
| * | Fix issue #2119 SEGVHoward Chu2017-07-011-15/+20
| |/ | | | | | | | | Due to bad refactoring in PR #2073. timeout_handler() doesn't work as a virtual function.
* / Remove typeid use in network_addressmoneromooo-monero2017-06-281-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.
* Merge pull request #2073Riccardo Spagni2017-06-242-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)
| * Don't issue a new timedsync while one is already in progressHoward Chu2017-06-151-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.
| * Don't timeout a slow operation that's making progressHoward Chu2017-06-151-9/+46
| | | | | | | | | | If we got at least MIN_BYTES_WANTED (default 512) during any network poll, reset the timeout to allow more time for data to arrive.
* | net_utils_base: added missing template keywordkenshi842017-06-191-1/+1
| |
* | abstracted nework addressesmoneromooo-monero2017-05-277-25/+121
|/ | | | | | | | | | All code which was using ip and port now uses a new IPv4 object, subclass of a new network_address class. This will allow easy addition of I2P addresses later (and also IPv6, etc). Both old style and new style peer lists are now sent in the P2P protocol, which is inefficient but allows peers using both codebases to talk to each other. This will be removed in the future. No other subclasses than IPv4 exist yet.
* Removed boost/asio.hpp include from epee/string_tools.hLee Clagett2017-03-182-0/+2
|
* http_client: allow cancelling a downloadmoneromooo-monero2017-03-051-2/+10
|
* http_client: allow derived class to get headers at startmoneromooo-monero2017-03-051-0/+11
|
* Merge pull request #1762Riccardo Spagni2017-02-221-1/+1
|\ | | | | | | dcf684c7 http_server_impl_base: set bind message to MGINFO (anonimal)
| * http_server_impl_base: set bind message to MGINFOanonimal2017-02-211-1/+1
| |
* | update copyright year, fix occasional lack of newline at line endRiccardo Spagni2017-02-211-1/+1
|/
* http_client: add a couple constsmoneromooo-monero2017-02-201-2/+2
|
* epee: fix some log macros not printing context nicelymoneromooo-monero2017-02-121-5/+5
|
* Add server auth to monerod, and client auth to wallet-cli and wallet-rpcLee Clagett2017-02-065-38/+75
|
* Updates to epee HTTP client codeLee Clagett2017-01-253-183/+63
| | | | | | | | - http_simple_client now uses std::chrono for timeouts - http_simple_client accepts timeouts per connect / invoke call - shortened names of epee http invoke functions - invoke command functions only take relative path, connection is not automatically performed
* Change logging to easylogging++moneromooo-monero2017-01-1625-116/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces the epee and data_loggers logging systems with a single one, and also adds filename:line and explicit severity levels. Categories may be defined, and logging severity set by category (or set of categories). epee style 0-4 log level maps to a sensible severity configuration. Log files now also rotate when reaching 100 MB. To select which logs to output, use the MONERO_LOGS environment variable, with a comma separated list of categories (globs are supported), with their requested severity level after a colon. If a log matches more than one such setting, the last one in the configuration string applies. A few examples: This one is (mostly) silent, only outputting fatal errors: MONERO_LOGS=*:FATAL This one is very verbose: MONERO_LOGS=*:TRACE This one is totally silent (logwise): MONERO_LOGS="" This one outputs all errors and warnings, except for the "verify" category, which prints just fatal errors (the verify category is used for logs about incoming transactions and blocks, and it is expected that some/many will fail to verify, hence we don't want the spam): MONERO_LOGS=*:WARNING,verify:FATAL Log levels are, in decreasing order of priority: FATAL, ERROR, WARNING, INFO, DEBUG, TRACE Subcategories may be added using prefixes and globs. This example will output net.p2p logs at the TRACE level, but all other net* logs only at INFO: MONERO_LOGS=*:ERROR,net*:INFO,net.p2p:TRACE Logs which are intended for the user (which Monero was using a lot through epee, but really isn't a nice way to go things) should use the "global" category. There are a few helper macros for using this category, eg: MGINFO("this shows up by default") or MGINFO_RED("this is red"), to try to keep a similar look and feel for now. Existing epee log macros still exist, and map to the new log levels, but since they're used as a "user facing" UI element as much as a logging system, they often don't map well to log severities (ie, a log level 0 log may be an error, or may be something we want the user to see, such as an important info). In those cases, I tried to use the new macros. In other cases, I left the existing macros in. When modifying logs, it is probably best to switch to the new macros with explicit levels. The --log-level options and set_log commands now also accept category settings, in addition to the epee style log levels.
* Added (not yet enabled) HTTP client authenticationLee Clagett2017-01-113-22/+101
|
* Workarounds for gcc 4.8Lee Clagett2016-12-301-3/+10
|
* Adding HTTP Digest Auth (but not yet enabled)Lee Clagett2016-12-134-6/+103
|
* Merge pull request #1403Riccardo Spagni2016-12-041-1/+1
|\ | | | | | | 60633cf6 Spelling in errors (taushet)
| * Spelling in errorstaushet2016-12-041-1/+1
| |
* | Merge pull request #1385Riccardo Spagni2016-12-041-0/+30
|\ \ | | | | | | | | | | | | | | | 5783dd8c tests: add unit tests for uri parsing (moneromooo-monero) 82ba2108 wallet: add API and RPC to create/parse monero: URIs (moneromooo-monero) d9001b43 epee: add functions to convert from URL format (ie, %XX values) (moneromooo-monero)
| * | epee: add functions to convert from URL format (ie, %XX values)moneromooo-monero2016-11-281-0/+30
| |/
* / epee: signal cond var before unlockingmoneromooo-monero2016-11-281-1/+1
|/ | | | This is more canonical, and avoids some helgrind spam
* Fix DNS failures in offline mode preventing daemon startupmoneromooo-monero2016-11-231-3/+3
|
* levin: fix wrong value passed as return code to remote callmoneromooo-monero2016-11-121-1/+1
| | | | | | | | When receiving an answer packet, the command code was passed to the callback instead of the error code. This was hiding the "command not found" failure from the peer, and in turn causing the code to attempt to deserialize a non existent reply string.
* Removed all code related to fast_exitNanoAkron2016-10-032-14/+1
|
* epee: optionally restrict HTTP service to a configurable user agentmoneromooo-monero2016-09-185-12/+31
| | | | | | | | This is intended to catch traffic coming from a web browser, so we avoid issues with a web page sending a transfer RPC to the wallet. Requiring a particular user agent can act as a simple password scheme, while we wait for 0MQ and proper authentication to be merged.
* epee: do not try network resolution if loopback workedmoneromooo-monero2016-09-011-1/+1
| | | | | Fixes the wallet being unable to connect to the daemon when there is no NIC.
* contrib: epee: add missing noexcept spec to class declredfish2016-06-221-1/+1
| | | | | | The noexcept specs were added to make GCC 6.1.1 happy (#846), but this one was missing (because GCC did not complain about it on Linux, but does complain on OSX).
* contrib: epee: add exception spec to throwing destructorsredfish2016-05-182-2/+2
| | | | | | | The destructors get a noexcept(true) spec by default, but these destructors in fact throw exceptions. An alternative fix might be to not throw (most if not all of these throws are non-essential error-reporting/logging).
* Don't allow 'flush_txpool' and 'setbans' JSON_RPC methods when running in ↵osensei2016-05-141-2/+4
| | | | restricted mode.
* abstract_tcp_server2: fix send queue limit warning spammoneromooo-monero2016-04-171-1/+1
| | | | | | | | | When the send queue limit is reached, it is likely to not drain any time soon. If we call close on the connection, it will stay alive, waiting for the queue to drain before actually closing, and will hit that check again and again. Since the queue size limit is the reason we're closing in the first place, we call shutdown directly.
* abstract_tcp_server2: avoid deadlock waiting for send queue to drainmoneromooo-monero2016-04-171-2/+5
| | | | | | | | | If we reach the send queue size limit, we need to release the lock, or we will deadlock and it will never drain. If we reach that limit, it's likely there's another problem in the first place though, so it will probably not drain in practice either, unless some kind of transient network timeout.
* abstract_tcp_server2: possible fix for exception in handle_acceptmoneromooo-monero2016-03-271-4/+17
|
* Revert "Print stack trace upon exceptions"moneromooo-monero2016-03-211-1/+1
| | | | | | Ain't nobody got time for link/cmake skullduggery. This reverts commit fff238ec94ac6d45fc18c315d7bc590ddfaad63d.
* Merge pull request #736Riccardo Spagni2016-03-201-0/+8
|\ | | | | | | 2b4cab3 epee: fix potential hang on exit (moneromooo-monero)
| * epee: fix potential hang on exitmoneromooo-monero2016-03-201-0/+8
| | | | | | | | Also close sockets on failure, just in case
* | Print stack trace upon exceptionsmoneromooo-monero2016-03-191-1/+1
|/ | | | Useful for debugging users' logs
* epee: fix bug deleting more than one connection at oncemoneromooo-monero2016-03-121-0/+1
|
* Use boost::thread instead of std::threadHoward Chu2016-03-112-5/+5
| | | | and all other associated IPC
* Fix crash in std::map for connections_mapHoward Chu2016-02-181-1/+2
| | | | Use boost::unordered_map instead.
* epee: always call the PRNG through the locked APImoneromooo-monero2016-02-131-1/+1
|
* epee: use generate_random_bytes for new random uuidsmoneromooo-monero2016-01-301-1/+6
| | | | | | Instead of using boost::uuids::generate_random, which uses uninitialized stuff *on purpose*, just to annoy people who use valgrind
* more typos fixedHenning Kopp2016-01-251-1/+1
|
* IP_TOS not supported before Windows7Howard Chu2016-01-021-1/+4
|
* epee: regularly cleanup connections we kept a reference tomoneromooo-monero2015-12-232-4/+23
| | | | | | | | | | Since connections from the ::connect method are now kept in a deque to be able to cancel them on exit, this leaks both memory and a file descriptor. Here, we clean those up after 30 seconds, to avoid this. 30 seconds is higher then the 5 second timeout used in the async code, so this should be safe. However, this is an assumption which would break if that async code was to start relying on longer timeouts.