mirror of
https://github.com/rosenpass/rosenpass.git
synced 2026-01-06 01:58:33 -08:00
2.9 KiB
2.9 KiB
TODO for the project of rewriting Marzipan
Done
figure out why ProVerif is started on the non-processed mpv filerework rebound warnings (clean_warningsBash function)rosenpass$ rosenpass-marzipan run-proverif target/proverif/03_identity_hiding_responder.entry.o.pv target/proverif/03_identity_hiding_responder.entry.logprovide log parameter to(no, it was intentionally not used)rosenpass-marzipan-callcpp pre-processing stuffawk pre-processing stuffpretty_outputBash functionpretty_output_lineclick function intervention weirdnesswhy is everything red in the pretty output? (see line 96 in init.py)awk RESULT flush in marzipan()move the whole metaverif function to Python
move the whole analyze function to Pythonfind the filesstart subprocesses in parallelwait for them to finish
rebase from main- ~~see if we still need the
extra_args is Nonecheck in_run_proverif~` set colors differently to prevent injection attackby calling a functionby prepared statements
standalone function parse_result_line is no longer necessaryis the clean function still necessary?implement better main function for clickwhy does analyze fail when the target/proverif directory is not empty?return an exit status that is meaningful for CIexception handling in analyze() and in run_proverif()refactor filtering in run_proverif (see karo's comment)configurable target directorylark parser: multiline comments, how???parse errorserror when trying with:nix run .# -- parse ../target/proverif/01_secrecy.entry.i.pvin(C, Cinit_conf(Ssskm, Spsk, Sspkt, ic));- ~ ^~
04_dos… has a syntax error (see below)
Next Steps
- integrate marzipan.awk into Python, somehow
- options term special cases (c.f. manual page 133, starting with "fun" term)
- complete with CryptoVerif options
- options term special cases (c.f. manual page 133, starting with "fun" term)
- rewrite marzipan.awk into Python/LARK
- define a LARK grammar for marzipan.awk rules
- write python code for processing marzipan rules, e.g. alias replacement (step: i.pv->o.pv)
- do not assume that the repo path has subdir marzipan
- do not assume that the repo path has subdir analysis
- rewrite cpp into Python/LARK (step: mpv->i.pv)
- integrate the Nix flake into the main Nix flake
- pull the gawk dependency into the Nix flake
- think about next steps
- integrate this upstream, into the CI?
- “make it beautiful” steps? more resiliency to working directory?
- rewrite our awk usages into Python/…?
- yes, possibly as extension to the LARK grammar
- and rewrite the AST within Python
- reconstruct ProVerif input file for ProVerif
- rewrite our CPP usages into Python/…?
- low priority: nested comments in ProVerif code
“it replaces the Bash script and is idiomatic Python code”