Commit Graph

6286 Commits

Author SHA1 Message Date
wowario de53dd8386
build: prepare v0.7.1.0 update
Signed-off-by: wowario <wowario@protonmail.com>
2020-03-16 02:46:08 -05:00
Lee Clagett b78d24db4f
Fixed bug in ZMQ JSON-RPC method field 2020-03-16 02:20:06 -05:00
Aaron Hook fb5fad0768
p2p: plug tor to clearnet association vector
During the handshake for an incoming connection, the peer id is checked against the local node's peer id only for the specific zone of the incoming peer, in order to avoid linking public addresses to tor addresses:
5d7ae2d279/src/p2p/net_node.inl (L2343)

However, on handshakes for outgoing connections, all zones are checked:
5d7ae2d279/src/p2p/net_node.inl (L1064)

If an attacker wanted to link a specific tor node to a public node, they could potentially connect to as many public nodes as possible, get themselves added to the peer whitelist, maybe stuff some more attacker-owned addresses into the greylist, then disconnect, and for any future incoming connections, respond with the tor node's id in an attempt to link the public/tor addresses.
2020-03-16 02:13:29 -05:00
Lee Clagett bd0c321d2c
Added logging for dropped local txes with no i2p/tor connections 2020-03-16 02:13:01 -05:00
moneromooo-monero 470045d660
wallet: fix exceptions getting the hash of a pruned tx 2020-03-16 02:11:35 -05:00
jw bc3acd54d5
Merge pull request #230 from wowario/ded
remove ded code
2019-11-21 08:21:42 -08:00
wowario 79bd185ec2
remove ded code 2019-11-19 19:56:40 +03:00
Jethro Grassie 7e02dc3dca
make d2h et al. constant-time 2019-11-19 19:35:04 +03:00
Howard Chu 5267747297
Fix #6147 DB corruption from child process overwrite
Don't leave stdout/stderr dangling on a fork.
2019-11-19 19:32:34 +03:00
xiphon 0781357b33
wallet: set non-empty error string on connection failure 2019-11-19 19:27:24 +03:00
moneromooo-monero 88b4cb8f9c
wallet2: fix pool txes not being flushed when mined 2019-11-19 19:26:25 +03:00
wowario de7ef82dc7
absurdity day hard fork 2019-11-09 09:24:17 +03:00
wowario 383c892488
move utility binaries to debug build 2019-11-08 19:03:21 +03:00
wowario d55d97ac69 update checkpoints.dat 2019-11-08 18:36:56 +03:00
wowario f3284eeaf0 add v0.7 ASCII art 2019-11-08 18:36:46 +03:00
wowario 104563af49 fix hash2rct in get_exponent 2019-11-08 17:28:48 +03:00
fuwa d1aa0a0449 fix cn-pow variant 2019-11-08 17:14:22 +03:00
wowario ba2f6f4fc3 add RandomWOW submodule 2019-11-08 17:11:52 +03:00
fuwa 903a34edde remove zeromq completely 2019-11-08 16:48:32 +03:00
fuwa 8635d5dd3e hotfix "no ring" error 2019-11-08 16:47:51 +03:00
fuwa 1fa73fa684 fix old bulletproof conditional branches 2019-11-08 16:47:23 +03:00
fuwa 4265df1460 wallet2: fix hf rules for small BP 2019-11-08 16:47:10 +03:00
wowario 3d513d85a2 sanity check: comment out #4691 2019-11-08 16:46:43 +03:00
wowario 44a3b3f22c sanity check: change to false #5434 2019-11-08 16:46:30 +03:00
fuwa e671b5f89b allow system libminiupnp, revert #6b8539 2019-11-08 16:46:13 +03:00
wowario ffee430b36 Cryptonight variant 4 aka cn/wow 2019-11-08 16:46:00 +03:00
wowario 47a74343da support old BP 2019-11-08 16:45:47 +03:00
wowario 34940d2e14 initial commit 2019-11-08 16:45:00 +03:00
Riccardo Spagni 06b0441762
Merge pull request #6074
38f691048 simplewallet: plug a timing leak (moneromooo-monero)
dcff02e4c epee: allow a random component in once_a_time timeouts (moneromooo-monero)
e10833024 wallet: reuse cached height when set after refresh (moneromooo-monero)
5956beaa1 wallet2: fix is_synced checking target height, not height (moneromooo-monero)
fd35e2304 wallet: fix another facet of "did I get some monero" information leak (moneromooo-monero)
d5472bd87 wallet2: do not send an unnecessary last getblocks.bin call on refresh (moneromooo-monero)
97ae7bb5c wallet2: do not repeatedly ask for pool txes sent to us (moneromooo-monero)
2019-11-03 14:52:16 -08:00
Riccardo Spagni eaadbbdab0
Merge pull request #6079
e4d1674e8 0.15.0.0 release engineering (Riccardo Spagni)
2019-11-02 17:31:22 +02:00
Riccardo Spagni da31077bed
Merge pull request #6047
ebc6ce44f cryptonote: untangle dependency from miner to blockchain (moneromooo-monero)
2019-11-02 17:30:09 +02:00
Riccardo Spagni e4d1674e8c
0.15.0.0 release engineering 2019-11-02 17:21:52 +02:00
moneromooo-monero 38f6910481
simplewallet: plug a timing leak
As reported by Tramèr et al, timing of refresh requests can be used
to see whether a password was requested (and thus at least one output
received) since this will induce a delay in subsequent calls.
To avoid this, we schedule calls at a given time instead of sleeping
for a set time (which would make delays additive).
To further avoid a scheduled call being during the time in which a
password is prompted, the actual scheduled time is now randomized.
2019-11-02 11:41:41 +00:00
moneromooo-monero e108330248
wallet: reuse cached height when set after refresh
Refreshing sets cached height, which is otherwise got by calling
get_info. Since get_info is called upon needing to display a prompt
after a command has finished, it can be used to determine how much
time a given command took to run if the cache timeout lapses while
the command runs. Refreshing caches the height as a side effect, so
get_info will never be called as a result of displaying a prompt
after refreshing (and potentially leaking how much time it took to
process a set of transactions, therefore leaking whether we got
some monero in them).
2019-11-01 18:59:41 +00:00
moneromooo-monero 5956beaa15
wallet2: fix is_synced checking target height, not height
Target height would be appropriate for the daemon, which syncs
off other daemons, but the wallet syncs off the daemon it's
connected to, and its target is the daemon's current height.
2019-11-01 18:59:39 +00:00
moneromooo-monero fd35e2304a
wallet: fix another facet of "did I get some monero" information leak
We get new pool txes before processing any tx, pool or not.
This ensures that if we're asked for a password, this does not
cause a measurable delay in the txpool query after the last
block query.
2019-11-01 18:59:38 +00:00
moneromooo-monero d5472bd87b
wallet2: do not send an unnecessary last getblocks.bin call on refresh
The "everything refreshed" state was detected when a refresh call did
not return any new blocks. This can be detected without that extra
"empty" call by comparing the claimed node height to the height of
the last block retrieved. Doing this avoids that last call, saves
some bandwidth, and makes the common refresh case use only one call
rather than two.

As a side effect, it prevents an information leak reported by
Tramèr et al: if the wallet retrieves a set of blocks which includes
an output sent to the refreshing wallet, the wallet will prompt the
user for the password to decode the amount and calculate the key
image for the new output, and this will delay subsequent calls to
getblocks.bin, allowing a passive adversary to note the delay and
deduce when the wallet receives at least one output.

This can still happen if the wallet downloads more than 1000 blocks,
since this will be split in several calls, but then the most the
adversary can tell is which 1000 block section the user received
some monero (the adversary can estimate the heights of the blocks
by calculating how many "large" transfers are done, which will be
sections of blocks, the last of which will usually be below 1000,
but the size of the data should allow the actual number of blocks
sent to be determined fairly accurately).

This timing trick still be used via the subsequent scan for incoming
txes in the txpool, which will be fixed later.
2019-11-01 18:59:37 +00:00
moneromooo-monero 97ae7bb5cb
wallet2: do not repeatedly ask for pool txes sent to us
This lets a passive attacker with access to the network link
between node and wallet perform traffic analysis to deduce
when an idle wallet receives a transaction.

Reported by Tramèr et al.
2019-11-01 10:42:01 +00:00
moneromooo-monero ebc6ce44f4
cryptonote: untangle dependency from miner to blockchain
It causes link errors at least on mac
2019-10-31 01:06:42 +00:00
xiphon 2e2bf8a207 daemon: always use bootstrap daemon (if set) in '--no-sync' mode 2019-10-28 21:52:19 +00:00
luigi1111 4c9fd8d86d
Merge pull request #6044
eb16755 blockchain: fix unwanted error when probing the pool for a tx (moneromooo-monero)
2019-10-27 16:28:33 -05:00
moneromooo-monero eb16755083
blockchain: fix unwanted error when probing the pool for a tx 2019-10-27 19:23:25 +00:00
moneromooo-monero e8964c26cc
wallet: do not warn if the rpc cost was free 2019-10-27 10:59:31 +00:00
luigi1111 ef8b3a15b4
Merge pull request #6017
5734686 rpc: Include tag in get_info version string (ndorf)
2019-10-25 20:48:04 -05:00
moneromooo-monero f7f7513ec3
rpc: fix PRIx64 build error on some systems 2019-10-26 00:05:21 +00:00
luigi1111 7caa2b0d3e
Merge pull request #6024
296ec7c device: bounds checking in Ledger send_secret/receive_secret (xiphon)
2019-10-25 16:06:37 -05:00
luigi1111 07c6789148
Merge pull request #5958
d25acd7 Add hmac over encrypted value during transaction (clashm)
34f28a7 Add display address (clashm)
235b94e Revert PR #5835 (export view key) (clashm)
32febd2 Fix debug feature (clashm)
2019-10-25 16:03:24 -05:00
luigi1111 86d085e988
Merge pull request #6028
174a6ac tx_pool: fix divide by 0 in log (moneromooo-monero)
2019-10-25 14:29:15 -05:00
luigi1111 f253bf3846
Merge pull request #6007
a4dc575 rpc: add a flush_cache RPC (moneromooo-monero)
2019-10-25 14:20:20 -05:00
luigi1111 9a995f338a
Merge pull request #6023
643dcb9 net: link with libzmq (moneromooo-monero)
2019-10-25 13:56:06 -05:00