Oystein Kristoffer Tveit
8c2754c9d7
cargo-deny: init
2024-08-20 17:46:43 +02:00
Oystein Kristoffer Tveit
338694a64e
Add more `--json` flags
2024-08-20 17:46:43 +02:00
Oystein Kristoffer Tveit
cdb1fb4181
Integrate better with systemd + better logs and protocol usage
...
This commits adds the following:
- Better systemd integration and usage:
- More hardening
- A watchdog thread
- Journald native logging
as well as
- Better logs
- Some protocol usage fixes
2024-08-20 17:46:40 +02:00
Oystein Kristoffer Tveit
a4067975b6
flake.nix: add `rust-src` to rust toolchain for devshell
2024-08-19 19:34:55 +02:00
Oystein Kristoffer Tveit
e993644844
core/database_privileges: test `edit-db-privs -p` parser
2024-08-19 19:26:27 +02:00
Oystein Kristoffer Tveit
fe60441c89
README: fix outdated command names
2024-08-19 19:03:04 +02:00
Oystein Kristoffer Tveit
0ce90ab42a
`list-db` -> `show-db`
2024-08-19 18:58:26 +02:00
Oystein Kristoffer Tveit
51302d75f0
`create-users`: default to setting no password in prompt
2024-08-19 18:06:47 +02:00
Oystein Kristoffer Tveit
b9a1d91630
Add nixos module
2024-08-19 18:00:57 +02:00
Oystein Kristoffer Tveit
b21aa0eece
Fix sql regex to work like ownership validation
2024-08-19 17:59:13 +02:00
Oystein Kristoffer Tveit
d1d06514a9
cargo fmt + clippy
2024-08-19 17:52:16 +02:00
Oystein Kristoffer Tveit
3556eb37ea
Dont drop privs as server
2024-08-19 17:46:08 +02:00
Oystein Kristoffer Tveit
20669569f3
Fix binary collation issues for privs as well
...
Ref #66
2024-08-19 17:44:21 +02:00
Oystein Kristoffer Tveit
f43499fca0
"downgrade" nixpkgs to stable, to avoid rust 1.80 breakage
...
grcov is breaking, see https://github.com/NixOS/nixpkgs/issues/332957
2024-08-19 17:11:19 +02:00
Oystein Kristoffer Tveit
ed12a3153b
server/config: revamp
...
- Adds options `socket_path` and `password_file`
2024-08-19 16:57:25 +02:00
Oystein Kristoffer Tveit
48240489a7
Have server notify the client about db connection errors
2024-08-19 16:57:24 +02:00
Oystein Kristoffer Tveit
8fdfe457ac
Remove a few TODOs, either solved or converted to issue
2024-08-19 02:43:05 +02:00
Oystein Kristoffer Tveit
94e0e5d6c7
build.rs: small cleanup
2024-08-19 02:23:49 +02:00
Oystein Kristoffer Tveit
807017ea70
add shell completion
2024-08-19 02:23:31 +02:00
Oystein Kristoffer Tveit
0e38fbb7e9
flake.lock: update
2024-08-19 02:23:30 +02:00
Oystein Kristoffer Tveit
5d049390b8
`passwd-user`: check for user existence before password input
2024-08-19 00:49:20 +02:00
Oystein Kristoffer Tveit
a6f00d4313
Ensure user/db prefix has a `_` behind it
2024-08-19 00:48:13 +02:00
Oystein Kristoffer Tveit
cd0b2c3e6d
sd_notify(ready)
2024-08-19 00:13:22 +02:00
Oystein Kristoffer Tveit
93469a6e84
Add more serverside logging
2024-08-19 00:11:11 +02:00
Oystein Kristoffer Tveit
e4da639d5c
Fix sqlx parse error
2024-08-19 00:09:27 +02:00
Oystein Kristoffer Tveit
daa8e069d3
Fix sql statement for `show-user`
2024-08-18 22:57:01 +02:00
Oystein Kristoffer Tveit
86b5b47f1e
Add some logging
2024-08-18 22:26:00 +02:00
Oystein Kristoffer Tveit
9d88c95f33
Fix systemd socket activation
2024-08-18 22:24:28 +02:00
Oystein Kristoffer Tveit
53f19b3d05
Replace socket authentication mechanism with SO_PEERCRED
2024-08-18 22:22:58 +02:00
Oystein Kristoffer Tveit
94c9a54c14
Bump all deps, fix db connection closing issues
2024-08-18 01:33:55 +02:00
Oystein Kristoffer Tveit
168f832aec
Readd "databases where user has privileges" to `show-user`
2024-08-18 00:17:55 +02:00
Oystein Kristoffer Tveit
f957bbd9da
Don't validate prefixes and postfixes for db item ownership
2024-08-17 22:30:30 +02:00
Oystein Kristoffer Tveit
54a38255e6
privs editor: "New user" ->"Previously unprivileged"
2024-08-17 21:27:46 +02:00
Oystein Kristoffer Tveit
466d4a8b96
Use db name as example for privs editor
2024-08-17 21:24:59 +02:00
Oystein Kristoffer Tveit
af86893acf
Rewrite entire codebase to split into client and server
2024-08-17 20:21:05 +02:00
Oystein Kristoffer Tveit
20e60ca5c7
Add protocol for authenticating a unix socket
2024-08-09 19:09:04 +02:00
Oystein Kristoffer Tveit
dc29dd274a
flake.nix: create packaging, generate coverage
2024-08-09 19:05:16 +02:00
Oystein Kristoffer Tveit
e420c1f4d5
edit-db-privs: display diffs and ask before commiting
2024-08-08 21:48:41 +02:00
Oystein Kristoffer Tveit
7ee60dacdc
Misc fixups to priv diff logic, add tests
2024-08-08 21:02:25 +02:00
Oystein Kristoffer Tveit
8a91e9a3d0
core/database_operations: replace single field struct with sqlx unwrap
2024-08-08 19:45:28 +02:00
Oystein Kristoffer Tveit
e2193f47c1
Only pass the mysql config portion when connecting
2024-08-08 19:40:57 +02:00
Oystein Kristoffer Tveit
452fa22e9c
flake.nix: add cargo-nextest to devshell
2024-08-08 19:31:02 +02:00
Oystein Kristoffer Tveit
39a3f8ffd1
core/common: make testable, fix some status messages
2024-08-08 19:30:42 +02:00
Oystein Kristoffer Tveit
69870147f5
Add a few more status prints to the commands
2024-08-08 00:56:30 +02:00
Oystein Kristoffer Tveit
f78c88517f
Add `lock-user` and `unlock-user`
2024-08-08 00:53:26 +02:00
Oystein Kristoffer Tveit
7e71b5071f
Report back more detailed results from commands
2024-08-07 23:33:07 +02:00
Oystein Kristoffer Tveit
21c1f8cc87
Fix clippy warnings
2024-08-07 23:10:37 +02:00
Oystein Kristoffer Tveit
011bcf9edc
More spring cleaning for privs, add test
2024-08-07 23:00:38 +02:00
Oystein Kristoffer Tveit
1bb1c133e8
Consistently name db connection `connection`
2024-08-07 21:54:13 +02:00
Oystein Kristoffer Tveit
5a7516aed8
Rename most instances of "permission" to "privilege"
2024-08-07 21:51:03 +02:00