Commit graph

422 commits

Author SHA1 Message Date
dependabot[bot] a97f4402b5
Bump uuid from 1.1.1 to 1.1.2 (#821) 2022-06-13 08:51:38 +10:00
dependabot[bot] a18ff9e2e4
Bump tracing from 0.1.34 to 0.1.35 (#820) 2022-06-13 08:51:23 +10:00
Mateus Amin 50a253027b
Clap Migration (#817) 2022-06-11 15:24:29 +10:00
James Hodgkinson c5ea14d0cf
adding new favicon and square logo, updating build scripts (#819) 2022-06-10 15:07:19 +10:00
dependabot[bot] 9a7c6eeec7
Bump tokio-util from 0.7.2 to 0.7.3 (#814)
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.2 to 0.7.3.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.2...tokio-util-0.7.3)

---
updated-dependencies:
- dependency-name: tokio-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-06 08:26:05 +10:00
dependabot[bot] ed32e10547
Bump uuid from 1.1.0 to 1.1.1 (#813)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.1.0...1.1.1)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-06 08:23:41 +10:00
dependabot[bot] 032c324295
Bump tokio from 1.18.2 to 1.19.1 (#812)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.18.2 to 1.19.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.18.2...tokio-1.19.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-06 08:22:36 +10:00
Firstyear b97d13d284
383 170 164 authentication updates - credential update webui! (#809) 2022-06-05 16:30:08 +10:00
James Hodgkinson 06eeead51d
updates the oauth2 URL, updating book layout (#807) 2022-06-05 15:08:02 +10:00
James Hodgkinson 7d27612174
Windows automagical buildingtons (#798)
* windows build automation
* making fmt happy, fixing windows-related bug
* disabled cargo_incremental when using `sccache`, added build options ARG to Dockerfile, limit docker build to one job
2022-05-31 14:13:21 +10:00
Kellin 48e0fd7d21
Set default value for SCCACHE_REDIS build arg (#792)
- Set a default value in the Dockerfile for SCCACHE_REDIS so that, at
  build time, it does not fail with the new behavior because nothing was
  actually being passed into the container.
2022-05-29 13:43:01 +10:00
James Hodgkinson f93e2cbf28
closes #788 - moves info messsage about webui path (#790) 2022-05-27 22:49:08 +10:00
dependabot[bot] 40b29e14ca
Bump uuid from 1.0.0 to 1.1.0 (#784)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases)
- [Commits](https://github.com/uuid-rs/uuid/compare/1.0.0...1.1.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-26 22:03:37 +10:00
dependabot[bot] de3314d0e5
Update validator requirement from ^0.14.0 to ^0.15.0 in /kanidmd/idm (#782)
Updates the requirements on [validator](https://github.com/Keats/validator) to permit the latest version.
- [Release notes](https://github.com/Keats/validator/releases)
- [Changelog](https://github.com/Keats/validator/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Keats/validator/compare/v0.14.0...v0.15.0)

---
updated-dependencies:
- dependency-name: validator
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-26 22:02:19 +10:00
dependabot[bot] 08d27fea21
Bump tikv-jemallocator from 0.4.3 to 0.5.0 (#786)
Bumps [tikv-jemallocator](https://github.com/tikv/jemallocator) from 0.4.3 to 0.5.0.
- [Release notes](https://github.com/tikv/jemallocator/releases)
- [Changelog](https://github.com/tikv/jemallocator/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tikv/jemallocator/commits)

---
updated-dependencies:
- dependency-name: tikv-jemallocator
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-26 21:58:43 +10:00
Firstyear ee4e9b906b
Resolve linker issues on arm. (#787) 2022-05-26 21:13:07 +10:00
James Hodgkinson b6d3a0511f
Yak shaving 2343443 (#779) 2022-05-26 14:58:53 +10:00
Firstyear c26ccb9b38
Improve token readability, Fix issue with spn format (#773) 2022-05-24 13:49:51 +10:00
Firstyear 241e0eeb4d
At some point, you have to pay for your tech debt. (#759)
This replaces the unmaintained serde_cbor with serde_json in both
db and IPC contexts. It changes the database on disk format to align
better to how we structure values in memory making it faster to load
entries when they aren't cached. And this breaks down the horrible
ValueSet enum to dyn trait types, which has a huge performance
improvement to the server.
2022-05-24 10:49:34 +10:00
Kellin deedb9560b
Fix typo in Dockerfile (#770)
- Change `mantainer` to `maintainer` in the Dockerfile label
2022-05-23 16:44:42 +10:00
dependabot[bot] 92fe11ce41
Bump libc from 0.2.125 to 0.2.126 (#763)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.125 to 0.2.126.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.125...0.2.126)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-23 08:16:48 +10:00
dependabot[bot] 56cb936e59
Bump concread from 0.3.2 to 0.3.4 (#764)
Bumps [concread](https://github.com/kanidm/concread) from 0.3.2 to 0.3.4.
- [Release notes](https://github.com/kanidm/concread/releases)
- [Commits](https://github.com/kanidm/concread/compare/v0.3.2...v0.3.4)

---
updated-dependencies:
- dependency-name: concread
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-23 08:16:03 +10:00
dependabot[bot] 338ca7c0ed
Bump regex from 1.5.5 to 1.5.6 (#765)
Bumps [regex](https://github.com/rust-lang/regex) from 1.5.5 to 1.5.6.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.5.5...1.5.6)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-23 08:14:02 +10:00
dependabot[bot] 7d7656ec24
Bump tokio-util from 0.7.1 to 0.7.2 (#757) 2022-05-17 12:50:41 +10:00
James Hodgkinson 5dc17c0c74
Dockerized containerybuilds (#741)
* let us see if we can dockerize this crab
2022-05-08 13:00:34 +10:00
James Hodgkinson d5fbb91a1c
Adding Content-Security-Policy Headers and auto-generating integrity hashes (#740)
* Adding Content-Security-Policy Headers and auto-generating integrity hashes
* created favicon and WASM loader as their own files
* adding .map files from bootstrap
2022-05-06 14:20:52 +10:00
Firstyear 12852cf0a0
383 170 164 authentication updates 4 (#739)
* Codes and TOTP done!
* Cleanup
2022-05-06 09:52:58 +10:00
James Hodgkinson da7ae6118c
Orca output dir fix (#737) 2022-05-03 13:24:39 +10:00
dependabot[bot] 71f6c193a0
Bump serde from 1.0.136 to 1.0.137 (#731) 2022-05-02 10:30:09 +10:00
dependabot[bot] 3f898ab66b
Bump libc from 0.2.124 to 0.2.125 (#732) 2022-05-02 10:06:52 +10:00
dependabot[bot] cca1eee3d2
Bump serde_json from 1.0.79 to 1.0.80 (#733) 2022-05-02 10:06:40 +10:00
William Brown 980f358d85 Push some missed bits to documents 2022-05-01 15:18:26 +10:00
William Brown b6be05248c (cargo-release) version 1.1.0-alpha.8 2022-05-01 13:58:18 +10:00
Firstyear 53f3260285
Remove async references (#724) 2022-04-29 13:23:46 +10:00
Firstyear 8dc0199380
383 170 164 authentication updates 3 (#723) 2022-04-29 13:03:21 +10:00
James Hodgkinson 5eb9fa604e
Making the login path nicer, dev scripting (#721)
* making username-not-found messages nicer
* adds a script to run a dev server easier
2022-04-29 10:44:57 +10:00
Firstyear a58edc5128
20220427 dependency updates (#718) 2022-04-27 13:35:26 +10:00
Firstyear 9ade567a52
383 170 164 authentication updates 2 (#716)
Add foundations for credential update sessions.
2022-04-27 10:56:18 +10:00
Euan Kemp 9427d27141
Add a new ACP and group allowing self-service mail updates (#672)
* Add a new ACP and group allowing self-service mail updates

This adds a new "idm_people_self_write_mail_priv" group which follows
the existing canned group+acp format closely.

This also adds a test for the functionality

See the discussion in #648 for a bit more background

* Limit the self-write ACP to targets with the "account" class

Per feedback on #672, it's better to limit these APIs specifically to
accounts.

* Fix up

Co-authored-by: Firstyear <william.brown@suse.com>
2022-04-13 20:45:45 +10:00
Euan Kemp 0c3ce226cf
Add 'account person set' command (#667)
* Add 'account person set' command

This command allows a user to modify, say, their legal name in a
self-service fashion.

This wasn't possible before by default since the 'extend' operation
required additional ACPs in order to operate which not every user would
have.

The new "person set" api is compatible with the default self_write ACP,
and so allows self-service modification.

* Add a short section on people attributes to the book
2022-04-02 13:24:07 +10:00
James Hodgkinson 134235ef7f
Specifying MSRV in package now (#664)
* specifying MSRV in package now
2022-03-31 14:12:53 +10:00
James Hodgkinson a61ef91ac6
Fixes 654 - make DEVELOPER_README valid (#656)
* updating dev readme and scripting

* fixing confusing debug message about config loading
2022-03-28 08:36:25 +10:00
Firstyear bd41ef8f91
Add design doc, revive the domain wide enc token (#649)
* Add design doc, revive the domain wide enc token, use jwt from our lib instead of bundy, update docs
2022-03-14 17:29:04 +10:00
Firstyear fa610c6d88
106 auth concurrency (#643) 2022-03-07 09:22:35 +10:00
Firstyear f252d91e13
20220219 webui updates + source refactor + clippy go clip clip (#642) 2022-02-20 12:43:38 +10:00
Firstyear 6e1ed9ea07
Update to concread, add hooks for cache quiescing (#641) 2022-02-16 09:20:37 +10:00
Firstyear 840024f006
Change how domain names are handled in our configuration. (#639) 2022-02-15 16:17:43 +10:00
William Brown 4c74fffede Fix relative path in oauth2 workflow 2022-02-09 15:28:43 +10:00
Firstyear a2bd54c4cb
Improve access controls for IDM admins to manage account radius secrets. (#638)
Remove need for a bundler in wasm
2022-02-09 12:57:38 +10:00
Firstyear a0ef768fc8
Correct issuer to match url of connected client (#635) 2022-01-27 12:19:03 +10:00
Firstyear 2a282f8a89
20220104 resolve yew render issues (#632) 2022-01-09 10:47:21 +10:00
William Brown c8468199fc (cargo-release) version 1.1.0-alpha.7 2021-12-31 09:27:57 +10:00
Firstyear d25e3b338a
Pre-release update and cleanup (#631) 2021-12-31 09:11:20 +10:00
Firstyear c6c564cebb
Finalise email changes for oidc (#629) 2021-12-25 09:47:14 +10:00
Firstyear dc1dd11333
Temp use env filter (#628) 2021-12-21 11:56:23 +10:00
Firstyear 22682279aa
20211216 tracing cleanup (#627) 2021-12-17 13:54:13 +10:00
Firstyear 42df4bf1a3
Refactor of value and addition of base types for business attributes (#626) 2021-12-16 10:13:03 +10:00
James Hodgkinson 172c2e4825
Check before rename for #622 (#624) 2021-12-08 10:02:04 +10:00
James Hodgkinson b7837f3aae
add logging for oauth2 errors (#620) 2021-11-25 14:55:12 +10:00
Firstyear fad0dd86e0
Improve book and errors related to domain name and origin mismatch (#617) 2021-11-25 08:37:50 +10:00
Kerstin 492cb653e8
Make sure that effective domain actually is descendant of rp_id (#618) 2021-11-25 08:30:39 +10:00
Firstyear 0f4189a57e
278 603 OIDC implementation (#608) 2021-11-21 16:41:49 +10:00
Firstyear 761bed0569
20211010 rfc7662 token introspect (#607) 2021-10-26 13:00:02 +10:00
Firstyear c9ef4fe5df
Setup for webauthn subdomain support (#598) 2021-10-20 14:42:43 +10:00
Firstyear 8e3525c736
Fix state parameter to be string (#602) 2021-10-20 14:00:14 +10:00
James Hodgkinson a993eb9cf3
changing errors to errors (#599) 2021-10-17 21:28:04 +10:00
James Hodgkinson b0542c7e54
Adding some extra fields to logging on-request (#595) 2021-10-17 21:20:48 +10:00
Quinn f1e4a4c7e2
Integrated compiled-uuid into kanidmd/src/lib/constants/uuids.rs (#593) 2021-10-11 14:49:32 +10:00
Firstyear a09c1bc169
fixes (#589) 2021-10-10 08:44:58 +10:00
Firstyear c62b39c338
509 oauth2 scope mapping (#586) 2021-10-07 18:31:48 +10:00
Quinn d59ddcc74a
Added num-enum support for runtime enums (#585) 2021-10-02 09:02:36 +10:00
William Brown c9f4b1dc2e (cargo-release) version 1.1.0-alpha.6 2021-10-01 11:44:25 +10:00
Firstyear 573e346476
Add support for storing security token key in domain config (#581) 2021-09-25 11:24:00 +10:00
Firstyear dbb57e9a7b
Remove auditscope for tracing (#580) 2021-09-21 12:42:00 +10:00
Firstyear 2fbc92668c
Entry Arc Tracking to reduce memory footprint (#579) 2021-09-17 12:05:33 +10:00
Firstyear d2bb9cead4
Rewrite how we store the internals of valuesets in entries (#578) 2021-09-15 08:24:37 +10:00
Firstyear 0c1ad4e5fe
Swap to tide-openssl (#575) 2021-08-29 12:34:55 +10:00
Firstyear 1080e5d0b4
Start to remove audit scope :) (#574) 2021-08-26 11:48:03 +10:00
Firstyear 09e83a98c6
Fix io capture in tests (#573) 2021-08-24 14:23:53 +10:00
Firstyear 9456cac15b
Qnn idiomatic refactor (#570) 2021-08-21 14:44:55 +10:00
Quinn a3c0b8ccfe
Customized tracing for tide::Middleware logging (#544) 2021-08-19 11:04:24 +10:00
Firstyear 3f27267ea4
508 token introspect (#565) 2021-08-18 09:41:04 +10:00
Firstyear 002e3d696b
Add stricter headers (#546) 2021-08-16 13:37:15 +10:00
James Hodgkinson 80753451ca
updating well-known URI to meed OIDC spec (#563) 2021-08-11 10:17:03 +10:00
James Hodgkinson 1cb057ba1d
Improved LDAP client address logging, move AuditScope out a layer (#562) 2021-08-10 12:16:13 +10:00
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
Firstyear 29566b8f99
259 reduce clones (#319)
Fixes #259. Thanks to the linked worked example, we can reduce a problematic set of clones during filter metadata injection. Previously we had to create a new hashset every time we went to resolve index metadata in queries, but with this change we can now just use the copy-on-write hashset instead. This will improve cache access, reduces clones, and more. In a cargo test run this takes out nearly 15% of the execution time (on my system reducing the test time by nearly 35 seconds).

https://github.com/sunshowers/borrow-complex-key-example/blob/master/src/lib.rs
2020-09-11 12:39:05 +10:00
Firstyear bab44028f1
Xxx clippy outdated (#318)
This finishes some of the outstanding clippy issues that existed. Additionally, we updated all the project deps and updated libraries we could in the project. A bug exists currently in cargo outdated that is preventing further updates to this however, but that's a bit out of my hands.
2020-09-08 12:46:10 +10:00
Firstyear 0041445b73
314 improve async (#316)
this completely removes actix and actix-web from the codebase, replacing it with tokio and http-rs/tide. Due to a current temporary limit in tokio parts with openssl/libressl, rustls is used for the webserver, but I'll change this back once that issue is resolved. For now there are likely some other clippy issues, but the next step now is that I can finally run cargo outdated and update this and the other kanidm/* deps to be up to date due to no longer being held back on versions by actix. So following this, I need to finish clippy warnings, and run cargo outdated and cargo audit.
2020-09-06 08:44:35 +10:00
Firstyear dbfe87e675
On login pw upgrade (#315)
Fixes #295 on login pw upgrade. This adds support for SSHA512 to be imported at the request of @colbyprior, and adds a delayed action queue so that events can be run after-the-fact so that authentication does not need to exist under the write path.
2020-08-24 12:15:21 +10:00
Firstyear bd8d2af420
Dynamic crypto rounds (#311) 2020-08-17 11:26:28 +10:00
Firstyear a6269de9ab
67 resource limits impl (#307)
Fixes #67 and #237 - this add's resource limits to all server accounts by default. These limits bound the size of search sets, how many entries can be tested with filter tests, disables unindexed queries, and limits the size of filters to prevent stack depth and other issues.
2020-08-15 15:22:04 +10:00
William Brown c428ffcec5 Build improvements 2020-08-09 10:44:10 +10:00
William Brown c626eb60a6 Support zfs page size 2020-08-05 10:05:58 +10:00
William Brown 85ec82832e V large cleanup 2020-08-05 09:58:49 +10:00
William Brown 217e3455a2 Cleanup and improve client error handling 2020-08-02 09:16:34 +10:00
William Brown c4805d2915 Improve server hardening
This adds a number of warnings to the server to help administrators make
better informed decisions about the security of their environment.
2020-07-31 14:55:14 +10:00
William Brown cdd7e0e49a Update deps + add simd support in container 2020-07-24 17:38:59 +10:00
Firstyear c8ac4970d8
Release Prep (#283) 2020-06-30 14:58:35 +10:00
Firstyear 96e6c9107d
refint improve (#274)
Fixes #61 and fixes #234 - this rewrites quite a few internals of refint and memberof to make them much more efficient compared to previously. This takes nearly 70s out of the test execution time - a full 25% of the run time of tests.

A number of other improvements have been made through out with regard to memory pre-alloc for hashset/hashmap, fixing some more types, and reducing some un-needed allocations.
2020-06-26 11:36:37 +10:00
Firstyear 0adec0d437
260 entry ava interfaces (#271)
Fixes #260 fixes #257 fixes #157. This is really a set of cleanups around the code base to minimise clones, choose better datastructures for specific tasks, improve the ability to pass references in certain calls and more. Generally this just makes everything a bit smoother, and really has big gains on the write path (it's about 20% faster now).
2020-06-24 21:17:46 +10:00