aboutsummaryrefslogtreecommitdiff
path: root/contrib/epee (follow)
AgeCommit message (Collapse)AuthorFilesLines
2019-04-18epee: use boost/timer/timer.hpp, boost/timer.hpp is deprecatedmoneromooo-monero1-1/+1
2019-04-16Merge pull request #5445Riccardo Spagni1-0/+12
b18f0b10 wallet: new --offline option (moneromooo-monero)
2019-04-16Merge pull request #5436Riccardo Spagni1-3/+4
61d63900 net_helper: avoid unnecessary memcpy (moneromooo-monero)
2019-04-15wallet: new --offline optionmoneromooo-monero1-0/+12
It will avoid connecting to a daemon (so useful for cold signing using a RPC wallet), and not perform DNS queries.
2019-04-13net_helper: avoid unnecessary memcpymoneromooo-monero1-3/+4
2019-04-12abstract_tcp_server2: fix timeout on exitmoneromooo-monero2-2/+9
When closing connections due to exiting, the IO service is already gone, so the data exchange needed for a gracious SSL shutdown cannot happen. We just close the socket in that case.
2019-04-11epee: init a new ssl related variable in ctormoneromooo-monero1-0/+1
2019-04-11simplewallet: new net_stats commandmoneromooo-monero2-2/+30
displays total sent and received bytes
2019-04-07Enabling daemon-rpc SSL now requires non-system CA verificationLee Clagett2-0/+22
If `--daemon-ssl enabled` is set in the wallet, then a user certificate, fingerprint, or onion/i2p address must be provided.
2019-04-07Require manual override for user chain certificates.Lee Clagett2-1/+5
An override for the wallet to daemon connection is provided, but not for other SSL contexts. The intent is to prevent users from supplying a system CA as the "user" whitelisted certificate, which is less secure since the key is controlled by a third party.
2019-04-07Only check top-level certificate against fingerprint list.Lee Clagett1-2/+4
This allows "chain" certificates to be used with the fingerprint whitelist option. A user can get a system-ca signature as backup while clients explicitly whitelist the server certificate. The user specified CA can also be combined with fingerprint whitelisting.
2019-04-07Call `use_certificate_chain_file` instead of `use_certificate_file`Lee Clagett1-1/+1
The former has the same behavior with single self signed certificates while allowing the server to have separate short-term authentication keys with long-term authorization keys.
2019-04-07Perform RFC 2818 hostname verification in client SSL handshakesLee Clagett3-5/+26
If the verification mode is `system_ca`, clients will now do hostname verification. Thus, only certificates from expected hostnames are allowed when SSL is enabled. This can be overridden by forcible setting the SSL mode to autodetect. Clients will also send the hostname even when `system_ca` is not being performed. This leaks possible metadata, but allows servers providing multiple hostnames to respond with the correct certificate. One example is cloudflare, which getmonero.org is currently using.
2019-04-07Require server verification when SSL is enabled.Lee Clagett2-11/+16
If SSL is "enabled" via command line without specifying a fingerprint or certificate, the system CA list is checked for server verification and _now_ fails the handshake if that check fails. This change was made to remain consistent with standard SSL/TLS client behavior. This can still be overridden by using the allow any certificate flag. If the SSL behavior is autodetect, the system CA list is still checked but a warning is logged if this fails. The stream is not rejected because a re-connect will be attempted - its better to have an unverified encrypted stream than an unverified + unencrypted stream.
2019-04-07Add `verify_fail_if_no_cert` option for proper client authenticationLee Clagett1-1/+1
Using `verify_peer` on server side requests a certificate from the client. If no certificate is provided, the server silently accepts the connection and rejects if the client sends an unexpected certificate. Adding `verify_fail_if_no_cert` has no affect on client and for server requires that the peer sends a certificate or fails the handshake. This is the desired behavior when the user specifies a fingerprint or CA file.
2019-04-07Pass SSL arguments via one class and use shared_ptr instead of referenceLee Clagett9-167/+229
2019-04-06Do not require client certificate unless server has some whitelisted.Lee Clagett1-12/+27
Currently a client must provide a certificate, even if the server is configured to allow all certificates. This drops that requirement from the client - unless the server is configured to use a CA file or fingerprint(s) for verification - which is the standard behavior for SSL servers. The "system-wide" CA is not being used as a "fallback" to verify clients before or after this patch.
2019-04-06Change SSL certificate file list to OpenSSL builtin load_verify_locationLee Clagett7-76/+65
Specifying SSL certificates for peer verification does an exact match, making it a not-so-obvious alias for the fingerprints option. This changes the checks to OpenSSL which loads concatenated certificate(s) from a single file and does a certificate-authority (chain of trust) check instead. There is no drop in security - a compromised exact match fingerprint has the same worse case failure. There is increased security in allowing separate long-term CA key and short-term SSL server keys. This also removes loading of the system-default CA files if a custom CA file or certificate fingerprint is specified.
2019-04-06Merge pull request #5375Riccardo Spagni1-0/+1
1569776a Add missing include (Leon Klingele)
2019-04-06Merge pull request #5358Riccardo Spagni1-7/+40
dffdccdc No longer use deprecated RSA_generate_key in favor of RSA_generate_key_ex (Martijn Otto)
2019-04-06Merge pull request #5348Riccardo Spagni4-8/+11
59776a64 epee: some more minor JSON parsing speedup (moneromooo-monero)
2019-04-01Merge pull request #5327Riccardo Spagni3-1/+15
c23ea796 New interactive daemon command 'print_net_stats': Global traffic stats (rbrunner7)
2019-04-01Merge pull request #5309Riccardo Spagni1-0/+1
43042a28 Implement array_entry_t copy constructor (Guido Vranken)
2019-03-31Add missing includeLeon Klingele1-0/+1
2019-03-27No longer use deprecated RSA_generate_key in favor ofMartijn Otto1-7/+40
RSA_generate_key_ex
2019-03-25epee: some more minor JSON parsing speedupmoneromooo-monero4-8/+11
2019-03-25Added socks proxy (tor/i2pd/kovri) support to walletLee Clagett6-76/+135
2019-03-24Merge pull request #5285Riccardo Spagni1-0/+1
6ef816de console_handler: print newline on EOF (moneromooo-monero)
2019-03-24New interactive daemon command 'print_net_stats': Global traffic statsrbrunner73-1/+15
2019-03-21Merge pull request #5283Riccardo Spagni1-5/+6
16590294 abstract_tcp_server2: fix crashy race on socket shutdown (moneromooo-monero)
2019-03-21Merge pull request #5259Riccardo Spagni1-1/+0
9141a0a1 connection_basic: remove debug exception ^_^ (moneromooo-monero)
2019-03-21epee: fix build with boost 1.70.0moneromooo-monero2-7/+19
get_io_service was deprecated, and got removed
2019-03-19abstract_tcp_server2: fix crashy race on socket shutdownmoneromooo-monero1-5/+6
2019-03-18Implement array_entry_t copy constructorGuido Vranken1-0/+1
Manually initialize the array_entry_t iterator to ensure it points to the correct m_array, thereby preventing a potential use-after-free situation. Signed-off-by: Guido Vranken <guidovranken@gmail.com>
2019-03-17Merge pull request #5061Riccardo Spagni18-18/+18
1f2930ce Update 2019 copyright (binaryFate)
2019-03-13console_handler: print newline on EOFmoneromooo-monero1-0/+1
This avoids the annoying case where the shell prints its prompt after the last line from Monero output, causing line editing to sometimes go wonky, for lack of a better term
2019-03-10epee: certificate generation fix, pkey deletedDusan Klinec1-3/+5
- pkey gets deleted by the pkey_deleter but the caller tries to serialize it which causes errors as the memory is freed
2019-03-08connection_basic: remove debug exception ^_^moneromooo-monero1-1/+0
2019-03-08Fix startup errors with SSL cert generationHoward Chu2-38/+6
Use SSL API directly, skip boost layer
2019-03-05Update 2019 copyrightbinaryFate18-18/+18
2019-03-05epee: add SSL supportMartijn Otto9-43/+152
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-03-04default initialize rpc structuresmoneromooo-monero4-9/+35
2019-03-04Merge pull request #5162Riccardo Spagni2-6/+14
4d3b61a3 Use io_service::work in epee tcp server (Lee Clagett)
2019-03-04Merge pull request #5160Riccardo Spagni1-1/+1
7af4fbd4 epee: Add space after ':' in additional http response headers (Tom Smeding)
2019-03-04Merge pull request #5113Riccardo Spagni1-0/+1
c0e9e805 Fixed missing return value in once_a_time class on windows (Markus Behm)
2019-03-04Merge pull request #5102Riccardo Spagni2-0/+417
1eef0565 performance_tests: better stats, and keep track of timing history (moneromooo-monero)
2019-03-04Merge pull request #5096Riccardo Spagni2-4/+5
7c3ade44 network_throttle: use circular_buffer where appropriate (moneromooo-monero)
2019-03-04Merge pull request #5091Riccardo Spagni1-1/+4
123fc2a2 i2p: initial support (Jethro Grassie)
2019-02-18epee: Add space after ':' in additional http response headersTom Smeding1-1/+1
2019-02-10Use io_service::work in epee tcp serverLee Clagett2-6/+14
2019-02-09Fixed missing return value in once_a_time class on windowsMarkus Behm1-0/+1
2019-02-02epee: add SSL supportmoneromooo-monero11-208/+896
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-01network_throttle: use circular_buffer where appropriatemoneromooo-monero2-4/+5
2019-01-30i2p: initial supportJethro Grassie1-1/+4
2019-01-28Adding initial support for broadcasting transactions over TorLee Clagett7-126/+309
- Support for ".onion" in --add-exclusive-node and --add-peer - Add --anonymizing-proxy for outbound Tor connections - Add --anonymous-inbounds for inbound Tor connections - Support for sharing ".onion" addresses over Tor connections - Support for broadcasting transactions received over RPC exclusively over Tor (else broadcast over public IP when Tor not enabled).
2019-01-28rpc: fix internal daemon calls in restricted rpc getting partial datamoneromooo-monero1-6/+6
2019-01-28Merge pull request #5065Riccardo Spagni1-2/+2
ca86ef1b readline: don't dereference possible NULL pointer (Jethro Grassie)
2019-01-28performance_tests: better stats, and keep track of timing historymoneromooo-monero2-0/+417
2019-01-22Pruningmoneromooo-monero4-2/+29
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-21readline: don't dereference possible NULL pointerJethro Grassie1-2/+2
2019-01-16epee: speedup word/number matchingmoneromooo-monero2-45/+89
Number matching semantics are slightly changed: since this is used as a filter to check whether a number is signed and/or floating point, we can speed this up further. strto* functions are called afterwards and will error out where necessary. We now also accept numbers like .4 which were not accepted before. The strto* calls on a boost::string_ref will not access unallocated memory since the parsers always stop at the first bad character, and the original string is zero terminated. in arbitrary time measurement units for some arbitrary test case: match_number2: 235 -> 70 match_word2: 330 -> 108
2019-01-16Merge pull request #5021Riccardo Spagni2-3/+13
b82efa32 epee: speed up json parsing (moneromooo-monero)
2019-01-16Merge pull request #5001Riccardo Spagni2-32/+4
a5ffc2d5 Remove boost::lexical_cast for uuid and unused uuid function (Lee Clagett)
2019-01-16Merge pull request #4976Riccardo Spagni13-55/+226
85665003 epee: better network buffer data structure (moneromooo-monero)
2019-01-06Merge pull request #4951Riccardo Spagni1-0/+3
b21a60ef mlocker: set default log category (moneromooo-monero)
2019-01-06Merge pull request #4950Riccardo Spagni1-8/+15
68f045de easylogging++: check allowed categories before logging (moneromooo-monero)
2019-01-06Merge pull request #4949Riccardo Spagni1-9/+30
5464725a protocol: change standby mode to not wait sleeping (moneromooo-monero) 85807dfb add a once_a_time_milliseconds class (moneromooo-monero)
2019-01-06Merge pull request #4938Riccardo Spagni2-38/+18
a13eb0a1 epee: speed up string matching a bit (moneromooo-monero) 3a3858dc epee: avoid string allocation when parsing a pod from string (moneromooo-monero)
2018-12-31Merge pull request #4957luigi11111-1/+1
0e2f5cb perf_timer: make all logs Info level (moneromooo-monero)
2018-12-31Merge pull request #4933luigi11112-2/+2
3cf85f0 Changed RECIEVED to RECEIVED in log messages. (normoes)
2018-12-31Merge pull request #4864luigi11111-2/+2
707c2f8 Remove -Werror (moneromooo-monero)
2018-12-27epee: speed up json parsingmoneromooo-monero2-3/+13
2018-12-23epee: better network buffer data structuremoneromooo-monero13-55/+226
avoids pointless allocs and memcpy
2018-12-23Remove boost::lexical_cast for uuid and unused uuid functionLee Clagett2-32/+4
2018-12-12Merge pull request #4925Riccardo Spagni1-1/+0
ab783b17 easylogging++: ensure logger is initialized before main (moneromooo-monero) 9b69a0ae daemon: print monero version at startup when calling a detached daemon (moneromooo-monero) 4d71d463 mlocker: remove early page size log (moneromooo-monero)
2018-12-08perf_timer: make all logs Info levelmoneromooo-monero1-1/+1
and make them not default at log level 1
2018-12-08epee: speed up string matching a bitmoneromooo-monero1-2/+6
2018-12-08epee: avoid string allocation when parsing a pod from stringmoneromooo-monero1-36/+12
2018-12-07easylogging++: check allowed categories before loggingmoneromooo-monero1-8/+15
2018-12-07mlocker: set default log categorymoneromooo-monero1-0/+3
2018-12-07add a once_a_time_milliseconds classmoneromooo-monero1-9/+30
2018-12-04Merge pull request #4883Riccardo Spagni1-2/+2
40485a73 mlocker: fix access to global lock map after dtor on exit (moneromooo-monero)
2018-12-04Merge pull request #4866Riccardo Spagni6-57/+371
9c923bad epee: fix network packet header field endianness (moneromooo-monero) ec1a62b5 move int-util.h to epee (moneromooo-monero)
2018-12-04Merge pull request #4880Riccardo Spagni2-6/+11
96e6b439 blockchain_stats: don't use gmtime_r on Windows (moneromooo-monero)
2018-12-04Merge pull request #4876Riccardo Spagni1-3/+12
1132436f Only show a single mlock() error, to avoid flooding the log (Martijn Otto)
2018-12-04Merge pull request #4875Riccardo Spagni1-0/+8
23829ebb mlocker: don't throw from lock/unlock (moneromooo-monero)
2018-12-04epee: fix network packet header field endiannessmoneromooo-monero5-57/+113
2018-12-04move int-util.h to epeemoneromooo-monero1-0/+258
2018-12-04Merge pull request #4854Riccardo Spagni9-72/+9
bd98e99c Removed a lot of unnecessary includes (Martijn Otto)
2018-12-04Merge pull request #4853Riccardo Spagni2-2/+3
2b3595d0 various: do not propagate exception through dtor (moneromooo-monero)
2018-12-04Merge pull request #4850Riccardo Spagni1-15/+35
b36353e2 unit_tests: add some hex parsing test for non hex input (xiphon) 6671110c unit_tests: add a test for parse_hexstr_to_binbuff (moneromooo-monero) f6187cd8 epee: speed up parse_hexstr_to_binbuff a little (Howard Chu)
2018-12-04Changed RECIEVED to RECEIVED in log messages.Norman Moeschter2-2/+2
2018-11-30mlocker: remove early page size logmoneromooo-monero1-1/+0
It comes before the logger is initialized, so gets displayed even though it should not be by default, and apparenly comes too early for (some versions of) Android, where it crashes.
2018-11-26rpc: speedup get_outs.binmoneromooo-monero1-0/+2
2018-11-26Merge pull request #4819Riccardo Spagni2-6/+10
7c298f5d No longer use a list for registering self references in the abstract tcp server (Martijn Otto)
2018-11-26Only show a single mlock() error, to avoid flooding the logMartijn Otto1-3/+12
2018-11-22mlocker: fix access to global lock map after dtor on exitmoneromooo-monero1-2/+2
as the lock, it now leaks
2018-11-21blockchain_stats: don't use gmtime_r on Windowsmoneromooo-monero2-6/+11
In some cases, it doesn't like it (I don't know the details). Factor into a new epee function
2018-11-20mlocker: don't throw from lock/unlockmoneromooo-monero1-0/+8
This prevents exceptions from showing up in various awkward places such as dtors, since the only exception that can be thrown is a lock failure, and nothing handles a lock failure anyway.
2018-11-17Remove -Werrormoneromooo-monero1-2/+2
It is an annoying piece of garbage
2018-11-16Merge pull request #4807Riccardo Spagni1-1/+6
b620443b epee: log HTTP/RPC calls at info level (moneromooo-monero)
2018-11-16Merge pull request #4785Riccardo Spagni1-2/+2
0cfd2ae5 mlocker: fix dtor ordering problem (moneromooo-monero)
2018-11-16Merge pull request #4775Riccardo Spagni1-11/+41
741e4a11 epee: speed up json number parsing (moneromooo-monero)
2018-11-15epee: speed up parse_hexstr_to_binbuff a littleHoward Chu1-15/+35
2018-11-15Removed a lot of unnecessary includesMartijn Otto9-72/+9
2018-11-15various: do not propagate exception through dtormoneromooo-monero2-2/+3
Coverity 189689, 189690, 189692, 189695
2018-11-14Merge pull request #4753Riccardo Spagni1-0/+1
157054b8 hardfork: initialize current_fork_index in ctor (moneromooo-monero) 2362baf7 network_throttle: initialize m_last_sample_time in ctor (moneromooo-monero) d9400f69 serializtion: add missing mainnet and stagenet fields for 0mq (moneromooo-monero) cbe0122b wallet2: initialize amount to 0 in tx_scan_info_t ctor (moneromooo-monero)
2018-11-07No longer use a list for registering self references in the abstract tcpMartijn Otto2-6/+10
server Updated assert message Use a local variable that won't destruct at the end of the if-branch Updated comment
2018-11-06Merge pull request #4740Riccardo Spagni1-0/+2
f067bb0c tests: fix MSYS2 warning 'MONERO_DEFAULT_LOG_CATEGORY redefined' (xiphon)
2018-11-06Merge pull request #4709Riccardo Spagni1-2/+4
07c62809 epee: some minor speedup in parsing (moneromooo-monero)
2018-11-06Merge pull request #3970Riccardo Spagni1-2/+4
3381b651 abstract_tcp_server2: fix busy calling of idle IO service (moneromooo-monero)
2018-11-05epee: log HTTP/RPC calls at info levelmoneromooo-monero1-1/+6
It's useful info to have when investigating logs
2018-11-02mlocker: fix dtor ordering problemmoneromooo-monero1-2/+2
leak the mutex instead, it's a one off
2018-11-01epee: speed up json number parsingmoneromooo-monero1-11/+41
2018-10-29network_throttle: initialize m_last_sample_time in ctormoneromooo-monero1-0/+1
Coverity 136593
2018-10-27tests: fix MSYS2 warning 'MONERO_DEFAULT_LOG_CATEGORY redefined'xiphon1-0/+2
2018-10-26Merge pull request #4573Riccardo Spagni2-1/+5
8f3c7937 readline_buffer: fix "cursor in prompt" bug (moneromooo-monero)
2018-10-24epee: some minor speedup in parsingmoneromooo-monero1-2/+4
2018-10-20Merge pull request #4669Riccardo Spagni1-1/+4
d3cda5ad console_handler: add a global log when exiting via EOF (moneromooo-monero)
2018-10-20Merge pull request #4520Riccardo Spagni1-0/+35
2e2daebc ANSI colors in Windows 10 (iDunk5400)
2018-10-20console_handler: add a global log when exiting via EOFmoneromooo-monero1-1/+4
It's a common confusion point for users which run monerod without stdin and with --detach
2018-10-15Merge pull request #4489Riccardo Spagni6-17/+12
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-12readline_buffer: fix "cursor in prompt" bugmoneromooo-monero2-1/+5
It happens when readline displays a prompt just before switching to a shorter one
2018-10-12Remove epee header dependency on cryptonote_coremoneromooo-monero2-6/+5
2018-10-08ANSI colors in Windows 10iDunk54001-0/+35
2018-10-02epee: initialize a few data members where it seems to be appropriatemoneromooo-monero2-1/+4
2018-10-02abstract_tcp_server2: move m_period to subclassmoneromooo-monero1-5/+6
This is where it is actually used, and initialized
2018-10-02connection_basic: remove unused floating time start timemoneromooo-monero2-10/+0
2018-10-02Catch more exceptions in dtorsmoneromooo-monero1-1/+2
Misc coverity reports
2018-09-29Merge pull request #4459Riccardo Spagni4-3/+16
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-29Merge pull request #4443Riccardo Spagni1-0/+2
b2972927 osx compilation fix: missing boost libs added (Dusan Klinec)
2018-09-25epee: fix stack overflow on crafted inputmoneromooo-monero1-5/+8
2018-09-25epee: fix invalid memory write reading an array entrymoneromooo-monero1-0/+8
Reported by Lilith Wyatt at Talos. Since this is not needed in normal operation, I just let this error out.
2018-09-21Merge pull request #4377Riccardo Spagni1-1/+1
4d52ec0c mlog: do not display http errors by default (moneromooo-monero)
2018-09-21Merge pull request #4209Riccardo Spagni1-6/+40
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-18Merge pull request #4306Riccardo Spagni3-2/+21
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-18Merge pull request #3430Riccardo Spagni1-1/+1
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-14Merge pull request #4307Riccardo Spagni1-4/+20
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-14mlog: do not display http errors by defaultmoneromooo-monero1-1/+1
They're controllable by potential attackers and would just spam
2018-09-12wipeable_string: add hex_to_pod functionmoneromooo-monero3-2/+21
2018-09-10Modify depends for monero's dependenciesTheCharlatan1-1/+1
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-09abstract_tcp_server2: fix binding to the wrong IPmoneromooo-monero1-4/+4
2018-09-04Merge pull request #4270luigi11112-1/+14
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-08-27epee: use the socket::bind variant which does not throwmoneromooo-monero1-2/+18
When this throws in a loop, stack trace generation can take a significant amount of CPU
2018-08-22Merge pull request #4179luigi11111-1/+3
262e391 mlog: handle filenames without parent directories (moneromooo-monero)
2018-08-19epee: some speedup in parsingmoneromooo-monero1-1/+8
2018-08-17epee: resize vectors where possible in serializationmoneromooo-monero1-0/+6
to avoid unnecessary repeated reallocation
2018-08-16common: add a class to safely wrap mlock/munlockmoneromooo-monero4-1/+277
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-16store secret keys encrypted where possiblemoneromooo-monero1-0/+9
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-16wallet: wipe seed from memory where appropriatemoneromooo-monero5-6/+194
2018-08-15Merge pull request #4177luigi11111-0/+1
e7c0fcd epee: set jsonrpc to '2.0' in parse error return data (moneromooo-monero)
2018-08-15Merge pull request #4130luigi11112-1/+9
979105b abstract_tcp_server2: fix race on shutdown (moneromooo-monero)
2018-08-15Merge pull request #4090luigi11111-5/+13
42f3b7c http_protocol_handler: catch invalid numbers when parsing (moneromooo-monero) 0a4a7da http_protocol_handler: fix HTTP/x.y parsing (moneromooo-monero)
2018-08-03Added features to epee::span<T> :Lee Clagett1-6/+40
- Support for classes - Added `remove_prefix` function - Added `to_mut_span` and `as_mut_byte_span`
2018-07-26mlog: handle filenames without parent directoriesmoneromooo-monero1-1/+3
eg, --log-file=foo.log This would otherwise throw and crash with a stack overflow
2018-07-25epee: set jsonrpc to "2.0" in parse error return datamoneromooo-monero1-0/+1
2018-07-15abstract_tcp_server2: fix race on shutdownmoneromooo-monero2-1/+9
2018-07-10memwipe: don't call the workhorse for 0 bytesmoneromooo-monero1-3/+5
Some of them don't like it
2018-07-03http_protocol_handler: fix HTTP/x.y parsingmoneromooo-monero1-1/+1
It was accepting any character for the dot (yeah, massive big I know)
2018-07-03http_protocol_handler: catch invalid numbers when parsingmoneromooo-monero1-4/+12
2018-07-03Merge pull request #4080Riccardo Spagni1-2/+2
dead780f abstract_tcp_server2: fix use after free (moneromooo-monero)
2018-07-03Merge pull request #3997Riccardo Spagni1-4/+19
1a526ed5 abstract_tcp_server2: restart async accept on error (moneromooo-monero)
2018-06-29abstract_tcp_server2: fix use after freemoneromooo-monero1-2/+2
2018-06-28epee.string_tools: add conversion between UTF-8 and UTF-16stoffu2-15/+45
2018-06-25Merge pull request #3972luigi11111-1/+2
8766528 epee: fallback to a counter if gmtime fails when rotating logs (moneromooo-monero)
2018-06-25Merge pull request #3971luigi11111-1/+1
4ecf714 epee: fix include for ofstream (moneromooo-monero)
2018-06-25Merge pull request #3962luigi11114-19/+75
55c7fb8 epee: adaptive connection timeout system (moneromooo-monero)
2018-06-20Merge pull request #3902luigi11111-1/+1
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-20Merge pull request #3897luigi11112-3/+53
63d0ab0 mlog: --max-log-files to set the max number of rotated log files (stoffu)
2018-06-19Merge pull request #3878luigi11111-3/+3
5a412b7 disable file size sanity check when loading the wallet cache (moneromooo-monero)
2018-06-19Merge pull request #3821luigi11111-1/+1
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-18abstract_tcp_server2: restart async accept on errormoneromooo-monero1-4/+19
2018-06-13wallet-rpc: added IPs to error logging in simple_http_connection_handlerjcktm2-18/+18
2018-06-13mlog: --max-log-files to set the max number of rotated log filesstoffu2-3/+53
2018-06-10epee: adaptive connection timeout systemmoneromooo-monero4-19/+75
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-09epee: fallback to a counter if gmtime fails when rotating logsmoneromooo-monero1-1/+2
2018-06-09epee: fix include for ofstreammoneromooo-monero1-1/+1
2018-06-09abstract_tcp_server2: fix busy calling of idle IO servicemoneromooo-monero1-2/+4
This would make monerod use 100% CPU when running with torsocks without Tor running
2018-06-01epee: fix detection of 172.16.0.0/172.31.255.255 local IP rangemoneromooo-monero1-1/+1
2018-05-28disable file size sanity check when loading the wallet cachemoneromooo-monero1-3/+3
2018-05-27http_protocol_handler: limit the number of starting newlinesmoneromooo-monero3-1/+12
2018-05-26abstract_tcp_server2: timeout on RPC connectionsmoneromooo-monero2-1/+68
2018-05-26http_protocol_handler: speedup newline discardingmoneromooo-monero1-2/+5
2018-05-26console_handler: fix start_default_console use of prompt parametermoneromooo-monero1-3/+21
It had not been updated to the function type change
2018-05-17epee: log type name when a container size check failsmoneromooo-monero1-1/+1
2018-04-28Merge pull request #3667Riccardo Spagni2-2/+4
53a1962d epee: Drop deprecated Boost.Thread header (Jan Beich)
2018-04-25mlog: fix setting no logsmoneromooo-monero1-1/+6
2018-04-19epee: Drop deprecated Boost.Thread headerJan Beich2-2/+4
In file included from src/cryptonote_basic/hardfork.cpp:33: In file included from src/blockchain_db/blockchain_db.h:42: In file included from src/cryptonote_basic/hardfork.h:31: contrib/epee/include/syncobj.h:37:10: fatal error: 'boost/thread/v2/thread.hpp' file not found #include <boost/thread/v2/thread.hpp> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from src/rpc/daemon_handler.cpp:29: In file included from src/rpc/daemon_handler.h:36: In file included from src/p2p/net_node.h:41: In file included from contrib/epee/include/net/levin_server_cp2.h:32: In file included from contrib/epee/include/net/abstract_tcp_server2.h:324: contrib/epee/include/net/abstract_tcp_server2.inl:44:10: fatal error: 'boost/thread/v2/thread.hpp' file not found #include <boost/thread/v2/thread.hpp> // TODO ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ contrib/epee/include/math_helper.h: In member function 'bool epee::math_helper::average<val, default_base>::set_base()': contrib/epee/include/syncobj.h:227:56: error: 'sleep_for' is not a member of 'boost::this_thread' #define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x) ^ contrib/epee/include/syncobj.h:227:56: note: in definition of macro 'CRITICAL_REGION_LOCAL' #define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x) ^~~~~~~~~ contrib/epee/include/syncobj.h:227:56: note: suggested alternative: 'sleep' #define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x) ^ contrib/epee/include/syncobj.h:227:56: note: in definition of macro 'CRITICAL_REGION_LOCAL' #define CRITICAL_REGION_LOCAL(x) {boost::this_thread::sleep_for(boost::chrono::milliseconds(epee::debug::g_test_dbg_lock_sleep()));} epee::critical_region_t<decltype(x)> critical_region_var(x) ^~~~~~~~~
2018-03-15Fix typos in various filesDimitris Apostolou3-3/+3
2018-02-25Wallet2 + CLI wallet: UTF-8 support for filenames and paths under Windowsrbrunner71-1/+82
2018-02-20Merge pull request #3289Riccardo Spagni1-3/+6
4789f859 wipeable_string: don't try to wipe an empty buffer (moneromooo-monero)
2018-02-20Merge pull request #3243Riccardo Spagni1-2/+2
2bc8c3db epee get_ns_count: cast to uint64_t before multiplying 10^9 to avoid overflow (stoffu)
2018-02-18wipeable_string: don't try to wipe an empty buffermoneromooo-monero1-3/+6
memset_s doesn't like it
2018-02-17memwipe: add missing #include <stdio.h>stoffu1-0/+1
2018-02-16Merge pull request #3226Riccardo Spagni4-11/+11
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 #3252Riccardo Spagni1-0/+3
f689a77e Fix #602 Turn on socket keepalive (Howard Chu)
2018-02-16Merge pull request #3217Riccardo Spagni2-13/+6
fde4489e wipeable_string: call memwipe directly (moneromooo-monero)
2018-02-16Merge pull request #3187Riccardo Spagni1-0/+6
851bd057 call _exit instead of abort in release mode (moneromooo-monero)
2018-02-11Fix #602 Turn on socket keepaliveHoward Chu1-0/+3
2018-02-08epee get_ns_count: cast to uint64_t before multiplying 10^9 to avoid overflowstoffu1-2/+2