ldap0r/README.md

100 lines
2.2 KiB
Markdown
Raw Permalink Normal View History

# Table of Contents
2020-07-08 21:22:20 +02:00
1. [ldap0r](#orgf56b909)
1. [Installation](#org6f0551a)
2. [Contribution](#org8358327)
3. [Todo List](#orga6f7ebf)
1. [Password reset <code>[5/11]</code>](#org83950f1)
2. [Configuration <code>[0/5]</code>](#orgf7ec86e)
3. [Login Section (not sure if going to happen)](#org9f168b0)
2020-07-08 21:22:20 +02:00
<a id="orgf56b909"></a>
# 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-08 21:22:20 +02:00
<a id="org6f0551a"></a>
## Installation
2020-07-08 21:22:20 +02:00
A rust nightly toolchain which can be acquired via <https://rustup.rs>
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.
rustup toolchain install nightly
git clone https://git.onders.org/finga/ldap0r.git
cd ldap0r
rustup override set nightly
cargo run
The application can be configured with the `Rocket.toml`
configuration file.
2020-07-08 21:22:20 +02:00
<a id="org8358327"></a>
## Contribution
I am open for suggestions and appreciate any feedback.
<a id="orga6f7ebf"></a>
## Todo List
2020-07-08 21:22:20 +02:00
<a id="org83950f1"></a>
2020-07-08 21:22:20 +02:00
### Password reset <code>[5/11]</code>
2020-07-08 21:22:20 +02:00
1. DONE Form to send reset link
2020-07-08 21:22:20 +02:00
2. DONE Parse URL with reset key
3. DONE Cleanup all unwraps
4. DONE Proper error handling
5. DONE Implement proper logging
6. TODO Make \`keys.lock()\` properly thread safe
7. TODO Check for existing keys
8. TODO Implement key validity timeout
9. TODO Implement proper tests
2020-07-08 21:22:20 +02:00
10. TODO Optionally store key persistently between restarts
11. TODO Should `tera` templates instead of `handlebar` templates be used?
2020-07-08 21:22:20 +02:00
<a id="orgf7ec86e"></a>
### Configuration <code>[0/5]</code>
1. TODO Fix domain config
2. TODO Make size of key configurable
3. TODO Make key validity timeout
4. TODO Make it possible to send emails over encrypted connections
5. TODO Make html/text emails configurable
2020-07-08 21:22:20 +02:00
<a id="org9f168b0"></a>
### Login Section (not sure if going to happen)