surtur
b5601acfbd
refactor: non-semantic cleanup
continuous-integration/drone/push Build is passing
2021-12-29 03:55:01 +01:00
surtur
2086861776
accumulator: implement add_source()
continuous-integration/drone/push Build is passing
2021-12-29 03:49:36 +01:00
surtur
234b87ff1f
accumulator: use a Generator pointer
continuous-integration/drone/push Build is passing
2021-12-29 02:56:57 +01:00
surtur
01c402300c
accumulator: add generator-interacting methods
...
continuous-integration/drone/push Build is passing
..and a way to work with the generator
2021-12-13 13:22:50 +01:00
surtur
129516a48f
add seed_file_management.h holding SeedFileManager
continuous-integration/drone/push Build is passing
2021-12-13 05:59:27 +01:00
surtur
04bbf16731
pool: set_s -> append_s as it fits better
continuous-integration/drone/push Build is passing
2021-12-13 05:24:59 +01:00
surtur
af1b4cf5ad
pool: make get_id const as it just reads
continuous-integration/drone/push Build is passing
2021-12-13 05:24:17 +01:00
surtur
7eaaef2fdb
fortuna: handle reseeds+clear pools for seed
...
continuous-integration/drone/push Build is passing
* actually clear out entropy of the pools before a reseed
* correctly prepare the seed for the reseed
* add a couple of helper methods to Pool that assist with getting
length, retrieving and clearing of the collected entropy
* catch exceptions in main(), handle them gracefully
2021-12-13 05:11:17 +01:00
surtur
65c476dbd6
add Util class + perform general refactor
...
continuous-integration/drone/push Build is passing
* rm duplicate do_sha() code, consolidate in Util
* make reseed() public so that it can be called from outside
* rm reseed() from do_crypto() where it has no place
2021-12-13 05:10:07 +01:00
surtur
da48e61cc2
add da_threading lib
...
continuous-integration/drone/push Build is passing
retrieved from https://stackoverflow.com/a/46135882
original author LWimsey <https://stackoverflow.com/users/6651824/lwimsey > (c) 2017
edited and made into a header-only lib by wanderer <a_mirre at utb.cz> (c) 2021
2021-12-12 22:50:06 +01:00
surtur
cf41d323a4
fortuna: add task runner "do_task"; link pthread
continuous-integration/drone/push Build is passing
2021-12-12 18:42:47 +01:00
surtur
2a67a37cbe
generator: add is_seeded method
continuous-integration/drone/push Build is passing
2021-12-12 18:40:29 +01:00
surtur
b55ca33e24
chore(fortuna): add random_data() checks, batch 1
continuous-integration/drone/push Build is passing
2021-12-12 06:14:58 +01:00
surtur
d907c9db6e
generator: tweak generate_random_data logic
continuous-integration/drone/push Build is passing
2021-12-11 21:33:42 +01:00
surtur
fb02ef9a23
generator: make dtor noexcept
continuous-integration/drone/push Build is passing
2021-12-11 20:43:48 +01:00
surtur
55a19e6681
chore(event_adder_impl): pool int -> uint8_t
continuous-integration/drone/push Build is passing
2021-12-11 20:16:24 +01:00
surtur
2d20242b3e
accumulator(pool): (partly) implement add_entropy
continuous-integration/drone/push Build is passing
2021-12-11 02:53:47 +01:00
surtur
0ccd60ce1b
Merge branch 'fixing-generator' into add-random-sources
...
continuous-integration/drone/push Build is passing
* fixing-generator:
generator: use a proper uin64_t literal
chore(generator): erase -> clear
generator: memcpy -> memmove
fix(generator): incorrect copying, no protections
2021-12-11 02:35:06 +01:00
surtur
a6719d4947
accumulator: add add_source
continuous-integration/drone/push Build is passing
2021-12-11 02:27:52 +01:00
surtur
d0e9b08886
accumulator: add urandom_entropy_src
continuous-integration/drone/push Build is passing
2021-12-11 02:24:40 +01:00
surtur
a5b988ba71
accumulator: add event_scheduler,entropy_src ifces
continuous-integration/drone/push Build is passing
2021-12-11 02:12:49 +01:00
surtur
2fbf5464a0
fortuna: erase -> clear
continuous-integration/drone/push Build is passing
2021-12-11 01:20:34 +01:00
surtur
25cbddf41f
generator: use a proper uin64_t literal
continuous-integration/drone/push Build is passing
2021-12-11 01:13:01 +01:00
surtur
b9676226c5
chore(generator): erase -> clear
continuous-integration/drone/push Build is passing
2021-12-11 01:10:14 +01:00
surtur
a7e8caa26e
generator: memcpy -> memmove
continuous-integration/drone/push Build is passing
2021-12-11 01:04:57 +01:00
surtur
595245fbce
fix(generator): incorrect copying, no protections
...
continuous-integration/drone/push Build is passing
* use try-catch whenever possible
* perform memcpy operations in the right direction
* make greater use of local constants
* use more of the braced initializations
* there were memcpy operations of incorrect sizes in place, particularly
in regard to generator key (G.k) and counter (G.ctr), which resulted
in key bytes being set to garbage
2021-12-10 20:02:30 +01:00
surtur
801d605e2a
chore(clang-tidy): unify flags
...
continuous-integration/drone/push Build is passing
also add a status message to CMake's output
2021-12-10 18:57:25 +01:00
surtur
053d2187a2
chore(accumulator): make use of init_pool_num
continuous-integration/drone/push Build is passing
2021-12-09 14:11:39 +01:00
surtur
8b4cd4b6e8
fortuna(random_data): time-tracking precision++
...
continuous-integration/drone/push Build is passing
using floats does wonders
2021-12-08 23:17:37 +01:00
surtur
82288fe20d
chore(event_adder_impl): reuse constant p_size
...
continuous-integration/drone/push Build is passing
size of pools array will stay the same anyway
2021-12-08 04:19:22 +01:00
surtur
c401a47ca7
event_adder_impl: loop with a pre-computed value
continuous-integration/drone/push Build is passing
2021-12-08 04:07:14 +01:00
surtur
872e6f7f9f
add event_adder_impl
continuous-integration/drone/push Build is passing
2021-12-08 03:58:18 +01:00
surtur
33f6620662
chore(pool): stop spamming at initialization
continuous-integration/drone/push Build is passing
2021-12-08 03:40:08 +01:00
surtur
0e3caebb6d
chore(fortuna): formatting
...
[skip ci]
2021-12-08 03:31:47 +01:00
surtur
f02952d72a
fortuna(random_data): add basic time tracking
continuous-integration/drone/push Build is passing
2021-12-07 15:55:29 +01:00
surtur
9f799c83a9
fortuna: add incr_reseed_ctr
continuous-integration/drone/push Build is passing
2021-12-07 15:46:01 +01:00
surtur
b96ce5d644
fortuna: wrap pool initialization in a try-catch
continuous-integration/drone/push Build is passing
2021-12-07 02:48:37 +01:00
surtur
bc5bb6e700
add EventAdder interface
...
continuous-integration/drone/push Build is passing
will be used as a base implementations of sources of random events
2021-12-06 01:02:43 +01:00
surtur
5557f0d9e6
refactor(generator): clean up includes a little
continuous-integration/drone/push Build is passing
2021-12-06 00:08:32 +01:00
surtur
b14600c352
makefile: refactor "clean" target; add "distclean"
...
continuous-integration/drone/push Build is passing
* clean now just removes the object files, dwo debugging objects, .cmake
and intermediary .bin files but keeps CMakeCache and similar
* a new target - distclean - is introduced to do what was previously
done by "clean", essentially: completely remove the build folders
2021-12-05 15:27:47 +01:00
surtur
7f05984946
integrate clang-tidy into cmake
...
continuous-integration/drone/push Build is passing
* consolidate everything with the makefile, the "tidy" target now just
sets the env var that is checked for in CMakeLists
* rm clang-tidy from pre-commit as it's run as part of the "test"
makefile target later in the file anyway
2021-12-05 05:13:07 +01:00
surtur
53645ea160
generator: add more try-catch blocks internally
...
continuous-integration/drone/push Build is passing
one around initialization and another when calling reseed()
2021-12-05 03:13:47 +01:00
surtur
cf0e548315
pre-commit: exclude the lib folder
...
[skip ci]
2021-12-05 03:10:50 +01:00
surtur
6f6b3cb8e2
generator: wrap the initialization in a try-catch
continuous-integration/drone/push Build is passing
2021-12-05 02:00:25 +01:00
surtur
a1cbbb209e
handle PRNG state in R_state + accumulator basis
...
continuous-integration/drone/push Build is passing
* handle the PRNG state with R_state nested class
* add a private property R holding PRNG state to Fortuna
* add R_state properties as defined in Cryptography Engineering:
* a generator instance
* a reseed counter
* 32 pools that the collected entropy is to be distributed over
* add initial definition of the Pool object and its initialization
* attempt to initialize PRNG in Fortuna constructor. wrap the
initialization call in a try-catch block like a cultured person
* erase the string used to print data from random_data() after it's been
used
2021-12-04 00:40:39 +01:00
surtur
72bb378709
pre-commit: add 'make san' step
...
continuous-integration/drone/push Build is passing
making sure to build with sanitize flags before committing
2021-12-03 20:34:45 +01:00
surtur
77f1fe4c56
cmake,makefile: sanitize!
...
continuous-integration/drone/push Build is passing
as per #3
2021-12-02 18:34:07 +01:00
surtur
e72aa06813
executable hardening v2
...
continuous-integration/drone/push Build is passing
* enable PIE
* pass flags to linker based on the build type
* enable LTO
2021-12-02 18:25:15 +01:00
surtur
bb12cf7b56
cmake: always set -Wall
continuous-integration/drone/push Build is passing
2021-12-02 14:50:39 +01:00
surtur
b15e1e9a55
harden executable
...
continuous-integration/drone/push Build is passing
* fortify source
* link with "-pie"
* split stack
* set stack-protector to all
2021-11-30 15:52:17 +01:00