https://github.com/lldap/lldap logo
Join Discord
Powered by
# development
  • k

    Kumpelinus

    08/28/2025, 9:55 AM
    Ldap still has error codes though
  • k

    Kumpelinus

    08/28/2025, 9:55 AM
    wait
  • k

    Kumpelinus

    08/28/2025, 9:55 AM
    what
  • k

    Kumpelinus

    08/28/2025, 9:55 AM
    nvm I got confused bc of a typo.
  • k

    Kumpelinus

    08/28/2025, 9:55 AM
    https://github.com/authelia/authelia/issues/1284#issuecomment-1219310802
  • n

    nitnelave

    08/28/2025, 9:57 AM
    It seems slightly non standard
  • n

    nitnelave

    08/28/2025, 9:57 AM
    https://ldap.com/ldap-result-code-reference/
  • n

    nitnelave

    08/28/2025, 9:57 AM
    But I think we can add it
  • k

    Kumpelinus

    08/28/2025, 9:57 AM
    Didn't know that.
  • k

    Kumpelinus

    08/28/2025, 11:07 AM
    It kinda seems like authelia does not support the forced password reset and closed the Issue for containing a workaround without stating that fact. Seems like I will have to manage the password reset flow otherwise. Then I'll start with #352 first (which is also more important to me personally).
  • t

    T0by

    08/28/2025, 7:58 PM
    Some more investigations shows that we probably need to rewrite/restructure the search code to be better prepared for working with the hierarchical nature of LDAP. This in no way means we move in the direction of the LDAP protocol hell, but in the current state it is quite hard to handle the different search scopes/filters/hierarchy levels. For example, if an LDAP browser does a
    -b dc=example,dc=com -s one
    , the server should only show
    ou=People
    and
    ou=Groups
    as the scope(depth) is one. However in the current state, this gets ignored and the servers returns all entries instead, which is the main cause of issue with the LDAP browsers I tested. I tried some implementations without changing much of the existing code (basically intercepting) but this gets dirty very quickly. (Also the way subschema requests are intercepted now can be done a bit more cleany if we have one central place where the request is processed). Any opionions on this matter?:) ( @nitnelave )
  • n

    nitnelave

    08/29/2025, 6:01 AM
    I agree. The current "structure" was done to be able to respond to the few queries that were interesting at the time, but in no way did it attempt to respond to everything it should. Feel free to propose a restructure !
  • n

    nitnelave

    09/02/2025, 12:28 PM
    @Kumpelinus feel free to shout out if you need help! I can also put copilot on the job if you want
  • k

    Kumpelinus

    09/02/2025, 12:29 PM
    Thank you. I just started seeing if Copilot can fix it myself (using my own Account). Looks good so far 🙂
  • n

    nitnelave

    09/02/2025, 9:50 PM
    @T0by you might be interested in https://github.com/ericschmar/moribito
  • t

    T0by

    09/02/2025, 9:54 PM
    Hmmm that might be useful indeed
  • k

    Kumpelinus

    09/03/2025, 9:11 AM
    Copy code
    toml
    [trusted_header_options]
    enabled = true
    header_name = "Remote-User"
    logout_url = "https://auth.example.com/logout"
    trusted_cidrs = ["127.0.0.0/8", "::1/128"]
    idk. I don't like this. Maybe I should make it be trusted_proxies or smth? And the section name is also a bit meh.
  • k

    Kumpelinus

    09/03/2025, 9:11 AM
    @nitnelave what do you think?
  • k

    Kumpelinus

    09/03/2025, 9:11 AM
    Just saw that you are online anyways 🙂
  • n

    nitnelave

    09/03/2025, 9:30 AM
    I like trusted proxies
  • n

    nitnelave

    09/03/2025, 9:31 AM
    I'm only marginally online, taking care of the kid
  • k

    Kumpelinus

    09/03/2025, 9:49 AM
    All good 🙂
  • n

    nitnelave

    09/04/2025, 7:23 AM
    Yay! They fixed the integration! I can now merge my own copilot PRs!
  • g

    gplubeck

    09/06/2025, 8:54 PM
    Hello all, I have been working a PR to integrate password policy (I know bad feature and everyone will hate me). I have the logic down. However my lack of Rust knowledge has me spinning. I am trying to define and endpoint so set-password binary can hit the lldap server and receive back the active password policy. To this end, I am trying to figure out where I should define the graphQL query. The schema file seems to be empty and the server/src/graphql_server appears to be pointing crates/graphql-server/src/api. Is this close to correct?
  • g

    gplubeck

    09/06/2025, 9:26 PM
    Basically I have added this struct inside the Configuration struct in server/src/configuration.rs. I would like the be able to query it from set-password.
    Copy code
    #[derive(Debug, Clone, Deserialize, Serialize)]
    #[serde(default)]
    pub struct PasswordPolicyOptions {
    
        // Minimum total length of the password
        // Recommended Size is 8
        pub min_length: usize,
    
        // Minimum number of uppercase characters required.
        // 0 means not required.
        // This is not recommended, but only implemented for various bad policy requrements
        pub min_uppercase: usize,
    
        /// Minimum number of lowercase characters required.
        // 0 means not required.
        // This is not recommended, but only implemented for various bad policy requrements
        pub min_lowercase: usize,
    
        // Minimum number of digits required.
        // 0 means not required.
        // This is not recommended, but only implemented for various bad policy requrements
        pub min_digits: usize,
    
        // Minimum number of special characters required
        // This is not recommended, but only implemented for various bad policy requrements
        pub min_special: usize,
    
        // Set of allowed special characters
        // If min_special is zero, characters will not be looked at
        // This is not recommended, but only implemented for various bad policy requrements
        pub allowed_specials: Vec<char>,
    }
  • n

    nitnelave

    09/07/2025, 5:57 AM
    I think you should reuse the configuration endpoint, like the web frontend
  • g

    gplubeck

    09/07/2025, 1:32 PM
    Oh even better. Thank you.
  • g

    gplubeck

    09/08/2025, 2:34 AM
    Okay I am pretty sure I am done, but want to do some additional testing. Would you like me to open a new PR or use the old one?
  • n

    nitnelave

    09/08/2025, 6:16 AM
    Let's make a new one
  • g

    gplubeck

    09/08/2025, 10:51 PM
    Opened the PR. Thanks again for all the work on this. I know it is during the work week and whatnot so whenever you have time over the next couple weeks I'll be around to answer questions. I implemented this because I think lldap would have been a great option for an organization I was helping out, but couldn't due to the silly requirements. So hopefully if anyone else falls into this category it can work for them in the future. Also sorry I'm advance for my bad rust. Tried to follow how the repo was doing things as best I could.