Commit Graph

8898 Commits

Author SHA1 Message Date
draoi
cedde2e9ec hosts: don't allow manual peers to enter the hostlist via other peers
Storing manual peers on the hostlist creates redundancy since we can
never connect to them in Outbound Session or refine them in Refine
Session, so they just pointlessly sit on our greylist forever.
2024-07-12 10:41:55 +02:00
dasman
d2970c8895 event_graph: iterative dfs_topological_sort() instead of recursion 2024-07-12 03:08:17 +03:00
draoi
216794939d manual_session: sleep when try_register() call fails, then try again
Fixes a bug that would cause a death loop when the call to
try_register() fails.

Also removes a duplicate WARN print.
2024-07-11 23:14:21 +02:00
draoi
aa37b87a3e manual+seedsync_session: unregister() when version exchange fails 2024-07-11 17:26:06 +02:00
parazyd
83600b1adc darkirc: Update config pointing to a Tor seed node 2024-07-11 14:16:56 +02:00
draoi
3cdec217d1 seedsync: unregister() seed address after failed connection
This fixes a bug where failed connections would get stuck in the Connect
state, blocking the seedsync from retrying.
2024-07-11 13:44:59 +02:00
parazyd
26075d753d darkirc: Update config file with Tor examples 2024-07-11 12:07:15 +02:00
darkfi
64c3f1aa3c wallet: editbox when text is highlighted and key pressed, use regen_glyphs() since we no longer regen glyphs in redraw() 2024-07-11 11:01:37 +02:00
parazyd
2f97f384e7 net: Use forked Url crate that supports our transport schemes
Now IP addresses are properly parsed
2024-07-11 10:56:04 +02:00
draoi
0c8b274505 net: replace LazyWeak with Arc::new_cyclic() and delete system::LazyWeak
Also update arch/services.md with the new usage.
2024-07-11 10:25:35 +02:00
dasman
b3f7a9a876 darkirc: queue user privmsgs and send them once DAG is synced 2024-07-11 04:28:31 +03:00
darkfi
327c435e8f wallet: editbox bugfix, split regen_glyphs() from redraw() 2024-07-10 12:48:07 +02:00
darkfi
f28500c36a wallet: editbox home/end keys 2024-07-10 12:00:19 +02:00
darkfi
8e54b470bd wallet: editbox fix race condition 2024-07-10 10:52:13 +02:00
draoi
4cf4fa93d8 doc: add manual blacklist usage to default config 2024-07-09 18:25:12 +02:00
draoi
8ae9e42e71 net: allow control of schemes in the blacklist imported from Settings 2024-07-09 18:25:12 +02:00
parazyd
3d60035238 net/acceptor: Add Tor hidden service address to external_addrs if available 2024-07-09 15:09:30 +02:00
parazyd
f94094e732 net/channel: Attempt to properly parse IPs in Channel::ban()
Additionally, skip inbound Tor connections as they're anonymous.
2024-07-09 13:06:25 +02:00
parazyd
3bdae810b3 net/channel: Add helpful debugging error calls 2024-07-09 12:28:36 +02:00
parazyd
27fd3785f8 chore: Update crate dependencies and CI Rust version 2024-07-09 12:20:06 +02:00
parazyd
7945e2eb18 net: Implement mutable Settings which allow dynamic reconfiguration 2024-07-09 11:22:55 +02:00
parazyd
795e2300cb net: Remove SettingsPtr type alias 2024-07-09 11:16:43 +02:00
draoi
f78af159aa chore: improve some hosts.rs code documentation 2024-07-09 10:40:21 +02:00
draoi
b735f9ffd9 channel: block all ports when blacklisting an inbound peer 2024-07-09 10:39:29 +02:00
parazyd
60114d71ab darkwallet: Add license headers 2024-07-09 09:42:39 +02:00
parazyd
46a74e6b60 net: Use AtomicBool for dnet_enabled mark 2024-07-09 09:42:25 +02:00
darkfi
40b4280170 wallet: add empty ChatView stub struct 2024-07-08 13:21:16 +02:00
darkfi
dfd4f43dbc wallet: editbox add missing on_modify hooks 2024-07-08 13:00:12 +02:00
darkfi
35bd4fc24c wallet: editbox dont draw selected when start == end, and unfocus event will unset selection 2024-07-08 12:49:13 +02:00
darkfi
baf83715e6 wallet: editbox phone touchscreen highlighting text 2024-07-08 12:35:12 +02:00
darkfi
8a40ac3cf8 wallet: editbox highlighting text with the mouse 2024-07-08 11:07:02 +02:00
draoi
c463537fd2 chore: fix net/ HostRegistry documentation 2024-07-08 10:25:22 +02:00
darkfi
77417cc9b8 wallet: editbox click to focus/unfocus editing 2024-07-07 15:03:05 +02:00
draoi
3c526d179f hosts: more permissive transitions from HostState::Free
This was a bug regarding the following state transition functions:

Free -> Connected
Free -> Move

Inbound connections go directly to Connected (1) and Move (2) in the
following cases- when an inbound connection connects to us (1), when we
blacklist a peer due to missing dispatchers (2).

If we previously had a connection on the same port that was now marked
as HostState::Free in the hostregistry, this would create a panic.
2024-07-07 14:30:06 +02:00
draoi
ab52d14372 hosts: enable the transition from Refine to Move
We need to be able to move hosts after refining them, whether that's to
send them to the greylist or to the whitelist.
2024-07-07 12:37:38 +02:00
draoi
3b5273c332 hosts: make unregister() call less dangerous
We introduce a new HostState called HostState::Free, which means a host
is freely available for use. This fixes race conditions where multiple threads could try to delete
the entry (using the unregister() call) at the same time.
2024-07-07 12:37:38 +02:00
darkfi
86deef0b5b wallet: editbox replace highlighted text when typing 2024-07-07 10:13:50 +02:00
draoi
df8c1a8e86 lilith: fix logic error that was causing responsive nodes to be sent to greylist 2024-07-06 20:41:29 +02:00
draoi
3acf49e6a0 net: use standardized methods for net and lilith refinery's 2024-07-06 20:41:29 +02:00
darkfi
1b8e7b3d06 wallet: editbox copy/pasta from clipboard 2024-07-06 12:52:57 +02:00
darkfi
e0336f4a03 wallet: editbox delete/backspace of text (both selected and normal) 2024-07-06 12:40:06 +02:00
darkfi
52e01b443e wallet: editbox selecting text 2024-07-06 12:24:53 +02:00
darkfi
6442d4f30a wallet: woo editbox cursor scrolling bitches 2024-07-06 12:07:52 +02:00
darkfi
76d48a1bd1 wallet: replace ((a, b), c) in foo1.iter().zip(foo2.iter()).zip(foo3.iter()) with custom zip3(...) util 2024-07-06 11:27:11 +02:00
darkfi
04ede06c9c wallet: editbox clip the rendered text properly 2024-07-06 10:45:13 +02:00
draoi
01f3d5d000 net/tests: more efficiently start nodes 2024-07-06 09:17:35 +02:00
draoi
611f6e0454 session: call subscribe_stop() earlier in channel setup
Fixes a bug on seedsync_session where due to us quickly stopping
channels after they are formed the Subscription would occasionally miss
the channel.stop() event.
2024-07-06 09:08:32 +02:00
darkfi
750935e156 wallet: editbox clipping rect when regenerating mesh 2024-07-06 08:49:15 +02:00
darkfi
e540f799d3 wallet: text shaping algo, use labels for ambiguous break/continue inside if let block 2024-07-05 14:34:06 +02:00
parazyd
c6227e38e4 net: Create datastore in P2p::new() 2024-07-05 11:17:58 +02:00