Commit graph

295 commits

Author SHA1 Message Date
William Brown a008ca3cf1 Follow up on ci fixes 2020-12-08 17:33:27 +10:00
Pando85 ec754ece37 Add port verification to start server in kanidm_client tests
Ports could be already allocated and tests start failing depending on the
execution environment.
2020-12-08 10:54:53 +10:00
Pando85 c554a0ce03 Update CI base image to ubuntu 20.04
Unit tests were failing cause sqlite version is 3.22 and `ubuntu-latest`
was poiting to Ubuntu 18.04. Also remove libssl because it is included.
2020-12-08 10:54:53 +10:00
Pando85 bdf5d20f8a Add libudev to ci
Tests were broken cause authenticator library needs it.
2020-12-08 10:54:53 +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
William Brown 050485fe12 Add passpoint link 2020-10-19 13:50:32 +10:00
William Brown 8d853405e0 Update tumbleweed docs 2020-10-14 13:05:45 +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 ca71b12b46 Fix for unixd 2020-10-01 15:31:39 +10:00
William Brown 764e7277fd Update 2020-10-01 10:11:21 +10:00
William Brown 229fe1b61c (cargo-release) version 1.1.0-alpha.2 2020-10-01 10:04:27 +10:00
William Brown 746af9c18f (cargo-release) version 1.1.0-alpha.2 2020-10-01 10:04:26 +10:00
William Brown ea0be21f4f (cargo-release) version 1.1.0-alpha.2 2020-10-01 10:04:26 +10:00
William Brown d2fab0659c (cargo-release) version 1.1.0-alpha.2 2020-10-01 10:04:26 +10:00
William Brown b62443a38f (cargo-release) version 1.1.0-alpha.2 2020-10-01 10:04:26 +10:00
William Brown 3e4926070b (cargo-release) version 1.1.0-alpha.2 2020-10-01 10:04:25 +10:00
William Brown 7837febabe (cargo-release) version 1.1.0-alpha.2 2020-10-01 10:04:25 +10:00
William Brown 784caa9368 gitignore 2020-10-01 10:04:14 +10:00
William Brown f4ccbfcaf7 Update Release Notes 2020-10-01 10:01:08 +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
Bill Jang 064533f8f6 Update README.md
Fix typo
2020-09-04 13:51:17 +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
William Brown e6e89ed13a Add python3 support to radius 2020-08-18 11:03:57 +10:00
Firstyear bd8d2af420
Dynamic crypto rounds (#311) 2020-08-17 11:26:28 +10:00
William Brown e34a848a88 tweak book chapter 2020-08-15 15:24:11 +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 7d00f76fa9 Update based on review 2020-08-09 10:44:10 +10:00
Firstyear 15fc1d9f50 Apply suggestions from code review
Co-authored-by: Charelle Collett <Charcol@users.noreply.github.com>
2020-08-09 10:44:10 +10:00
William Brown 351727ad02 doc 2020-08-09 10:44:10 +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
William Brown fe1747c2bf Add FAQ + eap selection 2020-07-17 18:53:47 +10:00
William Brown ca0e73defd Minor updates 2020-07-01 12:04:13 +10:00
William Brown 3f0d5f1909 tweak release steps 2020-07-01 09:12:07 +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
Firstyear 9aa03906f8
181 pam nsswitch name spn (#270)
This allows configuration of which attribute is presented during gid/uid resolution, adds home directory prefixing, and home directory name attribute selection.
2020-06-21 21:57:48 +10:00
Firstyear 0b15477ef4
212 262 db idl fixes (#269)
Fixes #212 and Fixes #262. This is largely a performance improvement and security improvement to how the databases are handled. The major cases are create/modify/reindex performance,
2020-06-19 10:00:54 +10:00
Firstyear fec28e03e2
195 rel cleanup (#268)
Fixes #195 pre release cleanup. This does a LOT, clippy, formatting, and much much more. It fixes a lot of parts of the book, improves server config and more.
2020-06-18 10:30:42 +10:00
Firstyear d47d4fed0a
245 ldap compat (#247)
Add's improvements to ldap compatibility. This stabilises DN formats and how they are returned, and adds the name2uuid index to help speed up binds and entry resolves on large queries. Even on the largest queries, this is able to process them rapidly, and the ldap interface now has single operation times of sub 0.001 second even on 100k entry databases with references.
2020-06-14 09:34:23 +10:00