Commit graph

469 commits

Author SHA1 Message Date
iDunk5400
b414b69f5c
Windows: fix a build error in MSYS2 with boost 1.70.0 2019-04-18 17:00:13 +02:00
Riccardo Spagni
64a4aa4f60
Merge pull request #5408
c4f8a8a6 build fix: combinator.h stdexcept missing include (Dusan Klinec)
2019-04-15 09:21:00 +02:00
Riccardo Spagni
89b8ecfc7c
Merge pull request #5392
a2195b9b crypto: replace rand<T>()%N idiom with unbiased rand_idx(N) (stoffu)
2019-04-15 09:14:28 +02:00
Riccardo Spagni
19e37c05d6
Merge pull request #5367
07b716bf util: name replace_file arguments better (moneromooo-monero)
2019-04-11 12:41:55 +02:00
Dusan Klinec
c4f8a8a6a9
build fix: combinator.h stdexcept missing include 2019-04-07 17:41:13 +02:00
Riccardo Spagni
6f8e0a28b2
Merge pull request #5342
849a768f perf_timer: move some debug levels to info for consistency (moneromooo-monero)
2019-04-06 15:57:50 +02:00
stoffu
a2195b9b7f
crypto: replace rand<T>()%N idiom with unbiased rand_idx(N) 2019-04-04 22:38:19 +09:00
Riccardo Spagni
1ed6441925
Merge pull request #5327
c23ea796 New interactive daemon command 'print_net_stats': Global traffic stats (rbrunner7)
2019-04-01 17:32:01 +02:00
Riccardo Spagni
c994dc7ec0
Merge pull request #5306
8a97563a Use threadpool instead of new threads for DNS queries (Howard Chu)
2019-04-01 17:27:09 +02:00
moneromooo-monero
07b716bfea
util: name replace_file arguments better
It was confusing unless you read code and the rename(2) man page.
2019-03-29 16:32:00 +00:00
moneromooo-monero
849a768f36
perf_timer: move some debug levels to info for consistency 2019-03-24 20:15:33 +00:00
rbrunner7
c23ea7962d New interactive daemon command 'print_net_stats': Global traffic stats 2019-03-24 16:58:57 +01:00
moneromooo-monero
223c6b0796
dns_utils: really add default DNSSEC servers on failure
Coverity 196597
2019-03-20 23:46:22 +00:00
Riccardo Spagni
2900f6a3ca
Merge pull request #5198
9c4d403a dns_utils: use fallback if the default resolver does not support DNSSEC (moneromooo-monero)
2019-03-19 10:58:25 +02:00
Riccardo Spagni
c3de019f56
Merge pull request #5192
d0e07b3d performance_tests: fix NetBSD build (moneromooo-monero)
7d88d8f2 discontinue use of alloca (moneromooo-monero)
2019-03-17 17:56:52 +02:00
Riccardo Spagni
6031a1f5b4
Merge pull request #5179
7c09882a dns_utils: remove MoneroPulse/checkpoints mention in TXT record code (moneromooo-monero)
2019-03-17 17:53:53 +02:00
Riccardo Spagni
4c91eb23a0
Merge pull request #5061
1f2930ce Update 2019 copyright (binaryFate)
2019-03-17 17:49:30 +02:00
Howard Chu
8a97563a93
Use threadpool instead of new threads for DNS queries 2019-03-17 15:39:15 +00:00
moneromooo-monero
3ac40938c3
timings: fix errno.h mispelt as error.h 2019-03-07 16:03:55 +00:00
binaryFate
1f2930ce0b Update 2019 copyright 2019-03-05 22:05:34 +01:00
Riccardo Spagni
5260111631
Merge pull request #5146
4a9257b4 Support docker for gitian builds (TheCharlatan)
2019-03-04 21:32:30 +02:00
Riccardo Spagni
a28237c9ca
Merge pull request #5102
1eef0565 performance_tests: better stats, and keep track of timing history (moneromooo-monero)
2019-03-04 21:22:51 +02:00
Riccardo Spagni
46fd181cca
Merge pull request #4054
24569454 epee: add SSL support (moneromooo-monero)
2019-03-04 21:17:21 +02:00
moneromooo-monero
28b6dbf263
notify: fix tokenizing being too strict 2019-03-04 11:48:36 +00:00
moneromooo-monero
9c4d403ae0
dns_utils: use fallback if the default resolver does not support DNSSEC 2019-02-27 11:08:56 +00:00
moneromooo-monero
7d88d8f27c
discontinue use of alloca
NetBSD emits:
warning: Warning: reference to the libc supplied alloca(3); this most likely will not work. Please use the compiler provided version of alloca(3), by supplying the appropriate compiler flags (e.g. not -std=c89).

and man 3 alloca says:

       Normally,  gcc(1)  translates  calls  to  alloca()  with  inlined code.  This is not done when either the -ansi, -std=c89, -std=c99, or the
       -std=c11 option is given and the header <alloca.h> is not included.  Otherwise, (without an -ansi or -std=c* option) the glibc  version  of
       <stdlib.h> includes <alloca.h> and that contains the lines:

           #ifdef  __GNUC__
           #define alloca(size)   __builtin_alloca (size)
           #endif

It looks like alloca is a bad idea in modern C/C++, so we use
VLAs for C and std::vector for C++.
2019-02-25 11:11:07 +00:00
moneromooo-monero
7c09882a27
dns_utils: remove MoneroPulse/checkpoints mention in TXT record code
This code is used for more than just these
2019-02-21 17:38:43 +00:00
TheCharlatan
4a9257b464
Support docker for gitian builds
Building with docker is arguably easier and more familiar to most people
than either kvm, or lxc.

This commit also relaxes the back compat requirement a bit. 32 bit linux
now uses glibc version 2.0. Also, the docker shell could not handle gcc arguments
containing spaces, so the explicit '-DFELT_TYPE' declaration was dropped.

Lastly, this removes some packages from the osx descriptor.
2019-02-14 23:14:34 +01:00
moneromooo-monero
2456945408
epee: add SSL support
RPC connections now have optional tranparent SSL.

An optional private key and certificate file can be passed,
using the --{rpc,daemon}-ssl-private-key and
--{rpc,daemon}-ssl-certificate options. Those have as
argument a path to a PEM format private private key and
certificate, respectively.
If not given, a temporary self signed certificate will be used.

SSL can be enabled or disabled using --{rpc}-ssl, which
accepts autodetect (default), disabled or enabled.

Access can be restricted to particular certificates using the
--rpc-ssl-allowed-certificates, which takes a list of
paths to PEM encoded certificates. This can allow a wallet to
connect to only the daemon they think they're connected to,
by forcing SSL and listing the paths to the known good
certificates.

To generate long term certificates:

openssl genrsa -out /tmp/KEY 4096
openssl req -new -key /tmp/KEY -out /tmp/REQ
openssl x509 -req -days 999999 -sha256 -in /tmp/REQ -signkey /tmp/KEY -out /tmp/CERT

/tmp/KEY is the private key, and /tmp/CERT is the certificate,
both in PEM format. /tmp/REQ can be removed. Adjust the last
command to set expiration date, etc, as needed. It doesn't
make a whole lot of sense for monero anyway, since most servers
will run with one time temporary self signed certificates anyway.

SSL support is transparent, so all communication is done on the
existing ports, with SSL autodetection. This means you can start
using an SSL daemon now, but you should not enforce SSL yet or
nothing will talk to you.
2019-02-02 20:05:33 +00:00
moneromooo-monero
f6db59b011
notify: handle arbitrary tags 2019-01-28 19:32:28 +00:00
moneromooo-monero
ff95921668
notify: warn if the spec contains one of '"\
These aren't processed as a shell does, so this may surprise users
2019-01-28 19:32:25 +00:00
moneromooo-monero
13852678e1
common: set MONERO_DEFAULT_LOG_CATEGORY for notify and spawn 2019-01-28 19:32:22 +00:00
moneromooo-monero
1eef056588
performance_tests: better stats, and keep track of timing history 2019-01-28 15:45:37 +00:00
moneromooo-monero
b750fb27b0
Pruning
The blockchain prunes seven eighths of prunable tx data.
This saves about two thirds of the blockchain size, while
keeping the node useful as a sync source for an eighth
of the blockchain.

No other data is currently pruned.

There are three ways to prune a blockchain:

- run monerod with --prune-blockchain
- run "prune_blockchain" in the monerod console
- run the monero-blockchain-prune utility

The first two will prune in place. Due to how LMDB works, this
will not reduce the blockchain size on disk. Instead, it will
mark parts of the file as free, so that future data will use
that free space, causing the file to not grow until free space
grows scarce.

The third way will create a second database, a pruned copy of
the original one. Since this is a new file, this one will be
smaller than the original one.

Once the database is pruned, it will stay pruned as it syncs.
That is, there is no need to use --prune-blockchain again, etc.
2019-01-22 20:30:51 +00:00
moneromooo-monero
584126d15b
i18n: filter LANG/LC_LANG for valid characters, and handle @
If there are more valid characters, add them in, I did not find
an actual list.
2019-01-08 16:03:30 +00:00
Riccardo Spagni
be625a95af
Merge pull request #4954
93c59b29 perf_timer: check allowed categories before logging (moneromooo-monero)
6a507dab perf_timer: add a way to get and reset the current time (moneromooo-monero)
c1581a5b perf_timer: only log to file (moneromooo-monero)
2019-01-06 20:39:29 +02:00
luigi1111
e344d93ce7
Merge pull request #4960
b56b5b5 ignore child process when exec (jtgrassie)
2018-12-31 16:32:12 -06:00
luigi1111
53760ee044
Merge pull request #4957
0e2f5cb perf_timer: make all logs Info level (moneromooo-monero)
2018-12-31 16:30:47 -06:00
luigi1111
6e4e228461
Merge pull request #4944
1505dd3 util: set MONERO_DEFAULT_LOG_CATEGORY (moneromooo-monero)
db57374 util: use fcntl instead of flock, for compatibility (moneromooo-monero)
2018-12-31 15:52:17 -06:00
luigi1111
3adac4ee2b
Merge pull request #4929
5a76933 Add glibc back compat code (TheCharlatan)
2018-12-31 15:31:01 -06:00
rbrunner7
1ebcd7b9b0 MMS (Multisig Messaging System): Initial version 2018-12-12 21:49:20 +01:00
Jethro Grassie
b56b5b52eb
ignore child process when exec 2018-12-08 20:52:54 -05:00
moneromooo-monero
0e2f5cb5fc
perf_timer: make all logs Info level
and make them not default at log level 1
2018-12-08 10:53:09 +00:00
moneromooo-monero
93c59b29a8
perf_timer: check allowed categories before logging 2018-12-07 14:23:47 +00:00
moneromooo-monero
6a507dab6f
perf_timer: add a way to get and reset the current time 2018-12-07 14:23:47 +00:00
moneromooo-monero
c1581a5bb8
perf_timer: only log to file 2018-12-07 14:23:47 +00:00
moneromooo-monero
db5737413e
util: use fcntl instead of flock, for compatibility
in particular with NFS
2018-12-06 12:59:29 +00:00
moneromooo-monero
1505dd38c9
util: set MONERO_DEFAULT_LOG_CATEGORY
Otherwise it'd end up with whatever was included last
2018-12-05 14:53:30 +00:00
Riccardo Spagni
81418cb281
Merge pull request #4894
aee7a4e3 wallet_rpc_server: do not use RPC data if the call failed (moneromooo-monero)
1a0733e5 windows_service: fix memory leak (moneromooo-monero)
0dac3c64 unit_tests: do not rethrow a copy of an exception (moneromooo-monero)
5d9915ab cryptonote: fix get_unit for non default settings (moneromooo-monero)
d4f50cb1 remove some unused code (moneromooo-monero)
61163971 a few minor (but easy) performance tweaks (moneromooo-monero)
30023074 tests: slow_memmem now returns size_t (moneromooo-monero)
2018-12-04 17:33:19 +02:00
Riccardo Spagni
302fd80826
Merge pull request #4882
6bfcc573 scoped_message_writer: protect all std::cout usage from readline (moneromooo-monero)
2018-12-04 17:30:30 +02:00
moneromooo-monero
ec1a62b50d
move int-util.h to epee 2018-12-04 15:14:29 +00:00
Riccardo Spagni
c00ac446fd
Merge pull request #4854
bd98e99c Removed a lot of unnecessary includes (Martijn Otto)
2018-12-04 17:08:42 +02:00
Riccardo Spagni
398f7076bb
Merge pull request #4853
2b3595d0 various: do not propagate exception through dtor (moneromooo-monero)
2018-12-04 17:07:51 +02:00
Riccardo Spagni
94288d7d1d
Merge pull request #4845
6732fc7f Fix issue 4793 - M/N multisig transaction signature (naughtyfox)
2018-12-04 17:06:04 +02:00
TheCharlatan
5a76933903 Add glibc back compat code
To ensure that the binaries compiled by gitian run across many linux
distributions, enforce 2.17 as the minimum libc version supported.
2018-12-04 02:21:06 +01:00
moneromooo-monero
d4f50cb109
remove some unused code
Found by codacy.com
2018-11-23 15:37:36 +00:00
moneromooo-monero
611639710d
a few minor (but easy) performance tweaks
Found by codacy.com
2018-11-23 15:36:48 +00:00
moneromooo-monero
6bfcc57395
scoped_message_writer: protect all std::cout usage from readline 2018-11-21 12:48:43 +00:00
naughtyfox
6732fc7fde Fix issue 4793 - M/N multisig transaction signature 2018-11-20 16:50:41 +03:00
Riccardo Spagni
45f597c564
Merge pull request #4799
f4988454 perf_timer: remove stray debug addition (moneromooo-monero)
2018-11-16 11:12:09 +02:00
Riccardo Spagni
9aff9a5372
Merge pull request #4790
177a9d76 wallet: warn if lockable memory limit is too low (moneromooo-monero)
2018-11-16 11:08:07 +02:00
Riccardo Spagni
140defd89f
Merge pull request #4778
71eb32a9 dns_utils: do not exit if DNS records are corrupt (moneromooo-monero)
2018-11-16 11:02:28 +02:00
Martijn Otto
bd98e99c80
Removed a lot of unnecessary includes 2018-11-15 17:29:34 +01:00
moneromooo-monero
2b3595d0fe
various: do not propagate exception through dtor
Coverity 189689, 189690, 189692, 189695
2018-11-15 15:53:21 +00:00
Riccardo Spagni
0cc3fc3756
Merge pull request #4769
5808530f blockchain: remove unused output_scan_worker parameter (moneromooo-monero)
1426209a blockchain: don't run threads if we have just one function to run (moneromooo-monero)
6f7a5fd4 db_lmdb: slight speedup getting array data from the blockchain (moneromooo-monero)
99fbe100 db_lmdb: save some string copies for readonly db keys/values (moneromooo-monero)
bf31447e tx_pool: speed up take_tx for transactions from blocks (moneromooo-monero)
4f005a77 tx_pool: remove unnecessary get_transaction_hash (moneromooo-monero)
593ef598 perf_timer: call reserve on new timer array (moneromooo-monero)
6ecc99ad core: avoid unnecessary tx/blob conversions (moneromooo-monero)
00cc1a16 unit_tests: notify test special case for the usual weirdo (moneromooo-monero)
2018-11-14 21:35:03 +02:00
xiphon
d01bdaca12 common: fix base58 gcc -Werror=implicit-fallthrough 2018-11-13 12:15:18 +00:00
moneromooo-monero
f49884543c
perf_timer: remove stray debug addition 2018-11-05 00:34:16 +00:00
moneromooo-monero
177a9d76f9
wallet: warn if lockable memory limit is too low 2018-11-03 20:09:28 +00:00
moneromooo-monero
71eb32a976
dns_utils: do not exit if DNS records are corrupt 2018-11-01 22:53:48 +00:00
Riccardo Spagni
a0cd602e56
Merge pull request #4658
ca9b996d perf_timer: separate log categories based on caller categories (moneromooo-monero)
2018-11-01 22:33:38 +02:00
moneromooo-monero
593ef5981d
perf_timer: call reserve on new timer array
to avoid reallocations in the vast majority of the time
2018-11-01 15:51:22 +00:00
Riccardo Spagni
d7ff24c1e0
Merge pull request #4545
93a88d73 Utils: add support for newer Windows versions detection (Gregory Lemercier)
2018-10-26 22:30:40 +02:00
Riccardo Spagni
fe0e426be4
Merge pull request #4629
c7743929 spawn: close all file descriptors before execve (moneromooo-monero)
2018-10-20 20:34:15 +02:00
moneromooo-monero
ca9b996dcb
perf_timer: separate log categories based on caller categories
Also default to microseconds, for homogeneity

Makes it easier to enable what we need
2018-10-19 08:59:56 +00:00
moneromooo-monero
c774392985
spawn: close all file descriptors before execve
No need to give whatever we're calling access to what we use
2018-10-17 09:31:34 +00:00
moneromooo-monero
a69fc05a0c
util: close keys file lock on exec 2018-10-16 17:20:44 +00:00
Riccardo Spagni
5c85da5a73
Merge pull request #4610
9b6dd934 Providing user supplied default constructor for expect<void> (Lee Clagett)
2018-10-16 18:25:14 +02:00
Lee Clagett
9b6dd9348c Providing user supplied default constructor for expect<void> 2018-10-15 23:42:29 -04: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
40980b33b7
Merge pull request #4550
0e33cf89 password: fix secure input with echo on windows (moneromooo-monero)
2018-10-15 13:25:50 +02:00
moneromooo-monero
0e33cf89d2
password: fix secure input with echo on windows
Thanks to iDunk for the testing back and forth
2018-10-10 12:37:47 +00:00
moneromooo-monero
dc8f6924b2
password: fix backspace outputting ^? on linux on echoing secure input 2018-10-10 08:58:40 +00:00
Gregory Lemercier
93a88d7323 Utils: add support for newer Windows versions detection 2018-10-09 19:19:12 +02:00
Riccardo Spagni
445d9c86f2
Merge pull request #4390
a0613532 secure_pwd_reader: Add proper Unicode handling [Ryo contribution] (fireice-uk)
579383c2 simplewallet: Add Unicode input_line [Ryo backport] (fireice-uk)
2018-10-05 23:12:42 +02:00
fireice-uk
a061353254 secure_pwd_reader: Add proper Unicode handling [Ryo contribution] 2018-10-04 19:31:59 +01:00
Riccardo Spagni
66094dee00
Merge pull request #4482
25e5890d wallet: fix --generate-from-json using wrong password (moneromooo-monero)
2018-10-02 22:39:57 +02:00
Riccardo Spagni
be6063ea59
Merge pull request #4479
d5541e44 common: Windows 'spawn' support for tx and block notifications (xiphon)
2018-10-02 22:39:34 +02:00
Riccardo Spagni
8d03350244
Merge pull request #4463
8110bea3 dns_utils: refresh list of usable DNSSEC servers (moneromooo-monero)
2018-10-02 22:36:18 +02:00
moneromooo-monero
e5108a294a
Catch more exceptions in dtors
Misc coverity reports
2018-10-02 17:28:44 +00:00
xiphon
d5541e44fe common: Windows 'spawn' support for tx and block notifications 2018-10-02 01:53:27 +03:00
moneromooo-monero
25e5890d37
wallet: fix --generate-from-json using wrong password 2018-10-01 12:32:26 +00:00
Riccardo Spagni
83d8f03c23
Merge pull request #4333
73403004 add --block-notify to monerod and --tx-notify to monero-wallet-{cli,rpc} (moneromooo-monero)
2018-09-29 22:20:44 +02: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
moneromooo-monero
8110bea34b
dns_utils: refresh list of usable DNSSEC servers
A few of them are now returning invalid replies.
2018-09-28 15:23:59 +00:00
Riccardo Spagni
a059bcd74e
Merge pull request #4371
55c7cd14 Adding expect<T> - a value-or-error implementation (Lee Clagett)
2018-09-21 20:31:47 +02:00
fireice-uk
579383c26b simplewallet: Add Unicode input_line [Ryo backport] 2018-09-19 13:39:01 +01:00
moneromooo-monero
44259e560e
wallet: ask-password can now ask without encrypting the secret spend key 2018-09-14 11:14:21 +00:00
Riccardo Spagni
1c36fcf886
Merge pull request #4309
5083614f dns_util: add new DNSSEC trust anchor for rollover (moneromooo-monero)
2018-09-14 12:46:56 +02:00
Lee Clagett
55c7cd1458 Adding expect<T> - a value-or-error implementation 2018-09-12 22:44:34 +00:00
moneromooo-monero
7314d919e7
perf_timer: split timer class into a base one and a logging one 2018-09-11 13:37:47 +00:00