13054 Commits

Author SHA1 Message Date
tomFlowee f2b59b7737 Make logging code compile with more defines
This allows compile with BCH_NO_INFO_OUTPUT define, which removes
from the compiled binary all info level logging.
2026-01-14 18:23:19 +01:00
tomFlowee 811c25b16c Add cmake option full_logs to include all logs
The default behavior is unchanged, we remove some logging on things
like release builds, they simply don't get compiled in.

This feature is for people wanting to make a build with the libraries
including all levels of logging, while not compromising on something
like using a release build.
2026-01-14 11:56:37 +01:00
tomFlowee fc2e2cc395 Minor cleanups 2026-01-13 21:15:00 +01:00
tomFlowee 0675f272c1 Fix sometimes reconnect not working 2026-01-08 12:05:51 +01:00
tomFlowee ac817d0f5d new year, new prices 2026-01-07 20:59:43 +01:00
tomFlowee f2ac8c4988 more helpful logging 2026-01-07 20:53:58 +01:00
tomFlowee 1662f51193 Add more features to the http client
We parse a date/time for headers now with a specific
method that returns a QDateTime
We added a partial (incremental) download feature to avoid the need to
wait until completed. This also allows us to lower mem usage by spooling
to disk as data comes in.
2025-11-17 11:56:14 +01:00
tomFlowee b226daf23e Fix test
We decided to avoid the stupid issue of looping infinitely on error by
forwarding past the end of the string on said error.
This now is reflected in the unit test too.
2025-11-17 11:54:16 +01:00
tomFlowee 4aa2718658 Prepare for new release 2025-11-13 23:47:33 +01:00
tomFlowee ab34541a7c Skip link local networks.
As this is basically used to bind to, link local doesn't make much sense
to return.
2025-11-08 19:59:11 +01:00
tomFlowee 36b609189e Add API docs. 2025-11-05 19:24:24 +01:00
tomFlowee 23fd430264 Make SimpleHttpClient also support HEAD 2025-11-05 19:19:43 +01:00
tomFlowee 0a3ff8dfe0 Add SimpleHttpClient class
To be able to move away from the monstrosity called QtNetwork
this introduces a tiny class based on boost (headers only lib) beast.
2025-11-05 14:19:58 +01:00
tomFlowee a9d3db7cf4 Avoid confusion, call the server a store.
The server allows a wallet to store or restore wallet data, but it
requires the application to have access to the identity address of
the wallet.

So it should be made clear that we do NOT expect anyone to store
a wallet seed in here, as that would create a circular dependency.
Can't get the wallet-identity without the seed and thus without
the seed you can't find nor decrypt the actual file.
2025-11-04 17:40:02 +01:00
tomFlowee 30ac1d9cc9 Fixlets in comments 2025.11.0 2025-11-02 17:17:04 +01:00
tomFlowee 4d4dcc6b1a New month 2025-11-02 17:17:04 +01:00
tomFlowee d51470a00f Add prefix config for proxy setup.
Allowing the operator to put it behind a nginx proxy.
2025-11-01 20:45:26 +01:00
tomFlowee ca7eb8f9ec Generate a JSON of the keys' history. 2025-11-01 20:21:35 +01:00
tomFlowee 85039ebc0e fixlets 2025-11-01 18:56:34 +01:00
tomFlowee a30e80ef7f not sure why, but I'm getting smaller ones 2025-11-01 00:01:23 +01:00
tomFlowee 60e5e15542 Add more features to Mnemonic class
Also include unit tests
2025-10-28 14:52:54 +01:00
tomFlowee c79188242e Add new method to Streaming namespace
Streaming::readCompactSize()

As the reverse was already there, it makes sense to be consisten.
This includes a unit test.
2025-10-28 12:45:26 +01:00
tomFlowee 12dea93144 API docs language improvement. 2025-10-26 16:16:07 +01:00
tomFlowee 18f0405c30 Fix compile, add include. 2025-10-26 16:12:58 +01:00
tomFlowee b0ab4798bf Fix install of systemd service 2025-10-21 19:28:16 +02:00
tomFlowee b9b92f74be Correct CMake call for boost
Boost now no longer wants header only sections to be added here,
presumably because we won't link to any library.

This fixes compilation against Boost 1.89
2025-10-21 19:28:16 +02:00
tomFlowee 11d24589c3 Make compile
Add missing include so it also compiled against Qt 6.10
2025-10-21 19:28:16 +02:00
tomFlowee ab4a04f176 Replace deprecated deadline_timer
Move to system timer for real world waits for most of them,
since sleeping or being suspended is local and this is networking.
2025-10-21 19:28:16 +02:00
tomFlowee 4c52d55169 Lower debug level of this log line. 2025-10-21 19:28:16 +02:00
tomFlowee 3474f353d5 Started a readme and config files. 2025-10-21 19:28:16 +02:00
tomFlowee acd32d9a08 Verify the message before storing. 2025-10-14 22:49:14 +02:00
tomFlowee 338a868f40 Add the PublicKey::verifyCompact() method
this matches the PrivateKey::signCompact and the
PublicKey::recoverCompact to handle all parts of compact (read:
recoverable) ECDSA type of signatures.
2025-10-14 22:38:54 +02:00
tomFlowee ca56cf1a51 Add status code on output 2025-10-14 00:03:24 +02:00
tomFlowee 60f54e2b46 Complete API docs 2025-10-14 00:03:24 +02:00
tomFlowee f41604f324 Also add the ability to download the files. 2025-10-14 00:03:24 +02:00
tomFlowee f1803554e7 Make uploaded files go to right dir
The server should keep some revisions and as such we put all revisions
together in a dir, and manage that per 'user'.
This deletes older revisions (keeping a max num of revisions per user)
and sets a symlink to the latest.
2025-10-14 00:03:24 +02:00
tomFlowee dc6fccb449 Add config file support
Reloads with SIGHUP, but we monitor the file path too, so just write is
enough.
2025-10-03 21:50:50 +02:00
tomFlowee 18e8b076a2 Start new project wallet-backup-server
A rather simple server that allows POST uploads of small files that
have to be signed and owned by a bitcoin address.

The data embedded in this file is the backup of a (bitcoin cash) wallet.
Which should be made available by the wallet if it knows the address.
2025-10-02 22:35:41 +02:00
tomFlowee 82f4ba87fb Fixes possible rare race condition on cancelling
Actions can be cancelled, this tries harder to avoid it continuing to
run.
2025-09-15 21:28:44 +02:00
tomFlowee bde4268202 Handle edge cases better in NetworkManager
Prevent a trivial acceptor DoS in the network layer by never shutting down
the listener due to a single bad inbound socket (or banned IP). Instead we
close just that socket and keep accepting.

In NetworkManagerServerBase::acceptConnection(tcp::socket&&), two paths that
previously called shutdown() (which closes the acceptor) now only close the
offending socket:
- When an inbound connection is from a banned IP.
- When an exception occurs while inspecting the just-accepted socket (e.g.,
remote_endpoint throws because the peer vanished).

Patch is from John Galt.
2025-08-15 13:42:35 +02:00
tomFlowee d8e50a348e Make results per connection
This is a patch from John Galt to fix the problem that multiple
connections could end up getting settings from one connection
applied to the reply of another.
2025-08-11 14:28:21 +02:00
tomFlowee d452f411bc move to next release 2025-08-02 19:19:10 +02:00
tomFlowee c4bb20cc90 New month 2025-08-02 16:07:53 +02:00
tomFlowee 2be8ea7a9e Remove app-only libs from the boost search 2025-08-02 00:05:57 +02:00
tomFlowee d86b31e880 Fix allowing users to export this variable 2025-08-01 23:57:51 +02:00
tomFlowee bc73c0620d Minor fixes. 2025-08-01 17:14:01 +02:00
tomFlowee 080bc2456d new month 2025.07.0 2025-07-12 16:10:24 +02:00
tomFlowee 51c24cefaf Remove unused include 2025-06-21 17:40:33 +02:00
tomFlowee 56561b4d98 Add new signal to broadcastTxData
This now also registers when a peer sends the INV.
2025-05-21 22:52:31 +02:00
tomFlowee 5b5b595584 Add direct write
This allows the compiler to avoid going via std::string
2025-05-15 16:54:26 +02:00