Commit Graph

508 Commits

Author SHA1 Message Date
Duke
65c4c5c8de They are called Hush Arrakis Chains (HACs) now 2024-03-15 14:06:57 -04:00
onryo
58b65f9670 Update copyrights 2024-02-27 23:59:59 +01:00
Duke
f71f8124c3 Give a better error message which does not mention a specific coin name, so as to not confuse DragonX/etc users 2024-02-21 10:54:51 -05:00
Duke
d769ee2b1c Fix bug where SMART_CHAIN_SYMBOL was being used before being set, which caused custom addnodes to not be used and made the full node unable to sync 2024-02-19 10:31:45 -05:00
Duke
a1cf2ef976 Log txid being relayed to stdout 2023-10-23 09:43:01 -04:00
Duke
63ad87f69b Ensure CNode::addrKnown immediately takes little memory when we disconnect the node 2023-03-17 00:21:00 -04:00
Duke
c1baab7b8a Rate limit incoming addr p2p messages 2023-03-16 22:33:25 -04:00
Duke
71928fa228 Randomize order of processing messages from peers 2023-03-14 14:42:39 -04:00
Duke
e033a2e6eb Update copyrights to 2023 2023-02-09 18:06:03 -05:00
fekt
64d601047b Fix for wind0ze cross-compile 2023-02-06 01:18:18 -05:00
Duke
d5e9ef763d Prevent coredump when -proxy=... -externalip=... is used
Replace an assert() in Unserialize() with the actual behavior we want,
i.e. making sure that vRandom is empty. Before the assert() was added,
the code called Clear() which ensured vRandom was empty. Clear() was
changed to the assert() in BTC commit b138973a8b4bbe061ad97011f278a21e08ea79e6
to prevent recursive locks but risks crashing the node. Instead, we
just empty out vRandom.

The addition of EXCLUSIVE_LOCKS_REQUIRED is not needed to fix
this but seems prudent since Serialize() has it and the original code
from BTC has EXCLUSIVE_LOCKS_REQUIRED on all the methods of this class.

As a side note, crashing a full node with an assert() and possibly
corrupting the wallet.dat, block files and other data is REALLY
FUCKING DUMB. Instead, code should be written to prevent the
possibility of crashing or throw an exception with a useful error.
2023-01-18 23:02:41 -05:00
Duke
6f8bce9b3a Fix bug where setban banned a node for 0 seconds 2023-01-12 23:59:11 -05:00
zanzibar
512da314a5 BIP155 (addrv2)
Tor v3 + i2p
2023-01-06 15:23:22 +00:00
Jonathan "Duke" Leto
5d2307a709 Update copyrights to 2022 2022-09-19 15:45:30 -07:00
Duke Leto
456cf77b65 Exit RelayTransaction early if we have no nodes to relay to 2022-09-06 10:08:24 -04:00
Duke Leto
88263995c8 Do not coredump if pnode=NULL in RelayTransaction 2022-08-30 22:27:34 -04:00
jahway603
9806119366 optimized IsBanned() 2022-07-13 01:04:03 -04:00
Duke Leto
15d254af10 Ignore chain sync verification and relaying when -testnode=1 2022-07-01 21:40:39 -04:00
Duke Leto
d8d9f655a7 More relay debug info 2021-08-26 00:00:38 -04:00
Duke Leto
b57d902438 Set symbol earlier 2021-07-11 21:11:15 -04:00
Duke Leto
172fefeb7b Sometimes you need to say plz 2021-06-26 20:37:57 -04:00
Duke Leto
21cca9ec29 Only dump zindex.dat if -zindex is enabled 2021-06-18 11:41:47 -04:00
Duke Leto
20779308d8 Dump zindex.dat on first startup, if it does not exist 2021-06-17 16:26:24 -04:00
Duke Leto
666054bec5 Make compiler happy and start updating zstats in-memory data 2021-06-16 12:38:12 -04:00
Duke Leto
231850740e CZindexStats 2021-06-16 11:07:20 -04:00
Duke Leto
40bd639bd8 Read zdb on startup and serialize every 150s and on shutdown 2021-06-15 21:58:18 -04:00
Duke Leto
2ea5dcb048 Anti p2p fingerprinting via nTime 2021-04-16 01:16:40 -04:00
Duke Leto
161750c807 Merge branch 'danger' into duke
Conflicts:
	src/net.h
2021-04-09 23:51:19 -04:00
Duke Leto
315ed51192 p2p privacy 2021-04-09 14:49:24 -04:00
Duke Leto
532f46d55f Merge branch 'dev' into danger
Conflicts:
	src/net.cpp
2021-03-02 13:06:03 -05:00
Duke Leto
8339b55df4 Test-before-evict in addrman
From BTC Core https://github.com/bitcoin/bitcoin/pull/9037/ with modifications to support our asmap.

This has a small part of code commented out that depends feeler connection code.
2021-03-01 17:30:46 -05:00
Duke Leto
dd1453422b Add some p2p CLI options 2021-03-01 16:51:39 -05:00
Duke Leto
ea2b68c1d3 Feeler connections ported from BTC core, eclipse attack mitigation 2021-02-28 23:28:49 -05:00
Duke Leto
cf57365698 Deletions and cleanups 2021-01-26 08:56:08 -05:00
Duke Leto
ca4fb7b9a0 TLS tweaking and freaking 2021-01-24 19:30:54 -05:00
Duke Leto
1488a03f1c Improved TLS error handling and teach getpeerinfo about cipher of each connection 2021-01-24 15:06:34 -05:00
Duke Leto
cde6d33ad1 The term 'whitelist' is racist and so we choose to call this feature 'allowlist' 2021-01-10 10:46:22 -05:00
Duke Leto
70f9ac87b6 We do not know the gender of Satoshi, and it is a dumb concept anyway 2021-01-10 09:56:40 -05:00
Duke Leto
8fe3e238f0 Exclusively TLS connections at p2p layer; dump peers more often 2021-01-10 09:54:42 -05:00
Duke Leto
2733101a6a Harden p2p layer against Eclipse Attacks 2021-01-07 16:46:30 -05:00
Duke Leto
b58c15b9fb update copyrights 2020-12-10 07:45:36 -05:00
Duke Leto
31fc4099df HUSH NSPV 2020-12-09 19:22:51 -05:00
Duke Leto
c737c0dfaf We call them Hush Smart Chains around here 2020-11-15 11:54:06 -05:00
Duke Leto
a23b0e8388 Remove the unsupported concept of staked notaries 2020-11-15 10:28:53 -05:00
Duke Leto
fc17988249 Formatting changes 2020-11-14 18:45:35 -05:00
miodragpop
3ae6205a9b tls shape-up 2020-11-03 16:09:20 +01:00
miodragpop
9ff7565901 OpenSSL replaced by WolfSSL 2020-10-28 22:13:52 +01:00
miodragpop
6aac6ed3d7 ECDSA certificate generation 2020-10-27 13:45:55 +01:00
miodragpop
eaed7355c6 tls rework 2020-10-23 21:17:20 +02:00
Duke Leto
be16f80abc Hush Full Node is now GPLv3
Any projects which want to use Hush code from now on will need to be licensed as
GPLv3 or we will send the lawyers: https://www.softwarefreedom.org/

Notably, Komodo (KMD) is licensed as GPLv2 and is no longer compatible to receive
code changes, without causing legal issues. MIT projects, such as Zcash, also cannot pull
in changes from the Hush Full Node without permission from The Hush Developers,
which may in some circumstances grant an MIT license on a case-by-case basis.
2020-10-21 07:28:10 -04:00