Commit Graph

642 Commits

Author SHA1 Message Date
moneromooo-monero
556af11d3b
epee: return HTTP error 400 (Bad request) on deserialization error
It's better than 404 (Not found)
2021-02-23 18:55:08 +00:00
mj-xmr
b900fa03c1 Fix compiler warning for in keyvalue_serialization.h 2021-02-21 18:35:06 +01:00
anon
80125a2f77
async_protocol_handler_config: remove connection correctly 2021-02-19 22:27:29 +00:00
luigi1111
33004ded62
Merge pull request #7343
545b982 Remove unnecessary atomic operations in levin code (Lee Clagett)
2021-02-18 14:02:52 -05:00
luigi1111
9f6dcbd568
Merge pull request #7308
df2f00f boosted_tcp_server: fix connection lifetime (anon)
3833624 boosted_tcp_server: add segfault demo (anon)
2021-02-15 21:53:43 -05:00
Lee Clagett
9867a913dc Store RPC SSL key/cert for consistent authentication between runs 2021-02-13 20:26:26 +00:00
mj-xmr
dc48de74e8 Reduce compilation time of epee/portable_storage.h 2021-02-06 08:18:42 +01:00
Lee Clagett
08e4497c6e Improve cryptonote (block and tx) binary read performance 2021-01-23 06:23:39 +00:00
anon
df2f00f44d boosted_tcp_server: fix connection lifetime 2021-01-19 18:15:30 +01:00
Lee Clagett
545b9825d6 Remove unnecessary atomic operations in levin code 2021-01-19 04:44:03 +00:00
Lee Clagett
679d05567d Remove payload copy in all outgoing p2p messages 2021-01-19 02:22:32 +00:00
Lee Clagett
0f2b5af0dd Reduced executable size; reduced call sequence to "allowed" log function 2021-01-16 22:55:41 +00:00
Lee Clagett
23aae5571b Remove payload copy in all outgoing p2p messages 2021-01-16 22:53:28 +00:00
moneromooo-monero
372754a66e
storages: overridable limits for loading portable_storage from binary 2021-01-07 20:24:29 +00:00
luigi1111
e144dd5b15
Merge pull request #7281
b9092dd epee: also limit number of strings in portable_storage (moneromooo-monero)
2021-01-06 21:11:09 -05:00
moneromooo-monero
b9092ddb5c
epee: also limit number of strings in portable_storage
They require at least 24 bytes
2021-01-05 17:54:25 +00:00
Alexander Blair
7264d64856
Merge pull request #7263
b652d598d add a max levin packet size by command type (moneromooo-monero)
2021-01-03 18:23:57 -08:00
moneromooo-monero
daf023de6e
epee: don't log raw packet data 2021-01-03 14:41:01 +00:00
moneromooo-monero
b652d598d1
add a max levin packet size by command type 2021-01-03 14:07:45 +00:00
moneromooo-monero
5cd6fda1ee
portable_storage: better sanity checking 2021-01-02 12:34:28 +00:00
Alexander Blair
16c780d568
Merge pull request #7250
61b6e4cc6 Add aggressive restrictions to pre-handshake p2p buffer limit (Lee Clagett)
2021-01-01 22:35:59 -08:00
Alexander Blair
175aa2497a
Merge pull request #7243
8e2caf3fb portable_storage: check object limit where appropriate (moneromooo)
2021-01-01 22:32:53 -08:00
Alexander Blair
5917aec4a1
Merge pull request #7220
20bdbd7aa portable_storage: forbid unnamed sections (xiphon)
2021-01-01 22:28:21 -08:00
moneromooo
8e2caf3fb4
portable_storage: check object limit where appropriate
also fix pedantic off by one in check
2020-12-31 22:35:17 +00:00
Alexander Blair
88b7bc394e
Merge pull request #7218
353f93ee1 portable_storage: remove array element limit (moneromooo-monero)
2020-12-29 10:44:05 -08:00
Alexander Blair
d4636a9258
Merge pull request #7207
f7ab8bc6d ssl: buffered handshake detection (anon)
2020-12-29 10:43:50 -08:00
xiphon
20bdbd7aab portable_storage: forbid unnamed sections 2020-12-28 23:51:25 +00:00
moneromooo-monero
353f93ee1a
portable_storage: remove array element limit
some people don't want it
2020-12-28 21:04:58 +00:00
anon
f7ab8bc6d4 ssl: buffered handshake detection 2020-12-28 14:25:37 +01:00
moneromooo-monero
bc97eb8a33
portable_storage: remove overly aggressive cutoff 2020-12-27 12:44:38 +00:00
Alexander Blair
7438617bbf
Merge pull request #7192
95575cda6 epee: fix some issues using connections after shutdown (moneromooo-monero)
2020-12-26 13:44:10 -08:00
Alexander Blair
bc9fce0d32
Merge pull request #7190
7f407c027 portable_storage: add some sanity checks on data size (moneromooo-monero)
2020-12-26 13:43:48 -08:00
Alexander Blair
b9e444da5e
Merge pull request #7098
c0c75ac19 Fixed issues found by static analysis (SChernykh)
2020-12-26 13:36:01 -08:00
moneromooo-monero
95575cda6e
epee: fix some issues using connections after shutdown 2020-12-26 14:14:55 +00:00
moneromooo-monero
7f407c0274
portable_storage: add some sanity checks on data size
especially when allocated size is >> serialized data size
2020-12-26 03:22:59 +00:00
Lee Clagett
187b4d7521 Restrict duplicate keys in epee binary format 2020-12-20 03:47:32 +00:00
Lee Clagett
61b6e4cc67 Add aggressive restrictions to pre-handshake p2p buffer limit 2020-12-17 00:36:10 +00:00
Lee Clagett
4978f69d7a Fix byte_stream::put_n 2020-12-14 14:45:24 -05:00
Alexander Blair
1e9483a2d5
Merge pull request #7009
7414e2bac Change epee binary output from std::stringstream to byte_stream (Lee Clagett)
2020-12-10 17:34:50 -08:00
Alexander Blair
6bddd54f9d
Merge pull request #7003
08eb0949f Change to more efficient allocation strategy in byte_stream (Lee Clagett)
2020-12-10 17:33:50 -08:00
SChernykh
c0c75ac19d Fixed issues found by static analysis
- rolling_median: tried to free uninitialized pointer in a constructor
- net_node.inl: erase-remove idiom was used incorrectly. remove_if doesn't actually remove elements, see http://cpp.sh/6fcjv
- bulletproofs.cc: call to sizeof() instead of vector.size(), luckily it only impacts performance and not code logic there
2020-12-08 18:43:44 +01:00
moneromooo-monero
c5f6629f4a
epee: tighten the URL parsing regexp a little
fixes massive amounts of time spent on pathological inputs

Found by OSS-Fuzz
2020-11-09 13:05:39 +00:00
Lee Clagett
08eb0949f3 Change to more efficient allocation strategy in byte_stream 2020-10-13 15:10:54 +00:00
Lee Clagett
249eae5f4a Allow byte_stream->byte_slice conversion to shrink unused buffer space 2020-10-13 15:09:18 +00:00
Lee Clagett
7414e2bac1 Change epee binary output from std::stringstream to byte_stream 2020-10-10 15:28:40 +00:00
Lee Clagett
b641e0a2c0 Add clear method to byte_stream 2020-08-17 21:30:34 -04:00
Alexander Blair
43a4fd9e16
Merge pull request #6736
05ad4fa39 epee: further defending against exceptions in command handlers (moneromooo-monero)
2020-08-16 12:56:35 -07:00
Alexander Blair
d73b1b6560
Merge pull request #6727
13eee1d6a rpc: reject wrong sized txid (moneromooo-monero)
92e6b7df2 easylogging++: fix crash with reentrant logging (moneromooo-monero)
6dd95d530 epee: guard against exceptions in RPC handlers (moneromooo-monero)
90016ad74 blockchain: guard against exceptions in add_new_block/children (moneromooo-monero)
2020-08-16 12:55:25 -07:00
Alexander Blair
7db379cc82
Merge pull request #6720
86abf558c epee: Remove unused functions in local_ip.h (Jean Pierre Dudey)
2020-08-16 12:54:17 -07:00
Alexander Blair
10ad0d7eb2
Merge pull request #6718
85efc88c1 Fix overflow issue in epee:misc_utils::rolling_median_t and median(), with unit test (koe)
2020-08-16 12:53:50 -07:00
Alexander Blair
01b512f3a9
Merge pull request #6716
76c16822d wallet2_api: implement runtime proxy configuration (xiphon)
2020-08-16 12:52:21 -07:00
moneromooo-monero
05ad4fa397
epee: further defending against exceptions in command handlers 2020-08-02 00:22:47 +00:00
moneromooo-monero
6dd95d5308
epee: guard against exceptions in RPC handlers 2020-07-30 22:52:12 +00:00
rbrunner7
fb31167b12 Wallet, daemon: From 'help_advanced' back to 'help', and new 'apropos' command 2020-07-24 07:12:11 +02:00
koe
85efc88c1e Fix overflow issue in epee:misc_utils::rolling_median_t and median(), with unit test 2020-07-23 03:36:05 -05:00
Jean Pierre Dudey
86abf558cb epee: Remove unused functions in local_ip.h
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2020-07-22 19:06:01 -05:00
xiphon
76c16822d0 wallet2_api: implement runtime proxy configuration 2020-07-20 13:45:12 +00:00
Alexander Blair
3ba6c7fd30
Merge pull request #6516
8656a8c9f remove double includes (sumogr)
2020-07-19 03:34:28 -07:00
Alexander Blair
a0d179e528
Merge pull request #6512
5ef0607da Update copyright year to 2020 (SomaticFanatic)
2020-07-19 03:32:59 -07:00
moneromooo-monero
3721d5688f epee: fix array underflow in unicode parsing
Reported by minerscan

Also independently found by OSS-Fuzz just recently
2020-06-21 18:22:16 +00:00
luigi1111
e27604ff10
Merge pull request #6539
85164a8 epee: use memwipe rather than memset for md5 secrets (moneromooo-monero)
2020-06-08 14:09:22 -05:00
Lee Clagett
7aeb503547 Fix boost <1.60 compilation and fix boost 1.73+ warnings 2020-05-31 21:18:11 -04:00
moneromooo-monero
85164a8daf
epee: use memwipe rather than memset for md5 secrets
That's used by HTTP auth now
2020-05-16 18:12:55 +00:00
selsta
f35ced6d7f
build: fix boost 1.73 compatibility 2020-05-14 22:57:53 +02:00
sumogr
8656a8c9ff remove double includes 2020-05-11 13:53:17 +00:00
SomaticFanatic
5ef0607da6 Update copyright year to 2020
Update copyright year to 2020
2020-05-06 22:36:54 -04:00
Lee Clagett
c26c93019a Add byte_stream for zero-copy serialization, and add support in ZMQ-JSON. 2020-04-11 04:12:11 +00:00
luigi1111
c9b800a787
Merge pull request #6446
e509ede trezor: adapt to new passphrase mechanism (ph4r05)
2020-05-01 15:32:52 -05:00
Dusan Klinec
e509ede2aa
trezor: adapt to new passphrase mechanism
- choice where to enter passphrase is now made on the host
- use wipeable string in the comm stack
- wipe passphrase memory
- protocol optimizations, prepare for new firmware version
- minor fixes and improvements
- tests fixes, HF12 support
2020-04-27 18:17:56 +02:00
luigi1111
cfc0f4a7fa
Merge pull request #6351
81c5943 Remove temporary std::string creation in some hex->bin calls (vtnerd)
5fcc23a Move hex->bin conversion to monero copyright files and with less includes (vtnerd)
3387f0e Reduce template bloat in hex->bin for ZMQ json (vtnerd)
2020-04-04 12:55:02 -05:00
luigi1111
c4f75fe898
Merge pull request #6339
c61abf8 remove empty statements (shopglobal)
2020-04-04 12:47:31 -05:00
Lee Clagett
da99157462 Use byte_slice for sending zmq messages - removes data copy within zmq 2020-04-03 01:56:17 +00:00
woodser
87d75584e8 Allow wallet2.h to run in WebAssembly
- Add abstract_http_client.h which http_client.h extends.
- Replace simple_http_client with abstract_http_client in wallet2,
message_store, message_transporter, and node_rpc_proxy.
- Import and export wallet data in wallet2.
- Use #if defined __EMSCRIPTEN__ directives to skip incompatible code.
2020-04-15 13:22:46 -04:00
moneromooo-monero
21fe6a289b
p2p: fix frequent weak_ptr exception on connection
When a handshake fails, it can fail due to timeout or destroyed
connection, in which case the connection will be, or already is,
closed, and we don't want to do it twice.
Additionally, when closing a connection directly from the top
level code, ensure the connection is gone from the m_connects
list so it won't be used again.

AFAICT this is now clean in netstat, /proc/PID/fd and print_cn.

This fixes a noisy (but harmless) exception.
2020-03-31 20:29:41 +00:00
luigi1111
6c7d928f19
Merge pull request #6336
760ecf2 console_handler: do not let exception past the dor (moneromooo-monero)
09c8111 threadpool: lock mutex in create (moneromooo-monero)
e377977 tx_pool: catch theoretical error in get_block_reward (moneromooo-monero)
2020-03-31 15:14:12 -05:00
luigi1111
48b244dcd4
Merge pull request #6311
5002a03 Explicitly define copy assignment operator (omartijn)
2020-03-31 15:13:35 -05:00
Alexander Blair
820ab9fdea
Merge pull request #6273
0f78b06e Various improvements to the ZMQ JSON-RPC handling: (Lee Clagett)
2020-03-12 01:13:49 -07:00
Alexander Blair
857abc368c
Merge pull request #6244
352bd132 abstract_tcp_server2: guard against negative timeouts (moneromooo-monero)
2020-03-12 00:56:29 -07:00
Alexander Blair
092a57df99
Merge pull request #6243
4771a7ae p2p: remove obsolete local time in handshake (moneromooo-monero)
2fbbc4a2 p2p: avoid sending the same peer list over and over (moneromooo-monero)
3004835b epee: remove backward compatible endian specific address serialization (moneromooo-monero)
39a343d7 p2p: remove backward compatible peer list (moneromooo-monero)
60631802 p2p: simplify last_seen serialization now we have optional stores (moneromooo-monero)
9467b2e4 cryptonote_protocol: omit top 64 bits of difficulty when 0 (moneromooo-monero)
b595583f serialization: do not write optional fields with default value (moneromooo-monero)
5f98b46d p2p: remove obsolete local time from TIMED_SYNC (moneromooo-monero)
2020-03-12 00:32:46 -07:00
Lee Clagett
5fcc23ae0a Move hex->bin conversion to monero copyright files and with less includes 2020-03-09 05:23:59 +00:00
Lee Clagett
81c5943453 Remove temporary std::string creation in some hex->bin calls 2020-03-09 05:23:59 +00:00
Lee Clagett
0f78b06e8c Various improvements to the ZMQ JSON-RPC handling:
- Finding handling function in ZMQ JSON-RPC now uses binary search
  - Temporary `std::vector`s in JSON output now use `epee::span` to
    prevent allocations.
  - Binary -> hex in JSON output no longer allocates temporary buffer
  - C++ structs -> JSON skips intermediate DOM creation, and instead
    write directly to an output stream.
2020-03-05 14:20:56 +00:00
Alexander Blair
944e8a4542
Merge pull request #6220
a9bdc6e4 Improved performance for epee serialization: (Lee Clagett)
2020-02-28 19:45:31 -08:00
Interchained
c61abf87c0 remove empty statements
Cleaning up a little around the code base.
2020-02-17 11:55:15 -05:00
moneromooo-monero
760ecf2ac8
console_handler: do not let exception past the dor
Coverity 208373
2020-02-12 21:05:25 +00:00
Alexander Blair
a62f7dc573
Merge pull request #6182
e896cca8 epee: reorder a couple init list fields to match declaration (moneromooo-monero)
2020-02-06 00:34:15 -08:00
Martijn Otto
5002a0343f
Explicitly define copy assignment operator
The implicit copy assignment operator was deprecated because the class
has an explicit copy constructor. According to the standard:

The generation of the implicitly-defined copy assignment operator is
deprecated (since C++11) if T has a user-declared destructor or
user-declared copy constructor.

Recent versions of gcc (9.1+) and clang (10.0) warn about this.
2020-01-28 14:59:55 +01:00
moneromooo-monero
3004835b51
epee: remove backward compatible endian specific address serialization 2020-01-26 18:37:34 +00:00
moneromooo-monero
b595583f3d
serialization: do not write optional fields with default value 2020-01-26 18:37:30 +00:00
moneromooo-monero
56a4469ef3
network: log traffic and add a simple traffic analysis script 2020-01-26 00:33:41 +00:00
Alexander Blair
8039fd4cab
Merge pull request #6143
6efeefbc epee: set application/json MIME type on json errors (moneromooo-monero)
2020-01-16 17:46:13 -08:00
Alexander Blair
f1ca98a7ef
Merge pull request #6133
b2ad757f Replace memset with memwipe. (Bert Peters)
2020-01-16 17:41:35 -08:00
Alexander Blair
fbc15de2cd
Merge pull request #6125
584d057f epee: fix console_handlers_binder race, wait for thread to finish (xiphon)
2020-01-16 17:32:15 -08:00
Alexander Blair
fe736070d2
Merge pull request #6120
feef1c6a epee: fix peer ids being truncated on display (moneromooo-monero)
2020-01-16 17:30:17 -08:00
moneromooo-monero
352bd13254
abstract_tcp_server2: guard against negative timeouts 2019-12-16 18:24:52 +00:00
moneromooo-monero
e896cca86e
epee: reorder a couple init list fields to match declaration
This is a bug waiting to happen
2019-11-25 19:27:54 +00:00
moneromooo-monero
6efeefbca2
epee: set application/json MIME type on json errors 2019-11-15 19:39:20 +00:00
moneromooo-monero
feef1c6aac
epee: fix peer ids being truncated on display 2019-11-14 18:27:12 +00:00
Bert Peters
b2ad757f48 Replace memset with memwipe. 2019-11-13 18:00:50 +01:00
xiphon
584d057f74 epee: fix console_handlers_binder race, wait for thread to finish 2019-11-12 16:07:59 +00:00