forked from yedino/galaxy42
-
Notifications
You must be signed in to change notification settings - Fork 2
/
debt.txt
70 lines (46 loc) · 3.03 KB
/
debt.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
This are things TODO that we create when we postpone some needed things to go forward,
creating technological debt.
Noting them here to not forget and keep track.
=== critical ===
- PR 323, a5072877d8420ca382001a852174168a940932dd, (SIOM) - windows builds are broken (no socketopt) - need to fix this by using cancelio family of functions instead. Was merged to dev to not block development.
- bitcoin RPC works requires review, and protestion against malicious input
- bitcoin amounts (in satoshi) can be wider then 32-bit. Must at least use 64-bit int, search "int32_t m_satoshi" etc
=== important ===
- PR 320 was merged without full review (as we need to use this threads now already). It needs at least more comments in few places. Notify @rfree with the review to sign-on the review, before deleting this item.
- xint needs more testing on all possible uses, and op>> and maybe few others too
=== disabled ===
- disabled cable/udp async receive
=== bad design ===
=== better refactoring ===
- PR 328, PR 327 - there are now asserts and .at and safe copy in arrays, but still would be even better to use some container view instead in this places (especially in NDP protocol, which is not important regarding performance)
- my_cap namespace should be rather e.g. n_mysecurity, and could be divided into tigusoft lib,
(with our debug, the 2 functions on top - apply change and drop root), and into part customized for this project
=== security ===
- utils/capmodpp.* utils/privileges.* code review
- review/confirmation from someone who understands fully CAP/ID transitions (when root dropping code is in place too)
- should we also drop the Bounding part of all Caps?
- make full verification for different address prefixes like fd43
=== special use cases ===
- support for our program being chmod SUID (see utils/privileges.hpp warning comments) - now program will not run then
=== thread locking ===
- too wide lock when sending via cable, in "TODO@rfree TODO NOW XXX - lock cables like in vector_mutexed_obj, this lock it too wide:"
- remove all halgrind warnings, see runhelgrind.sh
- why there are problems is using > 1 io service? cards.cpp "make_shared< c_asioservice_manager >( 1 );"
=== unit tests ===
- add UT for stdplus::vector_mutexed_obj
- add UT for stdplus::with_mutex
=== possible low-impact bugs and mysteries to solve ===
- memory leak at end of netmodel crypto bench sometimes.
Around 171858a5369ebc86b632b000765303ad5c7c21c3 (maybe 1-3 commits earlier today),
when running crypto=-100 afair, thr=2,
at end there was leak:
==30390==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 256 byte(s) in 1 object(s) allocated from:
#0 0x773aad (/home/rafalcode/work/galaxy42/build/tunserver.elf+0x773aad)
#1 0x7f4198539663 (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0x61663)
SUMMARY: AddressSanitizer: 256 byte(s) leaked in 1 allocation(s).
it was happening each time.
Seen with ASAN. Seen on CompDragon so far only (not on Rain?).
It was not visible afair when crypto=-10 or other single-crypto test.
Strange.
Valgrind (on rain) afaik didn't seen it.