1
0
Fork 0
forked from lthn/blockchain
Commit graph

31 commits

Author SHA1 Message Date
Dmitry Matsiukhov
a3587a48e7
fix array entry deserialization and JSON parsing edge cases + tests (#545)
credits go to Lilith (>_>) of Cisco Talos (TALOS-2018-0637) and moneromooo-monero (DoS/RPC fixes PR#4438)
2025-07-17 15:14:41 +03:00
sowle
c4c8d65798
fixed a rare issue with printing random control characters to the console, breaking it 2025-05-30 14:49:31 +02:00
sowle
e2a70189b3
OpenSSL 3.x support 2025-01-14 18:57:50 +01:00
sowle
0e69e059fe
fixed incorrect end-of-object indentation in dump_as_json() and similar functions 2024-06-29 13:59:01 +02:00
cryptozoidberg
3a792e9a8e
added wallet API complete documentation 2024-04-09 22:52:56 +02:00
cryptozoidberg
e5afb6b0c6
in the middle of refactoring autodoc 2024-03-27 15:52:30 +01:00
cryptozoidberg
60bb74cbb0
more consistent documentation code is working now 2024-03-23 15:45:24 +01:00
cryptozoidberg
256206af09
more code on autodoc descriptions 2024-03-22 13:54:46 +01:00
cryptozoidberg
2283a77104
more work on json/descriptions improvements 2024-03-21 22:57:55 +01:00
cryptozoidberg
919790e808
some temporary commits 2024-03-21 14:31:40 +01:00
cryptozoidberg
97c3460af8
autodoc inital code + cmake warningns + improvements over compilation performance 2024-03-20 14:45:29 +01:00
sowle
46a0db21ec
Merge branch 'develop' into cryptoassets
# Conflicts:
#	CMakeLists.txt
#	README.md
#	contrib/epee/include/net/http_client.h
#	src/currency_core/blockchain_storage.cpp
#	src/currency_core/currency_core.cpp
#	src/currency_core/currency_format_utils.cpp
#	src/gui/qt-daemon/layout
#	src/rpc/core_rpc_server.cpp
#	src/rpc/core_rpc_server.h
#	src/rpc/core_rpc_server_commands_defs.h
#	src/version.h.in
#	src/wallet/wallet2.cpp
#	src/wallet/wallet2.h
#	src/wallet/wallet_public_structs_defs.h
#	src/wallet/wallet_rpc_server.h
#	tests/core_tests/chaingen.cpp
#	tests/core_tests/pos_validation.cpp
#	tests/core_tests/wallet_tests.cpp
#	tests/performance_tests/main.cpp
2023-11-01 23:48:36 +01:00
cryptozoidberg
1886fae681
implemented governance initial code for wallet/daemon 2023-10-03 22:43:51 +02:00
cryptozoidberg
5448441c8f
fixed typo 2023-07-13 15:55:38 +02:00
cryptozoidberg
d7dea2ad14
added cross-coversion for JSON parser string->uint64_t 2023-07-13 15:49:30 +02:00
sowle
52f941c748
hopefully final fixes for gcc errors 2023-04-10 21:01:35 +02:00
cryptozoidberg
64a90d190a
optimization on get_random_outs 2022-12-20 21:22:11 +01:00
cryptozoidberg
490b8b12f1
added pre-loading token whitelist via ssl 2022-11-17 21:58:36 +01:00
sowle
4066de04a1
epee: clean up the mess with namespace misc_utils::parse + string tools 2022-05-10 17:29:42 +02:00
sowle
02544f7186
boost placeholders fix (2) 2022-03-20 04:05:15 +03:00
cryptozoidberg
a14cda2db6
improved json rpc lib and logging lib 2021-08-17 12:13:16 +02:00
sowle
9a0382f1a7
MSVC 2019 configuration + Boost 1.76 support 2021-06-15 14:21:10 +03:00
cryptozoidberg
254a2dcb6e
fixed compilation issues with windows/warning for paindroid 2020-02-23 06:26:12 +01:00
sowle
43e8fbefbd
keep stream flags intact in dump_as_json() 2020-02-18 17:04:14 +03:00
cryptozoidberg
a5c02c7d8c
improvements over wallet balance caclulations algo 2019-09-27 17:16:18 +02:00
sowle
d6e8ecb86f
callstack trace for win64 implemented and integrated into epee 2019-08-29 04:23:16 +03:00
cryptozoidberg
4acab07028
added more diagnostic logs for protocol 2019-06-05 15:51:15 +03:00
0x914409F1
950f9c16f6 Coverity (#28)
* stratum_server: resolve CID 210144 (UNINIT_CTOR)

* stratum_server: resolve CID 210042/210085/210104 (UNCAUGHT_EXCEPT)

The potential to throw exists within the logger,
remove_blockchain_update_listener, and any paths involving the logger
(including CATCH_ENTRY_*).

* epee: misc_log_ex: create CATCH_ENTRY_NO_RETURN macro

A temporary substition for what I hope will eventually be a full-fledged
exception-dispatcher (class-based, not macro).

* stratum_server: resolve CID 210080/210084/210089 (UNCAUGHT_EXCEPT)

The potential to throw exists within the logger,
remove_protocol_handler, and any paths involving the logger
(including CATCH_ENTRY_*).

* epee: levin_protocol_handler_async: resolve CID 210140/210182/210165 (UNCAUGHT_EXCEPT)

The potential to throw exists within guarded_critical_region_t, and any
paths involving the logger (including CATCH_ENTRY_*).

* epee: levin_protocol_handler_async: resolve CID 210110/210119/210155 (UNCAUGHT_EXCEPT)

The potential to throw exists within the logger, del_connection, and any
paths involving the logger (including CATCH_ENTRY_*).

* epee: misc_log_ex: move macros to *top* of file

so they can be used *within* this file.

* daemon: resolve CID 210069/210092/210166 (UNCAUGHT_EXCEPT)

The potential to throw exists within log_space, and any paths involving
the logger (including CATCH_ENTRY_*).

* daemon: return cstdlib proper types in main

* simplewallet: resolve 6 different CIDs (UNCAUGHT_EXCEPT)

CID: 210082
CID: 210086
CID: 210096
CID: 210147
CID: 210149
CID: 210150

The potential to throw exists throughout various paths in main.

* simplewallet: return cstdlib proper types in main

* simplewallet: resolve CID 210128/210160 (UNCAUGHT_EXCEPT)

The potential to throw exists within various paths, and any paths
involving the logger (including CATCH_ENTRY_*).

* conn_tool: resolve 5 different CIDs (UNCAUGHT_EXCEPT)

CID: 210038
CID: 210047
CID: 210108
CID: 210122
CID: 210157

The potential to throw exists throughout various paths in main.

* conn_tool: return cstdlib proper types in main

* miniupnp_helper: resolve CID 210050 (UNCAUGHT_EXCEPT)

The potential to throw exists within deinit, including any paths
involving the logger (including CATCH_ENTRY_*).

* epee: profile_tools: resolve CID 210055 (UNCAUGHT_EXCEPT)

The potential to throw exists within boost microsec_clock::localtime(),
and any paths involving the logger (including CATCH_ENTRY_*).

* db_backend_lmdb: resolve CID 210056/210133 (UNCAUGHT_EXCEPT)

The potential to throw exists within close(), including any paths
involving the logger (including CATCH_ENTRY_*).

* epee: misc_log_ex: resolve CID 210060/210124 (UNCAUGHT_EXCEPT)

The potential to throw exists within several paths, including any paths
involving the logger (including CATCH_ENTRY_*).

* epee: misc_language: resolve 4 CIDs (UNCAUGHT_EXCEPT)

CID: 210064
CID: 210093
CID: 210136
CID: 210139

The potential to throw exists within m_func(), including any paths
involving the logger (including CATCH_ENTRY_*).

* db_abstract_accessor: resolve 4 CIDs (UNCAUGHT_EXCEPT)

CID: 210072
CID: 210094
CID: 210116
CID: 210141

The potential to throw exists within m_cache.clear(), including any
paths involving the logger (including CATCH_ENTRY_*).

* epee: net_helper: resolve CID 210100 (UNCAUGHT_EXCEPT)

The potential to throw exists within shutdown(), including any
paths involving the logger (including CATCH_ENTRY_*).

* epee: syncobj: resolve CID 210123 (UNCAUGHT_EXCEPT)

The potential to throw exists within unlock(), including any
paths involving the logger (including CATCH_ENTRY_*).

* epee: profile_tools: resolve CID 210145/210154 (UNCAUGHT_EXCEPT)

The potential to throw exists within various paths, including any paths
involving the logger (including CATCH_ENTRY_*).

* epee: http_base: resolve CID 210176 (UNINIT_CTOR)

* p2p: net_node: resolve CID 210173 (UNINIT_CTOR)

* epee: net_helper: resolve CID 210138 (UNINIT_CTOR)

* p2p: net_peerlist: resolve CID 210137 (UNINIT_CTOR)

* currency_basic: resolve CID 210117 (UNINIT_CTOR)

* epee: abstract_tcp_server2: resolve 3 CIDs (UNINIT_CTOR)

CID: 210040
CID: 210090
CID: 210105

* simplewallet: resolve CID 210103 (UNINIT_CTOR)

* epee: levin_protocol_handler_async: resolve CID 210091 (UNINIT_CTOR)

* json_archive: resolve CID 210087 (UNINIT_CTOR)

* epee: levin_protocol_handler_async: resolve CID 210073 (UNINIT_CTOR)

* miniupnp_helper: resolve CID 210037 (UNINIT_CTOR)

* crypto: ge_frombytes_vartime: resolve CID 210142 (CHECKED_RETURN)

* wallet2: resolve CID 210041 (CHECKED_RETURN)

* epee: misc_log_ex: resolve CID 210127 (DEADCODE)

* epee: levin_protocol_handler_sync: resolve 3 CIDs (PASS_BY_VALUE)

CID: 210167
CID: 210170
CID: 210180

* p2p: net_node: resolve CID 210065 (PASS_BY_VALUE)

* epee: levin_abstract_invoke2: resolve CID 210049 (PASS_BY_VALUE)

* epee: abstract_tcp_server2: resolve CID 210045 (PASS_BY_VALUE)

* epee: misc_log_ex: add NESTED_*_ENTRY macros

* simplewallet: use NESTED_*_ENTRY in message_writer dtor

* stratum_protocol_handler_config: use NESTED_*_ENTRY in dtor

* stratum_protocol_handler: use NESTED_*_ENTRY in dtor

* lmdb_db_backend: use NESTED_*_ENTRY in dtor

* epee: abstract_tcp_server2: resolve 4 CIDs (UNCAUGHT_EXCEPT)

CID: 210088
CID: 210106
CID: 210164
CID: 210179

The potential to throw exists within various paths, including any
paths involving the logger (including CATCH_ENTRY_*).

* db_abstract_accessor: use NESTED_*_ENTRY in dtor

* miniupnp_helper: use NESTED_*_ENTRY in dtor

* epee: misc_log_ex: use NESTED_*_ENTRY in log_frame dtor

* epee: levin_protocol_handler_async: use NESTED_*_ENTRY in dtors

* epee: net_helper: use NESTED_*_ENTRY in dtor

* epee: profile_tools: use NESTED_*_ENTRY in dtors

* epee: misc_language: use NESTED_*_ENTRY in dtor

* epee: syncobj: use NESTED_*_ENTRY in dtor

* zano: license contact w/ zano.org email instead of sekreta.org email
2019-05-20 11:32:36 +02:00
0x914409F1
1c9ae19ec4 epee: portable_storage_base: implement array_entry_t copyctor (#25)
"Manually initialize the array_entry_t iterator to ensure it points
to the correct m_array, thereby preventing a potential use-after-free
situation."

Credit to Guido Vranken: https://hackerone.com/reports/511317
2019-05-19 03:09:31 +02:00
sowle
408fab65a4 dump as json now supports different line endings + fixed logging for main_window 2019-04-23 02:03:09 +03:00
crypro.zoidberg
f23e97c10c Moved sources to public repo 2018-12-27 18:50:45 +03:00