Commit graph

86 commits

Author SHA1 Message Date
Riccardo Spagni
1c11ec71b5
Merge pull request #2995
6ccc51f6 wipeable_string: fix buffer overread (moneromooo-monero)
2018-01-10 11:53:42 +01:00
moneromooo-monero
fdd4c5e577
move memwipe to epee to avoid common<->crypto circular dependencies 2018-01-10 01:57:54 +00:00
moneromooo-monero
40ab12a773
epee: remove dependency on common 2018-01-10 01:57:51 +00:00
Riccardo Spagni
2b00899bb2
Merge pull request #2920
bd5cce07 network_throttle: fix ineffective locking (moneromooo-monero)
e0a61299 network_throttle: remove unused xxx static member (moneromooo-monero)
24f584d9 cryptonote_core: remove unused functions with off by one bugs (moneromooo-monero)
b1634aa3 blockchain: don't leave dangling pointers in this (moneromooo-monero)
8e60b81c cryptonote_core: fix db leak on error (moneromooo-monero)
213e326c abstract_tcp_server2: log init_server errors as fatal (moneromooo-monero)
b51dc566 use const refs in for loops for non tiny types (moneromooo-monero)
f0568ca6 net_parse_helpers: fix regex error checking (moneromooo-monero)
b49ddc76 check accessing an element past the end of a container (moneromooo-monero)
2305bf26 check return value for generate_key_derivation and derive_public_key (moneromooo-monero)
a4240d9f catch const exceptions (moneromooo-monero)
45a1c4c0 add empty container sanity checks when using front() and back() (moneromooo-monero)
56fa6ce1 tests: fix a buffer overread in a unit test (moneromooo-monero)
b4524892 rpc: guard against json parsing a non object (moneromooo-monero)
c2ed8618 easylogging++: avoid buffer underflow (moneromooo-monero)
187a6ab2 epee: trap failure to parse URI from request (moneromooo-monero)
061789b5 checkpoints: trap failure to load JSON checkpoints (moneromooo-monero)
ba2fefb9 checkpoints: pass std::string by const ref, not const value (moneromooo-monero)
38c8f4e0 mlog: terminate a string at last char, just in case (moneromooo-monero)
d753d716 fix a few leaks by throwing objects, not newed pointers to objects (moneromooo-monero)
fe568db8 p2p: use size_t for arbitrary counters instead of uint8_t (moneromooo-monero)
46d6fa35 cryptonote_protocol: sanity check chain hashes from peer (moneromooo-monero)
25584f86 cryptonote_protocol: print peer versions when unexpected (moneromooo-monero)
490a5d41 rpc: do not try to use an invalid txid in relay_tx (moneromooo-monero)
2017-12-25 21:17:52 +02:00
moneromooo-monero
6ccc51f645
wipeable_string: fix buffer overread 2017-12-23 15:30:04 +00:00
moneromooo-monero
6c94516fb4
wipeable_string: move a wipe from reserve to grow
That way, all implicit wipes ends up in grow, which is more robust
2017-12-19 14:06:42 +00:00
moneromooo-monero
5f801b6adf
wipeable_string: ignore reserve size less than actual size
This was asserting, but stoffu pointed out the std::string standard
considers this ok and ignorable
2017-12-19 14:00:41 +00:00
moneromooo-monero
9ec44a2b06
wipeable_string: fix clear and push_back 2017-12-19 11:55:45 +00:00
moneromooo-monero
bd5cce07b3
network_throttle: fix ineffective locking 2017-12-18 15:16:11 +00:00
moneromooo-monero
e0a61299fb
network_throttle: remove unused xxx static member 2017-12-18 15:16:09 +00:00
moneromooo-monero
38c8f4e0a3
mlog: terminate a string at last char, just in case 2017-12-18 15:15:16 +00:00
Riccardo Spagni
066fd7aced
Merge pull request #2877
43f5269f Wallets now do not depend on the daemon rpc lib (moneromooo-monero)
bb89ae8b move connection_basic and network_throttle from src/p2p to epee (moneromooo-monero)
4abf25f3 cryptonote_core does not depend on p2p anymore (moneromooo-monero)
2017-12-17 12:59:44 +02:00
moneromooo-monero
bb89ae8b20
move connection_basic and network_throttle from src/p2p to epee
These even had the epee namespace.
This fixes some ugly circular dependencies.
2017-12-16 23:28:43 +00:00
moneromooo-monero
09ce03d612
move includes around to lessen overall load 2017-12-16 22:46:38 +00:00
moneromooo-monero
3dffe71b72
new wipeable_string class to replace std::string passphrases 2017-11-27 22:25:57 +00:00
moneromooo-monero
178014c995
split off readline code into epee_readline 2017-11-14 17:06:35 +00:00
redfish
4b228dd356 cmake: epee: use var from FindOpenSSL.cmake
This fixes linking when path to openssl
is defined manually:
cmake -DOPENSSL_ROOT_DIR='/usr/include/openssl-1.0;/usr/lib/openssl-1.0' ...

This is useful for building with OpenSSL v1.0
when default system installation is v1.1.

The linking error is undefined SSL_load_error_strings symbol.
This is due to -L /usr/lib/openssl-1.0 not making it onto
the linkline (so -lssl pulls in the default system openssl).
2017-10-17 16:13:07 -04:00
moneromooo-monero
52ec0e7f4e
epee: link against ssl/crypto for the new SSL code 2017-10-15 19:11:34 +01:00
moneromooo-monero
bc1b93333e
frob level 1 logs a bit for consistency
Level 1 logs map to INFO, so setting log level to 1 should
show these. Demote some stuff to DEBUG to avoid spam, though.
2017-10-07 20:03:42 +01:00
Lee Clagett
8b00687735 Upgrades to epee::net_utils::network_address
- internal nullptr checks
  - prevent modifications to network_address (shallow copy issues)
  - automagically works with any type containing interface functions
  - removed fnv1a hashing
  - ipv4_network_address now flattened with no base class
2017-10-05 11:57:09 -04:00
Riccardo Spagni
3bab2676ec
Merge pull request #2512
792ba4f0 Log categories can now be added to and removed from (moneromooo-monero)
48f92eb6 easylogging++: add categories getter (moneromooo-monero)
f35afe62 epee: factor log level/categories setting (moneromooo-monero)
2017-10-02 23:28:59 +04:00
moneromooo-monero
792ba4f0fe
Log categories can now be added to and removed from
Also, set_log without parameters now prints the log categories
2017-09-22 18:08:14 +01:00
moneromooo-monero
f35afe62a4
epee: factor log level/categories setting 2017-09-22 14:14:58 +01:00
selsta
91def9a59b daemon, wallet: add --max-log-file-size option 2017-09-17 04:42:45 +02:00
Howard Chu
c088d38a57
Simplify readline support
And don't use std::mutex
2017-08-22 08:30:04 +01:00
Jethro Grassie
1249a2a550
Construct on first use for completion_commands 2017-08-16 09:34:32 -04:00
Jethro Grassie
67dd4933e6
Add sync lock on stop
Also added and moved two free's hoping to fix leaks.
2017-08-16 08:58:12 -04:00
moneromooo-monero
cb2d5110ff
Tweak net logs so we get more info on why networking can't start
This should prevent "silent" failures to start
2017-08-15 19:49:25 +01:00
Riccardo Spagni
b76ba219d9
Merge pull request #2189
335fc8ab mlog: fix crash accessing stale data when rotating logs (moneromooo-monero)
2017-08-07 15:25:46 +02:00
Riccardo Spagni
5ef8b76b32
Merge pull request #2197
d75cff1a Fix readline prompt when command does not output (Jethro Grassie)
2017-08-07 15:08:17 +02:00
Jethro Grassie
d75cff1a0e
Fix readline prompt when command does not output 2017-07-24 09:54:27 -04:00
moneromooo-monero
599436a452
mlog: default to msgwriter logs only for log level 1
There might be privacy issues doing it by default
2017-07-24 10:34:52 +01:00
moneromooo-monero
335fc8ab23
mlog: fix crash accessing stale data when rotating logs 2017-07-22 19:15:44 +01:00
Riccardo Spagni
ab594cfee9
Merge pull request #2159
6955976b Add various readline related fixes (Jethro Grassie)
2017-07-19 11:52:27 +02:00
Riccardo Spagni
e050853ed3
Merge pull request #2157
6a23cd07 Add notification on stop (Jethro Grassie)
2017-07-19 11:52:11 +02:00
Riccardo Spagni
4014f31a73
Merge pull request #2173
a02d7458 mlog: make MONERO_LOGS env var understand N,logs type spec (moneromooo-monero)
2017-07-19 11:51:50 +02:00
moneromooo-monero
a02d745844
mlog: make MONERO_LOGS env var understand N,logs type spec 2017-07-15 10:23:24 +01:00
Jethro Grassie
6955976b2d
Add various readline related fixes
- Add missing unbind key
- Fix colored messages
- Add command completion
- Preserve last command input
- Fix cursor position issues
- Fix trailing whitespace in commands
- Synchronize set_prompt
2017-07-09 09:50:04 -04:00
Jethro Grassie
6a23cd07aa
Add notification on stop 2017-07-07 07:59:07 -04:00
moneromooo-monero
9706938016
mlog: add msgwriter:INFO to log 0 and 1 defaults
This ensures command output gets logged by default
2017-07-06 13:18:04 +01:00
Riccardo Spagni
7995dcff94
Merge pull request #2112
76043b17 monero-wallet-cli: hang on exit in readline code (#2117) (moneromooo-monero)
a73a42a6 monero-wallet-cli: hang on exit in readline code (#2117) (moneromooo-monero)
be9d4f04 Fix multiline wallet cli output with readline (Jethro Grassie)
2017-07-03 12:27:14 +02:00
moneromooo-monero
76043b17fd
monero-wallet-cli: hang on exit in readline code (#2117)
readline_buffer: move a local to local scope

Also limit the select fd limit to what we use

Signed-off-by: Jethro Grassie <jtg@xtrabass.com>
2017-06-28 07:54:29 -04:00
moneromooo-monero
a73a42a6b0
monero-wallet-cli: hang on exit in readline code (#2117)
readline_buffer: fix start/stop threads being starved by process

process could run for quite some time re-acquiring the process
lock, leaving start/stop starving. Yielding after unlock in
process is much better but doesn't seem to be enough to reliably
yield, so we sleep for a millisecond, which should be transparent
for user input anyway.

Signed-off-by: Jethro Grassie <jtg@xtrabass.com>
2017-06-28 07:54:20 -04:00
Jethro Grassie
be9d4f0411
Fix multiline wallet cli output with readline
monero-wallet-cli commands which have multine output sometimes causes
issues with the readline support. This patch fixes show_transfers,
payments and incoming_transfers.
2017-06-25 10:48:02 -04:00
Jethro Grassie
fdccf7e6c3
Add readline improvements
Color prompt now working and no reprompting on exit command.
2017-06-24 07:34:56 -04:00
Riccardo Spagni
0c6ea4f8a6
Merge pull request #2111
8261ba69 readline_buffer: fix busy wait (moneromooo-monero)
2017-06-24 12:48:37 +02:00
moneromooo-monero
8261ba69e6
readline_buffer: fix busy wait
It'd eat up a core constantly, due to spending its time jumping
back and forth between userland and kernel. We now wait for up
to a millisecond in kernel, which will be transparent to the user
and drop to idle most of the time.
2017-06-23 13:21:50 +01:00
moneromooo-monero
21b939e1e6
readline: fix invalid memory access
m_cout_buf was not initialized
2017-06-21 17:33:47 +01:00
moneromooo-monero
5f8f290505
readline_buffer: add a couple const 2017-06-21 17:33:30 +01:00
jethro
e1f3dfccc8 Add readline support to cli
This PR adds readline support to the daemon and monero-wallet-cli. Only
GNU readline is supported (e.g. not libedit) and there are cmake checks
to ensure this.

There is a cmake variable, Readline_ROOT_DIR that can specify a
directory to find readline, otherwise some default paths are searched.

There is also a cmake option, USE_READLINE, that defaults to ON. If set
to ON, if readline is not found, the build continues but without
readline support.

One negative side effect of using readline is that the color prompt in
the wallet-cli now has no color and just uses terminal default. I know
how to fix this but it's quite a big change so will tackle another time.
2017-06-18 10:08:37 -04:00