Skip to content

codeadict/ldap_rfc4515

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LDAP RFC4515 parser for Erlang/Elixir

CI Tests

Installation

Erlang

In your rebar.config:

{deps, [
  {ldap_rfc4515, "0.1.0"}
]}.

If using Erlang.mk:

In your Makefile

DEPS += ldap_rfc4515
dep_ldap_rfc4515 = ldap_rfc4515 0.1.0

Elixir

In your mix.exs:

def deps do
  [{:ldap_rfc4515, "~> 0.1.0"}]
end

Usage Examples

Erlang

1> ldap_rfc4515:to_eldap("(|(gidNumber=4000)(uid=testuser)(memberUid=codeadict)(loginShell=/bin/bash))").
{ok,{'or',[{equalityMatch,{'AttributeValueAssertion',"gidNumber",
                                                     "4000"}},
           {equalityMatch,{'AttributeValueAssertion',"uid","testuser"}},
           {equalityMatch,{'AttributeValueAssertion',"memberUid",
                                                     "codeadict"}},
           {equalityMatch,{'AttributeValueAssertion',"loginShell",
                                                     "/bin/bash"}}]}}

Elixir

iex(1)> Ldap.RFC4515.to_eldap("(|(gidNumber=4000)(uid=testuser)(memberUid=codeadict)(loginShell=/bin/bash))")
{:ok,
 {:or,
  [
    equalityMatch: {:AttributeValueAssertion, 'gidNumber', '4000'},
    equalityMatch: {:AttributeValueAssertion, 'uid', 'testuser'},
    equalityMatch: {:AttributeValueAssertion, 'memberUid', 'codeadict'},
    equalityMatch: {:AttributeValueAssertion, 'loginShell', '/bin/bash'}
  ]}}
# Or using the ~F sigil
iex(2)> import Ldap.RFC4515
iex(3)> ~F"(|(gidNumber=4000)(uid=testuser)(memberUid=codeadict)(loginShell=/bin/bash))"
{:ok,
 {:or,
  [
    equalityMatch: {:AttributeValueAssertion, 'gidNumber', '4000'},
    equalityMatch: {:AttributeValueAssertion, 'uid', 'testuser'},
    equalityMatch: {:AttributeValueAssertion, 'memberUid', 'codeadict'},
    equalityMatch: {:AttributeValueAssertion, 'loginShell', '/bin/bash'}
  ]}}

Development

Build

rebar3 compile

Tests

rebar3 xref
rebar3 eunit
rebar3 as test dialyzer

About

LDAP RFC4515 parser for Erlang/Elixir

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published