diff options
Diffstat (limited to 'include/eldap.hrl')
-rw-r--r-- | include/eldap.hrl | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/include/eldap.hrl b/include/eldap.hrl new file mode 100644 index 000000000..30ec0e954 --- /dev/null +++ b/include/eldap.hrl @@ -0,0 +1,64 @@ +%%%---------------------------------------------------------------------- +%%% +%%% ejabberd, Copyright (C) 2002-2013 ProcessOne +%%% +%%% This program is free software; you can redistribute it and/or +%%% modify it under the terms of the GNU General Public License as +%%% published by the Free Software Foundation; either version 2 of the +%%% License, or (at your option) any later version. +%%% +%%% This program is distributed in the hope that it will be useful, +%%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%%% General Public License for more details. +%%% +%%% You should have received a copy of the GNU General Public License +%%% along with this program; if not, write to the Free Software +%%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +%%% 02111-1307 USA +%%% +%%%---------------------------------------------------------------------- + +-define(LDAP_PORT, 389). + +-define(LDAPS_PORT, 636). + +-type scope() :: baseObject | singleLevel | wholeSubtree. + +-record(eldap_search, + {scope = wholeSubtree :: scope(), + base = <<"">> :: binary(), + filter :: eldap:filter(), + limit = 0 :: non_neg_integer(), + attributes = [] :: [binary()], + types_only = false :: boolean(), + deref_aliases = neverDerefAliases :: neverDerefAliases | + derefInSearching | + derefFindingBaseObj | + derefAlways, + timeout = 0 :: non_neg_integer()}). + +-record(eldap_search_result, {entries = [] :: [eldap_entry()], + referrals = [] :: list()}). + +-record(eldap_entry, {object_name = <<>> :: binary(), + attributes = [] :: [{binary(), [binary()]}]}). + +-type tlsopts() :: [{encrypt, tls | starttls | none} | + {tls_cacertfile, binary() | undefined} | + {tls_depth, non_neg_integer() | undefined} | + {tls_verify, hard | soft | false}]. + +-record(eldap_config, {servers = [] :: [binary()], + backups = [] :: [binary()], + tls_options = [] :: tlsopts(), + port = ?LDAP_PORT :: inet:port_number(), + dn = <<"">> :: binary(), + password = <<"">> :: binary(), + base = <<"">> :: binary(), + deref_aliases = never :: never | searching | + finding | always}). + +-type eldap_config() :: #eldap_config{}. +-type eldap_search() :: #eldap_search{}. +-type eldap_entry() :: #eldap_entry{}. |