summaryrefslogtreecommitdiff
path: root/src/p2p
Commit message (Collapse)AuthorAgeFilesLines
* updated fallback nodesRiccardo Spagni2017-02-211-6/+12
|
* update copyright year, fix occasional lack of newline at line endRiccardo Spagni2017-02-2114-14/+14
|
* core: add p2p bind port options from net_nodemoneromooo-monero2017-02-211-2/+2
| | | | | | | | They're now used by core to determine the data directory to use for the txpool directory. This fixes an assert in the core tests, which don't use the RPC server, which normally initializes the P2P code.
* network_throttle: demote spammy logs to TRACEmoneromooo-monero2017-02-131-2/+2
|
* net_node: fix spurious warning about using uninitialized datamoneromooo-monero2017-02-121-1/+1
| | | | This is only used to load, not save
* extract some basic code from libcryptonote_core into libcryptonote_basickenshi842017-02-081-0/+1
|
* Merge pull request #1641Riccardo Spagni2017-02-021-0/+5
|\ | | | | | | ca94d0a4 Separate data per P2P port (Miguel Herranz)
| * Separate data per P2P portMiguel Herranz2017-01-281-0/+5
| | | | | | | | | | | | | | | | poolstate.bin and p2pstate.bin are stored in .bitmonero/ if the default P2P port is being used. If another port is used both files are stored in .bitmonero/PORTNUMBER/.
* | Merge pull request #1617Riccardo Spagni2017-02-027-12/+8
|\ \ | |/ |/| | | | | | | 0644eed7 Remove boost/foreach.cpp includes (Miguel Herranz) 36dd3e23 Replace BOOST_REVERSE_FOREACH with ranged for (Miguel Herranz) 629e3101 Replace BOOST_FOREACH with C++11 ranged for (Miguel Herranz)
| * Remove boost/foreach.cpp includesMiguel Herranz2017-01-225-5/+0
| |
| * Replace BOOST_REVERSE_FOREACH with ranged forMiguel Herranz2017-01-221-3/+4
| |
| * Replace BOOST_FOREACH with C++11 ranged forMiguel Herranz2017-01-223-4/+4
| |
* | Remove unreachable returnsMiguel Herranz2017-01-231-3/+0
|/ | | | CATCH_ENTRY_L0 already returns the second value.
* Merge pull request #1609Riccardo Spagni2017-01-222-2/+17
|\ | | | | | | 4cdf0a35 p2p: always recreate a new peer id on startup (moneromooo-monero)
| * p2p: always recreate a new peer id on startupmoneromooo-monero2017-01-222-2/+17
| | | | | | | | | | This prevents easy fingerprinting when you change IPs, and will be a must when kovri gets used.
* | Merge pull request #1606Riccardo Spagni2017-01-221-3/+3
|\ \ | | | | | | | | | f8b97aef p2p: show ban/unban logs by default again (moneromooo-monero)
| * | p2p: show ban/unban logs by default againmoneromooo-monero2017-01-211-3/+3
| |/
* | Rename method to get_random_gray_peerMiguel Herranz2017-01-212-4/+4
| |
* | Fix logging that broke after rebasingMiguel Herranz2017-01-211-1/+1
| |
* | Use set_peer_just_seen to keep last_seen updatedMiguel Herranz2017-01-211-1/+1
| |
* | Add gray peer list housekeeping systemMiguel Herranz2017-01-213-0/+121
| | | | | | | | | | | | | | | | | | | | | | A random peer from the gray peer list is selected and a connection is made to check if the peer is alive. If the connection and handshake are successful the peer is promoted to the white peer list, in case of failure the peer is evicted from the gray peer list. The connection is closed after the check in either case.
* | Merge pull request #1593Riccardo Spagni2017-01-201-2/+4
|\ \ | | | | | | | | | cbcdf8ad Honor depth in get_peerlist_head method (Miguel Herranz)
| * | Honor depth in get_peerlist_head methodMiguel Herranz2017-01-181-2/+4
| | | | | | | | | | | | | | | | | | | | | The method returned depth + 2 because: - push_back was executed before the condition. - > instead of >= causing one more iteration.
* | | Merge pull request #1572Riccardo Spagni2017-01-202-0/+32
|\ \ \ | |_|/ |/| | | | | | | | 0e0e6c5f Reduce to one connection per IP (Miguel Herranz) 3f269e98 Limit incoming connections from the same IP (Miguel Herranz)
| * | Reduce to one connection per IPMiguel Herranz2017-01-161-1/+1
| | |
| * | Limit incoming connections from the same IPMiguel Herranz2017-01-152-0/+32
| |/
* | Change logging to easylogging++moneromooo-monero2017-01-165-427/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | remove unused fields from network_throttle (unused-private-field warning)Chris Vickio2017-01-141-3/+0
|/
* also use portable serializer for boost_serialization_helper.h and ↵kenshi842016-12-202-7/+28
| | | | net_node.inl, completely adandon boost/archive/binary_oarchive.hpp
* Merge pull request #1398Riccardo Spagni2016-12-041-4/+4
|\ | | | | | | f4772bae Fix a few minor typos (Pierre Boyer)
| * Fix a few minor typosPierre Boyer2016-12-041-4/+4
| |
* | Merge pull request #1397Riccardo Spagni2016-12-041-0/+1
|\ \ | | | | | | | | | 3f7d6fb5 Fix delayed exit when syncing (moneromooo-monero)
| * | Fix delayed exit when syncingmoneromooo-monero2016-12-041-0/+1
| |/
* | Merge pull request #1396Riccardo Spagni2016-12-041-4/+6
|\ \ | | | | | | | | | 7c0dd5e4 net_node: drop connections from banned IPs after looping through connections (moneromooo-monero)
| * | net_node: drop connections from banned IPs after looping through connectionsmoneromooo-monero2016-12-031-4/+6
| |/ | | | | | | | | | | | | This keeps the connections lock just for the time of looping and adding connectoins to a list, and the dropping happens after it. This should avoid lengthy delays waiting for the connections lock.
* / p2p: possibly fix crash in relay_blocksmoneromooo-monero2016-12-013-6/+17
|/
* Fix DNS failures in offline mode preventing daemon startupmoneromooo-monero2016-11-231-1/+1
|
* add lightweight block propagation ("fluffy blocks")Dion Ahmetaj2016-11-094-6/+81
| | | | | | | | | | | | | | | | | | | | Added a new command to the P2P protocol definitions to allow querying for support flags. Implemented handling of new support flags command in net_node. Changed for_each callback template to include support flags. Updated print_connections command to show peer support flags. Added p2p constant for signaling fluffy block support. Added get_pool_transaction function to cryptnote_core. Added new commands to cryptonote protocol for relaying fluffy blocks. Implemented handling of fluffy block command in cryptonote protocol. Enabled fluffy block support in node initial configuration. Implemented get_testnet function in cryptonote_core. Made it so that fluffy blocks only run on testnet.
* Merge pull request #1165Riccardo Spagni2016-10-041-0/+12
|\ | | | | | | e57379a p2p: drop any existing connection to a banned IP (moneromooo-monero)
| * p2p: drop any existing connection to a banned IPmoneromooo-monero2016-10-021-0/+12
| |
* | Cleanup. Dropped "bit" from bitmonero.Randi Joseph2016-09-261-2/+2
| |
* | Cleanup. Dropped "bit" from bitmonero.Randi Joseph2016-09-261-1/+1
|/
* remove dead backup seed nodes, add new onesRiccardo Spagni2016-09-181-24/+6
|
* cmake: transitive deps and remove deprecated LINK_*redfish2016-09-181-7/+10
| | | | | | | | | | | | | | Keep the immediate direct deps at the library that depends on them, declare deps as PUBLIC so that targets that link against that library get the library's deps as transitive deps. Break dep cycle between blockchain_db <-> crytonote_core. No code refactoring, just hide cycle from cmake so that it doesn't complain (cycles are allowed only between static libs, not shared libs). This is in preparation for supproting BUILD_SHARED_LIBS cmake built-in option for building internal libs as shared.
* allow peers without portmoneromooo-monero2016-07-031-0/+5
| | | | The default port is then used
* Merge pull request #846Riccardo Spagni2016-06-194-4/+4
|\ | | | | | | | | | | | | | | | | | | de030d9 fix: error: -Werror=misleading-indentation (moneroexample) c2d7300 contrib: epee: add exception spec to throwing destructors (redfish) 6898741 src: p2p: add exception spec to throwing destructors (redfish) 21dbc95 crypto: slow-hash: fix misleading indent (redfish) 70f3634 crypto: slow-hash: remove unused hash list for ARM (redfish) 1a7772f crypto: oaes_lib: remove unused _NR array (redfish) 6462a3a crypto: fix compile error: use named type in sizeof (redfish)
| * src: p2p: add exception spec to throwing destructorsredfish2016-05-184-4/+4
| | | | | | | | | | | | | | 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).
* | Merge pull request #775Riccardo Spagni2016-06-191-2/+2
|\ \ | |/ |/| | | | | e409e59 Print stack trace on exceptions (moneromooo-monero) ef4ff42 connection_basic: avoid gratuitous exception (moneromooo-monero)
| * connection_basic: avoid gratuitous exceptionmoneromooo-monero2016-03-281-2/+2
| | | | | | | | | | The remote endpoint is usually invalid, so use a version of the call that returns an error code instead.
* | net_node: fix connection leak when ping fails with bad responsemoneromooo-monero2016-04-171-0/+1
|/ | | | | If there is no comms error, but the response is not as expected, close would not be called.