aboutsummaryrefslogtreecommitdiff
path: root/src/common (follow)
AgeCommit message (Collapse)AuthorFilesLines
2019-10-25daemon, wallet: new pay for RPC use systemmoneromooo-monero1-6/+7
Daemons intended for public use can be set up to require payment in the form of hashes in exchange for RPC service. This enables public daemons to receive payment for their work over a large number of calls. This system behaves similarly to a pool, so payment takes the form of valid blocks every so often, yielding a large one off payment, rather than constant micropayments. This system can also be used by third parties as a "paywall" layer, where users of a service can pay for use by mining Monero to the service provider's address. An example of this for web site access is Primo, a Monero mining based website "paywall": https://github.com/selene-kovri/primo This has some advantages: - incentive to run a node providing RPC services, thereby promoting the availability of third party nodes for those who can't run their own - incentive to run your own node instead of using a third party's, thereby promoting decentralization - decentralized: payment is done between a client and server, with no third party needed - private: since the system is "pay as you go", you don't need to identify yourself to claim a long lived balance - no payment occurs on the blockchain, so there is no extra transactional load - one may mine with a beefy server, and use those credits from a phone, by reusing the client ID (at the cost of some privacy) - no barrier to entry: anyone may run a RPC node, and your expected revenue depends on how much work you do - Sybil resistant: if you run 1000 idle RPC nodes, you don't magically get more revenue - no large credit balance maintained on servers, so they have no incentive to exit scam - you can use any/many node(s), since there's little cost in switching servers - market based prices: competition between servers to lower costs - incentive for a distributed third party node system: if some public nodes are overused/slow, traffic can move to others - increases network security - helps counteract mining pools' share of the network hash rate - zero incentive for a payer to "double spend" since a reorg does not give any money back to the miner And some disadvantages: - low power clients will have difficulty mining (but one can optionally mine in advance and/or with a faster machine) - payment is "random", so a server might go a long time without a block before getting one - a public node's overall expected payment may be small Public nodes are expected to compete to find a suitable level for cost of service. The daemon can be set up this way to require payment for RPC services: monerod --rpc-payment-address 4xxxxxx \ --rpc-payment-credits 250 --rpc-payment-difficulty 1000 These values are an example only. The --rpc-payment-difficulty switch selects how hard each "share" should be, similar to a mining pool. The higher the difficulty, the fewer shares a client will find. The --rpc-payment-credits switch selects how many credits are awarded for each share a client finds. Considering both options, clients will be awarded credits/difficulty credits for every hash they calculate. For example, in the command line above, 0.25 credits per hash. A client mining at 100 H/s will therefore get an average of 25 credits per second. For reference, in the current implementation, a credit is enough to sync 20 blocks, so a 100 H/s client that's just starting to use Monero and uses this daemon will be able to sync 500 blocks per second. The wallet can be set to automatically mine if connected to a daemon which requires payment for RPC usage. It will try to keep a balance of 50000 credits, stopping mining when it's at this level, and starting again as credits are spent. With the example above, a new client will mine this much credits in about half an hour, and this target is enough to sync 500000 blocks (currently about a third of the monero blockchain). There are three new settings in the wallet: - credits-target: this is the amount of credits a wallet will try to reach before stopping mining. The default of 0 means 50000 credits. - auto-mine-for-rpc-payment-threshold: this controls the minimum credit rate which the wallet considers worth mining for. If the daemon credits less than this ratio, the wallet will consider mining to be not worth it. In the example above, the rate is 0.25 - persistent-rpc-client-id: if set, this allows the wallet to reuse a client id across runs. This means a public node can tell a wallet that's connecting is the same as one that connected previously, but allows a wallet to keep their credit balance from one run to the other. Since the wallet only mines to keep a small credit balance, this is not normally worth doing. However, someone may want to mine on a fast server, and use that credit balance on a low power device such as a phone. If left unset, a new client ID is generated at each wallet start, for privacy reasons. To mine and use a credit balance on two different devices, you can use the --rpc-client-secret-key switch. A wallet's client secret key can be found using the new rpc_payments command in the wallet. Note: anyone knowing your RPC client secret key is able to use your credit balance. The wallet has a few new commands too: - start_mining_for_rpc: start mining to acquire more credits, regardless of the auto mining settings - stop_mining_for_rpc: stop mining to acquire more credits - rpc_payments: display information about current credits with the currently selected daemon The node has an extra command: - rpc_payments: display information about clients and their balances The node will forget about any balance for clients which have been inactive for 6 months. Balances carry over on node restart.
2019-09-16Properly format multiline logsmoneromooo-monero1-1/+1
As a side effect, colouring on Windows should now work regardless of version
2019-08-28simplewallet: lock console on inactivitymoneromooo-monero2-0/+164
2019-08-14Merge pull request #5525luigi11112-0/+19
0605406 daemon: sort alt chains by height (moneromooo-monero) 4228ee0 daemon: add optional arguments to alt_chain_info (moneromooo-monero) 880ebfd daemon: add more chain specific info in alt_chain_info (moneromooo-monero)
2019-06-21Remove Xiala.net from the list of dns resolverstobtoht1-1/+0
It is down permanently. See: https://xiala.net/ "Ende November 2018 werden alle Dienste von xiala.net abgeschaltet."
2019-06-01daemon: add more chain specific info in alt_chain_infomoneromooo-monero2-0/+19
2019-05-22Add ssl_options support to monerod's rpc mode.Lee Clagett1-1/+3
2019-05-10password: do not use line input on windowsmoneromooo-monero1-5/+1
This keeps its builtin command editing away Thanks iDunk for testing on Windows
2019-04-18Windows: fix a build error in MSYS2 with boost 1.70.0iDunk54001-0/+3
2019-04-15Merge pull request #5408Riccardo Spagni1-0/+1
c4f8a8a6 build fix: combinator.h stdexcept missing include (Dusan Klinec)
2019-04-15Merge pull request #5392Riccardo Spagni1-5/+2
a2195b9b crypto: replace rand<T>()%N idiom with unbiased rand_idx(N) (stoffu)
2019-04-11Merge pull request #5367Riccardo Spagni2-5/+5
07b716bf util: name replace_file arguments better (moneromooo-monero)
2019-04-07build fix: combinator.h stdexcept missing includeDusan Klinec1-0/+1
2019-04-06Merge pull request #5342Riccardo Spagni1-3/+3
849a768f perf_timer: move some debug levels to info for consistency (moneromooo-monero)
2019-04-04crypto: replace rand<T>()%N idiom with unbiased rand_idx(N)stoffu1-5/+2
2019-04-01Merge pull request #5327Riccardo Spagni2-0/+38
c23ea796 New interactive daemon command 'print_net_stats': Global traffic stats (rbrunner7)
2019-04-01Merge pull request #5306Riccardo Spagni1-5/+5
8a97563a Use threadpool instead of new threads for DNS queries (Howard Chu)
2019-03-29util: name replace_file arguments bettermoneromooo-monero2-5/+5
It was confusing unless you read code and the rename(2) man page.
2019-03-24perf_timer: move some debug levels to info for consistencymoneromooo-monero1-3/+3
2019-03-24New interactive daemon command 'print_net_stats': Global traffic statsrbrunner72-0/+38
2019-03-20dns_utils: really add default DNSSEC servers on failuremoneromooo-monero1-3/+2
Coverity 196597
2019-03-19Merge pull request #5198Riccardo Spagni1-6/+34
9c4d403a dns_utils: use fallback if the default resolver does not support DNSSEC (moneromooo-monero)
2019-03-17Merge pull request #5192Riccardo Spagni1-2/+2
d0e07b3d performance_tests: fix NetBSD build (moneromooo-monero) 7d88d8f2 discontinue use of alloca (moneromooo-monero)
2019-03-17Merge pull request #5179Riccardo Spagni1-4/+4
7c09882a dns_utils: remove MoneroPulse/checkpoints mention in TXT record code (moneromooo-monero)
2019-03-17Merge pull request #5061Riccardo Spagni35-35/+35
1f2930ce Update 2019 copyright (binaryFate)
2019-03-17Use threadpool instead of new threads for DNS queriesHoward Chu1-5/+5
2019-03-07timings: fix errno.h mispelt as error.hmoneromooo-monero1-1/+1
2019-03-05Update 2019 copyrightbinaryFate35-35/+35
2019-03-04Merge pull request #5146Riccardo Spagni1-1/+1
4a9257b4 Support docker for gitian builds (TheCharlatan)
2019-03-04Merge pull request #5102Riccardo Spagni4-0/+162
1eef0565 performance_tests: better stats, and keep track of timing history (moneromooo-monero)
2019-03-04Merge pull request #4054Riccardo Spagni1-2/+2
24569454 epee: add SSL support (moneromooo-monero)
2019-03-04notify: fix tokenizing being too strictmoneromooo-monero1-1/+1
2019-02-27dns_utils: use fallback if the default resolver does not support DNSSECmoneromooo-monero1-6/+34
2019-02-25discontinue use of allocamoneromooo-monero1-2/+2
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-21dns_utils: remove MoneroPulse/checkpoints mention in TXT record codemoneromooo-monero1-4/+4
This code is used for more than just these
2019-02-14Support docker for gitian buildsTheCharlatan1-1/+1
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-02epee: add SSL supportmoneromooo-monero1-2/+2
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-01-28notify: handle arbitrary tagsmoneromooo-monero2-4/+20
2019-01-28notify: warn if the spec contains one of '"\moneromooo-monero1-0/+2
These aren't processed as a shell does, so this may surprise users
2019-01-28common: set MONERO_DEFAULT_LOG_CATEGORY for notify and spawnmoneromooo-monero2-0/+6
2019-01-28performance_tests: better stats, and keep track of timing historymoneromooo-monero4-0/+162
2019-01-22Pruningmoneromooo-monero4-1/+171
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-08i18n: filter LANG/LC_LANG for valid characters, and handle @moneromooo-monero1-0/+14
If there are more valid characters, add them in, I did not find an actual list.
2019-01-06Merge pull request #4954Riccardo Spagni2-9/+41
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)
2018-12-31Merge pull request #4960luigi11111-0/+4
b56b5b5 ignore child process when exec (jtgrassie)
2018-12-31Merge pull request #4957luigi11111-1/+1
0e2f5cb perf_timer: make all logs Info level (moneromooo-monero)
2018-12-31Merge pull request #4944luigi11111-3/+29
1505dd3 util: set MONERO_DEFAULT_LOG_CATEGORY (moneromooo-monero) db57374 util: use fcntl instead of flock, for compatibility (moneromooo-monero)
2018-12-31Merge pull request #4929luigi11112-0/+102
5a76933 Add glibc back compat code (TheCharlatan)
2018-12-12MMS (Multisig Messaging System): Initial versionrbrunner72-0/+14
2018-12-08ignore child process when execJethro Grassie1-0/+4
2018-12-08perf_timer: make all logs Info levelmoneromooo-monero1-1/+1
and make them not default at log level 1
2018-12-07perf_timer: check allowed categories before loggingmoneromooo-monero1-8/+21
2018-12-07perf_timer: add a way to get and reset the current timemoneromooo-monero2-2/+18
2018-12-07perf_timer: only log to filemoneromooo-monero1-3/+6
2018-12-06util: use fcntl instead of flock, for compatibilitymoneromooo-monero1-3/+26
in particular with NFS
2018-12-05util: set MONERO_DEFAULT_LOG_CATEGORYmoneromooo-monero1-0/+3
Otherwise it'd end up with whatever was included last
2018-12-04Merge pull request #4894Riccardo Spagni3-3/+3
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-04Merge pull request #4882Riccardo Spagni1-1/+1
6bfcc573 scoped_message_writer: protect all std::cout usage from readline (moneromooo-monero)
2018-12-04move int-util.h to epeemoneromooo-monero2-259/+0
2018-12-04Merge pull request #4854Riccardo Spagni7-18/+0
bd98e99c Removed a lot of unnecessary includes (Martijn Otto)
2018-12-04Merge pull request #4853Riccardo Spagni1-1/+2
2b3595d0 various: do not propagate exception through dtor (moneromooo-monero)
2018-12-04Merge pull request #4845Riccardo Spagni3-2/+150
6732fc7f Fix issue 4793 - M/N multisig transaction signature (naughtyfox)
2018-12-04Add glibc back compat codeTheCharlatan2-0/+102
To ensure that the binaries compiled by gitian run across many linux distributions, enforce 2.17 as the minimum libc version supported.
2018-11-23remove some unused codemoneromooo-monero1-1/+1
Found by codacy.com
2018-11-23a few minor (but easy) performance tweaksmoneromooo-monero2-2/+2
Found by codacy.com
2018-11-21scoped_message_writer: protect all std::cout usage from readlinemoneromooo-monero1-1/+1
2018-11-20Fix issue 4793 - M/N multisig transaction signaturenaughtyfox3-2/+150
2018-11-16Merge pull request #4799Riccardo Spagni1-1/+0
f4988454 perf_timer: remove stray debug addition (moneromooo-monero)
2018-11-16Merge pull request #4790Riccardo Spagni2-0/+17
177a9d76 wallet: warn if lockable memory limit is too low (moneromooo-monero)
2018-11-16Merge pull request #4778Riccardo Spagni2-8/+36
71eb32a9 dns_utils: do not exit if DNS records are corrupt (moneromooo-monero)
2018-11-15Removed a lot of unnecessary includesMartijn Otto7-18/+0
2018-11-15various: do not propagate exception through dtormoneromooo-monero1-1/+2
Coverity 189689, 189690, 189692, 189695
2018-11-14Merge pull request #4769Riccardo Spagni1-0/+1
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-13common: fix base58 gcc -Werror=implicit-fallthroughxiphon1-14/+2
2018-11-05perf_timer: remove stray debug additionmoneromooo-monero1-1/+0
2018-11-03wallet: warn if lockable memory limit is too lowmoneromooo-monero2-0/+17
2018-11-01dns_utils: do not exit if DNS records are corruptmoneromooo-monero2-8/+36
2018-11-01Merge pull request #4658Riccardo Spagni2-14/+12
ca9b996d perf_timer: separate log categories based on caller categories (moneromooo-monero)
2018-11-01perf_timer: call reserve on new timer arraymoneromooo-monero1-0/+1
to avoid reallocations in the vast majority of the time
2018-10-26Merge pull request #4545Riccardo Spagni1-1/+24
93a88d73 Utils: add support for newer Windows versions detection (Gregory Lemercier)
2018-10-20Merge pull request #4629Riccardo Spagni3-0/+25
c7743929 spawn: close all file descriptors before execve (moneromooo-monero)
2018-10-19perf_timer: separate log categories based on caller categoriesmoneromooo-monero2-14/+12
Also default to microseconds, for homogeneity Makes it easier to enable what we need
2018-10-17spawn: close all file descriptors before execvemoneromooo-monero3-0/+25
No need to give whatever we're calling access to what we use
2018-10-16util: close keys file lock on execmoneromooo-monero1-1/+1
2018-10-16Merge pull request #4610Riccardo Spagni1-1/+3
9b6dd934 Providing user supplied default constructor for expect<void> (Lee Clagett)
2018-10-15Providing user supplied default constructor for expect<void>Lee Clagett1-1/+3
2018-10-15Merge pull request #4489Riccardo Spagni1-0/+10
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-15Merge pull request #4550Riccardo Spagni1-2/+6
0e33cf89 password: fix secure input with echo on windows (moneromooo-monero)
2018-10-10password: fix secure input with echo on windowsmoneromooo-monero1-2/+6
Thanks to iDunk for the testing back and forth
2018-10-10password: fix backspace outputting ^? on linux on echoing secure inputmoneromooo-monero1-0/+7
2018-10-09Utils: add support for newer Windows versions detectionGregory Lemercier1-1/+24
2018-10-05Merge pull request #4390Riccardo Spagni3-11/+54
a0613532 secure_pwd_reader: Add proper Unicode handling [Ryo contribution] (fireice-uk) 579383c2 simplewallet: Add Unicode input_line [Ryo backport] (fireice-uk)
2018-10-04secure_pwd_reader: Add proper Unicode handling [Ryo contribution]fireice-uk1-11/+23
2018-10-02Merge pull request #4482Riccardo Spagni2-0/+5
25e5890d wallet: fix --generate-from-json using wrong password (moneromooo-monero)
2018-10-02Merge pull request #4479Riccardo Spagni4-11/+65
d5541e44 common: Windows 'spawn' support for tx and block notifications (xiphon)
2018-10-02Merge pull request #4463Riccardo Spagni1-3/+4
8110bea3 dns_utils: refresh list of usable DNSSEC servers (moneromooo-monero)
2018-10-02Catch more exceptions in dtorsmoneromooo-monero1-0/+10
Misc coverity reports
2018-10-02common: Windows 'spawn' support for tx and block notificationsxiphon4-11/+65
2018-10-01wallet: fix --generate-from-json using wrong passwordmoneromooo-monero2-0/+5
2018-09-29Merge pull request #4333Riccardo Spagni5-0/+238
73403004 add --block-notify to monerod and --tx-notify to monero-wallet-{cli,rpc} (moneromooo-monero)
2018-09-29Merge pull request #4459Riccardo Spagni1-1/+2
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-28dns_utils: refresh list of usable DNSSEC serversmoneromooo-monero1-3/+4
A few of them are now returning invalid replies.
2018-09-21Merge pull request #4371Riccardo Spagni5-0/+648
55c7cd14 Adding expect<T> - a value-or-error implementation (Lee Clagett)
2018-09-19simplewallet: Add Unicode input_line [Ryo backport]fireice-uk2-0/+31
2018-09-14wallet: ask-password can now ask without encrypting the secret spend keymoneromooo-monero1-2/+2
2018-09-14Merge pull request #4309Riccardo Spagni1-4/+14
5083614f dns_util: add new DNSSEC trust anchor for rollover (moneromooo-monero)
2018-09-12Adding expect<T> - a value-or-error implementationLee Clagett5-0/+648
2018-09-11perf_timer: split timer class into a base one and a logging onemoneromooo-monero2-14/+42
2018-09-11aligned: aligned memory alloc/realloc/freemoneromooo-monero3-2/+184
2018-09-10Merge pull request #4293luigi11112-51/+37
9d65399 is_hdd update (p8p)
2018-09-04Merge pull request #4274luigi11111-1/+0
11c6718 util: remove unused <ustat.h> (moneromooo-monero)
2018-08-28dns_util: add new DNSSEC trust anchor for rollovermoneromooo-monero1-4/+14
It should be useful from the 11th of october 2018. The old key is still trusted for now. https://www.icann.org/resources/pages/ksk-rollover
2018-08-25is_hdd updatep8p2-51/+37
2018-08-22Merge pull request #4224luigi11111-3/+3
c5e2aee updates: fix hash sanity checking (moneromooo-monero)
2018-08-17util: remove unused <ustat.h>moneromooo-monero1-1/+0
It's obsolete and removed from at least Arch Linux 8.2 Reported by moneroexamples
2018-08-16wallet: wipe seed from memory where appropriatemoneromooo-monero2-12/+12
2018-08-15Merge pull request #4138luigi11111-1/+10
7f8bdeb easylogging++: make the logger handle early/late logging (moneromooo-monero) bc8cbdb stack_trace: print stack traces on stdout if the logger isn't live (moneromooo-monero)
2018-08-15Merge pull request #4136luigi11112-0/+18
4307489 wallet: disable core dumps on startup in release mode (moneromooo-monero)
2018-08-12wallet: disable core dumps on startup in release modemoneromooo-monero2-0/+18
2018-08-12stack_trace: print stack traces on stdout if the logger isn't livemoneromooo-monero1-1/+10
2018-08-05updates: fix hash sanity checkingmoneromooo-monero1-3/+3
2018-07-27Merge pull request #4110luigi11112-0/+21
639ca3b core_tests: add --filter to select which tests to run (moneromooo-monero)
2018-07-19Merge pull request #4075luigi11111-1/+0
438d52d remove epee from link lines where it's redundant (moneromooo-monero)
2018-07-19Merge pull request #4045luigi11112-2/+2
7cdd147 Changed URLs to HTTPS (einsteinsfool)
2018-07-07core_tests: add --filter to select which tests to runmoneromooo-monero2-0/+21
2018-06-28remove epee from link lines where it's redundantmoneromooo-monero1-1/+0
For some reason, this confuses and kills ASAN on startup as it thinks const uint8_t ipv4_network_address::ID is defined multiple times.
2018-06-28util: fix mistakes made in #3994stoffu1-3/+3
2018-06-28util: add file_locker classstoffu2-0/+81
2018-06-28epee.string_tools: add conversion between UTF-8 and UTF-16stoffu1-12/+19
2018-06-27Merge pull request #3716luigi11112-14/+30
a2b557f 6795bd0 209ec96 ed2c81e a830db2 57ea902 31a895e ba8331c f7f1917 41be339 f025ae9 ef2cb63 dcfd299 5d3e702 2704624 2771a18 0e4c7d0 (moneromooo-monero)
2018-06-26threadpool: allow leaf functions to run concurrentlymoneromooo-monero2-14/+30
Decrease the number of worker threads by one to account for the fact the calling thread acts as a worker thread now
2018-06-25Merge pull request #3957luigi11111-1/+1
2bb2c1b password: flush cout when prompting for password without newline (moneromooo-monero)
2018-06-23Changed URLs to HTTPSeinsteinsfool2-2/+2
2018-06-21Move parse_subaddress_lookahead() from simplewallet.cpp to util.cppstoffu2-0/+21
2018-06-20Merge pull request #3932luigi11111-0/+7
8962f00 simplewallet: add optional trusted/untrusted argument to set_daemon (moneromooo-monero) 941a608 util: consider Tor/I2P addresses to be non local (moneromooo-monero) 2b3357e README: mention --untrusted-daemon (moneromooo-monero)
2018-06-17Merge pull request #3691luigi11112-9/+13
db55263 threadpool: allow constructing an object, and misc tweaks (moneromooo-monero) ce173cb core: remove threadpool dependency from header (moneromooo-monero) 3147468 unit_tests: add threadpool unit test (moneromooo-monero)
2018-06-08db_lmdb: warn about slowness when running off a spinning diskmoneromooo-monero2-0/+72
2018-06-07password: flush cout when prompting for password without newlinemoneromooo-monero1-1/+1
2018-06-05util: consider Tor/I2P addresses to be non localmoneromooo-monero1-0/+7
2018-05-20threadpool: allow constructing an object, and misc tweaksmoneromooo-monero2-9/+13
use unsigned int to avoid having to range check negative numbers, use const where possible, don't needlessly create empty objects, use std::move where possible
2018-04-25Adding required library (dependency of boost::this_thread::sleep_for)Gene Peters1-0/+1
2018-04-12util: log stack trace on crashmoneromooo-monero1-0/+39
2018-04-10common: make this build with unbound 1.4.20moneromooo-monero2-2/+5
Common on currently used distros
2018-03-05Merge pull request #3313Riccardo Spagni1-8/+15
43026822 Wallet2 + CLI wallet: UTF-8 support for filenames and paths under Windows (rbrunner7)
2018-03-05Merge pull request #3277Riccardo Spagni1-12/+60
0e7ad2e2 Wallet API: generalize 'bool testnet' to 'NetworkType nettype' (stoffu) af773211 Stagenet (stoffu) cc9a0bee command_line: allow args to depend on more than one args (stoffu) 55f8d917 command_line::get_arg: remove 'required' for dependent args as they're always optional (stoffu) 450306a0 command line: allow has_arg to handle arg_descriptor<bool,false,true> #3318 (stoffu) 9f9e095a Use `genesis_tx` parameter in `generate_genesis_block`. #3261 (Jean Pierre Dudey)
2018-03-05Correct spelling mistakes.Edward Betts1-2/+2
2018-03-05command_line: allow args to depend on more than one argsstoffu1-9/+57
2018-03-05command_line::get_arg: remove 'required' for dependent args as they're ↵stoffu1-3/+3
always optional
2018-03-05command line: allow has_arg to handle arg_descriptor<bool,false,true> #3318stoffu1-4/+4
2018-02-25Wallet2 + CLI wallet: UTF-8 support for filenames and paths under Windowsrbrunner71-8/+15
2018-02-17Merge pull request #3249Riccardo Spagni3-6/+17
a4b50a6f handle ^D and ^C while password prompting (Jethro Grassie)
2018-02-16common: implement dynamic option dependencies mechanismwhythat1-14/+11
2018-02-16common: implement dependent option descriptorwhythat1-5/+45
2018-02-16Merge pull request #3226Riccardo Spagni3-5/+23
e4646379 keccak: fix mdlen bounds sanity checking (moneromooo-monero) 2e3e90ac pass large parameters by const ref, not value (moneromooo-monero) 61defd89 blockchain: sanity check number of precomputed hash of hash blocks (moneromooo-monero) 9af6b2d1 ringct: fix infinite loop in unused h2b function (moneromooo-monero) 8cea8d0c simplewallet: double check a new multisig wallet is multisig (moneromooo-monero) 9b98a6ac threadpool: catch exceptions in dtor, to avoid terminate (moneromooo-monero) 24803ed9 blockchain_export: fix buffer overflow in exporter (moneromooo-monero) f3f7da62 perf_timer: rewrite to make it clear there is no division by zero (moneromooo-monero) c6ea3df0 performance_tests: remove add_arg call stray extra param (moneromooo-monero) fa6b4566 fuzz_tests: fix an uninitialized var in setup (moneromooo-monero) 03887f11 keccak: fix sanity check bounds test (moneromooo-monero) ad11db91 blockchain_db: initialize m_open in base class ctor (moneromooo-monero) bece67f9 miner: restore std::cout precision after modification (moneromooo-monero) 1aabd14c db_lmdb: check hard fork info drop succeeded (moneromooo-monero)
2018-02-16Merge pull request #3225Riccardo Spagni2-10/+20
71806327 dns: change default DNS to a worldwide selection (moneromooo-monero)
2018-02-16Merge pull request #3217Riccardo Spagni1-2/+0
fde4489e wipeable_string: call memwipe directly (moneromooo-monero)
2018-02-16Merge pull request #3180Riccardo Spagni1-0/+9
1dfed567 Fixed #if instead of #ifdef (Matt Little) 7c442453 Support building cncrypto lib with msvc (Matt Little)
2018-02-10handle ^D and ^C while password promptingJethro Grassie3-6/+17
2018-02-08dns: change default DNS to a worldwide selectionmoneromooo-monero2-10/+20
DNSSEC aware servers picked from https://wiki.ipfire.org/dns/public-servers
2018-02-02threadpool: catch exceptions in dtor, to avoid terminatemoneromooo-monero2-1/+20
If an exception is thrown, it is ignored. While this may hide a bug, this should only be system exceptions in boost, which is pretty unlikely. Morever, wait should be called manually before the dtor anyway. Add an error message if the dtor has to wait in case some such cases creep in so they get fixed. Coverity 182538
2018-02-02perf_timer: rewrite to make it clear there is no division by zeromoneromooo-monero1-4/+3
It could have happened if epee::misc_utils::get_ns_count is buggy, at a push Coverity 182561
2018-01-31wipeable_string: call memwipe directlymoneromooo-monero1-2/+0
since the original reason for the indirect call (that memwipe was not in contrib) is now gone
2018-01-29rpc_client: Fix error handlingErik de Castro Lopo1-8/+8
Previous code was unable to distingush between a connection error and a communication error.
2018-01-27Merge pull request #3120Riccardo Spagni2-9/+80
6cf56682 perf_timer: add faster x86_64 timers, and pause/resume (moneromooo-monero) 411da337 perf_timer: use std::unique_ptr instead of new/delete (moneromooo-monero)
2018-01-27Fixed #if instead of #ifdefMatt Little1-3/+3
2018-01-26Readd copyright starting datexmr-eric12-12/+12
2018-01-26Update 2018 copyrightxmr-eric35-35/+35
2018-01-25Merge pull request #3084Riccardo Spagni1-0/+17
5f5a51a6 util: warn if unbound was not built with threads (moneromooo-monero)
2018-01-25Merge pull request #3052Riccardo Spagni1-9/+1
d507167f Removed unused mac-specific output folder path (Maxithi)
2018-01-25Merge pull request #3013Riccardo Spagni1-0/+2
fe436eca apply_permutation.h: add #pragma once (moneromooo-monero)
2018-01-25Support building cncrypto lib with msvcMatt Little1-0/+9
2018-01-15perf_timer: add faster x86_64 timers, and pause/resumemoneromooo-monero2-7/+77
2018-01-15perf_timer: use std::unique_ptr instead of new/deletemoneromooo-monero1-2/+3
2018-01-10Merge pull request #3061Riccardo Spagni1-1/+2
fc041b58 common cmake: make sure translation_files.h is generated for i18n.cpp (stoffu)
2018-01-10move memwipe to epee to avoid common<->crypto circular dependenciesmoneromooo-monero4-197/+1
2018-01-10epee: remove dependency on commonmoneromooo-monero1-0/+1
2018-01-08util: warn if unbound was not built with threadsmoneromooo-monero1-0/+17
This can causes crashes in libunbound
2018-01-04Removed unused mac-specific output folder pathMaxithi1-9/+1
2018-01-04common cmake: make sure translation_files.h is generated for i18n.cppstoffu1-1/+2
2018-01-02Merge pull request #2977Riccardo Spagni1-1/+7
c70e8daa threadpool: fix deadlock in recursive waiter usage (moneromooo-monero)
2018-01-02Merge pull request #2934Riccardo Spagni1-13/+30
db2bc965 Embed the translation files in the binary (Guillaume LE VAILLANT)
2017-12-27apply_permutation.h: add #pragma oncemoneromooo-monero1-0/+2
2017-12-26only include the easylogging++ stack trace code when neededmoneromooo-monero1-0/+3
2017-12-25Merge pull request #2929Riccardo Spagni1-7/+49
ae55bacd resumption support for updates using range requests (moneromooo-monero) fe0fae50 epee: add a get_file_size function (moneromooo-monero)
2017-12-25Merge pull request #2922Riccardo Spagni2-3/+4
a1d44f27 updates: use https for updates (moneromooo-monero) 472a93c8 download: SSL suport (moneromooo-monero)
2017-12-25Merge pull request #2890Riccardo Spagni1-7/+7
83b0f9e6 version: add -master to master version (moneromooo-monero) 493f7d09 util: allow non numeric version parts (moneromooo-monero)
2017-12-23threadpool: fix deadlock in recursive waiter usagemoneromooo-monero1-1/+7
If a queued job uses a waiter, then we want to run that waiter's jobs in the current thread if all threads are busy, even if the queue is empty, since there is no guarantee that any thread will free up to take care of that new job, since all the threads might be running a job which spawns such a recursive job and will block till that recursive job is done, which it will never be since it relies on the queue being polled by one of those blocked threads.
2017-12-17Merge pull request #2857Riccardo Spagni1-0/+43
7193b89f Scrub keys from memory just before scope end. (moneromooo-monero)
2017-12-16move includes around to lessen overall loadmoneromooo-monero7-35/+46
2017-12-16Scrub keys from memory just before scope end.moneromooo-monero1-0/+43
Partially implements #74. Securely erases keys from memory after they are no longer needed. Might have a performance impact, which I haven't measured (perf measurements aren't generally reliable on laptops). Thanks to @stoffu for the suggestion to specialize the pod_to_hex/hex_to_pod functions. Using overloads + SFINAE instead generalizes it so other types can be marked as scrubbed without adding more boilerplate.
2017-12-16Merge pull request #2873Riccardo Spagni1-1/+1
1c838552 Simplewallet.cpp: Fewer pleases in seed NOTE (xmr-eric) 3f18c642 Fix password capitalization mismatch (xmr-eric)
2017-12-16Merge pull request #2860Riccardo Spagni6-25/+177
3dffe71b new wipeable_string class to replace std::string passphrases (moneromooo-monero) 7a2a5741 utils: initialize easylogging++ in on_startup (moneromooo-monero) 54950829 use memwipe in a few relevant places (moneromooo-monero) 000666ff add a memwipe function (moneromooo-monero)
2017-12-15Embed the translation files in the binaryGuillaume LE VAILLANT1-13/+30
If a translation file exists in a "translations" directory located in the same directory as the binary, it is used in priority (this can be useful when working on translations as you don't have to recompile the whole program all the time), and if no such file is found the embedded translation file is used (if it exists).
2017-12-15resumption support for updates using range requestsmoneromooo-monero1-7/+49
2017-12-14updates: use https for updatesmoneromooo-monero1-1/+1
2017-12-14download: SSL suportmoneromooo-monero1-2/+3
2017-12-07perf_timer: add non scoped start/stop timer definesmoneromooo-monero1-0/+3
2017-12-07util: allow non numeric version partsmoneromooo-monero1-7/+7
2017-11-28Fix password capitalization mismatchxmr-eric1-1/+1
2017-11-27new wipeable_string class to replace std::string passphrasesmoneromooo-monero3-26/+20