Commit Graph

64 Commits

Author SHA1 Message Date
62b2b30f94 server: don't fail on invalid entries in denylist
Some checks failed
Build and test / check-license (push) Successful in 1m7s
Build and test / check (push) Successful in 2m37s
Build and test / build (push) Successful in 2m38s
Build and test / docs (push) Has been cancelled
Build and test / test (push) Has been cancelled
2025-12-16 16:37:27 +09:00
cc1d8b0cf1 Fix protocol error struct name for List(All)PrivilegesError
Some checks failed
Build and test / check (push) Successful in 2m42s
Build and test / check-license (push) Successful in 56s
Build and test / docs (push) Successful in 5m19s
Build and test / test (push) Failing after 11m43s
Build and test / build (push) Failing after 20m23s
2025-12-16 12:41:19 +09:00
8b4d549e18 Implement denylists
All checks were successful
Build and test / check-license (push) Successful in 1m38s
Build and test / check (push) Successful in 1m51s
Build and test / build (push) Successful in 2m40s
Build and test / test (push) Successful in 4m25s
Build and test / docs (push) Successful in 6m1s
2025-12-16 12:21:35 +09:00
891963f4bc Add ListValidNamePrefixes command to protocol
Some checks failed
Build and test / check (push) Has been cancelled
Build and test / test (push) Has been cancelled
Build and test / docs (push) Has been cancelled
Build and test / build (push) Has been cancelled
Build and test / check-license (push) Has been cancelled
2025-12-16 10:13:28 +09:00
912f0e8971 server: hide systemd stuff behind compiletime cond
All checks were successful
Build and test / check (push) Successful in 1m49s
Build and test / check-license (push) Successful in 1m49s
Build and test / build (push) Successful in 2m36s
Build and test / test (push) Successful in 3m25s
Build and test / docs (push) Successful in 6m35s
2025-12-15 17:02:53 +09:00
3f014f073e Rename AuthorizationError to ValidationError, rename suberrors
All checks were successful
Build and test / build (push) Successful in 2m55s
Build and test / check (push) Successful in 3m4s
Build and test / test (push) Successful in 4m33s
Build and test / check-license (push) Successful in 5m35s
Build and test / docs (push) Successful in 8m23s
2025-12-15 14:56:53 +09:00
5f03b55eb5 Move name validation code to core 2025-12-15 14:45:45 +09:00
bf6027f507 core/protocol: use thiserror, use common authorization error struct 2025-12-15 14:25:22 +09:00
1991e7bfd8 Show more data on show-db
All checks were successful
Build and test / build (push) Successful in 2m42s
Build and test / check (push) Successful in 2m42s
Build and test / check-license (push) Successful in 5m31s
Build and test / test (push) Successful in 3m6s
Build and test / docs (push) Successful in 6m58s
2025-12-15 11:44:18 +09:00
6e914dec34 Misc. clap improvements, , more accurate value names, ... 2025-12-15 00:46:56 +09:00
919fd326ba server: fix remaining broken mysql queries
All checks were successful
Build and test / check (push) Successful in 2m48s
Build and test / build (push) Successful in 3m30s
Build and test / check-license (push) Successful in 4m52s
Build and test / test (push) Successful in 4m46s
Build and test / docs (push) Successful in 6m7s
2025-12-14 15:22:37 +09:00
4c82da390f server: determine sql server variant, fix lock-user,unlock-user
All checks were successful
Build and test / check (push) Successful in 1m54s
Build and test / build (push) Successful in 3m10s
Build and test / test (push) Successful in 3m30s
Build and test / check-license (push) Successful in 7m25s
Build and test / docs (push) Successful in 5m26s
2025-12-14 03:30:40 +09:00
e56c41cee6 {client,server}/edit-privs: check for user existence 2025-12-14 01:58:48 +09:00
7df04ec413 Fix verbosity flag and default logging level
Some checks failed
Build and test / check (push) Failing after 40s
Build and test / build (push) Successful in 3m9s
Build and test / test (push) Successful in 3m24s
Build and test / check-license (push) Successful in 5m48s
Build and test / docs (push) Successful in 5m18s
2025-12-03 11:39:39 +09:00
25c4c6f3e9 server: read mysql password from file
All checks were successful
Build and test / check (push) Successful in 1m33s
Build and test / build (push) Successful in 2m46s
Build and test / test (push) Successful in 3m11s
Build and test / check-license (push) Successful in 5m50s
Build and test / docs (push) Successful in 4m39s
2025-12-02 15:40:54 +09:00
3e46d6f541 Add ASCII banner + regards trailer to long help
All checks were successful
Build and test / check (push) Successful in 1m37s
Build and test / build (push) Successful in 2m45s
Build and test / test (push) Successful in 3m8s
Build and test / check-license (push) Successful in 5m56s
Build and test / docs (push) Successful in 4m35s
2025-12-01 20:31:44 +09:00
f348e67622 Add dynamic completion for users and databases
All checks were successful
Build and test / check (push) Successful in 1m35s
Build and test / build (push) Successful in 2m46s
Build and test / test (push) Successful in 3m10s
Build and test / check-license (push) Successful in 6m12s
Build and test / docs (push) Successful in 4m39s
2025-12-01 17:26:17 +09:00
e5627b2649 server: add tracing span to user session 2025-12-01 13:45:39 +09:00
ff858de178 server: misc changes for traces 2025-12-01 13:26:44 +09:00
025df3490c server: add prelude print 2025-12-01 12:59:53 +09:00
79f2a2b497 Add misc command help messages 2025-12-01 12:59:53 +09:00
a6db254c20 server: disable landlock in systemd daemon
This ensures that reloads work correctly
2025-12-01 12:59:53 +09:00
152c3ddbcc Add landlock rulesets 2025-12-01 12:59:53 +09:00
2472936857 Switch from log to tracing 2025-11-30 20:42:10 +09:00
1fe08b59a3 server: implement graceful shutdown and reloads 2025-11-30 04:08:01 +09:00
4a6e49110a server: remove config args, store config path in supervisor 2025-11-29 20:38:32 +09:00
b4db2daac7 server: note implementation overview for graceful restarts/shutdown 2025-11-29 19:58:23 +09:00
865b24884e Add command check-auth 2025-11-29 19:37:54 +09:00
dac1c147dd server: fix connection counter 2025-11-29 00:56:43 +09:00
bc4f2bc71c server: move peer cred checking to connection task
This commit also gets rid of the database connection closing helper
2025-11-29 00:56:43 +09:00
7ce81ddc55 server: log connection pool options 2025-11-29 00:54:31 +09:00
898a5e6ab0 server: set nonblocking option on systemd socket 2025-11-29 00:54:31 +09:00
9138613267 server: remove dead (moved) code 2025-11-29 00:54:30 +09:00
3eac8ffd94 server: set minimum number of tokio worker threads 2025-11-29 00:54:30 +09:00
fa1d27e09c server: make use of database connection pool 2025-11-26 19:11:06 +09:00
20331a4429 server: refactor server logic into supervisor + session handler 2025-11-26 19:11:05 +09:00
7fa6f6aafe server: add connection counter
All checks were successful
Build and test / check (push) Successful in 2m16s
Build and test / build (push) Successful in 2m43s
Build and test / check-license (push) Successful in 5m41s
Build and test / test (push) Successful in 3m37s
Build and test / docs (push) Successful in 5m4s
2025-11-26 13:51:07 +09:00
805c2d11ff core/protocol: split commands into separate files
All checks were successful
Build and test / check (push) Successful in 2m8s
Build and test / build (push) Successful in 3m3s
Build and test / check-license (push) Successful in 4m58s
Build and test / test (push) Successful in 3m47s
Build and test / docs (push) Successful in 5m47s
2025-11-26 02:51:23 +09:00
1571f6e2c7 core: split mysql user/db into separate types module 2025-11-26 02:03:18 +09:00
03a761a0ff Refactor privilege handling
All checks were successful
Build / check (push) Successful in 2m41s
Build / build (push) Successful in 3m5s
Build / docs (push) Successful in 5m37s
2025-11-25 19:20:46 +09:00
f90e60d856 server: don't unset NOTIFY_SOCKET on enabling watchdog 2025-11-10 01:06:37 +09:00
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
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
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
0ce90ab42a list-db -> show-db 2024-08-19 18:58:26 +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
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