Commit graph

95 commits

Author SHA1 Message Date
Simon Beck
f05e41c9aa Improve password hash handling
This adds support for more hash algorithms. Also a stored password will
be updated to SSHA512 upon a successful bind. It will also automatically
hash a cleartext password if the `userpassword` field is modified with
a cleartext one.

Hashes supported:
* SSHA
* SSHA256
* SSHA512
2022-02-10 20:51:01 +01:00
dbd9003714
Disable reconnect in tests + some cosmetic changes 2021-09-16 13:52:46 +02:00
a08be6b395
Patch ASN.1 BER encoding of integers and length + unit tests 2021-09-16 13:51:43 +02:00
2a844bd559
Encoding errors must be logged 2021-09-16 13:47:09 +02:00
2707dd77c5
Use vendored goldap 2021-09-16 13:46:18 +02:00
477d7014ed
Vendor goldap 2021-09-16 13:41:01 +02:00
MrArmonius
a53641e773 Correct the function GenerateName
The problem was the encode in `name += string(alphabet[])`
It takes only 1 byte but the characters like 'è','@' are encoding
on several bytes (1 to 4 bytes).
The better solution was to create a slice of string, like this
we don't have problem about take only one byte instead of 2,3 or 4
bytes.
2021-07-26 15:36:45 +02:00
MrArmonius
9a8c19ec0f Bottin's Test V2.0 with Framework Testing
V2 the test end-to-end,
Tests made similar to V1.0,

Add the possibility to pararellize the tests,
Create an environnement for easy integration of news test,
2021-07-19 18:57:40 +02:00
MrArmonius
da627ac39a Script in ash to launch our test V1.0 (end-to-end) in a Consul's
container
2021-07-19 18:57:40 +02:00
MrArmonius
a98556d5c1 Test End-to-end V1.0, testing Bottin's behavior
Tests wrote in golang without framework Testing on the Bottin's behavior

Tests made:
- crated random Users and Group - LDAP ADD
- check the match between Consul's data and Test's data- LDAP
  Search
- modify attributes and check them -
  LDAP Modify
2021-07-19 18:56:47 +02:00
aa912b5ceb Add drone signature 2021-04-05 12:19:02 +02:00
c32d605a11 Fix logo in readme 2021-04-05 11:53:42 +02:00
91bd4c35dd Drone CI badge for branch main 2021-04-05 11:49:16 +02:00
2b0c6f09ff Update bottin version in hcl example 2021-03-09 19:08:59 +01:00
99d8955ab3 Refactor & add case normalization logic to putAttributes 2021-03-09 19:00:45 +01:00
1a20a64eff Refactoring 2021-03-09 18:30:59 +01:00
dc3fd4df65 Use consul's stale reads by default 2021-03-09 18:24:30 +01:00
b17e3fe3c7 Add bottin CI badge 2021-02-08 14:44:44 +01:00
af6dd95107 test add drone CI 2021-02-08 14:12:52 +01:00
e4b5c67be0 Style changes 2020-11-13 12:55:32 +01:00
4367e4a232 Fix horrible, horrible bug 2020-11-13 12:47:54 +01:00
f43934a7b9 Fix image link in README.md 2020-04-04 18:55:58 +02:00
15b2b812bf Add use case paragraph in README 2020-03-11 08:42:25 +01:00
f244607a7a Mention Guichet in README 2020-02-28 18:31:44 +01:00
825aa77089 Hopefully, fix most case-sensitivity issues
- DNs are always used in canonical form: lowercase, no spaces. This is
  how they are internally handled and stored in paths and fields such as
  member and memberof
- Attribute names now can have any combination of lower/uppercase and
  stuff should work
- When modifying an attribute with a name that hase a different
  lower/upper combination than the previously stored value, keep the
  previous attribute name
- Trim spaces from values and do not store empty values
2020-02-15 12:07:31 +01:00
0c4d55895c Update docker image version 2020-02-14 22:03:46 +01:00
afcad41e85 Use lowercase attributes objectclass and structuralobjectclass 2020-02-14 21:26:43 +01:00
fd6a555216 Ensure objects have an objectclass property 2020-02-14 21:23:01 +01:00
81328aa321 Update docker image to version 12 2020-02-13 17:56:44 +01:00
13d8cf028a Add a function to resync member/memberOf values over the database 2020-02-13 14:41:49 +01:00
49be2069f6 Refactor memberOf management logic 2020-02-13 14:41:49 +01:00
6f893138a3 Make getAttribute return an empty array instead of nil when key not found 2020-02-13 14:41:49 +01:00
851573e28f Fix equality test in ldap compare request 2020-02-13 14:41:49 +01:00
c3d30df155 Update Docker image 2020-02-12 17:39:09 +01:00
8ca2d39971 Optimize some kv.List requests to not list all children 2020-02-12 15:14:58 +01:00
e52a1f74a3 Handle search attribute * 2020-02-11 23:20:33 +01:00
9e365d4b53 Update nomad hcl file to use template instead of artifact 2020-02-10 17:45:10 +01:00
938311a48e Make Makefile more generic 2020-02-10 11:54:36 +01:00
8e819b7d5c Modify initial administrator account to include displayname attribute 2020-02-10 11:37:39 +01:00
0402f7806a Implement (inefficiently) search scopes 2020-02-09 18:36:27 +01:00
d02bd17b16 Fix logo path (broken due to repo renaming) 2020-02-02 22:04:46 +01:00
adc5ecdbbc Change some Printf's to Debugf's 2020-02-02 16:51:23 +01:00
f32c272db2 Merge branch 'gomod' of Deuxfleurs/bottin into master 2020-02-02 15:01:35 +01:00
a6faceb559
Import upstream lor00x/goldap reposity 2020-02-02 14:47:16 +01:00
3644fdfe61
Rename go module to bottin 2020-02-02 14:32:37 +01:00
0c801e02d5 Remove spaces between dn components, use warnings when necessary 2020-02-02 13:53:29 +01:00
4c037dcb94 Bug fix: case-insensitive value match (except for passwords) 2020-02-02 13:32:12 +01:00
e9e7a4cb4b Update README with accurate info on how to build Bottin 2020-02-02 12:34:52 +01:00
0274ab0038
Implements go modules
Following errors compiling with go 1.13
See https://blog.golang.org/migrating-to-go-modules for details.
2020-02-02 12:10:02 +01:00
8de94a32a8 CSS 2020-02-01 16:47:37 +01:00