aboutsummaryrefslogtreecommitdiff
path: root/src/p2p/net_node.inl
Commit message (Collapse)AuthorAgeFilesLines
...
* | p2p: don't connect to more than one IP per class B if we canmoneromooo-monero2019-07-051-11/+45
|/
* p2p: do not send last_seen timestamp to peersmoneromooo-monero2019-04-241-2/+2
| | | | | | | | | | | | | | This can be used for fingerprinting and working out the network topology. Instead of sending the first N (which are sorted by last seen time), we sent a random subset of the first N+N/5, which ensures reasonably recent peers are used, while preventing repeated calls from deducing new entries are peers the target node just connected to. The list is also randomly shuffled so the original set of timestamps cannot be approximated.
* Merge pull request #5425Riccardo Spagni2019-04-161-1/+8
|\ | | | | | | 58585986 p2p: fix integer overflow in host bans (moneromooo-monero)
| * p2p: fix integer overflow in host bansmoneromooo-monero2019-04-111-1/+8
| |
* | crypto: replace rand<T>()%N idiom with unbiased rand_idx(N)stoffu2019-04-041-2/+2
|/
* Merge pull request #5334Riccardo Spagni2019-04-011-1/+1
|\ | | | | | | 19f8089f p2p: don't lookup seed nodes when offline (moneromooo-monero)
| * p2p: don't lookup seed nodes when offlinemoneromooo-monero2019-03-221-1/+1
| | | | | | | | | | This will cause DNS requests, which will block and timeout if there is really no network connectivity
* | Fix daemon startup parameter '--limit-rate' processing after parameter defaultsrbrunner72019-03-201-4/+2
|/
* Merge pull request #5195Riccardo Spagni2019-03-191-0/+4
|\ | | | | | | a54e81e5 daemon: add '--no-sync' arg to optionally disable blockchain sync (xiphon)
| * daemon: add '--no-sync' arg to optionally disable blockchain syncxiphon2019-02-251-0/+4
| |
* | Merge pull request #5190Riccardo Spagni2019-03-171-3/+8
|\ \ | | | | | | | | | 551104fb daemon: add --public-node mode, RPC port propagation over P2P (xiphon)
| * | daemon: add --public-node mode, RPC port propagation over P2Pxiphon2019-02-251-3/+8
| |/
* | Update 2019 copyrightbinaryFate2019-03-051-1/+1
| |
* | p2p: avoid busy loop when we have nothing to connect tomoneromooo-monero2019-03-051-1/+9
| |
* | epee: add SSL supportmoneromooo-monero2019-02-021-7/+8
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RPC connections now have optional tranparent SSL. An optional private key and certificate file can be passed, using the --{rpc,daemon}-ssl-private-key and --{rpc,daemon}-ssl-certificate options. Those have as argument a path to a PEM format private private key and certificate, respectively. If not given, a temporary self signed certificate will be used. SSL can be enabled or disabled using --{rpc}-ssl, which accepts autodetect (default), disabled or enabled. Access can be restricted to particular certificates using the --rpc-ssl-allowed-certificates, which takes a list of paths to PEM encoded certificates. This can allow a wallet to connect to only the daemon they think they're connected to, by forcing SSL and listing the paths to the known good certificates. To generate long term certificates: openssl genrsa -out /tmp/KEY 4096 openssl req -new -key /tmp/KEY -out /tmp/REQ openssl x509 -req -days 999999 -sha256 -in /tmp/REQ -signkey /tmp/KEY -out /tmp/CERT /tmp/KEY is the private key, and /tmp/CERT is the certificate, both in PEM format. /tmp/REQ can be removed. Adjust the last command to set expiration date, etc, as needed. It doesn't make a whole lot of sense for monero anyway, since most servers will run with one time temporary self signed certificates anyway. SSL support is transparent, so all communication is done on the existing ports, with SSL autodetection. This means you can start using an SSL daemon now, but you should not enforce SSL yet or nothing will talk to you.
* Adding initial support for broadcasting transactions over TorLee Clagett2019-01-281-432/+693
| | | | | | | | | - Support for ".onion" in --add-exclusive-node and --add-peer - Add --anonymizing-proxy for outbound Tor connections - Add --anonymous-inbounds for inbound Tor connections - Support for sharing ".onion" addresses over Tor connections - Support for broadcasting transactions received over RPC exclusively over Tor (else broadcast over public IP when Tor not enabled).
* Pruningmoneromooo-monero2019-01-221-49/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The blockchain prunes seven eighths of prunable tx data. This saves about two thirds of the blockchain size, while keeping the node useful as a sync source for an eighth of the blockchain. No other data is currently pruned. There are three ways to prune a blockchain: - run monerod with --prune-blockchain - run "prune_blockchain" in the monerod console - run the monero-blockchain-prune utility The first two will prune in place. Due to how LMDB works, this will not reduce the blockchain size on disk. Instead, it will mark parts of the file as free, so that future data will use that free space, causing the file to not grow until free space grows scarce. The third way will create a second database, a pruned copy of the original one. Since this is a new file, this one will be smaller than the original one. Once the database is pruned, it will stay pruned as it syncs. That is, there is no need to use --prune-blockchain again, etc.
* Merge pull request #5029Riccardo Spagni2019-01-161-1/+1
|\ | | | | | | d1b3990d p2p: don't stop the idle thread when no gray peers are found (moneromooo-monero)
| * p2p: don't stop the idle thread when no gray peers are foundmoneromooo-monero2018-12-301-1/+1
| |
* | Merge pull request #5001Riccardo Spagni2019-01-161-3/+4
|\ \ | | | | | | | | | a5ffc2d5 Remove boost::lexical_cast for uuid and unused uuid function (Lee Clagett)
| * | Remove boost::lexical_cast for uuid and unused uuid functionLee Clagett2018-12-231-3/+4
| |/
* | Merge pull request #4976Riccardo Spagni2019-01-161-4/+4
|\ \ | | | | | | | | | 85665003 epee: better network buffer data structure (moneromooo-monero)
| * | epee: better network buffer data structuremoneromooo-monero2018-12-231-4/+4
| |/ | | | | | | avoids pointless allocs and memcpy
* / p2p: use vector instead of list for peer listsmoneromooo-monero2018-12-071-5/+5
|/
* p2p: tone down "no incoming connections" warning to info if in peers is 0moneromooo-monero2018-11-011-3/+10
| | | | Also add an info if not offline, since it weakens the network
* Merge pull request #4612Riccardo Spagni2018-10-261-4/+8
|\ | | | | | | 2d48861d p2p: only deinitialize what's been initialized in offline mode (moneromooo-monero)
| * p2p: only deinitialize what's been initialized in offline modemoneromooo-monero2018-10-161-4/+8
| |
* | p2p: a negative result from UPNP_GetValidIGD is an errormoneromooo-monero2018-10-151-2/+2
|/ | | | as per the source documentation
* Revert "p2p: connect via the bound ip, if any"moneromooo-monero2018-10-131-3/+3
| | | | | | This reverts commit 909398efc79cb1fa92e330e9a50a316ca5858953. It looks like it's causing trouble with tor on some setups
* Merge pull request #4089luigi11112018-08-151-3/+3
|\ | | | | | | 909398e p2p: connect via the bound ip, if any (moneromooo-monero)
| * p2p: connect via the bound ip, if anymoneromooo-monero2018-07-021-3/+3
| |
* | Merge pull request #3854luigi11112018-07-191-0/+3
|\ \ | |/ |/| | | | | | | | | 149da42 db_lmdb: enable batch transactions by default (stoffu) 34cb6b4 add --regtest and --fixed-difficulty for regression testing (vicsn) 9e1403e update get_info RPC and bump RPC version (vicsn) 207b66e first new functional tests (vicsn)
| * add --regtest and --fixed-difficulty for regression testingvictorsintnicolaas2018-06-291-0/+3
| | | | | | | | | | | | | | on_generateblocks RPC call combines functionality from the on_getblocktemplate and on_submitblock RPC calls to allow rapid block creation. Difficulty is set permanently to 1 for regtest. Makes use of FAKECHAIN network type, but takes hard fork heights from mainchain Default reserve_size in generate_blocks RPC call is now 1. If it is 0, the following error occurs 'Failed to calculate offset for'. Queries hard fork heights info of other network types
* | Merge pull request #3982luigi11112018-06-271-16/+46
|\ \ | | | | | | | | | | | | 08b85a8 cryptonote_config: add get_config to refactor x = testnet ? config::testnet::X : stagenet ? config::stagenet::X : config::X (stoffu) 0cf80ba net_node: resolve host for node addresses given via command line flags (stoffu)
| * | net_node: resolve host for node addresses given via command line flagsstoffu2018-06-111-13/+43
| | |
| * | cryptonote_config: add get_config to refactor x = testnet ? ↵stoffu2018-06-111-3/+3
| |/ | | | | | | config::testnet::X : stagenet ? config::stagenet::X : config::X
* | Merge pull request #3861luigi11112018-06-191-0/+14
|\ \ | | | | | | | | | de1ffe0 p2p: warn when no incoming connections are seen for a while (moneromooo-monero)
| * | p2p: warn when no incoming connections are seen for a whilemoneromooo-monero2018-05-261-0/+14
| |/
* / p2p: fix fallback seed node usagemoneromooo-monero2018-04-291-3/+10
|/ | | | | | | Those were added to the seed nodes list even when they had already been added. Moreover, the current index was not reset after they were added, typically causing previous seeds to be used, and some of those fallback seeds to not be tried.
* Build: update CMake and p2p for in-tree miniupnpanonimal2018-04-211-10/+3
| | | | (cherry picked from commit a7366b5feeffaeb65b217b2d6f138e0ab1c90192)
* CMake: update new location of in-tree miniupnpcanonimal2018-04-191-3/+3
| | | | (cherry picked from commit b16a282f97d8f6c967e8a0b1ecfd75110f095182)
* p2p: correct port number for seed nodesstoffu2018-03-221-3/+3
|
* p2p: fix network ID being uninitialised when using exclusive peersmoneromooo-monero2018-03-131-1/+4
|
* Stagenetstoffu2018-03-051-11/+25
|
* p2p: restore m_testnet assignment lost during rebasewhythat2018-02-181-0/+1
|
* options: remove testnet-* optionswhythat2018-02-161-8/+2
|
* Merge pull request #3196Riccardo Spagni2018-02-161-1/+2
|\ | | | | | | eda9fb5b p2p: fix testnet/mainnet port mixup (moneromooo-monero)
| * p2p: fix testnet/mainnet port mixupmoneromooo-monero2018-01-281-1/+2
| |
* | Merge pull request #3226Riccardo Spagni2018-02-161-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
| * | pass large parameters by const ref, not valuemoneromooo-monero2018-02-021-1/+1
| |/ | | | | | | Coverity 136394 136397 136409 136526 136529 136533 175302