Malte Meiboom
06c0583f5e
Add CLI interface for the signing key
...
- 'signkey set' sets a new signing key (disables an old one if
existing).
- 'signkey show' prints the fingerprint.
- 'signkey dump' prints the certificate of the signing key.
2026-06-13 14:37:37 +02:00
Malte Meiboom
7547776efe
Assert that an added introducer has certification capabilities
2026-06-12 12:45:14 +02:00
Malte Meiboom
18552d883d
use mta:latest as build image
2026-06-10 15:25:59 +02:00
Malte Meiboom
00f93e366e
Add build dependencies to the docker image
...
- Add capnproto
- Add libsqlite3-dev
2026-06-10 15:14:36 +02:00
Malte Meiboom
1f89d40cd3
Start with signing outgoing mails
...
- Add a scheme on how to discover Husk signing keys. Siging keys mut be
certified by the `local trust root` with a signature having a notation
with a name equal to `signing_keys@husk-projet.org `.
- Fetch the key from the keystore.
- Expand `authenticate()` so that notation can be added to the
signature.
- Add a test to create a signing key and fetch it from the keystore.
2026-06-10 15:00:33 +02:00
Malte Meiboom
44d00b262e
Merge branch 'malte/mime' into 'main'
...
Add MIME support
See merge request husk-project/husk-milter!5
2026-06-08 09:10:09 +00:00
Malte Meiboom
5e9e720e02
Add shell completions
...
- Add a `build.rs` (plus dependencies) to generate the shell completions
clap knows.
2026-06-08 11:08:04 +02:00
Malte Meiboom
9a0fbbe44c
docker: Add more binaries
...
- add inotify-tools to avoid `sleep` and check expected files directly.
- add mailutils to generate mime structured emails
2026-06-08 11:05:34 +02:00
Malte Meiboom
d24aaf83e4
Add MIME support
...
- Wrap encrypted mails into a mime structure
- Add 'protected headers'
2026-06-08 10:58:25 +02:00
Malte Meiboom
4c7aeed288
Merge branch 'malte/shell-completions' into 'main'
...
Add shell completions
See merge request husk-project/husk-milter!4
2026-06-03 13:03:05 +00:00
Malte Meiboom
ccfb8d6f36
Add shell completions
...
- Add a `build.rs` (plus dependencies) to generate the shell completions
clap knows.
2026-06-03 14:38:35 +02:00
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