1
0
Fork 0
forked from lthn/blockchain
Secure. Scalable. Easy to Use
Find a file
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
contrib Coverity (#28) 2019-05-20 11:32:36 +02:00
resources Moved sources to public repo 2018-12-27 18:50:45 +03:00
src Coverity (#28) 2019-05-20 11:32:36 +02:00
tests coretests: wallet_unconfimed_tx_balance added (exposes a minor bug) 2019-05-06 19:36:16 +02:00
utils added gpg key 2019-05-17 15:25:47 +02:00
.gitattributes Moved sources to public repo 2018-12-27 18:50:45 +03:00
.gitignore Moved sources to public repo 2018-12-27 18:50:45 +03:00
.gitmodules contrib: update miniupnpc to 2.1, use submodule 2019-05-01 23:03:09 +00:00
CMakeLists.txt CMakeLists: split definitions and compile options for MSVC 2019-05-02 17:11:51 +03:00
Makefile Makefile: remove redundant GUI target 2019-03-14 23:26:50 +00:00
README.md contrib: update miniupnpc to 2.1, use submodule 2019-05-01 23:03:09 +00:00

Building

Cloning

Be sure to properly clone the repository:

$ git clone --recursive https://github.com/hyle-team/zano.git

or, if already cloned:

$ cd zano/ && git submodule init && git submodule update

Dependencies

component / version minimum
(not recommended but may work)
recommended most recent of what we have ever tested
gcc (Linux) 5.4.0 7.2.0 8.3.0
llvm/clang (Linux) UNKNOWN 7.0.1 8.0.0
MSVC (Windows) 2015 (14.0 update 1) 2015 (14.0 update 3) 2017 (15.5.7)
XCode (macOS) 7.3.1 9.2 9.2
CMake 2.8.6 3.4.1 3.11.0
Boost 1.56 1.60 1.66
Qt (only for GUI) 5.8.0 5.9.1 5.10.1

Linux

Recommended OS version: Ubuntu 17.04 LTS.

  1. For server version:
    $ sudo apt-get install -y build-essential g++ python-dev autotools-dev libicu-dev libbz2-dev cmake git libboost-all-dev screen
    For GUI version:
    $ sudo apt-get install -y build-essential g++ python-dev autotools-dev libicu-dev libbz2-dev cmake git libboost-all-dev screen mesa-common-dev libglu1-mesa-dev qt5-default qtwebengine5-dev

  2. $ cd zano/ && make -j$(nproc) gui

  3. Look for the binaries, including the Zano GUI, in the build directory

Windows

Recommended OS version: Windows 7 x64.

  1. Install required prerequisites.
  2. Edit paths in utils/configure_local_paths.cmd.
  3. Run utils/configure_win64_msvs2015_gui.cmd or utils/configure_win64_msvs2017_gui.cmd according to your MSVC version.
  4. Go to the build folder and open generated Zano.sln in MSVC.
  5. Build.

In order to correctly deploy Qt GUI application you also need to do the following: 6. Copy Zano.exe to a folder (e.g. depoy). 7. Run PATH_TO_QT\bin\windeployqt.exe deploy/Zano.exe. 8. Copy folder \src\gui\qt-daemon\html to deploy\html.

macOS

Recommended OS version: macOS Sierra 10.12.6 x64.

  1. Install required prerequisites.
  2. Set environment variables as stated in utils/macosx_build_config.command.
  3. mkdir build
    cd build
    cmake ..
    make

To build GUI application:

  1. Create self-signing certificate via Keychain Access: a. Run Keychain Access. b. Choose Keychain Access > Certificate Assistant > Create a Certificate. c. Use “Zano” (without quotes) as certificate name. d. Choose “Code Signing” in “Certificate Type” field. e. Press “Create”, then “Done”. f. Make sure the certificate was added to keychain "System". If not—move it to "System". g. Double click the certificate you've just added, enter the trust section and under "When using this certificate" select "Always trust". h. Unfold the certificate in Keychain Access window and double click underlying private key "Zano". Select "Access Control" tab, then select "Allow all applications to access this item". Click "Save Changes".
  2. Revise building script, comment out unwanted steps and run it: utils/build_script_mac_osx.sh
  3. The application should be here: /buid_mac_osx_64/release/src

Good luck!