Oystein Kristoffer Tveit
a0be0d3b92
Wrap database users and database names in newtypes
...
Also, use less cloning where possible
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
e993644844
core/database_privileges: test `edit-db-privs -p` parser
2024-08-19 19:26:27 +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
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
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
807017ea70
add shell completion
2024-08-19 02:23:31 +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
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
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
Oystein Kristoffer Tveit
71c712dce0
treewide: move some code around, spring cleaning
2024-08-07 21:17:27 +02:00
Oystein Kristoffer Tveit
833251a1a2
show-user: add databases field, report when no users
2024-08-07 20:31:05 +02:00
Oystein Kristoffer Tveit
a3c894061c
Remove already fixed TODO
2024-08-07 17:27:29 +02:00
Oystein Kristoffer Tveit
e1f89b7b72
cargo clippy + fmt
2024-08-07 17:25:28 +02:00
Oystein Kristoffer Tveit
3d7d001f65
show-user: add `--json` flag
2024-08-07 17:22:23 +02:00
Oystein Kristoffer Tveit
a9b8f7cee7
user_operations: don't fetch auth_string/password, only check existence
2024-08-07 17:20:13 +02:00
Oystein Kristoffer Tveit
d0b750cd33
cargo clippy + fmt
2024-08-07 16:55:51 +02:00
Oystein Kristoffer Tveit
d1c42dac8b
Wrap all operations in database transactions
2024-08-07 16:54:26 +02:00