2020-07-05 21:12:43 +02:00
|
|
|
* ldap0r
|
|
|
|
So far =ldap0r= is simply a very small web application just to reset
|
2020-07-08 21:22:20 +02:00
|
|
|
LDAP passwords. All it is capable of is to let an user enter its
|
|
|
|
email address and send an email containing a generated link to reset
|
|
|
|
the LDAP password, that's it so far. My motivation was to have
|
|
|
|
something "suckless" which does not depend on PHP or similar insane.
|
2020-07-05 21:12:43 +02:00
|
|
|
|
|
|
|
** Installation
|
2020-07-08 21:22:20 +02:00
|
|
|
A rust nightly toolchain which can be acquired via https://rustup.rs
|
2020-07-05 21:12:43 +02:00
|
|
|
is needed in order to successfully build =ldap0r=. Install =rustup=,
|
|
|
|
download rust nightly, then clone this repository, set the
|
|
|
|
toolchain inside the source directory to nightly, build and run it.
|
|
|
|
|
|
|
|
#+BEGIN_SRC sh
|
|
|
|
rustup toolchain install nightly
|
|
|
|
git clone https://git.onders.org/finga/ldap0r.git
|
|
|
|
cd ldap0r
|
|
|
|
rustup override set nightly
|
|
|
|
cargo run
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
The application can be configured with the =Rocket.toml=
|
|
|
|
configuration file.
|
|
|
|
|
2020-07-08 21:22:20 +02:00
|
|
|
** Contribution
|
|
|
|
I am open for suggestions and appreciate any feedback.
|
|
|
|
|
2020-07-05 21:12:43 +02:00
|
|
|
** Todo List
|
2020-07-08 21:22:20 +02:00
|
|
|
*** Password reset [5/11]
|
|
|
|
**** DONE Form to send reset link
|
|
|
|
**** DONE Parse URL with reset key
|
2020-07-05 21:12:43 +02:00
|
|
|
**** DONE Cleanup all unwraps
|
|
|
|
**** DONE Proper error handling
|
|
|
|
**** DONE Implement proper logging
|
|
|
|
**** TODO Make `keys.lock()` properly thread safe
|
|
|
|
**** TODO Check for existing keys
|
|
|
|
**** TODO Implement key validity timeout
|
|
|
|
**** TODO Implement proper tests
|
2020-07-08 21:22:20 +02:00
|
|
|
**** TODO Optionally store key persistently between restarts
|
|
|
|
**** TODO Should =tera= templates instead of =handlebar= templates be used?
|
2020-07-05 21:12:43 +02:00
|
|
|
|
|
|
|
*** Configuration [0/5]
|
|
|
|
**** TODO Fix domain config
|
|
|
|
**** TODO Make size of key configurable
|
|
|
|
**** TODO Make key validity timeout
|
|
|
|
**** TODO Make it possible to send emails over encrypted connections
|
|
|
|
**** TODO Make html/text emails configurable
|
|
|
|
|
|
|
|
*** Login Section (not sure if going to happen)
|