1
0
Fork 0
forked from lthn/blockchain
Commit graph

62 commits

Author SHA1 Message Date
sowle
e278e8a792
ethash: more logs 2019-08-30 03:57:45 +03:00
sowle
33598c7c19
ethash: implement custom logging, add log message on allocation error 2019-08-30 03:53:20 +03:00
sowle
e07e4b0b9b
correctly handle null ptr that may be returned from progpow in get_block_longhash() 2019-08-29 18:44:59 +03:00
sowle
d6e8ecb86f
callstack trace for win64 implemented and integrated into epee 2019-08-29 04:23:16 +03:00
sowle
28659827c3
lmdb: reverting back to v 18 due to complex issues with resizing/synchronization
lmdb v 24 requires manual resizing/growing during it's normal function
Zano core is purely async so it's not easy to prevent all DB txs from starting on lmdb adapter level, because it will lead to random deadlocks in the core due to many high-level cross-thread dependencies.
We will rethink this later.
Many thanks to @leo-yuriev who helped us to discover these issues!
2019-08-28 17:58:35 +03:00
sowle
483f673c0d
warnings fixed 2019-08-15 06:17:03 +03:00
cryptozoidberg
2662abea6d
fixed compilation problem 2019-08-14 20:51:49 +02:00
cryptozoidberg
3cf4b87a07
Merge branch 'develop' into pos_impr 2019-08-14 10:23:56 +02:00
sowle
66072d32dd
lmdb update: 0.9.18 -> 0.9.24 2019-08-13 19:58:31 +03:00
cryptozoidberg
4a1bd84c71
added api for importing contacts from file 2019-08-09 22:12:32 +02:00
sowle
a6ab2adf86
zlib_helper::pack() fixed for small amount of data + unit test added (resolves #62) 2019-08-05 17:07:10 +03:00
cryptozoidberg
1ae2da4983
merge from develop 2019-08-01 23:22:43 +02:00
cryptozoidberg
292437c05c
fixed compilation issues 2019-07-24 00:37:24 +02:00
cryptozoidberg
0b1c1de8a8
added std analog of __builtin_popcount poor performance, but good compability 2019-07-16 21:14:21 +02:00
cryptozoidberg
41aa0932ce
returned original __builtin_popcount 2019-07-16 20:49:01 +02:00
cryptozoidberg
8d0c8a579f
attempt to fix bug in Zano/zanod related to CPU with hardware suport of SSE less then 4.2 2019-07-15 20:13:06 +02:00
cryptozoidberg
cda2dda44f
implemented comparing function fo altchains 2019-07-15 20:10:50 +02:00
cryptozoidberg
216ce4d90d
Merge branch 'develop' into pos_impr 2019-07-13 17:02:14 +02:00
cryptozoidberg
97e721f5f5
fixed bug with payment id visualisation 2019-06-29 00:39:50 +03:00
cryptozoidberg
667a4dec8a
inital implementation of PoS improvements: comparing function, diff tracing, block version 2019-06-18 01:15:33 +03:00
sowle
953a081559 eos portable archive: fix boost archive version back to make it independent from Boost version (also, fix for ZANO-307) 2019-06-12 18:45:20 +03:00
cryptozoidberg
4acab07028
added more diagnostic logs for protocol 2019-06-05 15:51:15 +03:00
cryptozoidberg
8c065fd974
added notice for pos_mining in wallet, removed warnings with new boost 2019-05-24 15:51:10 +02:00
sowle
33a002982e formatting/whitespace fixes 2019-05-21 19:53:20 +03:00
sowle
26c26501e5 reverting commit cca48ed718 "contrib: update LMDB to 0.9.23, use submodule (#27)" 2019-05-21 18:18:20 +03:00
0x914409F1
cca48ed718 contrib: update LMDB to 0.9.23, use submodule (#27)
Note: previous LMDB (0.9.18) is over 3 years old now.

Here is the changelog from 0.9.18 until now:

```
LMDB 0.9 Change Log

LMDB 0.9.23 Release (2018/12/19)
        ITS#8756 Fix loose pages in dirty list
        ITS#8831 Fix mdb_load flag init
        ITS#8844 Fix mdb_env_close in forked process
        Documentation
                ITS#8857 mdb_cursor_del doesn't invalidate cursor
                ITS#8908 GET_MULTIPLE etc don't change passed in key

LMDB 0.9.22 Release (2018/03/22)
        Fix MDB_DUPSORT alignment bug (ITS#8819)
        Fix regression with new db from 0.9.19 (ITS#8760)
        Fix liblmdb to build on Solaris (ITS#8612)
        Fix delete behavior with DUPSORT DB (ITS#8622)
        Fix mdb_cursor_get/mdb_cursor_del behavior (ITS#8722)

LMDB 0.9.21 Release (2017/06/01)
        Fix xcursor after cursor_del (ITS#8622)

LMDB 0.9.20 (Withdrawn)
        Fix mdb_load with escaped plaintext (ITS#8558)
        Fix mdb_cursor_last / mdb_put interaction (ITS#8557)

LMDB 0.9.19 Release (2016/12/28)
        Fix mdb_env_cwalk cursor init (ITS#8424)
        Fix robust mutexes on Solaris 10/11 (ITS#8339)
        Tweak Win32 error message buffer
        Fix MDB_GET_BOTH on non-dup record (ITS#8393)
        Optimize mdb_drop
        Fix xcursors after mdb_cursor_del (ITS#8406)
        Fix MDB_NEXT_DUP after mdb_cursor_del (ITS#8412)
        Fix mdb_cursor_put resetting C_EOF (ITS#8489)
        Fix mdb_env_copyfd2 to return EPIPE on SIGPIPE (ITS#8504)
        Fix mdb_env_copy with empty DB (ITS#8209)
        Fix behaviors with fork (ITS#8505)
        Fix mdb_dbi_open with mainDB cursors (ITS#8542)
        Fix robust mutexes on kFreeBSD (ITS#8554)
        Fix utf8_to_utf16 error checks (ITS#7992)
        Fix F_NOCACHE on MacOS, error is non-fatal (ITS#7682)
        Build
                Make shared lib suffix overridable (ITS#8481)
        Documentation
                Cleanup doxygen nits
                Note reserved vs actual mem/disk usage

LMDB 0.9.18 Release (2016/02/05)
        Fix robust mutex detection on glibc 2.10-11 (ITS#8330)
        Fix page_search_root assert on FreeDB (ITS#8336)
        Fix MDB_APPENDDUP vs. rewrite(single item) (ITS#8334)
        Fix mdb_copy of large files on Windows
        Fix subcursor move after delete (ITS#8355)
        Fix mdb_midl_shirnk off-by-one (ITS#8363)
        Check for utf8_to_utf16 failures (ITS#7992)
        Catch strdup failure in mdb_dbi_open
        Build
                Additional makefile var tweaks (ITS#8169)
        Documentation
                Add Getting Started page
                Update WRITEMAP description
```
2019-05-20 11:32:58 +02: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
cryptozoidberg
4db26f48a5
fixed latest boost compatibility 2019-05-18 19:41:17 +02:00
anonimal
282214036c
contrib: update miniupnpc to 2.1, use submodule
Resolves the following implemented client vulnerabilities:

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-6031
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8798

There are other client fixes as well and I would advise to
semi-regularly bump to master because of the lead developer's release
habits. In the meantime, version 2.1 should be good enough for now.

Note: the adding of TTL argument to upnpDiscover came with the API_VERSION 14.
2019-05-01 23:03:09 +00:00
sowle
02576ab740 minor operator<< refactoring & related stuff 2019-05-01 16:03:12 +02:00
sowle
6702b53662 Merge branch 'master' into offsig 2019-04-23 02:07:41 +03: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
f408f93344 be sure that connection is closed on sentque overflow 2019-04-22 18:43:48 +02:00
sowle
060d829f3a Merge branch 'master' into offsig 2019-04-20 02:16:35 +03:00
crypro.zoidberg
89356d9a33 changed progpow 2019-04-19 20:19:59 +02:00
sowle
d51664e5dc Merge branch 'master' into offsig
# Conflicts:
#	tests/unit_tests/epee_levin_protocol_handler_async.cpp
2019-04-19 15:46:53 +03:00
crypro.zoidberg
d846d26bf4 more preformance logs 2019-04-18 02:45:53 +02:00
sowle
6f682bf79d attempt to fix gcc compilation 2019-04-12 16:38:36 +03:00
sowle
daa01fd533 cold-signing is finally working in CLI and via RPC 2019-04-12 09:48:33 +03:00
sowle
2c1fca9453 Merge branch 'master' into offsig
# Conflicts:
#	src/currency_core/currency_format_utils.h
2019-04-11 13:49:18 +03:00
crypro.zoidberg
534d649466 implemented 128 bit coin supply 2019-04-10 03:00:29 +02:00
crypro.zoidberg
12e64bf462 changed to wildprog 2019-04-08 20:28:11 +02:00
sowle
b08905c1cc Merge branch 'master' into offsig
# Conflicts:
#	src/currency_core/currency_format_utils.h
#	tests/unit_tests/pow_hash_test.cpp
2019-04-08 01:37:32 +03:00
sowle
d2d1bf5d7a wallet: refactoring for cold-signing process + offline mode + watch-only mode (work in progress) 2019-04-03 12:48:09 +03:00
sowle
a9fa1947c6 GPU mining fixed 2019-04-01 14:52:06 +03:00
crypro.zoidberg
7c4a65ef2a changed progpow cpu implementation 2019-03-28 22:07:55 +01:00
sowle
9548a92448 progpow 0.9.2 -> 0.9.3 2019-03-27 22:33:35 +03:00
crypro.zoidberg
cc850cf3c3 Inital integration of progpow 2019-03-25 01:30:20 +01:00
crypro.zoidberg
a9c0556e16 added original thehash implementation 2019-03-21 22:16:36 +01:00