Commit graph

102 commits

Author SHA1 Message Date
Simon Beck
40d0e3d837 Fix wrong handling of multi value attributes
While ldapsearch doesn't seem to mind, apps like keycloak seem to have
issues with adding multiple attributes with different values. While
the resulting ldif in ldapsearch is indistinguishable there seems to
be a slight different on the protocol level.

If adding multiple attributes with the same name and different values,
keycloak will only see the last entry. But adding a single attribute
a slice of values is seems to handle it correctly.
2022-02-09 10:36:04 +01:00
Simon Beck
16f947bf2d Also add notifications 2022-02-08 20:27:51 +01:00
Simon Beck
4cb8c860c9 Fix drone 2022-02-08 20:26:14 +01:00
Simon Beck
22a8897e72 Vendor 2022-02-08 20:24:59 +01:00
Simon Beck
b43af83926 Improve password hash handling 2022-02-08 17:59:59 +01:00
Simon Beck
daf9474703 Add examples 2022-02-08 15:12:47 +01:00
Simon Beck
e528485892 Fix bug with lowercasing 2022-02-08 12:56:33 +01:00
Simon Beck
d44eec81f3 Adjustments 2022-02-08 12:02:32 +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