Commit graph

847 commits

Author SHA1 Message Date
Jeffrey
1ce9e9cda4 Remove dead code from parserse_base_utils and fix unit tests
* Remove `match_string()`, `match_number()`, and `match_word()`
* Remove `match_word_with_extrasymb()` and `match_word_til_equal_mark()`
* Adapt unit test for `match_number()` to `match_number2()`
* Adapt unit test for `match_string()` to `match_string2()`

Note: the unit tests were testing for the old version of the functions, and
the interfaces for these functions changed slightly, so I had to also edit
the tests.

As of writing, this PR has no merge conflicts with #8211

Additional changes during review:
* Explicitly set up is_[float/signed]_val to be changed before each call
* Structify the tests and fix uninitialized variables
2022-03-30 13:29:32 -05:00
Jeffrey
17772ef53e Eliminate dependence on boost::interprocess #8223
In this repo, `boost::interprocess` was being used soley to make `uint32_t` operations atomic. So I replaced each instance of
`boost::interprocess::ipcdetail::atomic(...)32` with `std::atomic` methods. I replaced member declarations as applicable. For example,
when I needed to change a `volatile uint32_t` into a `std::atomic<uint32_t>`. Sometimes, a member was being used a boolean flag, so
I replaced it with `std::atomic<bool>`.

You may notice that I didn't touch `levin_client_async.h`. That is because this file is entirely unused and will be deleted in PR monero-project#8211.

Additional changes from review:
* Make some local variables const
* Change postfix operators to prefix operators where value was not need
2022-03-30 13:18:32 -05:00
Jeffrey
002bf9c4fd Fix typo: SERIALIZE_TYPE_DUOBLE 2022-03-25 12:11:08 -05:00
mj-xmr
da9aa1f7f8
Copyright: Update to 2022 2022-03-04 06:59:20 +01:00
SChernykh
f68f92776b Undefined behaviour fixes
Fixes issues reported in #8120
2022-02-19 10:17:53 +01:00
luigi1111
14e94c6918
Merge pull request #8016
b0ec9f8 epee: avoid ADL selecting C++14 std::quoted (selsta)
2021-11-01 12:28:28 -05:00
selsta
e106bdc1fc
epee: add missing header 2021-10-22 04:14:25 +02:00
selsta
b0ec9f85a1
epee: avoid ADL selecting C++14 std::quoted 2021-10-20 19:30:21 +02:00
selsta
4afd9a7a9e
cmake: set required C/C++ standard to 11
Co-authored-by: Jason Rhinelander <jason@imaginary.ca>
2021-09-16 10:44:25 +02:00
luigi1111
c278c97f1f
Merge pull request #7884
ec6b4cf support cors wildcard (woodser)
2021-09-09 15:20:09 -04:00
luigi1111
aa8320671c
Merge pull request #7858
426dbf4 fix median overflow bug (koe)
2021-09-09 15:17:06 -04:00
luigi1111
3673a679e4
Merge pull request #7850
0ac9a04 epee: tidying post-incrementation -> pre-incrementation (mj-xmr)
2021-08-26 21:12:25 -04:00
woodser
ec6b4cf9e1 support cors wildcard 2021-08-20 14:17:51 -04:00
selsta
301355f88d
epee: link with Boost_SYSTEM_LIBRARY 2021-08-19 19:05:40 +02:00
koe
426dbf434b fix median overflow bug 2021-08-13 06:57:27 -05:00
luigi1111
0b4e922159
Merge pull request #7812
bf96055 Make SSL key/cert storage backward-compatible (Nathan Dorfman)
2021-08-11 22:38:24 -04:00
mj-xmr
0ac9a04b4c
epee: tidying post-incrementation -> pre-incrementation 2021-08-11 16:47:32 +02:00
moneromooo-monero
7354ffb8a7
p2p: remove blocked addresses/hosts from peerlist 2021-08-05 17:29:25 +00:00
Nathan Dorfman
bf96055211 Make SSL key/cert storage backward-compatible
This is required to build on OpenBSD (which uses LibreSSL). It also allows building against versions of OpenSSL before 1.0.2.
2021-07-27 13:49:21 -06:00
mj-xmr
c19f0cbdea
Compil time: move epee storages/parserse_base_utils.h to parserse_base_utils.cpp 2021-06-11 21:20:51 +02:00
luigi1111
7499837a6f
Merge pull request #7661
08e4497 Improve cryptonote (block and tx) binary read performance (Lee Clagett)
2021-06-10 12:00:54 -05:00
luigi1111
25bbb26f63
Merge pull request #7416
b4fe7c2 epee linkage dynamic; move monero_add_library to main CMakeLists.txt (mj-xmr)
2021-06-10 11:18:26 -05:00
luigi1111
1c8e598172
Merge pull request #7735
44cc6d6 Fix boost 1.76.0 compatibility (loqs)
2021-06-01 22:12:12 -05:00
luigi1111
d51e0c38f9
Merge pull request #7712
d772f13 epee: include public openssl header in cmake (selsta)
2021-06-01 22:08:15 -05:00
loqs
44cc6d6762
Fix boost 1.76.0 compatibility
Add missing header boost/mpl/contains.hpp
monero-project/monero/issues/7728
2021-05-24 05:31:14 +02:00
luigi1111
b7ee587ddb
Merge pull request #7691
cbd54ea cmake: set 3.5 as minimum version (selsta)
2021-05-12 16:59:17 -05:00
luigi1111
c1a1f2a6ea
Merge pull request #7688
451b5a5 clang: fix -Wrange-loop-analysis warnings (selsta)
2021-05-12 16:57:32 -05:00
luigi1111
ac87ac19b2
Merge pull request #7665
15e6275 CMake: new macro - finding all headers (extract from epee) (mj-xmr)
2021-05-12 14:39:39 -05:00
selsta
d772f1378b
epee: include public openssl header in cmake 2021-05-09 22:22:17 +02:00
selsta
cbd54ea524
cmake: set 3.5 as minimum version 2021-04-27 11:02:05 +02:00
selsta
451b5a510e
clang: fix -Wrange-loop-analysis warnings 2021-04-27 05:30:27 +02:00
mj-xmr
b4fe7c2401 epee linkage dynamic; move monero_add_library to main CMakeLists.txt 2021-04-24 09:45:51 +02:00
luigi1111
0a1ddc2eff
Merge pull request #7669
679d055 Remove payload copy in all outgoing p2p messages (Lee Clagett)
2021-04-22 01:51:01 -04:00
mj-xmr
dc81e23e60 Split epee/string_tools.h and encapsulate boost::lexical_cast 2021-04-16 20:54:20 +02:00
luigi1111
e45619e61e Revert "Merge pull request #7136"
This reverts commit 63c7ca07fb, reversing
changes made to 2218e23e84.
2021-04-16 13:52:44 -05:00
luigi1111
63c7ca07fb
Merge pull request #7136
23aae55 Remove payload copy in all outgoing p2p messages (Lee Clagett)
2021-04-16 12:45:30 -05:00
luigi1111
2218e23e84
Merge pull request #7002
673c6d2 Reduce compilation time of epee/portable_storage_template_helper.h (mj-xmr)
2021-04-16 12:43:42 -05:00
mj-xmr
15e627569b CMake: new macro - finding all headers (extract from epee) 2021-04-16 09:28:43 +02:00
luigi1111
08f6d0e185
Merge pull request #7439
0f2b5af Reduced executable size; reduced call sequence to 'allowed' log function (Lee Clagett)
2021-03-29 22:39:31 -04:00
luigi1111
a2b046dafc
Merge pull request #7460
2935a0c async_protocol_handler_config: fix deadlock (anon)
c877705 async_protocol_handler_config: add deadlock demo (anon)
2021-03-29 21:46:29 -04:00
mj-xmr
673c6d2d11 Reduce compilation time of epee/portable_storage_template_helper.h 2021-03-28 15:41:48 +02:00
luigi1111
f2f33f6230
Merge pull request #7402
240d382 Epee: add headers to project files (via glob), to be able to search for them easily. (mj-xmr)
2021-03-20 01:46:34 -04:00
luigi1111
4a7b729025
Merge pull request #7394
b900fa0 Fix compiler warning for in keyvalue_serialization.h (mj-xmr)
2021-03-20 01:43:13 -04:00
luigi1111
602926fe9d
Merge pull request #7366
9867a91 Store RPC SSL key/cert for consistent authentication between runs (Lee Clagett)
2021-03-20 01:38:03 -04:00
luigi1111
6e1b3d1e0b
Merge pull request #7274
daf023d epee: don't log raw packet data (moneromooo-monero)
2021-03-20 01:35:51 -04:00
luigi1111
7bf89dcbd3
Merge pull request #7005
249eae5 Allow byte_stream->byte_slice conversion to shrink unused buffer space (Lee Clagett)
2021-03-20 01:35:13 -04:00
anon
2935a0c479
async_protocol_handler_config: fix deadlock 2021-03-12 11:59:06 +00:00
luigi1111
0b6bfb1fd8
Merge pull request #7399
556af11 epee: return HTTP error 400 (Bad request) on deserialization error (moneromooo-monero)
2021-03-05 13:56:54 -05:00
mj-xmr
240d382db4 Epee: add headers to project files (via glob), to be able to search for them easily.
Use case: IDEs
2021-02-25 20:16:02 +01:00
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
luigi1111
218981eba1
Merge pull request #7137
f2ad539 readline_buffer: Avoid consecutive duplicates in the history (codesoap)
2021-01-15 23:46:14 -05: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
codesoap
f2ad539f5f readline_buffer: Avoid consecutive duplicates in the history 2020-12-13 14:47:07 +01: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
ff7fdf6db2
protocol: drop peers that don't reply to queries 2020-12-06 15:57:40 +00:00
moneromooo
89e984d93b
keep only the last seen node on a given host in the white list 2020-12-04 01:55:22 +00:00
luigi1111
cda966078d
Merge pull request #6999
c5f6629 epee: tighten the URL parsing regexp a little (moneromooo-monero)
2020-11-29 01:56:44 -06: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
xiphon
60bc676c14 epee: readline_buffer - fix thread safety, fix sync() after stop() 2020-11-07 14:15:29 +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