Commit graph

851 commits

Author SHA1 Message Date
Jeffrey
d1cb9c393e Remove serialization/enableable
Currently working on an EPEE [ser/de]ialization library for Rust and at first glance, EPEE seemed to have support for optional wrappers. However, after looking into it, this feature appears to be half-baked and unused. Furthermore, adding support for optional values would be better suited to implement at the storage level, in my opinion. That would make parsing DOMs easier and less error-prone. If anyone is currently using this code, please comment. Thanks!

At the time of writing, this PR has no merge conflicts with #8211
2022-04-09 22:53:46 -05:00
luigi1111
c11385591e
Merge pull request #8228
1ce9e9c Remove dead code from parserse_base_utils and fix unit tests (Jeffrey)
2022-04-06 00:22:23 -04:00
luigi1111
bb093ec9a8
Merge pull request #8223
17772ef Eliminate dependence on boost::interprocess #8223 (Jeffrey)
2022-04-06 00:19:59 -04:00
luigi1111
0eb1b570b6
Merge pull request #8197
da9aa1f Copyright: Update to 2022 (mj-xmr)
2022-04-06 00:08:53 -04:00
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