Commit Graph

45 Commits

Author SHA1 Message Date
f16c630ae7
generator: implement do_sha()
All checks were successful
continuous-integration/drone/push Build is passing
* link against cryptopp
* use both sha2 and sha3 generation functions
* try calling do_sha() directly
* call reseed() that in turn calls do_sha()
* return a bogus number, not the proper digest for now (see TODOs)

cryptopp needed to be installed to archlinux for the valgrind step to
pass successfully
2021-11-11 04:11:40 +01:00
73f8bd75a2
generator: add strtolowerpls method
All checks were successful
continuous-integration/drone/push Build is passing
a convenience method, transforms strings to lowercase
2021-11-11 04:10:07 +01:00
b1fcc5d055
fix(makefile): properly use -DCMAKE_CXX_FLAGS
All checks were successful
continuous-integration/drone/push Build is passing
..even if momentarily empty (no additional flags are being set from the
makefile directly, everything is set in CMakeLists.txt.
2021-11-11 02:18:01 +01:00
ea11801789
add fortuna class
All checks were successful
continuous-integration/drone/push Build is passing
2021-11-10 23:58:42 +01:00
40ae062657
generator: the number of blocks has to be >= 0
All checks were successful
continuous-integration/drone/push Build is passing
2021-11-08 12:39:56 +01:00
d986b6b482
generator: make generate_blocks() public
All checks were successful
continuous-integration/drone/push Build is passing
2021-11-08 09:45:30 +01:00
74f42935ed
makefile: add informational echos
[skip ci]
2021-11-08 09:41:41 +01:00
f64295f052
move to oop paradigm
All checks were successful
continuous-integration/drone/push Build is passing
squashed the following:

commit a28354d585
Author: surtur <a_mirre@utb.cz>
Date:   Wed Nov 3 02:14:35 2021 +0100

    chore: make G_state a private structure

    * make G_state private
    * move protected section behind private
    * also do cleanup a little -> k and ctr won't exist as part of the
      generator outside of the G_state struct

commit 926216fad3
Author: surtur <a_mirre@utb.cz>
Date:   Wed Nov 3 01:37:28 2021 +0100

    chore: make methods aware of objects

    as a consequence we stopped returning the generator state from every
    function and equally stopped using it as a parameter to every generator
    method that handles the state in any way

commit 01eadae32f
Author: surtur <a_mirre@utb.cz>
Date:   Tue Nov 2 05:10:58 2021 +0100

    feat: move from structural to object paradigm

    * declare and implement Generator class and member methods
    * create an instance of Generator in main
    * call initialize_generator() from main
2021-11-03 02:57:23 +01:00
f2ed6918c9
chore(makefile): add 'clean' target
All checks were successful
continuous-integration/drone/push Build is passing
2021-11-02 04:40:08 +01:00
253acfa7e4
chore: increment using ++
All checks were successful
continuous-integration/drone/push Build is passing
2021-11-02 04:40:08 +01:00
b0eaf5e49e
generator(reseed): concat k with seed, ctr++
All checks were successful
continuous-integration/drone/push Build is passing
also got rid of the redundant ctr variable as we only need the one that
is part of G_state.
2021-11-02 04:40:08 +01:00
7d123ce639
main.cpp: switch to a using declaration
All checks were successful
continuous-integration/drone/push Build is passing
..instead of pulling the whole namespace
2021-11-02 04:40:08 +01:00
7a133ab2dc
namespace-wrap the generator function block
All checks were successful
continuous-integration/drone/push Build is passing
* the purpose is to subdivide the global scope
* use 'fortuna' as the top-level namespace
* use 'generator' namespace for the generator functions
* wrap the entire file after includes
2021-11-02 04:40:07 +01:00
2bab9e7afa
cmake: use lld if available
All checks were successful
continuous-integration/drone/push Build is passing
the find "query" is a little naive but hey, we're looking at the usual
place. the purpose of this change is iteration speedup and as lld is the
quickest kid on the block, we're using it.
2021-11-02 04:40:07 +01:00
87b13e1e1e
chore(cmake): print compiler id
[skip ci]
2021-11-02 04:40:07 +01:00
c968d8c4ba
chore(cmake): force compiler colours
I know, right...

[skip ci]
2021-11-02 04:40:07 +01:00
46a6cdba3a
cmake: add {-g3,-gsplit-dwarf} flags for debugging
All checks were successful
continuous-integration/drone/push Build is passing
cmake:
* check if we're being run for valgrind, in which case do not split
  dwarf information, valgrinds does not like it (see #1).

makefile:
* build for vagrant into a separate folder entirely.

ci:
* install gcc, cmake and ninja along with vagrant, since now we are
  building inside of the ci container as well.

close #1
2021-11-02 04:40:07 +01:00
5f8f8ca67e
ci: use makefile targets
All checks were successful
continuous-integration/drone/push Build is passing
* re-use what has already been defined and tested locally
* verify that the makefile is functional in one fell swoop
2021-11-02 04:16:44 +01:00
639d941461
fix(makefile): release folder for release builds
All checks were successful
continuous-integration/drone/push Build is passing
2021-11-02 04:16:44 +01:00
ebba54b940
chore(cmake): move CMAKE_CXX_FLAGS to CMakeLists
All checks were successful
continuous-integration/drone/push Build is passing
* use proper conditionals, should any overrides exist in the environment
* distinguish between debug and release builds and set flags accordingly
2021-11-01 08:54:55 +01:00
14eaaf98f7
cmake: specify project lang
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-31 23:08:41 +01:00
8c1dfea06e
modernise: use trailing return type
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-30 21:53:47 +02:00
46e5048788
add reseed() and do_sha() functions
All checks were successful
continuous-integration/drone/push Build is passing
currently the bodies of the functions are pretty much bogus
2021-10-30 21:42:47 +02:00
92946eec91
chore: use int64_t instead of long
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-30 21:41:21 +02:00
f4463d803e
chore(pre-commit): add check-hooks-apply hook
[skip ci]
2021-10-30 20:57:28 +02:00
bf61e2578e
chore(makefile): do not run valgrind with test tgt
[skip ci]
2021-10-30 20:56:43 +02:00
ec0691fba1
makefile,pre-commit: add clang-tidy
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-30 20:39:23 +02:00
519919326e
cppcheck: specify necessary parameters
All checks were successful
continuous-integration/drone/push Build is passing
* that is, both in ci, pre-commit config and in the makefile
* makefile and ci args are a little more strict than the pre-commit ones
* use globs of the file extensions we're after
* add verbosity
2021-10-30 20:05:28 +02:00
65b081dc30
chore: edit printf formatting and comments
[skip ci]
2021-10-27 18:56:14 +02:00
c0efa75c1a
switch to using {tuples,128bit int for ctr}
All checks were successful
continuous-integration/drone/push Build is passing
multiple changes combined in a single commit, I know...

also, a move towards the use of OOP paradigm is imminent as we now have
to do rewrites at multiple places in the code for any minor change
2021-10-27 18:47:52 +02:00
b0d4cb2468
add .pre-commit-config.yaml
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-24 23:45:28 +02:00
cb4bca0b30
ctr should never be negative, use unsigned
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-24 23:44:43 +02:00
88414b445d
rename c to ctr
All checks were successful
continuous-integration/drone/push Build is passing
of "c" and "ctr", the latter resembles "counter" sound more
2021-10-24 23:16:48 +02:00
7eef4f2951
add do_crypto declaration
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-24 23:04:50 +02:00
6cfd9e847e
generator.h: add both string and cstring
All checks were successful
continuous-integration/drone/push Build is passing
..since we depend on both
2021-10-24 22:04:14 +02:00
2c01d3c6aa
add Makefile
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-24 21:39:12 +02:00
86c37f53d9
ci: add {cppcheck,valgrind} steps
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-24 21:35:57 +02:00
f30148a2fb
gitignore: add .idea
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-24 21:34:16 +02:00
e4367d292f
add .gitattributes file 2021-10-24 21:34:16 +02:00
f4c5ff95dc
ci: add .drone.starlark 2021-10-24 21:34:16 +02:00
b2da40ea0b
.gitignore: cmake related folders 2021-10-24 21:29:59 +02:00
bd9208a635
cmake: lower the required version 2021-10-24 21:29:59 +02:00
208e7d3cea
fix: Narrowing conversion from long to int 2021-10-24 21:29:59 +02:00
1d554354a4
chore: use modern includes 2021-10-24 21:29:58 +02:00
c44fa825c4
initial commit 2021-10-24 21:29:49 +02:00