Commit Graph
73 Commits
Author SHA1 Message Date
Malte Meiboom e43f627e1b Merge branch 'malte/fix-introducer-list' into 'main'
Fix introducer list subcommand

See merge request husk-project/husk-milter!3
2026-06-03 09:16:29 +00:00
Malte Meiboom a4e3bc6b8c Fix introducer list subcommand
- Add a list of introduced domains to the output.
- Fix `regex_domain_unescape()` to return an error if the regular
  expression differs from a regex for a domain.
2026-06-02 21:36:15 +02:00
Malte Meiboom 0ff4d340cb Merge branch 'malte/start_cli' into 'main'
Second part of milestone 3

See merge request husk-project/husk-milter!2
milestone_3
2026-05-27 09:46:09 +00:00
Malte Meiboom 86f4f2933e Merge branch 'main' into 'malte/start_cli'
# Conflicts:
#   .gitlab-ci.yml
2026-05-27 09:44:18 +00:00
Malte Meiboom afd4729698 Fix CI/CD 2026-05-27 11:42:07 +02:00
Malte Meiboom 7864fa82d3 Remove the e2e job from ci/cd until it is fixed 2026-05-27 11:40:46 +02:00
Malte Meiboom 86f337ce73 Update .gitlab-ci.yml file 2026-05-27 11:40:40 +02:00
Malte Meiboom d38cca258c Update .gitlab-ci.yml file 2026-05-27 11:40:07 +02:00
Malte Meiboom 957c8b8979 Adjust README
- Update the README to include the changes for milestone 3.
2026-05-27 11:28:53 +02:00
Malte Meiboom a007a296ff Upgrade Cargo.toml
- Upgrade Cargo.toml and Cargo.lock
2026-05-27 10:54:12 +02:00
Malte Meiboom 516d745f00 Code polish
- Fix some typos.
- Added more comments (and documentation) to the code.
2026-05-27 10:53:02 +02:00
Malte Meiboom 3e60bfbde4 Flush logs after each message
- Remove or optimize this.
2026-05-21 12:45:30 +02:00
Malte Meiboom 3d5c98be82 Wait for logfile to be written 2026-05-21 11:56:53 +02:00
Malte Meiboom 74ded863f2 Fix mail test
- Create an empty mailbox file in `/var/mail` so that `inotifywait` can
  wait on the right file and not just observe the directory.
2026-05-20 16:22:07 +02:00
Malte Meiboom e1a75288a6 pass the right branch 2026-05-20 15:32:03 +02:00
Malte Meiboom 3b95409a40 add more debugging 2026-05-20 15:07:41 +02:00
Malte Meiboom 118c12cdb0 Update .gitlab-ci.yml file 2026-05-20 12:58:39 +00:00
Malte Meiboom dece3ae325 Update .gitlab-ci.yml file 2026-05-20 12:48:30 +00:00
Malte Meiboom 85468e8d3b fix path 2026-05-20 14:36:22 +02:00
Malte Meiboom 1f8d7e9a3f Add test framework to test
- Mail encryption (when expected)
- Introducer listing, adding and removing
- Locals listing, adding and removing
2026-05-20 14:27:28 +02:00
Malte Meiboom aed368e90d Remove some debugging messages 2026-05-20 13:49:40 +02:00
Malte Meiboom e6c6bf87d9 Add locals add and remove subcommands
- `locals add` adds a local (unintroduced) certificate for encryption.
- `locals remove` removes/deacivates a local certificate.
- Overall cleanup
2026-05-19 16:07:48 +02:00
Malte Meiboom 14dca91d92 Move logging config to main configuration file.
- Move the content of what was stored in log4rs.yml into the main config
  file, so that there is just one file to parse to get the complete
  configuration.
- Create the global switch `--home` to pass/overload the value for
  SEQUOIA_HOME in the configuration file.
2026-05-18 11:11:22 +02:00
Malte Meiboom 6611a43a24 Add subcommand to list local certificates
- Add `husk locals list` to list all certificates which would be used by
  husk, but are not introduced by another certificate. These
  certificates are added 'locally'.
- Refcator the code so that `local` -> `locals`.
2026-05-15 12:59:24 +02:00
Malte Meiboom 713ff86a9e Remove debugging code 2026-05-13 14:02:47 +02:00
Malte Meiboom 4ddc3db6c0 Add creating an introducer from a files
- Introducers can now be created by specifying a file. The certificate
  gets imported and declared as an introducer for the passed domains.
- Add some checks, so that the imported certificate can actually be used
  as an introducer (certificate is alive, not revoked, has certification
  capabilities)
2026-05-13 11:49:40 +02:00
Malte Meiboom 0df4c723d9 Fix bug in get_local_certifcates
- Use the trust amount of the whole path instead of just the last link.
2026-05-12 11:18:42 +02:00
Malte Meiboom 25c7da79ce add post mortem to runner.sh 2026-05-09 17:33:21 +02:00
Malte Meiboom 1921cc3e82 reactivate e2e tests - 2
Signed-off-by: Malte Meiboom <malte@netropol.de>
2026-05-09 17:15:49 +02:00
Malte Meiboom 3ecbff4cf9 reactivate e2e tests
Signed-off-by: Malte Meiboom <malte@netropol.de>
2026-05-09 17:04:01 +02:00
Malte Meiboom 21b45d1702 Some cleanups
- Remove unused errors.
- Add doc comments.
2026-05-06 16:30:42 +02:00
Malte Meiboom c0fe0e91ea Make then '-config' parameter global
- `--config` needed to be the first argument, before any subcommands.
  Make `--config` global, so that it can appear at (almost) any place.
2026-05-06 15:49:36 +02:00
Malte Meiboom e98f5f7576 Implement 'introducer remove'
- Implement the subcommand `remove` for `introducer`.
- Remove the introducer by adding a certification with trust level 1 and
  trust depth 0.
- Move `crypt.rs` into `common/` and add a generic authenticaton
  function to be used by `introducer add` and `... remove`.
2026-05-06 15:38:33 +02:00
Malte Meiboom 9a6de637ea Fix tests in crypto.rs 2026-05-06 12:39:55 +02:00
Malte Meiboom f771d7eef2 switch logging to stdout 2026-05-06 12:37:26 +02:00
Malte Meiboom 0089953315 Remove the e2e job from ci/cd until it is fixed 2026-05-06 12:36:22 +02:00
Malte Meiboom f2260bc335 Move crypto.rs into common
- Refactor code and move crypto.rs into the common subdirectory.
- Fixed comments
2026-05-06 12:34:21 +02:00
Malte Meiboom bf53af50ec Add introducer add command
- Create a command to add an introducer (with domains).
- Add a module for escaping regular expressions used in certifications
- Add some helper functions.
2026-05-04 22:55:02 +02:00
Malte Meiboom 5f50624478 Add escape/unescape helpers for regexes
- Add helpers for escape/unescape control characters used in regular
  expressions.
2026-04-30 12:57:23 +02:00
Malte Meiboom 4e28e636a1 Make clippy happy
- Applied many of the `clippy` suggestions.
2026-04-27 13:42:47 +02:00
Malte Meiboom 799f6eb588 Complete skeleton dispatcher
- Complete the dispatcher for the 'introducer' and 'local' command. This
  is currently only a skeleton.
- The 'introducer list' command is added.
2026-04-27 13:17:03 +02:00
Malte Meiboom c33feb1ee7 First dispatcher
- Create (sub)command structure.
- First experimental dispatcher to start the daemon.
2026-02-22 12:51:05 +01:00
Malte Meiboom 2d072bf10b Merge branch 'malte/keyserver_lookup' into 'main'
Start milestone 3

See merge request husk-project/husk-milter!1
2026-02-08 19:42:34 +00:00
Malte Meiboom 4093e1e8e7 Upgrade dependencies
- especially: upgrade bytes
2026-02-08 20:31:31 +01:00
Malte Meiboom 5fda3924db Add end-to-end Test
- Add an infrastructur to run local e2e tests.
- Add some tests.
2026-01-23 13:56:05 +01:00
Malte Meiboom 30b1d29274 Start milestone 3
- Add functionality to query online sources (Keyservers, etc) for
  certificates.
- Use introducers to determine which UserIDs should be fetched from
  online soources. Check certifications before importing certifiactes
  into the local cert store.
- start docker image for local end-to-end testing.
2026-01-23 12:57:26 +01:00
Malte Meiboom 4270bf4ceb fix typo milestone_2 2026-01-05 16:34:29 +01:00
Malte Meiboom 377d5083e6 Update README (use correct milestones) 2026-01-05 13:34:29 +01:00
Malte Meiboom 313f012305 Update README 2026-01-05 13:27:28 +01:00
Malte Meiboom 071b88080c merge malte/first_encryption 2026-01-05 13:07:14 +01:00