Commit graph

237 commits

Author SHA1 Message Date
Firstyear b432c79302
Resolve auth choice selection ui (#558) 2021-08-08 10:00:41 +10:00
Firstyear 87c6b45fbd
add tokio feature to async-std (#555) 2021-08-04 14:51:09 +10:00
Firstyear a00d3c01e6
20210802 favicon (#554) 2021-08-02 14:35:46 +10:00
James Hodgkinson 8737a7ad78
making 📎 slightly happier (#551) 2021-08-02 10:54:55 +10:00
cuberoot74088 b4f99c8e7a
Implement Online Backups (#25) (#536) 2021-07-31 17:13:46 +10:00
Firstyear 27b7572842
468 valueset abstraction (#538) 2021-07-30 09:45:25 +10:00
James Hodgkinson 25961b2c46
adding a check for rustc MSRV (#542) 2021-07-27 13:20:50 +10:00
Firstyear 5069df9939
Improve errors (#539) 2021-07-26 08:33:49 +10:00
Firstyear 1791f12adf
Oauth2 ui flows (#527) 2021-07-25 10:51:37 +10:00
James Hodgkinson a621cbc6a7
Fixing #521 - Documenting the server role (#535) 2021-07-24 15:00:08 +10:00
Firstyear ea080feac8
Update webauthn-rs to alpha.9 (#532) 2021-07-24 14:58:38 +10:00
James Hodgkinson 6ff74c976e
Auto-publishing the book and rustdoc. (#534) 2021-07-24 11:12:35 +10:00
Firstyear 8bc7afe007
Add wal checkpointing to startup/vacuum (#533) 2021-07-23 18:49:03 +10:00
James Hodgkinson 8b7f196b2a
Makes kanidmd bail on startup if it can't find the webpkg dir (#531)
* Fixes #528 - DynamicUser was set to kanidmd

* Make kanidmd bail if it cannot find the web ui files
2021-07-22 15:19:01 +10:00
cuberoot74088 8306c3bc6a
Rename to SetCredentialRequest::BackupCodeGenerate (#524) 2021-07-22 12:04:56 +10:00
James Hodgkinson 39a693f701
Fixing #520, moving cert loading into server mode (#522) 2021-07-09 09:49:26 +10:00
cuberoot74088 620a1717a8
495 backup codes cli extension (#517) 2021-07-08 12:50:55 +10:00
James Hodgkinson fc2824eec5
fixing restores on #456 (#519) 2021-07-08 10:09:15 +10:00
William Brown 4be329e946 (cargo-release) version 1.1.0-alpha.5 2021-07-07 12:04:12 +10:00
William Brown e5e760b109 Release prep 2021-07-07 12:02:46 +10:00
Firstyear e134fa5b40
Fix totp registration workflow with broken authenticators (#516) 2021-07-03 14:39:22 +10:00
Firstyear 040e9fd352
Add statistical analysis to indexes (#505) 2021-07-02 14:50:56 +10:00
Firstyear 4c6a28b7ad
511 upgrade failure - add debuging tools and improve debugging of the issue. (#512) 2021-07-01 14:51:25 +10:00
James Hodgkinson 554ff3bb1b
Fixing kanidm windows client build (#507) 2021-06-30 10:34:45 +10:00
Firstyear 1de1b2db3b
Add the ability to configure and provide Oauth2 authentication for Kanidm. (#485) 2021-06-29 14:23:39 +10:00
Firstyear 8aa0056df6
Change default totp to sha256 (#504) 2021-06-29 09:27:38 +10:00
James Hodgkinson 78e189ee34
Fixes #494 - password change user-facing responses (#499) 2021-06-28 13:05:37 +10:00
Firstyear 1b146bd00d
Fix readonly check (#496) 2021-06-27 11:30:40 +10:00
Firstyear 35d32bc5dd
Update webauthn-authenticator-rs to fix test failures (#493) 2021-06-26 11:47:21 +10:00
vcwai 9f5d8540fa
163 account recovery code (#469) 2021-06-25 12:39:05 +10:00
Quinn c2d74ced2b
Removed OperationResponse (#489) 2021-06-21 12:32:39 +10:00
Firstyear f5e2295319
20210607 orca ldap (#470) 2021-06-17 13:53:23 +10:00
Quinn 03d2fc841a
kanidm_client bool/return values (#479) 2021-06-17 12:59:34 +10:00
James Hodgkinson d8398a36b8
Arc cachesize warning fixes (#483) 2021-06-17 10:49:45 +10:00
Quinn 5e83b68fc5
Renamed fields in dbvalue (#477) 2021-06-16 08:07:42 +10:00
Firstyear ea34dc08a9
Add email syntax (#465)
Part one of #461 - this adds the syntax to support email addresses and validation of their content, and a method to serialise to the DB that can be extended with attribute tagging in the future. Part two will address administration of these values.
2021-06-12 10:01:44 +10:00
Firstyear 7da4fa9d7e
Add some openid stubs (#464) 2021-06-05 15:41:42 +10:00
Firstyear 2493dad4fb
Add auth docs (#463) 2021-06-02 09:42:40 +10:00
Firstyear 807af81184
64 120 session claims (#462) 2021-06-02 09:30:37 +10:00
Firstyear 033b977906
Add ldap vattr mapping (#459) 2021-05-29 12:50:16 +10:00
Firstyear e8b1089bfd
414 clear stale credentials (#447) 2021-05-26 16:11:00 +10:00
Firstyear d1f2d197eb
Fix multivalue setting of description attribute (#457) 2021-05-24 12:51:56 +10:00
James Hodgkinson 6ef4ad616a
simpler ip logging (#454) 2021-05-23 10:15:21 +10:00
James Hodgkinson ca446ddca5
I might have become clippy this time (#449)
* clippiness

* it is really handy that we have tests

* it is still really handy that we have tests
2021-05-22 14:48:08 +10:00
James Hodgkinson 35c1de4c45
Calming clippy's nerves, Friday edition (#448)
* whoa clippy you are very helpful
2021-05-21 16:35:09 +10:00
Firstyear 9d5296a34b
This allows TOTP to accept an OTP that is one step behind AKA the previous TOTP (#442) 2021-05-19 18:49:31 +10:00
James Hodgkinson 1229669785
adding env vars, making clippy happier, cleaning up some error messages (#438) 2021-05-09 22:06:58 +10:00
Firstyear e88ac01aca
20210509 cleanup clippy and audit name (#437) 2021-05-09 22:06:04 +10:00
Firstyear ebdebcaef8
277 radius pw not accept for main pw (#435) 2021-05-07 13:01:13 +10:00
Firstyear 6901a5a545
Orca - a load testing framework for Kanidm (#431) 2021-05-06 21:15:12 +10:00
Firstyear 644eb0b0d6
Add verification of name indexes (#433) 2021-05-06 21:12:02 +10:00
Firstyear 1eb777485e
Add ability to pick a server role (#432) 2021-05-06 20:58:22 +10:00
James Hodgkinson e6f34d5dc5
Adding a new verb group remove_members (#434)
Co-authored-by: William Brown <william@blackhats.net.au>
2021-05-06 20:47:28 +10:00
vcwai 2bd8606cb6
397 Caching password badlist (#425) 2021-05-05 14:38:32 +10:00
James Hodgkinson 77381c1a2a
User feedback improvements, also handling a permissions issue (#424) 2021-04-26 11:52:13 +10:00
William Brown f9dd0a78dc Fix concat issue 2021-04-25 11:41:50 +10:00
James Hodgkinson de431451f4
Making clippy happy (#420) 2021-04-25 11:35:56 +10:00
Firstyear 6f222f6408
62 idm qs cleanup (#419) 2021-04-25 11:35:02 +10:00
Firstyear 8da89613e3
Rough working login page (#417) 2021-04-24 10:53:19 +10:00
James Hodgkinson f97a3bf596
Make clippy happy (#415) 2021-04-19 10:20:24 +10:00
James Hodgkinson 1f991c84da
More debug messages (#413) 2021-04-16 10:49:24 +10:00
Firstyear 72dfe1b035
Idlset2, query cache, acp resolve cache (#409) 2021-04-14 09:56:40 +10:00
Firstyear 19ce30a5ef
Add lto thin (#410) 2021-04-13 12:04:27 +10:00
James Hodgkinson af1081e878
phrasing (#401) 2021-04-06 10:10:13 +10:00
William Brown b3b48b6c43 (cargo-release) version 1.1.0-alpha.4 2021-04-01 10:29:20 +10:00
William Brown 9bf4b0f052 Release Prep 2021-04-01 10:29:09 +10:00
Firstyear 988944a085
Add auth session header type (#398) 2021-04-01 07:14:15 +10:00
vcwai 8a2f3b65ec
Add badlist checking when using password login (#394) 2021-03-31 11:19:03 +10:00
Firstyear 6bc719cdb2
Base web UI (#391)
Initial web ui (not-functional yet)
2021-03-26 11:22:00 +10:00
Firstyear a22c8efe9e
Fix posix extend to correctly remove the matching attribute during set. (#387) 2021-03-25 10:33:37 +10:00
Firstyear db3904759d
fix displayname (#390) 2021-03-23 19:14:04 +10:00
OttoHollmann 8eb2bd9ee1
Fix Dockerfile to check return values. (#389) 2021-03-23 09:34:40 +10:00
Firstyear 29c0481cb2
Correctly return displayname (#386) 2021-03-23 09:27:01 +10:00
William Brown e1cbd325a5 Update sshkeys to resolve ssh issue 2021-03-15 10:20:54 +10:00
Firstyear adb3f819ba
Add the unixd tasks daemon (#349)
Fixes #180 - this adds an oddjobd style tasks daemon to the unix tools. This supports creation of home directories and the maintenance of alias symlinks to these allowing user renames. The tasks daemon is written to require root, but is seperate from the unixd daemon. Communication is via a root-only unix socket that the task daemon connects into to reduce the possibility of exploit.

Fixes #369 due to the changes to call_daemon_blocking
2021-03-13 12:33:15 +10:00
Firstyear d2ca2c5bc9
Fix pattern to match substr from ldap (#372) 2021-03-12 10:11:12 +10:00
Firstyear ff61c37ae3
Add credential display command (#370)
Fixes #364 - this adds a credential display command to the cli, and the api so it can be used later.
2021-03-11 11:17:13 +10:00
Firstyear dd1945dd0d
363 scaling benchmarks (#366)
Starts on #363, adding initial scaling tests and benchmarks. Generally this is a pretty big clean up of macros and some testing elements too.
2021-02-23 18:10:59 +10:00
Firstyear 1fb5ec8bf2
vacuum (#365)
Fixes #362 moves vacuum to a dedicated task. This is needed as previous vacuuming on startup on large databases could cause the server to fail to start. By making this a task it avoids this error case, and makes the vacuum more predictable, and only run when required.
2021-02-21 15:04:58 +10:00
Firstyear 3137e3d682
Complete MFA and Webauthn handlers (#360)
Fixes #357 - this allows the password MFA handler to correct handle a mixed totp or webauthn credential with passwords. This is likely the "majority" of accounts we will see on the service.
2021-02-20 12:41:22 +10:00
William Brown 483aa6f23d Update build 2021-02-17 18:49:03 +10:00
Firstyear f710e66f64
356 Use tls chain file (#358)
Fixes #356 - this changes from a split ca_chain/cert configuration to a single chain file. This allows rustls in tide-rustls to present the chain correctly, and allows openssl for ldaps to present the chain correctly too. it also simplifies integration to lets encrypt which provides a chain and key file by default.
2021-02-16 11:40:25 +10:00
William Brown 9bd54dbebe Move jemalloc to runtime only 2021-02-13 16:32:04 +10:00
Firstyear 6c79914395
306 command complete (#354)
Fixes #306 adding command line autocompletion. These are generated to: CARGO_TARGET_DIR/item-hash/out/. These will need to be packaged for distros later, it's unclear how we could use cargo install with these as cargo doesn't support arbitrary artefacts like this (yet?).
2021-02-13 13:46:22 +10:00
Firstyear d745b15768
Use jemallocator in main server (#353) 2021-02-10 15:08:22 +10:00
Firstyear a3d7401d03
Add clean ups based on review feedback (#351)
* Add clean ups based on charcols suggestions
2021-02-09 10:25:02 +10:00
Firstyear 8006142c9e
202 totp cli enrollment (#348)
Fixes #202 - This adds support for enrolling and removing totp on the cli, as well as a rebuilt work flow for login to allow dynamic prompting of what credetials are required.
2021-02-08 13:31:31 +10:00
Firstyear f4e31f1bb9
Improve idl behaviour (#342) 2021-01-28 09:50:43 +10:00
Firstyear 3844aadf60
Tokio1.0 (#340)
Upgrade dependencies, with the major highlight as the upgrade to tokio 1.0
2021-01-10 13:41:56 +10:00
William Brown 0f6bc36cee Improve docker buildr 2020-12-30 12:29:01 +10:00
Firstyear faa4b74683
320 filter double verify (#339)
Fixes #320, remove double verification of filters. In addition this replaces attr strings with smartstring to allow better inling due to their static and compact nature.
2020-12-30 09:53:19 +10:00
William Brown df441769ec (cargo-release) version 1.1.0-alpha.3 2020-12-28 09:51:15 +10:00
Firstyear 9dbb5ccb59
Unixd - NXCache of unknown items (#338)
Previously we would only cache "hits" - items that kanidm is aware
of and did know about. However, this mean querying a raw uid/gid
number that was not known to files or kanidm would result in kanidm
doing an online check each request.

This adds a NXcache to cache misses, so they can be served as misses,
faster, and to reduce load on the main kanidm servers.

Fixes #336
2020-12-28 09:41:16 +10:00
Firstyear ebdb57bbe7
WIP - Improve Auth Proto to Support Webauthn (#333)
This is a rewrite of the "on the wire" json for auth. This is a breaking change required to allow webauthn to work given limitations within Webauthn as a standard and how mixed credentials are challenged for.
2020-12-26 13:58:32 +10:00
Firstyear ec48edac82
13 135 webauthn support (#332)
Fixes #13 and Fixes #135 - webauthn and webauthn with cli. This is the core of webauthn, but only as a single factor. Some changes are still needed for webauthn as MFA and as a verified single factor. This will be made in a subsequent PR.
2020-12-02 11:12:07 +10:00
Firstyear dc319a98ac
Change root user check to warning due to container run times (#328)
Fixes #327 - In container run times, the default is to run as root. This may be user with virtualised containers or even to just smooth the "first run" process rather than requiring a user for the process and volumes.
2020-10-30 11:12:06 +10:00
Firstyear 1a57aa9ea0
Fixes #324 account softlocking and rate limiting (#326)
This provides bruteforce protection and ratelimiting to stop
classes of attacks. This impacts all areas where a password or
authentication is performed (unix, ldap, auth).
2020-10-22 14:40:31 +10:00
Firstyear 018039b0b2
Account valid-from and expiry (#322)
Fixes #59 account policy and lockout. This is achived with a valid_from and expire attribute that are timestamps. Cli tools are added to manage these.
2020-10-10 10:31:51 +10:00
William Brown 3e4926070b (cargo-release) version 1.1.0-alpha.2 2020-10-01 10:04:25 +10:00
Firstyear 4bf8ef72d5
250 cookie to auth bearer (#321)
Fixes #250, replacing cookies with auth-bearer tokens. This is done using fernet with randomised keys each startup. The reason for this is that in the future the size of the auth token may exceed cookie limits, so we must be able to understand and process auth bearer. Additionaly, this lets us store the tokens for say the kanidm cli as reqwest today can't persist a cookie jar.
2020-09-18 13:19:57 +10:00