Commit Graph

64 Commits

Author SHA1 Message Date
oysteikt 62b2b30f94 server: don't fail on invalid entries in denylist
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
oysteikt cc1d8b0cf1 Fix protocol error struct name for List(All)PrivilegesError
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
oysteikt 8b4d549e18 Implement denylists
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
oysteikt 891963f4bc Add ListValidNamePrefixes command to protocol
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
oysteikt 912f0e8971 server: hide systemd stuff behind compiletime cond
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
oysteikt 3f014f073e Rename AuthorizationError to ValidationError, rename suberrors
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
oysteikt 5f03b55eb5 Move name validation code to core 2025-12-15 14:45:45 +09:00
oysteikt bf6027f507 core/protocol: use thiserror, use common authorization error struct 2025-12-15 14:25:22 +09:00
oysteikt 1991e7bfd8 Show more data on show-db
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
oysteikt 6e914dec34 Misc. clap improvements, , more accurate value names, ... 2025-12-15 00:46:56 +09:00
oysteikt 919fd326ba server: fix remaining broken mysql queries
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
oysteikt 4c82da390f server: determine sql server variant, fix lock-user,unlock-user
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
oysteikt e56c41cee6 {client,server}/edit-privs: check for user existence 2025-12-14 01:58:48 +09:00
oysteikt 7df04ec413 Fix verbosity flag and default logging level
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
oysteikt 25c4c6f3e9 server: read mysql password from file
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
oysteikt 3e46d6f541 Add ASCII banner + regards trailer to long help
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
oysteikt f348e67622 Add dynamic completion for users and databases
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
oysteikt e5627b2649 server: add tracing span to user session 2025-12-01 13:45:39 +09:00
oysteikt ff858de178 server: misc changes for traces 2025-12-01 13:26:44 +09:00
oysteikt 025df3490c server: add prelude print 2025-12-01 12:59:53 +09:00
oysteikt 79f2a2b497 Add misc command help messages 2025-12-01 12:59:53 +09:00
oysteikt a6db254c20 server: disable landlock in systemd daemon
This ensures that reloads work correctly
2025-12-01 12:59:53 +09:00
oysteikt 152c3ddbcc Add landlock rulesets 2025-12-01 12:59:53 +09:00
oysteikt 2472936857 Switch from log to tracing 2025-11-30 20:42:10 +09:00
oysteikt 1fe08b59a3 server: implement graceful shutdown and reloads 2025-11-30 04:08:01 +09:00
oysteikt 4a6e49110a server: remove config args, store config path in supervisor 2025-11-29 20:38:32 +09:00
oysteikt b4db2daac7 server: note implementation overview for graceful restarts/shutdown 2025-11-29 19:58:23 +09:00
oysteikt 865b24884e Add command check-auth 2025-11-29 19:37:54 +09:00
oysteikt dac1c147dd server: fix connection counter 2025-11-29 00:56:43 +09:00
oysteikt 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
oysteikt 7ce81ddc55 server: log connection pool options 2025-11-29 00:54:31 +09:00
oysteikt 898a5e6ab0 server: set nonblocking option on systemd socket 2025-11-29 00:54:31 +09:00
oysteikt 9138613267 server: remove dead (moved) code 2025-11-29 00:54:30 +09:00
oysteikt 3eac8ffd94 server: set minimum number of tokio worker threads 2025-11-29 00:54:30 +09:00
oysteikt fa1d27e09c server: make use of database connection pool 2025-11-26 19:11:06 +09:00
oysteikt 20331a4429 server: refactor server logic into supervisor + session handler 2025-11-26 19:11:05 +09:00
oysteikt 7fa6f6aafe server: add connection counter
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
oysteikt 805c2d11ff core/protocol: split commands into separate files
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
oysteikt 1571f6e2c7 core: split mysql user/db into separate types module 2025-11-26 02:03:18 +09:00
oysteikt 03a761a0ff Refactor privilege handling
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
oysteikt f90e60d856 server: don't unset NOTIFY_SOCKET on enabling watchdog 2025-11-10 01:06:37 +09:00
oysteikt 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
oysteikt c2d22ee7f8 flake.lock: bump, Cargo.lock: bump, Cargo.toml: update inputs, format, etc
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
oysteikt a0be0d3b92 Wrap database users and database names in newtypes
Also, use less cloning where possible
2024-08-20 17:46:43 +02:00
oysteikt 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
oysteikt 0ce90ab42a list-db -> show-db 2024-08-19 18:58:26 +02:00
oysteikt b21aa0eece Fix sql regex to work like ownership validation 2024-08-19 17:59:13 +02:00
oysteikt d1d06514a9 cargo fmt + clippy 2024-08-19 17:52:16 +02:00
oysteikt 20669569f3 Fix binary collation issues for privs as well
Ref #66
2024-08-19 17:44:21 +02:00
oysteikt ed12a3153b server/config: revamp
- Adds options `socket_path` and `password_file`
2024-08-19 16:57:25 +02:00