[GH-ISSUE #1128] [BUG] The default password in the docker compose example has wrong syntax #402

Closed
opened 2026-02-27 08:17:06 +03:00 by kerem · 4 comments
Owner

Originally created by @garylavayou on GitHub (Mar 14, 2025).
Original GitHub issue: https://github.com/lldap/lldap/issues/1128

Describe the bug

In the project's README file, in the docker compose example, the LLDAP_LDAP_USER_PASS=adminPas$word will be parsed as adminPas, due to $word being treated as a compose environment variable, which is not defined and thus empty.

This is misleading and frustrating for a user who want to get started with lldap, as the person may not recognize that the real password is adminPas. When the service is up, he/she will use adminPas$word as password to login as admin, which results in failure as the password does not match.

Expected behavior

Using $$ to escape $ in the compose file, i.e., update LLDAP_LDAP_USER_PASS=adminPas$word as LLDAP_LDAP_USER_PASS=adminPas$$word.

Originally created by @garylavayou on GitHub (Mar 14, 2025). Original GitHub issue: https://github.com/lldap/lldap/issues/1128 **Describe the bug** In the project's README file, in the docker compose example, the `LLDAP_LDAP_USER_PASS=adminPas$word` will be parsed as `adminPas`, due to `$word` being treated as a compose environment variable, which is not defined and thus empty. This is misleading and frustrating for a user who want to get started with lldap, as the person may not recognize that the real password is `adminPas`. When the service is up, he/she will use `adminPas$word` as password to login as `admin`, which results in failure as the password does not match. **Expected behavior** Using `$$` to escape `$` in the compose file, i.e., update `LLDAP_LDAP_USER_PASS=adminPas$word` as `LLDAP_LDAP_USER_PASS=adminPas$$word`.
kerem 2026-02-27 08:17:06 +03:00
Author
Owner

@nitnelave commented on GitHub (Mar 14, 2025):

I'm sorry, I lack a bit of empathy for people who use default passwords :D

I think your suggestion still fails the usability test, since users will now think that the password is "pas$$word". I would rather put "CHANGE_ME" as the password.

Do you think you could open a PR to fix the example?

<!-- gh-comment-id:2724972865 --> @nitnelave commented on GitHub (Mar 14, 2025): I'm sorry, I lack a bit of empathy for people who use default passwords :D I think your suggestion still fails the usability test, since users will now think that the password is "pas$$word". I would rather put "CHANGE_ME" as the password. Do you think you could open a PR to fix the example?
Author
Owner

@garylavayou commented on GitHub (Mar 15, 2025):

I'm sorry, I lack a bit of empathy for people who use default passwords :D

I think your suggestion still fails the usability test, since users will now think that the password is "pas$$word". I would rather put "CHANGE_ME" as the password.

Do you think you could open a PR to fix the example?

yes, I will create a PR later.

By the way, is there any requirements on the password complexity. Maybe we can demonstrate it using some other special characters.

<!-- gh-comment-id:2726052282 --> @garylavayou commented on GitHub (Mar 15, 2025): > I'm sorry, I lack a bit of empathy for people who use default passwords :D > > I think your suggestion still fails the usability test, since users will now think that the password is "pas$$word". I would rather put "CHANGE_ME" as the password. > > Do you think you could open a PR to fix the example? yes, I will create a PR later. By the way, is there any requirements on the password complexity. Maybe we can demonstrate it using some other special characters.
Author
Owner

@nitnelave commented on GitHub (Mar 19, 2025):

There are no requirements (and cannot be, since when changing the password the server doesn't receive the plaintext password).

There are some proposals to have the frontend "enforce" rules (that a motivated user could bypass) and the server enforce the same on the LDAP interface, but nothing concrete yet.

<!-- gh-comment-id:2734981239 --> @nitnelave commented on GitHub (Mar 19, 2025): There are no requirements (and cannot be, since when changing the password the server doesn't receive the plaintext password). There are some proposals to have the frontend "enforce" rules (that a motivated user could bypass) and the server enforce the same on the LDAP interface, but nothing concrete yet.
Author
Owner

@NassimBounouas commented on GitHub (Oct 18, 2025):

Thanks @nitnelave for the merge 🙏 Following the PR, I think this issue can be closed.

<!-- gh-comment-id:3418659147 --> @NassimBounouas commented on GitHub (Oct 18, 2025): Thanks @nitnelave for the merge 🙏 Following the PR, I think this issue can be closed.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/lldap-lldap#402
No description provided.