1
0
Fork 0
forked from lthn/blockchain
Commit graph

29 commits

Author SHA1 Message Date
sowle
f98fb2b492
DB: removed cache size for lmdb, added basic_key_value_accessor::deinit(), removed ugly code for 0.9.18->0.9.24 migration 2019-08-17 07:08:00 +03:00
sowle
f6a3fb5aef
lmdb: fixed erroneous opening of DB created with prev builds with lmdb 0.9.18 2019-08-15 18:48:20 +03:00
sowle
483f673c0d
warnings fixed 2019-08-15 06:17:03 +03:00
sowle
3bdb154d05
db backend: on-fly resize db implemented 2019-08-13 19:59:44 +03:00
sowle
1df90ca65d
made lmdb_db_backend::open() able to create required dir tree 2019-08-10 05:31:47 +03:00
sowle
9fc42dac53 daemon: checking for free space (--disable-stop-on-low-free-space was also added) + minor refactoring on critical errors handling 2019-07-02 18:38:35 +03:00
sowle
2fe5e6be13 boost serialization helper: fixed func names in exceptions for easier identification 2019-06-12 18:13:55 +03:00
sowle
7a1f1f7426 Merge branch 'develop' into timesync 2019-06-11 14:32:57 +03:00
sowle
403f21130b time sync issues detection: --disable-stop-if-time-out-of-sync option added + various fixes 2019-06-07 15:15:14 +03:00
cryptozoidberg
b55c30337b
added proper handling mutex operating in lmdb, improved wallet backend error handling 2019-06-06 23:08:21 +03:00
sowle
5995c0ca7f time sync issues detection first impl 2019-06-06 16:21:26 +03:00
cryptozoidberg
19daa91f08
attempt to fix bug in lmdb backend 2019-06-06 14:34:17 +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
55d169c926 daemon: implement CLI option to disable UPnP (#26)
Enhances local network privacy by disabling UPnP (discovery (SSDP),
etc.), and also speeds up the daemon on startup if UPnP is not needed.

In other words, allows the option to completely disable the use of UPnP.
2019-05-19 03:24:41 +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
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
daa01fd533 cold-signing is finally working in CLI and via RPC 2019-04-12 09:48:33 +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
crypro.zoidberg
a330901840 overloaded get_wild_keccack2 2019-03-15 19:58:47 +01:00
crypro.zoidberg
7676fc99b7 mved to 25 word seed phrase 2019-02-18 19:48:38 +01:00
sowle
a870677f61 linux compilation fixed 2019-02-16 04:31:57 +03:00
dev
f68a7cfa7a peer log downloading 2019-02-16 03:04:08 +03:00
crypro.zoidberg
6e050fce8b added more logs, changed structure of furmat_utils 2019-02-14 02:00:40 +01:00
crypro.zoidberg
c31b3c801b fixed deadlock on abort_tx 2019-01-16 19:00:19 +03:00
crypro.zoidberg
f23e97c10c Moved sources to public repo 2018-12-27 18:50:45 +03:00