Commit Graph

539 Commits

Author SHA1 Message Date
TheCharlatan 8f96c718bc Adapt Readme and script to monero gitian build signing
The sigs should be produced in a seperate step by default.
Remove windows and osx sig options that are not needed for monero.
2018-10-18 16:39:35 +02:00
TheCharlatan 109717a5fd Remove Travis check in depends toolchain file
The architecture for darwin is now detected correctly, remove the
override for it.
2018-10-18 11:54:20 +02:00
Riccardo Spagni 5ccd3d32b4
Merge pull request #4489
00901e9c epee: initialize a few data members where it seems to be appropriate (moneromooo-monero)
144a6c32 abstract_tcp_server2: move m_period to subclass (moneromooo-monero)
758d7684 connection_basic: remove unused floating time start time (moneromooo-monero)
e5108a29 Catch more exceptions in dtors (moneromooo-monero)
2018-10-15 13:37:18 +02:00
Riccardo Spagni 7c6a7c1945
Merge pull request #4565
bf842a6a build: use ARCH 'native' by default, allow to configure and override it (xiphon)
2018-10-15 13:31:57 +02:00
xiphon bf842a6a1e build: use ARCH 'native' by default, allow to configure and override it 2018-10-13 09:46:37 +00:00
moneromooo-monero 8f3c793749
readline_buffer: fix "cursor in prompt" bug
It happens when readline displays a prompt just before switching
to a shorter one
2018-10-12 21:03:59 +00:00
moneromooo-monero e736964a0c
Remove epee header dependency on cryptonote_core 2018-10-12 17:16:44 +00:00
TheCharlatan 9617fad070 Add OSX gitian descriptor 2018-10-11 01:39:44 +02:00
TheCharlatan d147d24058 Add windows descriptor to gitian descriptors
Windows is built with a seperate descriptor to handle additional changes
that need to be done to the end binary. Consolidate the gitian-build
script for this change.
2018-10-09 22:24:49 +02:00
TheCharlatan fed4e59886 Change gitian.sigs repo from bitcoin-core to monero-project remote host 2018-10-09 11:12:32 +02:00
TheCharlatan f2127f9dca Add checksums for download tools
The signature prepare tool and the gitian-builder git repo should be
checked for their content. For this purpose, checkout the gitian-builder
repo at a specific commit and take the sha256sum of the osslsigncode
tool.
2018-10-08 23:14:46 +02:00
TheCharlatan c2f178902a Add gitian build script
This adds a build script to run gitian builds for linux.
The build script was copied from bitcoin and then adapted for monero.
Build step documentation is outlined in the README in the contrib/gitian
directory.
2018-10-08 17:29:40 +02:00
TheCharlatan 6d0ca4e25e Prepare Depends Packages for Gitian Scripts
The gitian environment does not treat whitespaces in configure lines,
like most other systems. The solution is to just remove them.
2018-10-08 15:53:22 +02:00
iDunk5400 2e2daebcc9
ANSI colors in Windows 10 2018-10-08 14:56:16 +02:00
iDunk5400 17701864c4
Depends: build hidapi with -fPIC 2018-10-08 12:50:04 +02:00
TheCharlatan 21a624af23 Consolidate HID depends makefiles into single recipe
Make sure all required dependencies are linked statically, by only
providing the static libraries.
2018-10-07 19:16:22 +02:00
Riccardo Spagni 3a4fbdd9ec
Merge pull request #4470
2fbf38ee Fix 32bit depends builds (TheCharlatan)
17142ec9 malloc scratchpad for all supported android archs (m2049r)
6a781408 Make depends use self built clang for darwin (TheCharlatan)
69da14e1 fixes make debug compilation on OSX (Dusan Klinec)
fe125647 Fixup RENAME_DB() macro (Howard Chu)
b2972927 osx compilation fix: missing boost libs added (Dusan Klinec)
174f31bf simplewallet: don't complain about payment id on pool mined blocks (moneromooo-monero)
89288863 README: mention ASAN usage alongside valgrind (moneromooo-monero)
83debef9 wallet_rpc_server: remove verbose field in incoming_transfers query (moneromooo-monero)
a69271fa Fixed a typo (Piotr Kąkol)
92d1da28 unit_tests: fix build with GCC 5.4.0 on ubuntu (moneromooo-monero)
a21da905 Wallet: use unique_ptr for WalletImpl members (oneiric)
7a056f44 WalletAPI: multisigSignData bug fixed (naughtyfox)
43a06350 ringdb: use cursors to be a bit faster (moneromooo-monero)
7964d4f8 wallet2: handle corner case in picking fake outputs (moneromooo-monero)
6f5360b3 bump version to 0.13.0.1 (Riccardo Spagni)
cf470bf3 switch from master to rc (Riccardo Spagni)
2018-10-02 22:37:18 +02:00
moneromooo-monero 00901e9c93
epee: initialize a few data members where it seems to be appropriate 2018-10-02 17:28:50 +00:00
moneromooo-monero 144a6c32c9
abstract_tcp_server2: move m_period to subclass
This is where it is actually used, and initialized
2018-10-02 17:28:48 +00:00
moneromooo-monero 758d768486
connection_basic: remove unused floating time start time 2018-10-02 17:28:46 +00:00
moneromooo-monero e5108a294a
Catch more exceptions in dtors
Misc coverity reports
2018-10-02 17:28:44 +00:00
Riccardo Spagni effcbf2060
Merge pull request #4459
bcf3f6af fuzz_tests: catch unhandled exceptions (moneromooo-monero)
3ebd05d4 miner: restore stream flags after changing them (moneromooo-monero)
a093092e levin_protocol_handler_async: do not propagate exception through dtor (moneromooo-monero)
1eebb82b net_helper: do not propagate exceptions through dtor (moneromooo-monero)
fb6a3630 miner: do not propagate exceptions through dtor (moneromooo-monero)
2e2139ff epee: do not propagate exception through dtor (moneromooo-monero)
0749a8bd db_lmdb: do not propagate exceptions in dtor (moneromooo-monero)
1b0afeeb wallet_rpc_server: exit cleanly on unhandled exceptions (moneromooo-monero)
418a9936 unit_tests: catch unhandled exceptions (moneromooo-monero)
ea7f9543 threadpool: do not propagate exceptions through the dtor (moneromooo-monero)
6e855422 gen_multisig: nice exit on unhandled exception (moneromooo-monero)
53df2deb db_lmdb: catch error in mdb_stat calls during migration (moneromooo-monero)
e67016dd blockchain_blackball: catch failure to commit db transaction (moneromooo-monero)
661439f4 mlog: don't remove old logs if we failed to rename the current file (moneromooo-monero)
5fdcda50 easylogging++: test for NULL before dereference (moneromooo-monero)
7ece1550 performance_test: fix bad last argument calling add_arg (moneromooo-monero)
a085da32 unit_tests: add check for page size > 0 before dividing (moneromooo-monero)
d8b1ec8b unit_tests: use std::shared_ptr to shut coverity up about leaks (moneromooo-monero)
02563bf4 simplewallet: top level exception catcher to print nicer messages (moneromooo-monero)
c57a65b2 blockchain_blackball: fix shift range for 32 bit archs (moneromooo-monero)
2018-09-29 22:20:38 +02:00
Riccardo Spagni 8e98ed8c71
Merge pull request #4448
6a781408 Make depends use self built clang for darwin (TheCharlatan)
2018-09-29 22:20:20 +02:00
Riccardo Spagni b4ec67b2f7
Merge pull request #4443
b2972927 osx compilation fix: missing boost libs added (Dusan Klinec)
2018-09-29 22:20:09 +02:00
TheCharlatan 2fbf38ee91 Fix 32bit depends builds
Add architecture flags when cmake invokes gcc manually.
Add 32bit to Travis.
2018-09-29 22:16:42 +02:00
Riccardo Spagni 50f9472911
Merge pull request #4448
6a781408 Make depends use self built clang for darwin (TheCharlatan)
2018-09-29 22:14:56 +02:00
Dusan Klinec b2972927ea
osx compilation fix: missing boost libs added 2018-09-26 21:23:01 +02:00
TheCharlatan 6a78140863 Make depends use self built clang for darwin
The configure script in hidapi and libsodium tried to find clang in /usr/bin,
even though the correct prefix was passed in. This sets the correct CC flag.
This was previously undetected, because clang and the sdk where
installed in the global environment.

This also fixes a subsequent error, where IOKIT and CoreFoundation are
not found, again for the reason stated above.
2018-09-25 23:05:16 +02:00
Riccardo Spagni f2eee1eb8c
Merge pull request #4438
e350cc5a wallet2: fix duplicate output making it to the RPC (moneromooo-monero)
bf9a0f4c epee: fix stack overflow on crafted input (moneromooo-monero)
45683ee0 epee: fix invalid memory write reading an array entry (moneromooo-monero)
2018-09-25 13:33:37 +02:00
moneromooo-monero bf9a0f4c65
epee: fix stack overflow on crafted input 2018-09-25 11:27:50 +00:00
moneromooo-monero 45683ee02c
epee: fix invalid memory write reading an array entry
Reported by Lilith Wyatt at Talos.

Since this is not needed in normal operation, I just let this
error out.
2018-09-25 11:27:48 +00:00
TheCharlatan 5c234cbdcb Add hidapi to depends
Clang needs to get its cctools path passed directly for the hid build to
succeed.
Make gperf a permanent external dependency.
Remove pcsc from depends.
2018-09-25 12:13:54 +02:00
TheCharlatan 0f4f873bf3 Fix Darwin Sodium build
Clang needs to get its cctools path passed.
2018-09-22 21:50:08 +02:00
Riccardo Spagni b88bbf59c3
Merge pull request #4377
4d52ec0c mlog: do not display http errors by default (moneromooo-monero)
2018-09-21 20:41:17 +02:00
Riccardo Spagni bb3ff2bb36
Merge pull request #4209
26a42fe5 Added features to epee::span<T> :   - Support for classes   - Added `remove_prefix` function   - Added `to_mut_span` and `as_mut_byte_span` (Lee Clagett)
2018-09-21 20:30:36 +02:00
Riccardo Spagni 580497d5f9
Merge pull request #4306
56b50faa wallet: use wipeable_string in more places where a secret is used (moneromooo-monero)
07ec748c wipeable_string: add hex_to_pod function (moneromooo-monero)
2018-09-18 17:32:11 +02:00
Riccardo Spagni 9c40bc62fc
Merge pull request #3430
42397359 Fixup 32bit arm build (TheCharlatan)
a06d2581 Fix Windows build (TheCharlatan)
ecaf5b3f Add libsodium to the packages, the arm build was complaining about it. (TheCharlatan)
cbbf4d24 Adapt translations to upstream changes (TheCharlatan)
db571546 Updated pcsc url (TheCharlatan)
f0ba19fd Add lrelease to the depends (TheCharlatan)
cfb30462 Add Miniupnp submodule (TheCharlatan)
5f7da005 Unbound is now a submodule. Adapt depends for this. (TheCharlatan)
d6b9bdd3 Update readmes to reflect the usage of depends (TheCharlatan)
56b6e41e Add support for apple and arm building (TheCharlatan)
29311fd1 Disable stack unwinding for mingw32 depends build. (TheCharlatan)
8db3d573 Modify depends for monero's dependencies (TheCharlatan)
0806a23a Initial depends addition (TheCharlatan)
2018-09-18 16:33:21 +02:00
TheCharlatan 423973596b Fixup 32bit arm build
Set the architecture in the toolchain file correctly
2018-09-18 02:52:57 +02:00
TheCharlatan a06d2581c3 Fix Windows build
icu tex support is not required, so just disable it.
Re-add mistakingly removed crypt32 lib.
2018-09-17 23:59:37 +02:00
TheCharlatan ecaf5b3feb Add libsodium to the packages, the arm build was complaining about it.
Fixup arm toolchain file.
2018-09-17 16:09:50 +02:00
Riccardo Spagni 20087b3a9d
Merge pull request #4307
4469b0c4 abstract_tcp_server2: fix binding to the wrong IP (moneromooo-monero)
8eab6147 epee: use the socket::bind variant which does not throw (moneromooo-monero)
2018-09-14 12:46:08 +02:00
moneromooo-monero 4d52ec0ca4
mlog: do not display http errors by default
They're controllable by potential attackers and would just spam
2018-09-14 09:23:00 +00:00
moneromooo-monero 07ec748c82
wipeable_string: add hex_to_pod function 2018-09-12 09:26:09 +00:00
moneromooo-monero 0e6ed559c6
fuzz_tests: add a bulletproof fuzz test 2018-09-11 13:38:21 +00:00
TheCharlatan db5715468a Updated pcsc url 2018-09-10 22:08:06 +02:00
TheCharlatan f0ba19fde5 Add lrelease to the depends
This includes a minimal qt build without gui
2018-09-10 22:08:05 +02:00
TheCharlatan cfb3046222 Add Miniupnp submodule
Drop miniupnp and unbound depends builds. Make sure that build variables are propageted properly to unbound and miniupnp.
Rebase to after the v0.12 release
2018-09-10 22:05:37 +02:00
TheCharlatan 5f7da005a3 Unbound is now a submodule. Adapt depends for this.
Fix builds for native linux and windows

The architecture flag was set incorrectly.
It needs to be set only when compiling arm6.
2018-09-10 22:05:37 +02:00
TheCharlatan d6b9bdd322 Update readmes to reflect the usage of depends
Explain the role of the SDK in the darwin build.
Add instructions to compile depends to the basic readme.
2018-09-10 22:05:37 +02:00
TheCharlatan 56b6e41ea7 Add support for apple and arm building
Add pcsc-lite to linux builds
Fixup windows icu4c linking with depends, the static libraries have an 's' appended to them
Compiling depends arm-linux-gnueabihf will allow you to compile armv6zk monero binaries
2018-09-10 22:05:36 +02:00
TheCharlatan 8db3d5731b Modify depends for monero's dependencies
Add readline, ldns, graphviz, unbound to depends packages

Add a cmake toolchain file to depends that is uniquely created for every build and placed in triple/share/toolchain.cmake
This file is then passed to cmake with -DCMAKE_TOOLCHAIN_FILE=/path/to/triple/share/toolchain.cmake

Add the boost locale package to depends

In the depends cmake toolchain file, a DEPENDS flag is added
to exclude, or change cmake checks done that are required for depends

Link miniupnpc and unwind from depends and not external

Add libiconv and icu4c to depends, required for mingw32 builds.

Headers (winsock) need to be lower case in order to compile on unix systems.
This should not affect building on windows.
2018-09-10 22:03:42 +02:00
TheCharlatan 0806a23a6e Initial depends addition
Depends cross compiles project dependencies for linux, mac and windows and multiple architectures.
Depends is original work by Cory Fields and used in bitcoin and a wide range of bitcoin related projects.
2018-09-10 22:03:42 +02:00
moneromooo-monero 4469b0c41e
abstract_tcp_server2: fix binding to the wrong IP 2018-09-09 10:48:21 +00:00
luigi1111 77ed11e627
Merge pull request #4270
29dea03 epee: resize vectors where possible in serialization (moneromooo-monero)
76affd9 epee: some speedup in parsing (moneromooo-monero)
dc6c069 db_lmdb: speedup the get_output_distribution common case (moneromooo-monero)
76ac5a8 wallet2: ask for a binary output distribution, for speed (moneromooo-monero)
2018-09-04 13:19:58 -05:00
moneromooo-monero 8eab6147f4
epee: use the socket::bind variant which does not throw
When this throws in a loop, stack trace generation can take
a significant amount of CPU
2018-08-27 17:02:07 +00:00
luigi1111 e07ace0896
Merge pull request #4235
3411326 Docker: updated cmake version (homdx)
13a43fc Added Codefresh.yml pipeline (homdx)
2018-08-22 20:57:45 -05:00
luigi1111 140eb78231
Merge pull request #4179
262e391 mlog: handle filenames without parent directories (moneromooo-monero)
2018-08-22 20:39:09 -05:00
moneromooo-monero 76affd941b
epee: some speedup in parsing 2018-08-19 15:29:01 +00:00
moneromooo-monero 29dea03091
epee: resize vectors where possible in serialization
to avoid unnecessary repeated reallocation
2018-08-17 01:08:52 +00:00
moneromooo-monero 70271fa788
common: add a class to safely wrap mlock/munlock
This class will allow mlocking small objects, of which there
may be several per page. It adds refcounting so pages are only
munlocked when the last object on that page munlocks.
2018-08-16 11:57:46 +00:00
moneromooo-monero e9ffa91257
store secret keys encrypted where possible
The secret spend key is kept encrypted in memory, and
decrypted on the fly when needed.

Both spend and view secret keys are kept encrypted in a JSON
field in the keys file. This avoids leaving the keys in
memory due to being manipulated by the JSON I/O API.
2018-08-16 11:57:43 +00:00
moneromooo-monero ea37614efe
wallet: wipe seed from memory where appropriate 2018-08-16 09:17:52 +00:00
luigi1111 0415863747
Merge pull request #4177
e7c0fcd epee: set jsonrpc to '2.0' in parse error return data (moneromooo-monero)
2018-08-15 17:42:09 -05:00
luigi1111 dc7dd56867
Merge pull request #4148
fead7eb Clarification of boolean options in config file (jonathancross)
2018-08-15 17:21:10 -05:00
luigi1111 3b409a3b8a
Merge pull request #4130
979105b abstract_tcp_server2: fix race on shutdown (moneromooo-monero)
2018-08-15 17:13:35 -05:00
luigi1111 dd966c8a3a
Merge pull request #4090
42f3b7c http_protocol_handler: catch invalid numbers when parsing (moneromooo-monero)
0a4a7da http_protocol_handler: fix HTTP/x.y parsing (moneromooo-monero)
2018-08-15 17:08:10 -05:00
HomDx 13a43fcf0b Added Codefresh.yml pipeline 2018-08-08 20:11:04 +03:00
Lee Clagett 26a42fe54a Added features to epee::span<T> :
- Support for classes
  - Added `remove_prefix` function
  - Added `to_mut_span` and `as_mut_byte_span`
2018-08-03 20:33:07 -04:00
moneromooo-monero 262e391fb1
mlog: handle filenames without parent directories
eg, --log-file=foo.log

This would otherwise throw and crash with a stack overflow
2018-07-26 22:49:54 +01:00
moneromooo-monero e7c0fcd8f3
epee: set jsonrpc to "2.0" in parse error return data 2018-07-25 23:00:19 +01:00
Jonathan Cross fead7ebab0
Clarification of boolean options in config file 2018-07-18 20:07:05 +02:00
moneromooo-monero 979105b298
abstract_tcp_server2: fix race on shutdown 2018-07-15 19:08:49 +01:00
moneromooo-monero 8d578f1f2d
memwipe: don't call the workhorse for 0 bytes
Some of them don't like it
2018-07-10 15:37:22 +01:00
moneromooo-monero 0a4a7da35c
http_protocol_handler: fix HTTP/x.y parsing
It was accepting any character for the dot (yeah, massive big I know)
2018-07-03 23:16:48 +01:00
moneromooo-monero 42f3b7cbca
http_protocol_handler: catch invalid numbers when parsing 2018-07-03 23:16:44 +01:00
Riccardo Spagni c58758a016
Merge pull request #4080
dead780f abstract_tcp_server2: fix use after free (moneromooo-monero)
2018-07-03 15:24:01 +02:00
Riccardo Spagni 318fb23d7a
Merge pull request #3997
1a526ed5 abstract_tcp_server2: restart async accept on error (moneromooo-monero)
2018-07-03 15:16:04 +02:00
moneromooo-monero dead780f8a
abstract_tcp_server2: fix use after free 2018-06-29 15:40:48 +01:00
stoffu 1d176473e9
epee.string_tools: add conversion between UTF-8 and UTF-16 2018-06-28 09:40:26 +09:00
luigi1111 c0c6102260
Merge pull request #3972
8766528 epee: fallback to a counter if gmtime fails when rotating logs (moneromooo-monero)
2018-06-25 15:21:25 -05:00
luigi1111 a2b08db9c9
Merge pull request #3971
4ecf714 epee: fix include for ofstream (moneromooo-monero)
2018-06-25 15:20:12 -05:00
luigi1111 8fad35f8e2
Merge pull request #3962
55c7fb8 epee: adaptive connection timeout system (moneromooo-monero)
2018-06-25 15:12:37 -05:00
luigi1111 ea1d54aeb7
Merge pull request #3947
8cc4606 snap: strip metadata from icon.png (moneromooo-monero)
2018-06-25 14:56:07 -05:00
luigi1111 c678413a89
Merge pull request #3902
f8dd433 epee: fix detection of 172.16.0.0/172.31.255.255 local IP range (moneromooo-monero)
5db9e3c unit_tests: add tests for local IP range detection (moneromooo-monero)
2018-06-20 14:22:44 -05:00
luigi1111 51cdd76bbd
Merge pull request #3897
63d0ab0 mlog: --max-log-files to set the max number of rotated log files (stoffu)
2018-06-20 14:19:30 -05:00
luigi1111 896512b2b6
Merge pull request #3878
5a412b7 disable file size sanity check when loading the wallet cache (moneromooo-monero)
2018-06-19 12:57:59 -05:00
luigi1111 f62399b88d
Merge pull request #3821
558d05b epee: log type name when a container size check fails (moneromooo-monero)
a2566db object_sizes: add a few useful types (moneromooo-monero)
2018-06-19 12:39:12 -05:00
moneromooo-monero 1a526ed571
abstract_tcp_server2: restart async accept on error 2018-06-18 23:34:01 +01:00
jcktm b43b9a1304 wallet-rpc: added IPs to error logging in simple_http_connection_handler 2018-06-13 15:41:51 +10:00
stoffu 63d0ab09b5
mlog: --max-log-files to set the max number of rotated log files 2018-06-13 12:44:27 +09:00
moneromooo-monero 55c7fb87a9
epee: adaptive connection timeout system
a connection's timeout is halved for every extra connection
from the same host.

Also keep track of when we don't need to use a connection
anymore, so we can close it and free the resource for another
connection.

Also use the longer timeout for non routable local addresses.
2018-06-10 19:39:38 +01:00
moneromooo-monero 87665281ea
epee: fallback to a counter if gmtime fails when rotating logs 2018-06-09 19:23:48 +01:00
moneromooo-monero 4ecf71405f
epee: fix include for ofstream 2018-06-09 19:19:27 +01:00
moneromooo-monero 3381b6517e
abstract_tcp_server2: fix busy calling of idle IO service
This would make monerod use 100% CPU when running with torsocks
without Tor running
2018-06-09 12:38:29 +01:00
moneromooo-monero 8cc46069ac
snap: strip metadata from icon.png
Reported to "contain[s] an embedded color calibration (ICC) profile
which is copyright Hewlett Packard but lack license"
2018-06-06 15:29:18 +01:00
moneromooo-monero f8dd433110
epee: fix detection of 172.16.0.0/172.31.255.255 local IP range 2018-06-01 21:47:21 +01:00
moneromooo-monero 5a412b7a3f
disable file size sanity check when loading the wallet cache 2018-05-28 14:58:22 +01:00
moneromooo-monero dfd36bbebb
http_protocol_handler: limit the number of starting newlines 2018-05-27 09:43:54 +01:00
moneromooo-monero 4d15864728
abstract_tcp_server2: timeout on RPC connections 2018-05-26 20:18:36 +01:00
moneromooo-monero 885a117ddb
http_protocol_handler: speedup newline discarding 2018-05-26 20:18:33 +01:00