Commit Graph

76 Commits

Author SHA1 Message Date
9e23f03ca2 Use non-templated systemd service
The previous setup was broken

This commit also adds some code to check that the database connection is
valid before it starts, as well as refactors the code that splits
between starting and external or internal server.
2025-11-10 00:38:26 +09:00
bd4791dc17 Check that executable is not SUID/SGID for unrelated subcommands 2025-11-10 00:33:53 +09:00
c2d22ee7f8 flake.lock: bump, Cargo.lock: bump, Cargo.toml: update inputs, format, etc
Some checks failed
Build / build (push) Has been cancelled
Build / check (push) Has been cancelled
Build / docs (push) Has been cancelled
2025-05-07 10:39:10 +02:00
a0be0d3b92 Wrap database users and database names in newtypes
Also, use less cloning where possible
2024-08-20 17:46:43 +02:00
338694a64e Add more --json flags 2024-08-20 17:46:43 +02:00
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
e993644844 core/database_privileges: test edit-db-privs -p parser 2024-08-19 19:26:27 +02:00
0ce90ab42a list-db -> show-db 2024-08-19 18:58:26 +02:00
51302d75f0 create-users: default to setting no password in prompt 2024-08-19 18:06:47 +02:00
b21aa0eece Fix sql regex to work like ownership validation 2024-08-19 17:59:13 +02:00
d1d06514a9 cargo fmt + clippy 2024-08-19 17:52:16 +02:00
3556eb37ea Dont drop privs as server 2024-08-19 17:46:08 +02:00
20669569f3 Fix binary collation issues for privs as well
Ref #66
2024-08-19 17:44:21 +02:00
ed12a3153b server/config: revamp
- Adds options `socket_path` and `password_file`
2024-08-19 16:57:25 +02:00
48240489a7 Have server notify the client about db connection errors 2024-08-19 16:57:24 +02:00
8fdfe457ac Remove a few TODOs, either solved or converted to issue 2024-08-19 02:43:05 +02:00
807017ea70 add shell completion 2024-08-19 02:23:31 +02:00
5d049390b8 passwd-user: check for user existence before password input 2024-08-19 00:49:20 +02:00
a6f00d4313 Ensure user/db prefix has a _ behind it 2024-08-19 00:48:13 +02:00
cd0b2c3e6d sd_notify(ready) 2024-08-19 00:13:22 +02:00
93469a6e84 Add more serverside logging 2024-08-19 00:11:11 +02:00
e4da639d5c Fix sqlx parse error 2024-08-19 00:09:27 +02:00
daa8e069d3 Fix sql statement for show-user 2024-08-18 22:57:01 +02:00
86b5b47f1e Add some logging 2024-08-18 22:26:00 +02:00
9d88c95f33 Fix systemd socket activation 2024-08-18 22:24:28 +02:00
53f19b3d05 Replace socket authentication mechanism with SO_PEERCRED 2024-08-18 22:22:58 +02:00
94c9a54c14 Bump all deps, fix db connection closing issues 2024-08-18 01:33:55 +02:00
168f832aec Readd "databases where user has privileges" to show-user 2024-08-18 00:17:55 +02:00
f957bbd9da Don't validate prefixes and postfixes for db item ownership 2024-08-17 22:30:30 +02:00
54a38255e6 privs editor: "New user" ->"Previously unprivileged" 2024-08-17 21:27:46 +02:00
466d4a8b96 Use db name as example for privs editor 2024-08-17 21:24:59 +02:00
af86893acf Rewrite entire codebase to split into client and server 2024-08-17 20:21:05 +02:00
20e60ca5c7 Add protocol for authenticating a unix socket 2024-08-09 19:09:04 +02:00
e420c1f4d5 edit-db-privs: display diffs and ask before commiting 2024-08-08 21:48:41 +02:00
7ee60dacdc Misc fixups to priv diff logic, add tests 2024-08-08 21:02:25 +02:00
8a91e9a3d0 core/database_operations: replace single field struct with sqlx unwrap 2024-08-08 19:45:28 +02:00
e2193f47c1 Only pass the mysql config portion when connecting 2024-08-08 19:40:57 +02:00
39a3f8ffd1 core/common: make testable, fix some status messages 2024-08-08 19:30:42 +02:00
69870147f5 Add a few more status prints to the commands 2024-08-08 00:56:30 +02:00
f78c88517f Add lock-user and unlock-user 2024-08-08 00:53:26 +02:00
7e71b5071f Report back more detailed results from commands 2024-08-07 23:33:07 +02:00
21c1f8cc87 Fix clippy warnings 2024-08-07 23:10:37 +02:00
011bcf9edc More spring cleaning for privs, add test 2024-08-07 23:00:38 +02:00
1bb1c133e8 Consistently name db connection connection 2024-08-07 21:54:13 +02:00
5a7516aed8 Rename most instances of "permission" to "privilege" 2024-08-07 21:51:03 +02:00
71c712dce0 treewide: move some code around, spring cleaning 2024-08-07 21:17:27 +02:00
833251a1a2 show-user: add databases field, report when no users 2024-08-07 20:31:05 +02:00
a3c894061c Remove already fixed TODO 2024-08-07 17:27:29 +02:00
e1f89b7b72 cargo clippy + fmt 2024-08-07 17:25:28 +02:00
3d7d001f65 show-user: add --json flag 2024-08-07 17:22:23 +02:00