Valentin Tolmer
e458aca3e3
db: Change the DB storage type to NaiveDateTime
...
The entire internals of the server now work using only NaiveDateTime,
since we know they are all UTC. At the fringes (LDAP, GraphQL, JWT
tokens) we convert back into UTC to make sure we have a clear API.
This allows us to be compatible with Postgres (which doesn't support
DateTime<UTC>, only NaiveDateTime).
This change is backwards compatible since in SQlite with
Sea-query/Sea-ORM, the UTC datetimes are stored without a timezone, as
simple strings. It's the same format as NaiveDateTime.
Fixes #87 .
2023-01-13 15:50:03 +01:00
Valentin Tolmer
692bbb00f1
db: Change the version number from u8 to i16
...
This is the smallest integer compatible with all of MySQL, Postgres and
SQlite.
This is a backwards-compatible change for SQlite since both are
represented as "integer", and all u8 values can be represented as i16.
2023-01-13 15:50:03 +01:00
Valentin Tolmer
665e525f0a
server: fix user password setting
...
It used to try to set all user IDs to the same, which would fail if
there is more than 1 user.
2022-11-30 08:38:21 +01:00
Valentin Tolmer
09a0522e2d
server: move domain types to a separate file
2022-11-25 15:35:48 +01:00
Valentin Tolmer
e89b1538af
server,app: migrate to sea-orm
2022-11-25 15:35:48 +01:00
Waldemar Heinze
a4408cfacc
server: prefer immutable path
2022-11-25 00:14:29 +01:00
Waldemar Heinze
a3216a4550
server: fix clippy's suggestions
2022-11-24 23:52:57 +01:00
Waldemar Heinze
2668ea4553
server: make host
configurable to enable IPv6 support
...
This change also separates the API host and the LDAP host for further customization.
2022-11-24 23:39:11 +01:00
Michał Mrozek
dd7e392626
server: use async api for email sending
...
Fixes #378
2022-11-24 14:47:56 +01:00
Valentin Tolmer
e81c87f288
server,app: Add support for resetting your password with email
...
Instead of just username
Fixes #267
2022-10-29 15:04:45 +02:00
Valentin Tolmer
234cb70b97
server: fix handling of present filters
...
If the filter name was not in the list of attributes to return, it
wouldn't be counted as a valid attribute, meaning that the aliases of
attributes were not recognized.
Fixes #351
2022-10-26 09:29:02 +02:00
Valentin Tolmer
27144ee37e
server: Add support for creating a user through LDAP
2022-10-20 10:09:17 +02:00
Valentin Tolmer
2477439ecc
server: Improve rootDSE
...
Matches the case-insensitive "objectclass" filter, fix the reported
version, and declares the name context and some other attributes.
Potential fix to #330 .
2022-10-19 17:35:45 +02:00
Valentin Tolmer
ff66e918cf
server: increase max payload size to 16MB
...
Fixes #337
2022-10-19 17:28:25 +02:00
Valentin Tolmer
4c69f917e7
server: Improve equality handling in filters
...
Now the columns are checked and mapped to user columns, to avoid any
ambiguity.
Fixes #341 .
2022-10-19 08:43:38 +02:00
Valentin Tolmer
8d19678e39
server: refactor sql backend handler
...
And add some missing tests
2022-10-18 13:04:59 +02:00
Valentin Tolmer
35aa656677
server: refactor ldap_handler
...
Split it into several files, move them into the domain folder, introduce
`LdapError` for better control flow.
2022-10-17 14:39:44 +02:00
Valentin Tolmer
0be440efc8
server: Start versioning the DB schema
...
In preparation for #67 .
2022-10-17 09:38:37 +02:00
Valentin Tolmer
32850d4ff9
ldap: add entryUUID to the default fields
...
It should help with #293 .
2022-10-12 18:35:40 +02:00
Valentin Tolmer
3aaf53442b
server: implement healthcheck
2022-10-12 16:44:52 +02:00
Valentin Tolmer
b3f64c6efe
Bump version to 0.4.2-alpha
2022-10-10 21:09:34 +02:00
Valentin Tolmer
32f28d664e
Bump to version 0.4.1
2022-10-10 17:46:34 +02:00
Valentin Tolmer
5402aa5aa2
server: Silence error message when creating DB
...
Fixes #300
2022-09-30 15:12:15 +02:00
Valentin Tolmer
8069516283
server: Add support for PKCS1 keys
...
Fixes #288
2022-09-30 13:56:03 +02:00
Valentin Tolmer
6c21f2ef4b
clippy: fix warning by implementing Eq
2022-09-27 06:54:29 +02:00
Valentin Tolmer
516893f1f7
server: Fix query building of chained ands/ors
...
Fixes #303
2022-09-27 05:14:57 +02:00
Valentin Tolmer
7e1ce10df1
server: allow every config value to be specified as a file
...
By using https://crates.io/crates/figment_file_provider_adapter
Fixes https://github.com/nitnelave/lldap/issues/263
2022-09-14 11:16:50 +02:00
Valentin Tolmer
60c594438c
ldap: Stop returning empty attributes
2022-08-09 13:03:28 +02:00
Valentin Tolmer
b130965264
ldap: return user's avatar
2022-08-09 13:03:28 +02:00
Valentin Tolmer
697a64991d
server: Change attribute values to bytes
2022-08-09 13:03:28 +02:00
Valentin Tolmer
3acc448048
server: Add support for users' avatars in GrahpQL
2022-08-09 13:03:28 +02:00
Valentin Tolmer
64556fc744
server: stop returning "dn" as an attribute
...
It's already part of the base response
Fixes #254 .
2022-08-01 18:26:47 +02:00
Valentin Tolmer
134a9366f5
server: create private key with 400 permissions
...
Fixes #261 .
2022-08-01 17:43:37 +02:00
Valentin Tolmer
c108921dcf
server: Add a log message when search is restricted
...
Fixes #264 .
2022-08-01 14:02:24 +02:00
Valentin Tolmer
897704fab3
server: Fix extra error message when DB doesn't exist
...
Fixes #270
2022-08-01 09:14:39 +02:00
dependabot[bot]
3e3c9b97ae
build(deps): bump juniper from 0.15.9 to 0.15.10
...
Bumps [juniper](https://github.com/graphql-rust/juniper ) from 0.15.9 to 0.15.10.
- [Release notes](https://github.com/graphql-rust/juniper/releases )
- [Changelog](https://github.com/graphql-rust/juniper/blob/master/release.toml )
- [Commits](https://github.com/graphql-rust/juniper/compare/juniper-v0.15.9...juniper-v0.15.10 )
---
updated-dependencies:
- dependency-name: juniper
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-07-30 19:22:59 +02:00
Valentin Tolmer
8c1ea11b95
server: add an option to use STARTTLS for smtp
2022-07-30 15:58:58 +02:00
Valentin Tolmer
cd0ab378ef
server: deprecate smtp.tls_required, add smtp_encryption
2022-07-30 15:58:58 +02:00
Iván Izaguirre
5c584536b5
frontend: Add UUID and creation date
...
This exposes the new info in the GraphQL API, and adds it to the frontend.
2022-07-21 12:10:37 +02:00
Valentin Tolmer
c399ff2bfa
server: switch from OpenSSL to Rustls
2022-07-15 15:49:15 +02:00
Frank Moskal
9e37a06514
server: allow admin email to be set via config
2022-07-13 14:32:35 +02:00
Valentin Tolmer
294ce77a47
server: Fix misc clippy warnings
2022-07-13 12:43:51 +02:00
Valentin Tolmer
91d12a7e97
release: v0.4.0
2022-07-08 19:02:20 +02:00
Valentin Tolmer
cf19fd41b0
server: Update permission checks for strict_readonly
2022-07-08 19:02:20 +02:00
Valentin Tolmer
500a441df7
server: Migrate from lldap_readonly to lldap_strict_readonly
2022-07-08 19:02:20 +02:00
Valentin Tolmer
6701027002
release: Release version 0.3.0
2022-07-08 14:49:01 +02:00
Valentin Tolmer
fab884711f
server: Make objectClass matching case-insensitive
...
Fixes https://github.com/nitnelave/lldap/issues/189
2022-07-08 12:00:55 +02:00
Valentin Tolmer
1a37e1ee04
server: Allow readonly users to change non-admin passwords
2022-07-08 11:49:13 +02:00
Valentin Tolmer
8c3a168c7f
server: remove spurious debug message
2022-07-06 00:15:08 +02:00
Valentin Tolmer
c6ffaa2abf
server: fix member_of for users with no groups
2022-07-05 18:15:38 +02:00