{"id":19789513,"url":"https://github.com/webfreak001/ldap","last_synced_at":"2026-03-05T01:03:54.377Z","repository":{"id":146627125,"uuid":"84458505","full_name":"WebFreak001/ldap","owner":"WebFreak001","description":"D LDAP client library using winldap on windows and openldap on other platforms","archived":false,"fork":false,"pushed_at":"2023-03-27T12:02:38.000Z","size":15,"stargazers_count":6,"open_issues_count":2,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-28T14:47:01.660Z","etag":null,"topics":["active-directory","d","ldap","openldap"],"latest_commit_sha":null,"homepage":null,"language":"D","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WebFreak001.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-09T15:37:18.000Z","updated_at":"2023-08-13T07:25:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"bc765e61-b1dd-46b7-a139-95f93addb072","html_url":"https://github.com/WebFreak001/ldap","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/WebFreak001/ldap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebFreak001%2Fldap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebFreak001%2Fldap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebFreak001%2Fldap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebFreak001%2Fldap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WebFreak001","download_url":"https://codeload.github.com/WebFreak001/ldap/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebFreak001%2Fldap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30104218,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T00:38:46.881Z","status":"ssl_error","status_checked_at":"2026-03-05T00:38:45.829Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["active-directory","d","ldap","openldap"],"created_at":"2024-11-12T06:33:48.284Z","updated_at":"2026-03-05T01:03:54.352Z","avatar_url":"https://github.com/WebFreak001.png","language":"D","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ldap\n\nCross platform Microsoft Active Directory client using LDAP (winldap on windows, openldap otherwise).\n\n---\n\nFor **secure LDAP authentication** you will want to use [ldapauth](https://github.com/symmetryinvestments/ldapauth) instead.\n\n---\n\nOpenldap implementation based off [dopenldap](https://github.com/ikod/dopenldap)\n\n```d\nimport std.stdio;\n\nint proto_version;\n\nauto ldap = LDAPConnection(\"127.0.0.1:389\"); // normal ldap connection\nauto auther = LDAPAuthenticationEngine(\"127.0.0.1:389\"); // ldap connection with fast binding and no encryption support on windows (used for password authentication)\nldap.getOption(LDAP_OPT_PROTOCOL_VERSION, \u0026proto_version);\nif (proto_version == 2)\n{\n\tproto_version = 3;\n\tldap.setOption(LDAP_OPT_PROTOCOL_VERSION, \u0026proto_version);\n\twriteln(\"Switched to protocol version 3\");\n}\n\nldap.bind(\"admin@localhost\", \"\");\n\nauto arr = ldap.search(\"OU=data,DC=data,DC=local\",\n\t\tLDAPSearchScope.subTree, \"(|(objectClass=contact)(objectClass=user))\", [\"l\"]); // find all users \u0026 contacts\n\nwritefln(\"Found %s results\", arr.length);\nforeach (r; arr)\n{\n\twriteln(r.distinguishedName); // print path of contact\n\tforeach (k, v; r.attributes)\n\t{\n\t\twritef(\"%s = %s\", k, v); // prints location of contacts (because of [\"l\"] argument above)\n\t}\n}\nwriteln(\"Done\");\n\nassert(!auther.check(\"non valid user\", \"non valid password\"));\nassert(auther.check(\"admin\", \"\"));\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebfreak001%2Fldap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebfreak001%2Fldap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebfreak001%2Fldap/lists"}