Commit graph

74 commits

Author SHA1 Message Date
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 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 70fa17f3a1
199 ldap gateway (#246)
adds an LDAP gateway to the server. It supports TLS if configured for the webserver, using the same parameters. It is a read only interface, only supporting bind via the configured posix password.
2020-06-10 12:07:43 +10:00
Firstyear 4bed9c87bf
Improve errors, tagging, logging and more across the codebase. (#243) 2020-06-05 14:01:20 +10:00
Pando85 2670b6ae83 CI update all kanidm component version and tag
Add make entry to have all cargo versions updated from VERSION file.
Add `tag_version` github action to update all cargo.toml and tag it and
push it.
Remove cargo fmt check from CI because we have problems with different
versions and fails continually. Instead, we use cargo-husky to ensure
that all people run it automatically in its local, but this is not
obligatory.
Update to version 1.0.0-rc10, according to packages published.

In future cargo will support managing all dependencies from main
Cargo.toml. Ref: https://github.com/rust-lang/cargo/issues/3931

Resolve #225
2020-05-13 15:56:44 +10:00
Firstyear 15bc8d4120
101 idlcache (#224)
Fixes #101, concurrent caching of IDL and Entries. This yields a 10% improvement for test case execution, and 35% for tests run under --release mode. A lot of code around the code base was needed to be touched due to the extra need for mut in some operations and some lifetimes, but the majority of the work was in idl_arc_sqlite.rs, which has the cache layer. There are many performance gains yet to see, but most of those will come through improvement of the concread ARC and it's related BTree implementation.
2020-05-11 21:12:32 +10:00
Pando85 c2f77a47f3 Create light images with static binaries
- Change base builder image to `ekidd/rust-musl-builder` for create static
binaries.
- Add two flavours: alpine and stand alone binary.
- Add makefile commands for build, test and push kanidmd images and
  refactor previous code.
- Add missing things to `.dockerignore`.
- Refactor CI to use Makefile.
2020-05-06 11:07:01 +10:00
Pando85 d6acffd869 Fix sqlite fails in CI tests and fmt error
Add `libsqlite3-sys` crate to avoid sqlite3 missmatching version.

From [https://lib.rs/crates/libsqlite3-sys](https://lib.rs/crates/libsqlite3-sys)
> If you use the bundled feature, libsqlite3-sys will use the cc crate to compile SQLite from source and link against that. This source is embedded in the libsqlite3-sys crate and is currently SQLite 3.30.1 (as of rusqlite 0.21.0 / libsqlite3-sys 0.17.0). This is probably the simplest solution to any build problems.

Remove sqlite OS packages dependencies for build.

Also, we fix a format error to allow CI tests to pass again.
2020-05-06 10:16:26 +10:00
William Brown b8f906ed36 Update outdated libraries and add helper make argument. 2020-04-11 10:48:34 +10:00
William Brown 29d99654c3 Update to latest rc 2020-04-10 15:55:25 +10:00
Firstyear ceb6048bf0
122 password import design (#196)
Implements #122 password import. This adds most of the server core framework to allow password imports from other sources, with new types easily able to be added in credential.rs.
2020-03-27 08:27:07 +10:00
William Brown 32dcaa39ac Test perf improvements 2020-03-26 11:56:20 +10:00
Firstyear c5664988e3
Refactor for actix and futures upgrade (#190) 2020-03-07 10:49:39 +10:00
Firstyear 9de7d33293
129 nsswitch stage 2 groups (#185)
Implements #129, adding the libnss_kanidm.so/dylib, and the related caching parts for properly handling these types.
2020-02-15 10:57:25 +10:30
Firstyear 1e7ba58fe8
Add concurrent structures, and initial attempt at benchmarking (#173) 2020-01-26 19:55:53 +10:00
Tristram Healy 4470311f84 Replaced Firstyear 2020-01-17 11:57:30 +10:00
Alberto Planas bb298968ea Cargo: fix repository typo 2020-01-15 09:55:01 +10:00
Firstyear c8d73b7594
20191217 update 1.39 deps (#161)
Update to 1.39 + all deps update, and setup cargo.toml's for publishing to crates (to prevent domain/crate squatting).
2019-12-17 15:47:16 +10:00
Firstyear 2ede944fdb
29 password badlisting (#158)
Implements #29 password badlist and quality checking. This checks all new passwords are at least length 10, pass zxcvbn and are not container in a badlist. The current badlist is a preprocessed content of rockyou from seclists, but later wwe'll update this to the top 10million badlist which when processed is about 70k entries..
2019-12-13 08:49:32 +10:00
Firstyear 4de0d03eab
126 ssh key features (#146)
Implemnt SSH public key management

    This implements ssh public key distribution for kanidm, enforcing that
    valid ssh public keys are placed into the ssh_publickey attribute, adds
    management tools so that accounts can self-service manage their keys,
    and finally adds an authorized keys command helper suitable for
    sshd_config to utilise.
2019-11-16 14:40:45 +10:00
Firstyear 4f85883c32
Implement #8 indexing - today this is only eq and pres indexes, but (#102)
it does handle the cases correctly for test threshold, andnot, or,
and and exists shortcuts. It's also extremely well tested!
2019-09-25 12:38:20 +02:00
William Brown 0433a0a1d4 Complete the rename of the project from rsidm to kanidm 2019-09-14 15:58:28 +02:00
Renamed from rsidmd/Cargo.toml (Browse further)