Commit Graph

94 Commits

Author SHA1 Message Date
oysteikt a15eac607d core/privileges/editor: fix table formatting
Build and test / check (push) Successful in 1m45s
Build and test / check-license (push) Successful in 2m15s
Build and test / build (push) Successful in 2m55s
Build and test / test (push) Successful in 3m28s
Build and test / docs (push) Successful in 7m7s
2025-12-23 04:51:54 +09:00
oysteikt 1f78ca0e25 Don't unwrap without message on failure to start SUID/SGID tokio
Build and test / check-license (push) Successful in 55s
Build and test / check (push) Successful in 2m39s
Build and test / build (push) Successful in 2m54s
Build and test / test (push) Successful in 3m5s
Build and test / docs (push) Successful in 6m29s
2025-12-17 05:46:05 +09:00
oysteikt dfe20826c1 Add misc. doccomments
Build and test / check-license (push) Successful in 1m42s
Build and test / check (push) Successful in 1m50s
Build and test / build (push) Successful in 2m38s
Build and test / test (push) Successful in 4m44s
Build and test / docs (push) Successful in 6m1s
2025-12-16 19:36:17 +09:00
oysteikt 97908ce887 core/protocol: set request/response max size 2025-12-16 19:36:17 +09:00
oysteikt 10ef171c91 client: print errors and warnings to stderr
Build and test / check (push) Successful in 1m55s
Build and test / build (push) Successful in 2m37s
Build and test / check-license (push) Successful in 1m3s
Build and test / test (push) Successful in 3m6s
Build and test / docs (push) Successful in 5m56s
2025-12-16 17:21:58 +09:00
oysteikt 05b5b5dac0 client: add prefix completer for create-{db,user}
Build and test / check-license (push) Successful in 54s
Build and test / check (push) Successful in 2m23s
Build and test / build (push) Successful in 2m55s
Build and test / test (push) Successful in 3m7s
Build and test / docs (push) Successful in 6m31s
2025-12-16 15:27:36 +09:00
oysteikt 57ac26b120 client: display show-db output with human readable sizes
Build and test / check-license (push) Successful in 55s
Build and test / check (push) Successful in 1m55s
Build and test / build (push) Successful in 3m25s
Build and test / test (push) Successful in 3m4s
Build and test / docs (push) Successful in 5m54s
2025-12-16 14:36:53 +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 45cefb8af4 client/edit-privs: use a more human-friendly interface
Build and test / check-license (push) Successful in 1m39s
Build and test / check (push) Successful in 1m53s
Build and test / build (push) Successful in 2m43s
Build and test / test (push) Successful in 4m23s
Build and test / docs (push) Successful in 6m3s
2025-12-16 11:00:59 +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 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 7b79f7b163 client/show-privs: allow showing single char hints in table output
Build and test / check (push) Successful in 1m44s
Build and test / build (push) Successful in 3m24s
Build and test / test (push) Successful in 3m28s
Build and test / check-license (push) Successful in 4m54s
Build and test / docs (push) Successful in 6m43s
2025-12-14 16:01:51 +09:00
oysteikt 920544ef3a client/edit-privs: return better parsing errors
Build and test / check (push) Successful in 1m43s
Build and test / build (push) Successful in 3m27s
Build and test / check-license (push) Successful in 4m54s
Build and test / test (push) Successful in 3m28s
Build and test / docs (push) Successful in 5m11s
2025-12-14 04:01:48 +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 222941509d core: check suid/sgid dynamically instead of checking file
Build and test / check (push) Successful in 1m41s
Build and test / test (push) Successful in 3m5s
Build and test / check-license (push) Successful in 5m56s
Build and test / docs (push) Successful in 5m29s
Build and test / build (push) Successful in 3m9s
2025-12-04 20:29:44 +09:00
oysteikt 1e7911023e client: add error subtypes for name and owner validation in json output 2025-12-04 13:39:30 +09:00
oysteikt afbba78e39 client: add error type field for --json outputs
Build and test / test (push) Has been cancelled
Build and test / check (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-03 15:44:18 +09:00
oysteikt 32b70c44c6 client: print only json for show-db/show-user/show-privs --json
Build and test / check (push) Successful in 1m52s
Build and test / build (push) Successful in 3m4s
Build and test / test (push) Successful in 3m28s
Build and test / check-license (push) Successful in 5m47s
Build and test / docs (push) Successful in 4m45s
The earlier version would print out human readable errors before
printing the json, which was not ideal. This version prints out the
errors inside the json.
2025-12-03 15:28:15 +09:00
oysteikt 6aceda6f3d Remove empty file
Build and test / check (push) Successful in 1m43s
Build and test / build (push) Successful in 3m54s
Build and test / test (push) Successful in 3m5s
Build and test / check-license (push) Successful in 5m29s
Build and test / docs (push) Successful in 6m13s
2025-12-03 13:52:28 +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 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 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 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 865b24884e Add command check-auth 2025-11-29 19:37:54 +09:00
oysteikt 03ddf0ac8a core: move DbOrUser to types, wrap item name in struct 2025-11-29 19:34:14 +09:00
oysteikt fe87f72b00 core: derive Debug + Clone for UnixUser 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 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 a4acfe91af Rename project to muscl 2025-11-26 13:50:06 +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 30d02775c2 Make compile-time feature for SUID/SGID mode
Build / check (push) Successful in 1m27s
Build / build (push) Successful in 2m46s
Build / docs (push) Successful in 6m33s
2025-11-11 00:28:34 +09:00
oysteikt c2dcd40442 cargo fmt
Build / check (push) Successful in 11m49s
Build / build (push) Successful in 12m51s
Build / docs (push) Has been cancelled
2025-11-10 23:50:55 +09:00
oysteikt c6d3bbca6f Add warning comments for functions running as SUID/SGID
Build / check (push) Failing after 5m22s
Build / build (push) Successful in 14m47s
Build / docs (push) Successful in 15m41s
2025-11-10 12:11:24 +09:00
oysteikt 46c5d372b2 Deduplicate common username/group prefixes in error msg
Build / check (push) Failing after 5m20s
Build / build (push) Successful in 12m54s
Build / docs (push) Successful in 16m35s
2025-11-10 00:50:36 +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 bd4791dc17 Check that executable is not SUID/SGID for unrelated subcommands 2025-11-10 00:33:53 +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