├── .clang-format ├── ANNOUNCEMENT.OpenLDAP ├── AUTHORS ├── CHANGES.OpenLDAP ├── CONTRIBUTING ├── CONTRIBUTING.md ├── COPYING ├── COPYRIGHT ├── ChangeLog ├── LICENSE ├── Makefile.am ├── NEWS ├── NEWS.md ├── README ├── README.OpenLDAP ├── README.md ├── TODO.OpenLDAP ├── TODO.md ├── bootstrap.sh ├── build ├── BRANDING ├── LICENSE-2.0.1 ├── README ├── ci │ ├── bisect-probe.sh │ ├── build.sh │ ├── buzz.sh │ ├── debian.sh │ ├── fedora.sh │ └── test.sh ├── common.mk ├── libltdl-clang-diagnostic.patch ├── libltdl-preopen-OPTIONAL.patch ├── ltmain-sh-A-libtool-suppress-opt.patch ├── ltmain-sh-B-libtool-suppress-opt.patch ├── m4 │ ├── ac_func_accept_argtypes.m4 │ ├── ax_pthread.m4 │ └── ax_valgrind_check.m4 ├── mkbanner ├── openldap.m4 └── stub ├── clients ├── Makefile.am └── tools │ ├── Makefile.am │ ├── common.c │ ├── common.h │ ├── ldapcompare.c │ ├── ldapdelete.c │ ├── ldapexop.c │ ├── ldapmodify.c │ ├── ldapmodrdn.c │ ├── ldappasswd.c │ ├── ldapsearch.c │ ├── ldapurl.c │ ├── ldapvc.c │ └── ldapwhoami.c ├── configure.ac ├── contrib ├── ConfigOIDs ├── Makefile.am ├── README ├── docker │ ├── Dockerfile │ ├── README.md │ ├── entrypoint.sh │ └── slapd.sample.conf ├── packaging │ └── CentOS │ │ └── 7 │ │ ├── DB_CONFIG.example │ │ ├── README.md │ │ ├── ldap.conf │ │ ├── libexec-check-config.sh │ │ ├── libexec-functions │ │ ├── libexec-upgrade-db.sh │ │ ├── reopenldap.spec │ │ ├── slapd.ldif │ │ ├── slapd.service │ │ ├── slapd.sysconfig │ │ └── slapd.tmpfiles ├── slapd-modules │ ├── Makefile.am │ ├── README │ ├── acl │ │ ├── README.gssacl │ │ ├── README.posixgroup │ │ ├── gssacl.c │ │ └── posixgroup.c │ ├── addpartial │ │ ├── README │ │ └── addpartial-overlay.c │ ├── adremap │ │ ├── adremap.c │ │ └── slapo-adremap.soelim │ ├── allop │ │ ├── README │ │ ├── allop.c │ │ └── slapo-allop.soelim │ ├── allowed │ │ ├── README │ │ └── allowed.c │ ├── authzid │ │ └── authzid.c │ ├── autogroup │ │ ├── README │ │ ├── autogroup.c │ │ └── slapo-autogroup.soelim │ ├── check_password │ │ ├── README │ │ ├── check_password.c │ │ └── check_password.conf │ ├── cloak │ │ ├── cloak.c │ │ └── slapo-cloak.soelim │ ├── comp_match │ │ ├── README │ │ ├── asn.h │ │ ├── asn_to_syn_mr.c │ │ ├── authorityKeyIdentifier.asn │ │ ├── authorityKeyIdentifier.c │ │ ├── authorityKeyIdentifier.h │ │ ├── certificate.asn1 │ │ ├── certificate.c │ │ ├── certificate.h │ │ ├── componentlib.c │ │ ├── componentlib.h │ │ ├── crl.c │ │ ├── crl.h │ │ └── init.c │ ├── denyop │ │ └── denyop.c │ ├── dsaschema │ │ ├── README │ │ └── dsaschema.c │ ├── dupent │ │ └── dupent.c │ ├── kinit │ │ ├── README │ │ └── kinit.c │ ├── lastbind │ │ ├── lastbind.c │ │ └── slapo-lastbind.soelim │ ├── lastmod │ │ ├── lastmod.c │ │ └── slapo-lastmod.soelim │ ├── man.footer │ ├── man.subdir-footer │ ├── mobiuniquemember │ │ └── mobiuniquemember.c │ ├── mr_passthru │ │ ├── README.md │ │ └── mr_passthru.c │ ├── noopsrch │ │ └── noopsrch.c │ ├── nops │ │ ├── nops.c │ │ └── slapo-nops.soelim │ ├── nssov │ │ ├── README │ │ ├── alias.c │ │ ├── ether.c │ │ ├── group.c │ │ ├── host.c │ │ ├── ldapns.schema │ │ ├── netgroup.c │ │ ├── network.c │ │ ├── nss-pam-ldapd │ │ │ ├── README │ │ │ ├── attrs.h │ │ │ ├── nslcd-prot.h │ │ │ ├── nslcd.h │ │ │ ├── tio.c │ │ │ └── tio.h │ │ ├── nssov.c │ │ ├── nssov.h │ │ ├── pam.c │ │ ├── passwd.c │ │ ├── protocol.c │ │ ├── rpc.c │ │ ├── service.c │ │ ├── shadow.c │ │ └── slapo-nssov.soelim │ ├── passwd │ │ ├── README │ │ ├── apr1-atol.pl │ │ ├── apr1-ltoa.pl │ │ ├── apr1.c │ │ ├── argon2 │ │ │ ├── README.md │ │ │ └── pw-argon2.c │ │ ├── bcrypt │ │ │ ├── LICENSE │ │ │ ├── README │ │ │ ├── bcrypt.c │ │ │ ├── crypt_blowfish.c │ │ │ └── crypt_blowfish.h │ │ ├── kerberos.c │ │ ├── netscape.c │ │ ├── pbkdf2 │ │ │ ├── README │ │ │ ├── pw-pbkdf2.c │ │ │ └── slapo-pw-pbkdf2.soelim │ │ ├── radius.c │ │ ├── sha2 │ │ │ ├── README │ │ │ ├── sha2.c │ │ │ ├── sha2.h │ │ │ ├── slapd-sha2.c │ │ │ └── slapo-pw-sha2.soelim │ │ ├── slapo-pw-radius.soelim │ │ └── totp │ │ │ ├── README │ │ │ ├── slapd-totp.c │ │ │ └── slapo-totp.soelim │ ├── proxyOld │ │ ├── README │ │ └── proxyOld.c │ ├── samba4 │ │ ├── README │ │ ├── pguid.c │ │ ├── rdnval.c │ │ └── vernum.c │ ├── smbk5pwd │ │ ├── README │ │ ├── slapo-smbk5pwd.soelim │ │ └── smbk5pwd.c │ ├── trace │ │ └── trace.c │ ├── usn │ │ ├── README │ │ └── usn.c │ └── vc │ │ └── vc.c ├── slapd-tools │ ├── Makefile.am │ ├── README │ ├── statslog │ └── wrap_slap_ops └── slapi-plugins │ ├── Makefile.am │ └── addrdnvalues │ ├── README │ └── addrdnvalues.c ├── doc ├── devel │ ├── OIDs │ ├── README │ ├── args │ ├── template.c │ ├── todo │ ├── toolargs │ └── utfconv.txt └── man │ ├── Makefile.am │ ├── en │ ├── Makefile.am │ ├── Project │ ├── man1 │ │ ├── ldapcompare.soelim │ │ ├── ldapdelete.soelim │ │ ├── ldapexop.soelim │ │ ├── ldapmodify.1.links │ │ ├── ldapmodify.soelim │ │ ├── ldapmodrdn.soelim │ │ ├── ldappasswd.soelim │ │ ├── ldapsearch.soelim │ │ ├── ldapurl.soelim │ │ └── ldapwhoami.soelim │ ├── man3 │ │ ├── lber-decode.3.links │ │ ├── lber-decode.soelim │ │ ├── lber-encode.3.links │ │ ├── lber-encode.soelim │ │ ├── lber-memory.soelim │ │ ├── lber-sockbuf.soelim │ │ ├── lber-types.3.links │ │ ├── lber-types.soelim │ │ ├── ldap.soelim │ │ ├── ldap_abandon.3.links │ │ ├── ldap_abandon.soelim │ │ ├── ldap_add.3.links │ │ ├── ldap_add.soelim │ │ ├── ldap_bind.3.links │ │ ├── ldap_bind.soelim │ │ ├── ldap_compare.3.links │ │ ├── ldap_compare.soelim │ │ ├── ldap_controls.3.links │ │ ├── ldap_controls.soelim │ │ ├── ldap_delete.3.links │ │ ├── ldap_delete.soelim │ │ ├── ldap_dup.3.links │ │ ├── ldap_dup.soelim │ │ ├── ldap_error.3.links │ │ ├── ldap_error.soelim │ │ ├── ldap_extended_operation.3.links │ │ ├── ldap_extended_operation.soelim │ │ ├── ldap_first_attribute.3.links │ │ ├── ldap_first_attribute.soelim │ │ ├── ldap_first_entry.3.links │ │ ├── ldap_first_entry.soelim │ │ ├── ldap_first_message.3.links │ │ ├── ldap_first_message.soelim │ │ ├── ldap_first_reference.3.links │ │ ├── ldap_first_reference.soelim │ │ ├── ldap_get_dn.3.links │ │ ├── ldap_get_dn.soelim │ │ ├── ldap_get_option.3.links │ │ ├── ldap_get_option.soelim │ │ ├── ldap_get_values.3.links │ │ ├── ldap_get_values.soelim │ │ ├── ldap_memory.3.links │ │ ├── ldap_memory.soelim │ │ ├── ldap_modify.3.links │ │ ├── ldap_modify.soelim │ │ ├── ldap_modrdn.3.links │ │ ├── ldap_modrdn.soelim │ │ ├── ldap_open.3.links │ │ ├── ldap_open.soelim │ │ ├── ldap_parse_reference.soelim │ │ ├── ldap_parse_result.3.links │ │ ├── ldap_parse_result.soelim │ │ ├── ldap_parse_sort_control.soelim │ │ ├── ldap_parse_vlv_control.soelim │ │ ├── ldap_rename.3.links │ │ ├── ldap_rename.soelim │ │ ├── ldap_result.3.links │ │ ├── ldap_result.soelim │ │ ├── ldap_schema.3.links │ │ ├── ldap_schema.soelim │ │ ├── ldap_search.3.links │ │ ├── ldap_search.soelim │ │ ├── ldap_sort.3.links │ │ ├── ldap_sort.soelim │ │ ├── ldap_sync.soelim │ │ ├── ldap_tls.3.links │ │ ├── ldap_tls.soelim │ │ ├── ldap_url.3.links │ │ └── ldap_url.soelim │ ├── man5 │ │ ├── ldap.conf.soelim │ │ ├── ldif.soelim │ │ ├── slapd-asyncmeta.soelim │ │ ├── slapd-bdb.5.links │ │ ├── slapd-bdb.soelim │ │ ├── slapd-config.soelim │ │ ├── slapd-dnssrv.soelim │ │ ├── slapd-ldap.soelim │ │ ├── slapd-ldif.soelim │ │ ├── slapd-mdb.soelim │ │ ├── slapd-meta.soelim │ │ ├── slapd-monitor.soelim │ │ ├── slapd-ndb.soelim │ │ ├── slapd-null.soelim │ │ ├── slapd-passwd.soelim │ │ ├── slapd-perl.soelim │ │ ├── slapd-relay.soelim │ │ ├── slapd-shell.soelim │ │ ├── slapd-sock.5.links │ │ ├── slapd-sock.soelim │ │ ├── slapd-sql.soelim │ │ ├── slapd-wt.soelim │ │ ├── slapd.access.soelim │ │ ├── slapd.backends.soelim │ │ ├── slapd.conf.soelim │ │ ├── slapd.overlays.soelim │ │ ├── slapd.plugin.soelim │ │ ├── slapo-accesslog.soelim │ │ ├── slapo-auditlog.soelim │ │ ├── slapo-autoca.soelim │ │ ├── slapo-chain.soelim │ │ ├── slapo-collect.soelim │ │ ├── slapo-constraint.soelim │ │ ├── slapo-dds.soelim │ │ ├── slapo-dyngroup.soelim │ │ ├── slapo-dynlist.soelim │ │ ├── slapo-memberof.soelim │ │ ├── slapo-pbind.soelim │ │ ├── slapo-pcache.soelim │ │ ├── slapo-ppolicy.soelim │ │ ├── slapo-refint.soelim │ │ ├── slapo-retcode.soelim │ │ ├── slapo-rwm.soelim │ │ ├── slapo-sssvlv.soelim │ │ ├── slapo-syncprov.soelim │ │ ├── slapo-translucent.soelim │ │ ├── slapo-unique.soelim │ │ └── slapo-valsort.soelim │ └── man8 │ │ ├── slapacl.soelim │ │ ├── slapadd.soelim │ │ ├── slapauth.soelim │ │ ├── slapcat.soelim │ │ ├── slapd.soelim │ │ ├── slapdn.soelim │ │ ├── slapindex.soelim │ │ ├── slapmodify.soelim │ │ ├── slappasswd.soelim │ │ ├── slapschema.soelim │ │ └── slaptest.soelim │ └── ru │ ├── Makefile.am │ ├── Project │ ├── man1 │ ├── ldapcompare.soelim │ ├── ldapdelete.soelim │ ├── ldapexop.soelim │ ├── ldapmodify.1.links │ ├── ldapmodify.soelim │ ├── ldapmodrdn.soelim │ ├── ldappasswd.soelim │ ├── ldapsearch.soelim │ ├── ldapurl.soelim │ └── ldapwhoami.soelim │ ├── man5 │ ├── ldap.conf.soelim │ ├── ldif.soelim │ ├── slapd-bdb.5.links │ ├── slapd-bdb.soelim │ ├── slapd-config.soelim │ ├── slapd-dnssrv.soelim │ ├── slapd-ldap.soelim │ ├── slapd-ldbm.soelim │ ├── slapd-ldif.soelim │ ├── slapd-mdb.soelim │ ├── slapd-meta.soelim │ ├── slapd-monitor.soelim │ ├── slapd-ndb.soelim │ ├── slapd-null.soelim │ ├── slapd-passwd.soelim │ ├── slapd-perl.soelim │ ├── slapd-relay.soelim │ ├── slapd-shell.soelim │ ├── slapd-sock.5.links │ ├── slapd-sock.soelim │ ├── slapd-sql.soelim │ ├── slapd.access.soelim │ ├── slapd.backends.soelim │ ├── slapd.conf.soelim │ ├── slapd.overlays.soelim │ ├── slapd.plugin.soelim │ ├── slapo-accesslog.soelim │ ├── slapo-auditlog.soelim │ ├── slapo-chain.soelim │ ├── slapo-collect.soelim │ ├── slapo-constraint.soelim │ ├── slapo-dds.soelim │ ├── slapo-dyngroup.soelim │ ├── slapo-dynlist.soelim │ ├── slapo-memberof.soelim │ ├── slapo-pbind.soelim │ ├── slapo-pcache.soelim │ ├── slapo-ppolicy.soelim │ ├── slapo-refint.soelim │ ├── slapo-retcode.soelim │ ├── slapo-rwm.soelim │ ├── slapo-sssvlv.soelim │ ├── slapo-syncprov.soelim │ ├── slapo-translucent.soelim │ ├── slapo-unique.soelim │ └── slapo-valsort.soelim │ └── man8 │ ├── slapacl.soelim │ ├── slapadd.soelim │ ├── slapauth.soelim │ ├── slapcat.soelim │ ├── slapd.soelim │ ├── slapdn.soelim │ ├── slapindex.soelim │ ├── slappasswd.soelim │ ├── slapschema.soelim │ └── slaptest.soelim ├── include ├── Makefile.am ├── ac │ ├── alloca.h │ ├── bytes.h │ ├── crypt.h │ ├── ctype.h │ ├── dirent.h │ ├── errno.h │ ├── fdset.h │ ├── localize.h │ ├── param.h │ ├── regex.h │ ├── setproctitle.h │ ├── signal.h │ ├── socket.h │ ├── stdarg.h │ ├── stdlib.h │ ├── string.h │ ├── sysexits.h │ ├── syslog.h │ ├── termios.h │ ├── time.h │ ├── unistd.h │ └── wait.h ├── avl.h ├── getopt-compat.h ├── lber.h ├── lber_hipagut.h ├── lber_pvt.h ├── lber_types.h.in ├── ldap.h ├── ldap_cdefs.h ├── ldap_defaults.h ├── ldap_dirs.h.in ├── ldap_features.h.in ├── ldap_int_thread.h ├── ldap_log.h ├── ldap_pvt.h ├── ldap_pvt_thread.h ├── ldap_pvt_uc.h ├── ldap_queue.h ├── ldap_rq.h ├── ldap_schema.h ├── ldap_utf8.h ├── ldif.h ├── lutil.h ├── lutil_hash.h ├── lutil_ldap.h ├── lutil_lockf.h ├── lutil_md5.h ├── lutil_meter.h ├── lutil_sha1.h ├── reldap.h ├── rewrite.h ├── slapi-plugin.h └── sysexits-compat.h ├── libraries ├── Makefile.am ├── liblunicode │ ├── CompositionExclusions.txt │ ├── MUTTUCData.txt │ ├── Makefile.am │ ├── README-ucdata.txt │ ├── README-ure.txt │ ├── README-utbm.txt │ ├── UCD-Terms │ ├── UnicodeData.txt │ ├── api.txt │ ├── bidiapi.txt │ ├── format.txt │ ├── ucdata.c │ ├── ucdata.h │ ├── ucdata.man │ ├── ucgendat.c │ ├── ucpgba.c │ ├── ucpgba.h │ ├── ucpgba.man │ ├── ucstr.c │ ├── ure.c │ ├── ure.h │ ├── urestubs.c │ ├── utbm.c │ ├── utbm.h │ └── utbmstub.c ├── liblutil │ ├── Makefile.am │ ├── avl.c │ ├── base64.c │ ├── detach.c │ ├── entropy.c │ ├── getopt.c │ ├── getpass.c │ ├── getpeereid.c │ ├── hash.c │ ├── lockf.c │ ├── md5.c │ ├── meter.c │ ├── passfile.c │ ├── passwd.c │ ├── sasl.c │ ├── setproctitle.c │ ├── sha1.c │ ├── signal.c │ ├── sockpair.c │ ├── tavl.c │ ├── utils.c │ └── uuid.c ├── libmdbx │ ├── .clang-format-ignore │ ├── CMakeLists.txt │ ├── ChangeLog.md │ ├── GNUmakefile │ ├── LICENSE │ ├── NOTICE │ ├── README.md │ ├── VERSION.json │ ├── cmake │ │ ├── compiler.cmake │ │ ├── profile.cmake │ │ └── utils.cmake │ ├── man1 │ │ ├── mdbx_chk.1 │ │ ├── mdbx_copy.1 │ │ ├── mdbx_drop.1 │ │ ├── mdbx_dump.1 │ │ ├── mdbx_load.1 │ │ └── mdbx_stat.1 │ ├── mdbx.c │ ├── mdbx.c++ │ ├── mdbx.h │ ├── mdbx.h++ │ ├── mdbx_chk.c │ ├── mdbx_copy.c │ ├── mdbx_drop.c │ ├── mdbx_dump.c │ ├── mdbx_load.c │ ├── mdbx_stat.c │ └── ntdll.def ├── libreldap │ ├── Makefile.am │ ├── abandon.c │ ├── add.c │ ├── addentry.c │ ├── assertion.c │ ├── bprint.c │ ├── cancel.c │ ├── charray.c │ ├── check │ │ ├── apitest.c │ │ ├── avltest.c │ │ ├── dntest.c │ │ ├── dtest.c │ │ ├── etest.c │ │ ├── ftest.c │ │ ├── idtest.c │ │ ├── ptest.c │ │ ├── tavltest.c │ │ ├── test.c │ │ └── urltest.c │ ├── compare.c │ ├── controls.c │ ├── crutch.c │ ├── cyrus.c │ ├── dds.c │ ├── debug.c │ ├── decode.c │ ├── delete.c │ ├── deprecated.c │ ├── deref.c │ ├── dnssrv.c │ ├── encode.c │ ├── error.c │ ├── extended.c │ ├── fetch.c │ ├── filter.c │ ├── free.c │ ├── getattr.c │ ├── getdn.c │ ├── getentry.c │ ├── getvalues.c │ ├── gssapi.c │ ├── hipagut.c │ ├── init.c │ ├── io.c │ ├── lbase64.c │ ├── lber-int.h │ ├── lber_options.c │ ├── ldap-int.h │ ├── ldap-tls.h │ ├── ldap.conf │ ├── ldap_options.c │ ├── ldap_sync.c │ ├── ldap_thr_debug.h │ ├── ldif.c │ ├── ldifutil.c │ ├── memory.c │ ├── messages.c │ ├── modify.c │ ├── modrdn.c │ ├── msctrl.c │ ├── ntlm.c │ ├── open.c │ ├── os-ip.c │ ├── os-local.c │ ├── pagectrl.c │ ├── passwd.c │ ├── posix.c │ ├── ppolicy.c │ ├── references.c │ ├── request.c │ ├── result.c │ ├── rq.c │ ├── sasl.c │ ├── schema.c │ ├── search.c │ ├── sockbuf.c │ ├── sort.c │ ├── sortctrl.c │ ├── stctrl.c │ ├── stdio.c │ ├── string.c │ ├── t61.c │ ├── thr_debug.c │ ├── thr_stub.c │ ├── threads.c │ ├── tls2.c │ ├── tls_g.c │ ├── tls_m.c │ ├── tls_o.c │ ├── tpool.c │ ├── turn.c │ ├── txn.c │ ├── unbind.c │ ├── url.c │ ├── utf-8-conv.c │ ├── utf-8.c │ ├── util-int.c │ ├── vc.c │ ├── vlvctrl.c │ └── whoami.c └── librewrite │ ├── Copyright │ ├── Makefile.am │ ├── config.c │ ├── context.c │ ├── info.c │ ├── ldapmap.c │ ├── map.c │ ├── params.c │ ├── parse.c │ ├── rewrite-int.h │ ├── rewrite-map.h │ ├── rewrite.c │ ├── rule.c │ ├── session.c │ ├── subst.c │ ├── var.c │ └── xmap.c ├── servers ├── Makefile.am └── slapd │ ├── Makefile.am │ ├── abandon.c │ ├── aci.c │ ├── acl.c │ ├── aclparse.c │ ├── ad.c │ ├── add.c │ ├── alock.c │ ├── alock.h │ ├── at.c │ ├── attr.c │ ├── ava.c │ ├── back-asyncmeta │ ├── Makefile.am │ ├── abandon.c │ ├── add.c │ ├── back-asyncmeta.h │ ├── bind.c │ ├── candidates.c │ ├── compare.c │ ├── config.c │ ├── conn.c │ ├── delete.c │ ├── dncache.c │ ├── init.c │ ├── map.c │ ├── message_queue.c │ ├── meta_result.c │ ├── modify.c │ ├── modrdn.c │ ├── proto-asyncmeta.h │ ├── search.c │ ├── suffixmassage.c │ └── unbind.c │ ├── back-bdb │ ├── Makefile.am │ ├── add.c │ ├── attr.c │ ├── back-bdb.h │ ├── bind.c │ ├── cache.c │ ├── compare.c │ ├── config.c │ ├── dbcache.c │ ├── delete.c │ ├── dn2entry.c │ ├── dn2id.c │ ├── error.c │ ├── extended.c │ ├── filterindex.c │ ├── id2entry.c │ ├── idl.c │ ├── idl.h │ ├── index.c │ ├── init.c │ ├── key.c │ ├── modify.c │ ├── modrdn.c │ ├── monitor.c │ ├── nextid.c │ ├── operational.c │ ├── proto-bdb.h │ ├── referral.c │ ├── search.c │ ├── tools.c │ └── trans.c │ ├── back-dnssrv │ ├── Makefile.am │ ├── bind.c │ ├── compare.c │ ├── config.c │ ├── init.c │ ├── proto-dnssrv.h │ ├── referral.c │ └── search.c │ ├── back-hdb │ └── Makefile.am │ ├── back-ldap │ ├── Makefile.am │ ├── TODO.proxy │ ├── add.c │ ├── back-ldap.h │ ├── bind.c │ ├── chain.c │ ├── compare.c │ ├── config.c │ ├── delete.c │ ├── distproc.c │ ├── extended.c │ ├── init.c │ ├── modify.c │ ├── modrdn.c │ ├── monitor.c │ ├── pbind.c │ ├── proto-ldap.h │ ├── search.c │ └── unbind.c │ ├── back-ldif │ ├── Makefile.am │ └── ldif.c │ ├── back-mdb │ ├── Makefile.am │ ├── add.c │ ├── attr.c │ ├── back-mdb.h │ ├── bind.c │ ├── compare.c │ ├── config.c │ ├── delete.c │ ├── dn2entry.c │ ├── dn2id.c │ ├── extended.c │ ├── filterindex.c │ ├── id2entry.c │ ├── idl.c │ ├── idl.h │ ├── index.c │ ├── init.c │ ├── key.c │ ├── modify.c │ ├── modrdn.c │ ├── monitor.c │ ├── nextid.c │ ├── operational.c │ ├── proto-mdb.h │ ├── search.c │ └── tools.c │ ├── back-meta │ ├── Makefile.am │ ├── add.c │ ├── back-meta.h │ ├── bind.c │ ├── candidates.c │ ├── compare.c │ ├── config.c │ ├── conn.c │ ├── delete.c │ ├── dncache.c │ ├── init.c │ ├── map.c │ ├── modify.c │ ├── modrdn.c │ ├── proto-meta.h │ ├── search.c │ ├── suffixmassage.c │ └── unbind.c │ ├── back-monitor │ ├── Makefile.am │ ├── README │ ├── back-monitor.h │ ├── backend.c │ ├── bind.c │ ├── cache.c │ ├── compare.c │ ├── conn.c │ ├── database.c │ ├── entry.c │ ├── init.c │ ├── listener.c │ ├── log.c │ ├── modify.c │ ├── operation.c │ ├── operational.c │ ├── overlay.c │ ├── proto-back-monitor.h │ ├── rww.c │ ├── search.c │ ├── sent.c │ ├── thread.c │ └── time.c │ ├── back-ndb │ ├── Makefile.am │ ├── TODO │ ├── add.cpp │ ├── attrsets.conf │ ├── back-ndb.h │ ├── bind.cpp │ ├── compare.cpp │ ├── config.cpp │ ├── delete.cpp │ ├── init.cpp │ ├── modify.cpp │ ├── modrdn.cpp │ ├── ndbio.cpp │ ├── proto-ndb.h │ ├── search.cpp │ └── tools.cpp │ ├── back-null │ ├── Makefile.am │ ├── README │ └── null.c │ ├── back-passwd │ ├── Makefile.am │ ├── back-passwd.h │ ├── config.c │ ├── init.c │ ├── proto-passwd.h │ └── search.c │ ├── back-perl │ ├── Makefile.am │ ├── README │ ├── SampleLDAP.pm │ ├── add.c │ ├── bind.c │ ├── close.c │ ├── compare.c │ ├── config.c │ ├── delete.c │ ├── init.c │ ├── modify.c │ ├── modrdn.c │ ├── perl_back.h │ ├── proto-perl.h │ └── search.c │ ├── back-relay │ ├── Makefile.am │ ├── README │ ├── back-relay.h │ ├── init.c │ ├── op.c │ └── proto-back-relay.h │ ├── back-shell │ ├── Makefile.am │ ├── add.c │ ├── bind.c │ ├── compare.c │ ├── config.c │ ├── delete.c │ ├── fork.c │ ├── init.c │ ├── modify.c │ ├── modrdn.c │ ├── proto-shell.h │ ├── result.c │ ├── search.c │ ├── searchexample.conf │ ├── searchexample.sh │ ├── shell.h │ └── unbind.c │ ├── back-sock │ ├── Makefile.am │ ├── add.c │ ├── back-sock.h │ ├── bind.c │ ├── compare.c │ ├── config.c │ ├── delete.c │ ├── extended.c │ ├── init.c │ ├── modify.c │ ├── modrdn.c │ ├── opensock.c │ ├── proto-sock.h │ ├── result.c │ ├── search.c │ ├── searchexample.conf │ ├── searchexample.pl │ └── unbind.c │ ├── back-sql │ ├── Makefile.am │ ├── add.c │ ├── api.c │ ├── back-sql.h │ ├── bind.c │ ├── compare.c │ ├── config.c │ ├── delete.c │ ├── docs │ │ ├── bugs │ │ ├── concept │ │ ├── install │ │ ├── platforms │ │ └── todo │ ├── entry-id.c │ ├── init.c │ ├── modify.c │ ├── modrdn.c │ ├── operational.c │ ├── proto-sql.h │ ├── rdbms_depend │ │ ├── README │ │ ├── ibmdb2 │ │ │ ├── backsql_create.sql │ │ │ ├── backsql_drop.sql │ │ │ ├── slapd.conf │ │ │ ├── testdb_create.sql │ │ │ ├── testdb_data.sql │ │ │ ├── testdb_drop.sql │ │ │ └── testdb_metadata.sql │ │ ├── mssql │ │ │ ├── backsql_create.sql │ │ │ ├── backsql_drop.sql │ │ │ ├── slapd.conf │ │ │ ├── testdb_create.sql │ │ │ ├── testdb_data.sql │ │ │ ├── testdb_drop.sql │ │ │ └── testdb_metadata.sql │ │ ├── mysql │ │ │ ├── backsql_create.sql │ │ │ ├── backsql_drop.sql │ │ │ ├── slapd.conf │ │ │ ├── testdb_create.sql │ │ │ ├── testdb_data.sql │ │ │ ├── testdb_drop.sql │ │ │ └── testdb_metadata.sql │ │ ├── oracle │ │ │ ├── backsql_create.sql │ │ │ ├── backsql_drop.sql │ │ │ ├── slapd.conf │ │ │ ├── testdb_create.sql │ │ │ ├── testdb_data.sql │ │ │ ├── testdb_drop.sql │ │ │ └── testdb_metadata.sql │ │ ├── pgsql │ │ │ ├── backsql_create.sql │ │ │ ├── backsql_drop.sql │ │ │ ├── slapd.conf │ │ │ ├── testdb_create.sql │ │ │ ├── testdb_data.sql │ │ │ ├── testdb_drop.sql │ │ │ └── testdb_metadata.sql │ │ └── timesten │ │ │ ├── backsql_create.sql │ │ │ ├── backsql_drop.sql │ │ │ ├── create_schema.sh │ │ │ ├── dnreverse │ │ │ ├── Makefile │ │ │ └── dnreverse.cpp │ │ │ ├── slapd.conf │ │ │ ├── testdb_create.sql │ │ │ ├── testdb_data.sql │ │ │ ├── testdb_drop.sql │ │ │ ├── testdb_metadata.sql │ │ │ ├── ttcreate_schema.sh │ │ │ ├── tttestdb_create.sql │ │ │ ├── tttestdb_data.sql │ │ │ ├── tttestdb_drop.sql │ │ │ └── tttestdb_metadata.sql │ ├── schema-map.c │ ├── search.c │ ├── sql-wrap.c │ └── util.c │ ├── back-wt │ ├── Makefile.am │ ├── add.c │ ├── attr.c │ ├── back-wt.h │ ├── bind.c │ ├── cache.c │ ├── compare.c │ ├── config.c │ ├── ctx.c │ ├── delete.c │ ├── dn2entry.c │ ├── dn2id.c │ ├── extended.c │ ├── filterindex.c │ ├── id2entry.c │ ├── idl.c │ ├── idl.h │ ├── index.c │ ├── init.c │ ├── key.c │ ├── modify.c │ ├── modrdn.c │ ├── nextid.c │ ├── operational.c │ ├── proto-wt.h │ ├── search.c │ └── tools.c │ ├── backend.c │ ├── backglue.c │ ├── backover.c │ ├── backtrace.c │ ├── bconfig.c │ ├── biglock.c │ ├── bind.c │ ├── cancel.c │ ├── ch_malloc.c │ ├── compare.c │ ├── component.c │ ├── component.h │ ├── config.c │ ├── connection.c │ ├── controls.c │ ├── cr.c │ ├── ctxcsn.c │ ├── daemon.c │ ├── delete.c │ ├── dn.c │ ├── entry.c │ ├── extended.c │ ├── filter.c │ ├── filterentry.c │ ├── frontend.c │ ├── globals.c │ ├── index.c │ ├── init.c │ ├── ldapsync.c │ ├── limits.c │ ├── lock.c │ ├── main.c │ ├── matchedValues.c │ ├── modify.c │ ├── modrdn.c │ ├── mods.c │ ├── module.c │ ├── mr.c │ ├── mra.c │ ├── oc.c │ ├── oidm.c │ ├── operation.c │ ├── operational.c │ ├── overlays │ ├── Makefile.am │ ├── README │ ├── accesslog.c │ ├── auditlog.c │ ├── autoca.c │ ├── collect.c │ ├── constraint.c │ ├── dds.c │ ├── deref.c │ ├── dyngroup.c │ ├── dynlist.c │ ├── memberof.c │ ├── overlays.c │ ├── pcache.c │ ├── ppolicy.c │ ├── refint.c │ ├── retcode.c │ ├── rwm.c │ ├── rwm.h │ ├── rwmconf.c │ ├── rwmdn.c │ ├── rwmmap.c │ ├── seqmod.c │ ├── slapover.txt │ ├── sssvlv.c │ ├── syncprov.c │ ├── translucent.c │ ├── unique.c │ └── valsort.c │ ├── passwd.c │ ├── phonetic.c │ ├── proto-slap.h │ ├── quorum.c │ ├── referral.c │ ├── result.c │ ├── root_dse.c │ ├── rurwl.c │ ├── sasl.c │ ├── saslauthz.c │ ├── schema.c │ ├── schema │ ├── README │ ├── collective.ldif │ ├── collective.schema │ ├── corba.ldif │ ├── corba.schema │ ├── core.ldif │ ├── core.schema │ ├── cosine.ldif │ ├── cosine.schema │ ├── duaconf.ldif │ ├── duaconf.schema │ ├── dyngroup.ldif │ ├── dyngroup.schema │ ├── inetorgperson.ldif │ ├── inetorgperson.schema │ ├── java.ldif │ ├── java.schema │ ├── misc.ldif │ ├── misc.schema │ ├── nis.ldif │ ├── nis.schema │ ├── openldap.ldif │ ├── openldap.schema │ ├── pmi.ldif │ ├── pmi.schema │ ├── ppolicy.ldif │ └── ppolicy.schema │ ├── schema_check.c │ ├── schema_init.c │ ├── schema_prep.c │ ├── schemaparse.c │ ├── search.c │ ├── sets.c │ ├── sets.h │ ├── shell-backends │ ├── Makefile.am │ ├── passwd-shell.c │ ├── shellutil.c │ └── shellutil.h │ ├── sl_malloc.c │ ├── slap.h │ ├── slapacl.c │ ├── slapadd.c │ ├── slapauth.c │ ├── slapcat.c │ ├── slapcommon.c │ ├── slapcommon.h │ ├── slapconfig.h │ ├── slapd.conf.in │ ├── slapd.ldif.in │ ├── slapdn.c │ ├── slapi │ ├── Makefile.am │ ├── TODO │ ├── plugin.c │ ├── printmsg.c │ ├── proto-slapi.h │ ├── slapi.h │ ├── slapi_dn.c │ ├── slapi_ext.c │ ├── slapi_ops.c │ ├── slapi_overlay.c │ ├── slapi_pblock.c │ └── slapi_utils.c │ ├── slapindex.c │ ├── slapmodify.c │ ├── slappasswd.c │ ├── slapschema.c │ ├── slaptest.c │ ├── starttls.c │ ├── str2filter.c │ ├── syncrepl.c │ ├── syntax.c │ ├── txn.c │ ├── unbind.c │ ├── user.c │ └── value.c └── tests ├── Makefile.am ├── README ├── data ├── aci.out ├── acl.out.master ├── certificate.out ├── certificate.tls ├── chain.out ├── chainmod.out ├── chainref.out ├── compsearch.out ├── constraint │ ├── constraint.out │ ├── root.ldif │ ├── t_fail_01.ldif │ ├── t_fail_02.ldif │ ├── t_fail_03.ldif │ ├── t_fail_04.ldif │ ├── t_fail_05.ldif │ ├── t_fail_06.ldif │ ├── t_fail_07.ldif │ ├── t_fail_08.ldif │ ├── t_fail_09.ldif │ ├── t_fail_10.ldif │ ├── t_fail_11.ldif │ ├── t_fail_12.ldif │ ├── t_fail_13.ldif │ ├── t_fail_14.ldif │ ├── t_fail_15.ldif │ ├── t_fail_16.ldif │ ├── t_ok_01.ldif │ ├── t_ok_02.ldif │ ├── t_ok_03.ldif │ ├── t_ok_04.ldif │ ├── t_ok_05.ldif │ ├── t_ok_06.ldif │ ├── t_ok_07.ldif │ ├── t_ok_08.ldif │ ├── t_ok_09.ldif │ ├── t_ok_10.ldif │ ├── t_ok_11.ldif │ ├── t_ok_12.ldif │ ├── t_ok_13.ldif │ ├── t_ok_14.ldif │ ├── t_ok_15.ldif │ └── user.ldif ├── dds.out ├── ditcontentrules.conf ├── dn.out ├── do_add.1 ├── do_add.2 ├── do_add.3 ├── do_add.4 ├── do_bind.0 ├── do_modify.0 ├── do_modrdn.0 ├── do_read.0 ├── do_search.0 ├── dynlist.out ├── emptydn.out ├── emptydn.out.slapadd ├── gluesync.out ├── idassert.out ├── lang-out.ldif ├── ldapglue.out ├── ldapglueanonymous.out ├── manage.out ├── memberof-refint.out ├── memberof.out ├── meta.out ├── metaconcurrency.out ├── modify.out.master ├── modrdn.out.master.0 ├── modrdn.out.master.1 ├── modrdn.out.master.2 ├── modrdn.out.master.3 ├── monitor1.out ├── monitor2.out ├── monitor3.out ├── monitor4.out ├── ndb.conf ├── nis_sample.ldif ├── passwd.ldif ├── pcache.out ├── ppolicy.ldif ├── referrals.ldif ├── referrals.out ├── regressions │ ├── README │ ├── its4184 │ │ ├── README │ │ ├── adds.ldif │ │ ├── its4184 │ │ ├── mods.ldif │ │ └── slapd.conf │ ├── its4326 │ │ ├── its4326 │ │ └── slapd.conf │ ├── its4336 │ │ ├── its4336 │ │ └── slapd.conf │ ├── its4337 │ │ ├── config.out │ │ ├── its4337 │ │ └── slapd.conf │ ├── its4448 │ │ ├── its4448 │ │ └── slapd-meta.conf │ ├── its6794 │ │ ├── its6794 │ │ └── slapd-glue.conf │ ├── its8444 │ │ ├── its8444 │ │ ├── slapd-provider1.ldif │ │ ├── slapd-provider2.ldif │ │ ├── slapd-provider3.ldif │ │ └── slapd-provider4.ldif │ ├── its8521 │ │ ├── its8521 │ │ ├── slapd-consumer.ldif │ │ └── slapd-provider.ldif │ ├── its8616 │ │ ├── its8616 │ │ └── slapd-provider.ldif │ ├── its8663 │ │ ├── its8663 │ │ └── slapd-provider.ldif │ ├── its8667 │ │ ├── accounting.ldif │ │ ├── administrative.ldif │ │ ├── its8667 │ │ ├── janitorial.ldif │ │ ├── root.ldif │ │ └── slapd.ldif │ ├── its8752 │ │ ├── its8752 │ │ ├── slapd.conf │ │ └── slapd.conf.mmr │ └── its8800 │ │ ├── db.ldif │ │ ├── its8800 │ │ ├── slapd-provider1.ldif │ │ ├── slapd-provider2.ldif │ │ ├── slapd-provider3.ldif │ │ └── slapd-provider4.ldif ├── relay.out ├── retcode.conf ├── rootdse.ldif ├── search.out.master ├── search.out.xsearch ├── slapd-2db.conf ├── slapd-aci.conf ├── slapd-acl.conf ├── slapd-cache-master-proxyauthz.conf ├── slapd-cache-master.conf ├── slapd-chain1.conf ├── slapd-chain2.conf ├── slapd-component.conf ├── slapd-config-naked.conf ├── slapd-config-undo.conf ├── slapd-dds.conf ├── slapd-deltasync-master.conf ├── slapd-deltasync-slave.conf ├── slapd-dn.conf ├── slapd-dnssrv.conf ├── slapd-dynamic.ldif ├── slapd-dynlist.conf ├── slapd-emptydn.conf ├── slapd-glue-ldap.conf ├── slapd-glue-syncrepl1.conf ├── slapd-glue-syncrepl2.conf ├── slapd-glue.conf ├── slapd-idassert.conf ├── slapd-ldapglue.conf ├── slapd-ldapgluegroups.conf ├── slapd-ldapgluepeople.conf ├── slapd-limits.conf ├── slapd-master.conf ├── slapd-meta-target1.conf ├── slapd-meta-target2.conf ├── slapd-meta.conf ├── slapd-nis-master.conf ├── slapd-passwd.conf ├── slapd-pcache.conf ├── slapd-ppolicy.conf ├── slapd-proxyauthz.conf ├── slapd-pw.conf ├── slapd-ref-slave.conf ├── slapd-referrals.conf ├── slapd-refint.conf ├── slapd-relay.conf ├── slapd-repl-slave-remote.conf ├── slapd-retcode.conf ├── slapd-schema.conf ├── slapd-sql-syncrepl-master.conf ├── slapd-sql.conf ├── slapd-syncrepl-master.conf ├── slapd-syncrepl-multiproxy.conf ├── slapd-syncrepl-slave-persist-ldap.conf ├── slapd-syncrepl-slave-persist1.conf ├── slapd-syncrepl-slave-persist2.conf ├── slapd-syncrepl-slave-persist3.conf ├── slapd-syncrepl-slave-refresh1.conf ├── slapd-syncrepl-slave-refresh2.conf ├── slapd-tls-sasl.conf ├── slapd-tls.conf ├── slapd-translucent-local.conf ├── slapd-translucent-remote.conf ├── slapd-unique.conf ├── slapd-valregex.conf ├── slapd-valsort.conf ├── slapd-whoami.conf ├── slapd.conf ├── slapd2.conf ├── sql-concurrency │ ├── do_add.1 │ ├── do_add.2 │ ├── do_add.3 │ ├── do_add.4 │ ├── do_bind.0 │ ├── do_modrdn.0 │ ├── do_read.0 │ └── do_search.0 ├── sql-read.out ├── sql-write.out ├── subtree-rename.out ├── test-chain1.ldif ├── test-chain2.ldif ├── test-compmatch.ldif ├── test-dn.ldif ├── test-emptydn1.ldif ├── test-emptydn2.ldif ├── test-glued.ldif ├── test-idassert1.ldif ├── test-idassert2.ldif ├── test-lang.ldif ├── test-ldapglue.ldif ├── test-ldapgluegroups.ldif ├── test-ldapgluepeople.ldif ├── test-limits.ldif ├── test-meta.ldif ├── test-modify.ldif ├── test-ordered-cp.ldif ├── test-ordered-nocp.ldif ├── test-ordered.ldif ├── test-refint.ldif ├── test-reordered.ldif ├── test-translucent-add.ldif ├── test-translucent-config.ldif ├── test-translucent-data.ldif ├── test-translucent-merged.ldif ├── test-unique.ldif ├── test-unordered.ldif ├── test-valsort.ldif ├── test-whoami.ldif ├── test.ldif ├── test.schema ├── tls │ ├── ca │ │ ├── certs │ │ │ └── testsuiteCA.crt │ │ └── private │ │ │ └── testsuiteCA.key │ ├── certs │ │ ├── bjensen@mailgw.example.com.crt │ │ └── localhost.crt │ ├── conf │ │ └── openssl.cnf │ ├── create-crt.sh │ └── private │ │ ├── bjensen@mailgw.example.com.key │ │ └── localhost.key ├── valsort1.out ├── valsort2.out └── valsort3.out ├── progs ├── Makefile.am ├── ldif-filter.c ├── slapd-addel.c ├── slapd-auth.c ├── slapd-bind.c ├── slapd-common.c ├── slapd-common.h ├── slapd-modify.c ├── slapd-modrdn.c ├── slapd-mtread.c ├── slapd-read.c ├── slapd-search.c └── slapd-tester.c ├── run.in └── scripts ├── all ├── defines.sh ├── its-all ├── passwd-search ├── relay ├── sql-all ├── sql-test000-read ├── sql-test001-concurrency ├── sql-test900-write ├── sql-test901-syncrepl ├── start-server ├── start-server-nolog ├── start-server2 ├── start-server2-nolog ├── startup_nis_ldap_server.sh ├── test000-mdbx ├── test000-rootdse ├── test001-slapadd ├── test002-populate ├── test003-search ├── test004-modify ├── test005-modrdn ├── test006-acls ├── test007-slapmodify ├── test008-concurrency ├── test009-referral ├── test010-passwd ├── test011-glue-slapadd ├── test012-glue-populate ├── test013-language ├── test014-whoami ├── test015-xsearch ├── test016-subref ├── test017-syncrepl-refresh ├── test018-syncrepl-persist ├── test019-syncrepl-cascade ├── test020-pcache ├── test021-certificate ├── test022-ppolicy ├── test023-refint ├── test024-unique ├── test025-limits ├── test026-dn ├── test027-emptydn ├── test028-idassert ├── test029-ldapglue ├── test030-relay ├── test031-component-filter ├── test032-chain ├── test033-syncrepl-glue ├── test034-translucent ├── test035-meta ├── test036-meta-concurrency ├── test037-manage ├── test038-retcode ├── test039-glue-ldap-concurrency ├── test040-subtree-rename ├── test041-aci ├── test042-valsort ├── test043-syncrepl-delta ├── test044-dynlist ├── test045-syncrepl-proxied ├── test046-dds ├── test047-ldap ├── test048-syncrepl-multiproxy ├── test049-syncrepl-config ├── test050-syncrepl-multimaster ├── test051-config-undo ├── test052-memberof ├── test053-syncprov-glue ├── test054-syncrepl-parallel-load ├── test055-valregex ├── test056-monitor ├── test057-memberof-refint ├── test058-syncrepl-asymmetric ├── test059-syncrepl-slave-config ├── test060-mt-hot ├── test061-syncrepl-initiation ├── test062-config-delete ├── test063-syncrepl-delta-multimaster ├── test064-constraint ├── test065-proxyauthz ├── test066-autoca ├── test067-tls ├── test068-sasl-tls-external ├── test069-delta-multimaster-starttls ├── test070-delta-multimaster-ldaps └── valgrind.supp /.clang-format: -------------------------------------------------------------------------------- 1 | BasedOnStyle: LLVM 2 | Standard: Cpp11 3 | ReflowComments: true 4 | SortIncludes: false 5 | ColumnLimit: 120 6 | -------------------------------------------------------------------------------- /CONTRIBUTING: -------------------------------------------------------------------------------- 1 | CONTRIBUTING.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Contributing to the ReOpenLDAP project 2 | ====================================== 3 | 4 | Pull requests are always welcome, and the ReOpenLDAP dev team 5 | appreciates any help the community can give to help make 6 | ReOpenLDAP better. 7 | 8 | 9 | Contributor Agreement 10 | --------------------- 11 | 12 | Before contribute please see the LICENSE file included in the 13 | root directory of the source tree for extended license details. 14 | 15 | In general to contribute ReOpenLDAP you should accept both [AGPL](https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License) 16 | and [OpenLDAP Public Licens](https://gitflic.ru/project/erthink/reopenldap/blob/raw?file=LICENSE) 17 | terms for contributions. 18 | 19 | 20 | Style Guide 21 | ----------- 22 | 23 | Unfortunately, historically ReOpenLDAP has inherited a 'rebus' 24 | codestyle from the OpenLDAP projects, as well as a huge 25 | technical debt. 26 | 27 | Therefore, the requirements are minimal: 28 | 29 | 1) for new modules it is recommended to use the 30 | [LLVM Code Style](http://llvm.org/docs/CodingStandards.html). 31 | 32 | 2) for patches just strive to minimize volume of changes without 33 | losing clarity of the code. 34 | 35 | 3) Spread at least a little bit of the quality and clarity by an each commit. 36 | -------------------------------------------------------------------------------- /COPYING: -------------------------------------------------------------------------------- 1 | LICENSE -------------------------------------------------------------------------------- /NEWS: -------------------------------------------------------------------------------- 1 | NEWS.md -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | README.md -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- 1 | TODO 2 | ---- 3 | 4 | Unfortunately, on 2022-04-15 the Github administration, without any 5 | warning nor explanation, deleted _ReOpenLDAP_ along with a lot of other 6 | projects, simultaneously blocking access for many developers. Therefore 7 | on 2022-04-21 we have migrated to a reliable trusted infrastructure. 8 | The origin for now is at[GitFlic](https://gitflic.ru/project/erthink/reopenldap) 9 | with backup at [ABF by ROSA Лаб](https://abf.rosalinux.ru/erthink/ReOpenLDAP). 10 | For the same reason ~~Github~~ is blacklisted forever. 11 | 12 | So currently most of the links are broken due to noted malicious ~~Github~~ sabotage. 13 | 14 | - [ ] reimplement: ITS#8054 add queue time to log (a0cc1d9655da112a4d19cddf821460a4dedeed1c) 15 | - [ ] test: test066-autoca 16 | - [ ] fix: todo4recovery://erased_by_github/erthink/ReOpenLDAP/issues/121 and todo4recovery://erased_by_github/erthink/ReOpenLDAP/issues/102 (seems the same) 17 | - [ ] test: use gdb as supervisor 18 | -------------------------------------------------------------------------------- /build/README: -------------------------------------------------------------------------------- 1 | The ReOpenLDAP build environment relies on non-standard versions of 2 | configuration tools: 3 | Autoconf 2.71 4 | Automake 1.16 5 | Libtool 2.4 6 | 7 | The autoconf/automake releases used are available at: 8 | ftp://ftp.openldap.org/pub/tools/ 9 | 10 | The libtool release used is available from: 11 | ftp://ftp.gnu.org/ 12 | 13 | but with ltmain.sh replaced with versions found in this directory. 14 | -------------------------------------------------------------------------------- /build/common.mk: -------------------------------------------------------------------------------- 1 | # placeholder for now -------------------------------------------------------------------------------- /build/libltdl-clang-diagnostic.patch: -------------------------------------------------------------------------------- 1 | diff --git a/build/libltdl/ltdl.c b/build/libltdl/ltdl.c 2 | index 6013f2ac2..0283e57fb 100644 3 | --- a/build/libltdl/ltdl.c 4 | +++ b/build/libltdl/ltdl.c 5 | @@ -33,6 +33,10 @@ or obtained by writing to the Free Software Foundation, Inc., 6 | #include "lt_system.h" 7 | #include "lt_dlloader.h" 8 | 9 | +#if defined(__clang_major__) && __clang_major__ > 3 10 | +#pragma clang diagnostic ignored "-Wconstant-logical-operand" 11 | +#endif /* clang warnings */ 12 | + 13 | 14 | /* --- MANIFEST CONSTANTS --- */ 15 | 16 | -------------------------------------------------------------------------------- /build/libltdl-preopen-OPTIONAL.patch: -------------------------------------------------------------------------------- 1 | diff --git b/build/libltdl/loaders/preopen.c a/build/libltdl/loaders/preopen.c 2 | index 139e373..6e45a2f 100644 3 | --- b/build/libltdl/loaders/preopen.c 4 | +++ a/build/libltdl/loaders/preopen.c 5 | @@ -282,7 +282,7 @@ add_symlist (const lt_dlsymlist *symlist) 6 | if (symlist[1].name && STREQ (symlist[1].name, "@INIT@")) 7 | { 8 | void (*init_symlist)(void); 9 | - *(void **)(&init_symlist) = symlist[1].address; 10 | + init_symlist = (void (*)(void))(symlist[1].address); 11 | (*init_symlist)(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /build/ltmain-sh-A-libtool-suppress-opt.patch: -------------------------------------------------------------------------------- 1 | diff --git a/build/ltmain.sh b/build/ltmain.sh 2 | index 2ad8be848..2ea2a0868 100644 3 | --- a/build/ltmain.sh 4 | +++ b/build/ltmain.sh 5 | @@ -3269,7 +3269,7 @@ func_mode_compile () 6 | # Get the compilation command and the source file. 7 | base_compile= 8 | srcfile=$nonopt # always keep a non-empty value in "srcfile" 9 | - suppress_opt=yes 10 | + suppress_opt=${LIBTOOL_SUPPRESS_DEFAULT:-yes} 11 | suppress_output= 12 | arg_mode=normal 13 | libobj= 14 | -------------------------------------------------------------------------------- /build/ltmain-sh-B-libtool-suppress-opt.patch: -------------------------------------------------------------------------------- 1 | diff --git a/build/ltmain.sh b/build/ltmain.sh 2 | index a356aca..b8ea830 100644 3 | --- a/build/ltmain.sh 4 | +++ b/build/ltmain.sh 5 | @@ -1953,7 +1953,7 @@ func_mode_compile () 6 | # Get the compilation command and the source file. 7 | base_compile= 8 | srcfile="$nonopt" # always keep a non-empty value in "srcfile" 9 | - suppress_opt=yes 10 | + suppress_opt=${LIBTOOL_SUPPRESS_DEFAULT:-yes} 11 | suppress_output= 12 | arg_mode=normal 13 | libobj= 14 | -------------------------------------------------------------------------------- /build/stub: -------------------------------------------------------------------------------- 1 | ## This is a stub file to satisfy autotools dependencies. 2 | ## For complete context please refer to https://gitflic.ru/project/erthink/reopenldap 3 | ## 4 | ## $ReOpenLDAP$ 5 | ## 6 | -------------------------------------------------------------------------------- /clients/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | 15 | DIST_SUBDIRS = tools 16 | SUBDIRS = tools 17 | -------------------------------------------------------------------------------- /contrib/ConfigOIDs: -------------------------------------------------------------------------------- 1 | List of OpenLDAP Configuration OIDs allocated to contrib modules 2 | 3 | OLcfgCt{Oc|At}:1 smbk5pwd 4 | OLcfgCt{Oc|At}:2 autogroup 5 | OLcfgCt{Oc|At}:3 nssov 6 | OLcfgCt{Oc|At}:4 cloak 7 | OLcfgCt{Oc|At}:5 lastbind 8 | OLcfgCt{Oc|At}:6 adremap 9 | -------------------------------------------------------------------------------- /contrib/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | DIST_SUBDIRS = slapd-modules slapd-tools slapi-plugins 17 | SUBDIRS = slapd-tools 18 | 19 | EXTRA_DIST = ConfigOIDs README 20 | 21 | if SLAPD_DYNAMIC 22 | SUBDIRS += slapd-modules 23 | endif 24 | 25 | if BUILD_SLAPI 26 | SUBDIRS += slapi-plugins 27 | endif 28 | -------------------------------------------------------------------------------- /contrib/docker/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | REOPENLDAP_RUN_CMD=${REOPENLDAP_RUN_CMD:=-4 -h ldap:/// -g ldap -u ldap -f /opt/reopenldap/etc/slapd.conf -d1} 4 | REOPENLDAP_SLAPD_PATH=${REOPENLDAP_SLAPD_PATH:=/opt/reopenldap/sbin/slapd} 5 | 6 | 7 | echo "Trying run ReOpenLDAP: ${REOPENLDAP_SLAPD_PATH} ${REOPENLDAP_RUN_CMD}" 8 | 9 | exec $REOPENLDAP_SLAPD_PATH $REOPENLDAP_RUN_CMD -------------------------------------------------------------------------------- /contrib/packaging/CentOS/7/DB_CONFIG.example: -------------------------------------------------------------------------------- 1 | # $OpenLDAP$ 2 | # Example DB_CONFIG file for use with slapd(8) BDB/HDB databases. 3 | # 4 | # See the Oracle Berkeley DB documentation 5 | # 6 | # for detail description of DB_CONFIG syntax and semantics. 7 | # 8 | # Hints can also be found in the OpenLDAP Software FAQ 9 | # 10 | # in particular: 11 | # 12 | 13 | # Note: most DB_CONFIG settings will take effect only upon rebuilding 14 | # the DB environment. 15 | 16 | # one 0.25 GB cache 17 | set_cachesize 0 268435456 1 18 | 19 | # Data Directory 20 | #set_data_dir db 21 | 22 | # Transaction Log settings 23 | set_lg_regionmax 262144 24 | set_lg_bsize 2097152 25 | #set_lg_dir logs 26 | 27 | # Note: special DB_CONFIG flags are no longer needed for "quick" 28 | # slapadd(8) or slapindex(8) access (see their -q option). 29 | -------------------------------------------------------------------------------- /contrib/packaging/CentOS/7/README.md: -------------------------------------------------------------------------------- 1 | # RPM packaging specfile for CentOS 7 2 | 3 | ## Overview 4 | This is bootstrapping specfile. It is able to 5 | determine git repo owner, branch, tag and commit, then 6 | reuse this information during package build. 7 | 8 | ## Requirements 9 | You should have **rpm-devel** package installed, 10 | also all those packages which are required by ReOpenLDAP 11 | itself. 12 | 13 | ## Usage 14 | A couple of commands is required to build the package: 15 | 16 | >spectool -R -g reopenldap.spec 17 | >rpmbuild -bb reopenldap.spec 18 | 19 | First command downloads source file to the directory 20 | where rpmbuild expects to find it. Second command builds 21 | a set of binary packages. 22 | 23 | ##Tips and tricks 24 | If you ever need to find out 25 | package file paths, you could use this command: 26 | >spectool -R -g reopenldap.spec 27 | >rpmbuild -bb reopenldap.spec 2>&1 | tee /tmp/build.log 28 | >grep -n -E '(Wrote: )(.+)$' /tmp/build.log | awk '{print $2;}' 29 | 30 | ## Authors 31 | Specfile initially has been contributed by Ivan Viktorov 32 | (https://github.com/Ivan-Viktorov) as a comment on issue #34 33 | of original project 34 | (todo4recovery://erased_by_github/erthink/ReOpenLDAP/issues/33#issuecomment-249861076). 35 | 36 | Tune-up and bootsrapping has been implemented by 37 | Sergey Pechenko (https://github.com/tnt4brain/ReOpenLDAP/tree/devel) 38 | -------------------------------------------------------------------------------- /contrib/packaging/CentOS/7/ldap.conf: -------------------------------------------------------------------------------- 1 | # LDAP Defaults 2 | # 3 | # See ldap.conf(5) for details 4 | # This file should be world readable but not world writable. 5 | 6 | #BASE dc=example,dc=com 7 | #URI ldap://ldap.example.com ldap://ldap-master.example.com:666 8 | 9 | #SIZELIMIT 12 10 | #TIMELIMIT 15 11 | #DEREF never 12 | 13 | #TLS_CACERT /etc/reopenldap/certs/ca.crt 14 | TLS_CACERTDIR /etc/reopenldap/certs 15 | 16 | # Turning this off breaks GSSAPI used with krb5 when rdns = false 17 | SASL_NOCANON on 18 | -------------------------------------------------------------------------------- /contrib/packaging/CentOS/7/libexec-upgrade-db.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Author: Jan Vcelak 3 | 4 | . /usr/libexec/reopenldap/functions 5 | 6 | if [ `id -u` -ne 0 ]; then 7 | error "You have to be root to run this command." 8 | exit 4 9 | fi 10 | 11 | load_sysconfig 12 | retcode=0 13 | 14 | for dbdir in `databases`; do 15 | upgrade_log="$dbdir/db_upgrade.`date +%Y%m%d%H%M%S`.log" 16 | bdb_files=`find "$dbdir" -maxdepth 1 -name "*.bdb" -printf '"%f" '` 17 | 18 | # skip uninitialized database 19 | [ -z "$bdb_files"] || continue 20 | 21 | printf "Updating '%s', logging into '%s'\n" "$dbdir" "$upgrade_log" 22 | 23 | # perform the update 24 | for command in \ 25 | "/usr/bin/db_recover -v -h \"$dbdir\"" \ 26 | "/usr/bin/db_upgrade -v -h \"$dbdir\" $bdb_files" \ 27 | "/usr/bin/db_checkpoint -v -h \"$dbdir\" -1" \ 28 | ; do 29 | printf "Executing: %s\n" "$command" &>>$upgrade_log 30 | run_as_ldap "$command" &>>$upgrade_log 31 | result=$? 32 | printf "Exit code: %d\n" $result >>"$upgrade_log" 33 | if [ $result -ne 0 ]; then 34 | printf "Upgrade failed: %d\n" $result 35 | retcode=1 36 | fi 37 | done 38 | done 39 | 40 | exit $retcode 41 | -------------------------------------------------------------------------------- /contrib/packaging/CentOS/7/slapd.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=ReOpenLDAP Server Daemon 3 | After=syslog.target NetworkManager-wait-online.service 4 | Documentation=man:slapd 5 | Documentation=man:slapd-config 6 | Documentation=man:slapd-hdb 7 | Documentation=man:slapd-mdb 8 | 9 | [Service] 10 | Type=forking 11 | PIDFile=/var/run/reopenldap/slapd.pid 12 | Environment="SLAPD_URLS=ldap:/// ldapi://%2Fvar%2Frun%2Fldapi" "SLAPD_OPTIONS=" 13 | EnvironmentFile=/etc/sysconfig/slapd 14 | ExecStartPre=/usr/libexec/reopenldap/check-config.sh 15 | ExecStart=/usr/sbin/slapd -u ldap -h ${SLAPD_URLS} $SLAPD_OPTIONS 16 | 17 | [Install] 18 | WantedBy=multi-user.target 19 | -------------------------------------------------------------------------------- /contrib/packaging/CentOS/7/slapd.sysconfig: -------------------------------------------------------------------------------- 1 | # OpenLDAP server configuration 2 | # see 'man slapd' for additional information 3 | 4 | # Where the server will run (-h option) 5 | # - ldapi:/// is required for on-the-fly configuration using client tools 6 | # (use SASL with EXTERNAL mechanism for authentication) 7 | # - default: ldapi:/// ldap:/// 8 | # - example: ldapi:/// ldap://127.0.0.1/ ldap://10.0.0.1:1389/ ldaps:/// 9 | SLAPD_URLS="ldapi://%2Fvar%2Frun%2Fldapi ldap:///" 10 | 11 | # Any custom options 12 | #SLAPD_OPTIONS="" 13 | # Example of slpad.d-based configuration 14 | #SLAPD_OPTIONS="-F /etc/reopenldap/slapd.d" 15 | 16 | # Keytab location for GSSAPI Kerberos authentication 17 | #KRB5_KTNAME="FILE:/etc/openldap/ldap.keytab" 18 | -------------------------------------------------------------------------------- /contrib/packaging/CentOS/7/slapd.tmpfiles: -------------------------------------------------------------------------------- 1 | # openldap runtime directory for slapd.arg and slapd.pid 2 | d /var/run/reopenldap 0755 ldap ldap - 3 | d /var/run/run/slapd 0755 ldap ldap - 4 | -------------------------------------------------------------------------------- /contrib/slapd-modules/acl/README.gssacl: -------------------------------------------------------------------------------- 1 | This directory contains native slapd plugins that implement access rules. 2 | 3 | gssacl.c contains a simple example that implements access control 4 | based on GSS naming extensions attributes. 5 | 6 | To use the acl-gssacl plugin, add: 7 | 8 | moduleload contrib-gssacl.la 9 | 10 | to your slapd configuration file. 11 | It is configured using 12 | 13 | access to 14 | by dynacl/gss/.[.{base,regex,expand}]= {|} 15 | 16 | The default is "exact"; in case of "expand", "" results from 17 | the expansion of submatches in the "" portion. "|" 18 | describe the level of privilege this rule can assume. 19 | 20 | --- 21 | 22 | Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 23 | All rights reserved. 24 | 25 | This file is part of ReOpenLDAP. 26 | 27 | Redistribution and use in source and binary forms, with or without 28 | modification, are permitted only as authorized by the OpenLDAP 29 | Public License. 30 | 31 | A copy of this license is available in the file LICENSE in the 32 | top-level directory of the distribution or, alternatively, at 33 | . 34 | -------------------------------------------------------------------------------- /contrib/slapd-modules/allop/README: -------------------------------------------------------------------------------- 1 | This directory contains a slapd overlay, allop. 2 | The intended usage is as a global overlay for use with those clients 3 | that do not make use of the RFC3673 allOp ("+") in the requested 4 | attribute list, but expect all operational attributes to be returned. 5 | Usage: add to slapd.conf(5) 6 | 7 | moduleload contrib-allop.la 8 | overlay allop 9 | allop-URI 10 | 11 | if the allop-URI is not given, the rootDSE, i.e. "ldap:///??base", 12 | is assumed. 13 | 14 | --- 15 | 16 | Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 17 | All rights reserved. 18 | 19 | This file is part of ReOpenLDAP. 20 | 21 | Redistribution and use in source and binary forms, with or without 22 | modification, are permitted only as authorized by the OpenLDAP 23 | Public License. 24 | 25 | A copy of this license is available in the file LICENSE in the 26 | top-level directory of the distribution or, alternatively, at 27 | . 28 | -------------------------------------------------------------------------------- /contrib/slapd-modules/check_password/check_password.conf: -------------------------------------------------------------------------------- 1 | # Set it to 0 to disable cracklib verification. 2 | # It has no effect if cracklib is not included at compile time. 3 | useCracklib 1 4 | 5 | # Minimum number of quality points a new password must have to be accepted. 6 | # One quality point is awarded for each character class used in the password. 7 | minPoints 4 8 | 9 | # Minimum upper characters expected. 10 | minUpper 2 11 | 12 | # Minimum lower characters expected. 13 | minLower 2 14 | 15 | # Minimum digit characters expected. 16 | minDigit 3 17 | 18 | # Minimum punctuation characters expected. 19 | minPunct 1 20 | -------------------------------------------------------------------------------- /contrib/slapd-modules/dsaschema/README: -------------------------------------------------------------------------------- 1 | Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 2 | All rights reserved. 3 | 4 | This file is part of ReOpenLDAP. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted only as authorized by the OpenLDAP 8 | Public License. 9 | 10 | A copy of this license is available in the file LICENSE in the 11 | top-level directory of the distribution or, alternatively, at 12 | . 13 | 14 | --- 15 | 16 | This directory contains a native slapd plugin, dsaschema, that permits the 17 | loading of DSA-specific schema from configuration files (including operational 18 | attributes). 19 | 20 | To use the plugin, add: 21 | 22 | moduleload contrib-dsaschema.la 23 | /etc/reopenldap/schema/foo1.schema 24 | ...etc... 25 | /etc/reopenldap/schema/fooN.schema 26 | 27 | to your slapd configuration file. 28 | -------------------------------------------------------------------------------- /contrib/slapd-modules/kinit/README: -------------------------------------------------------------------------------- 1 | This directory contains the "kinit" slapd module. It is a simple plugin to 2 | have slapd request a Kerberos TGT and keep it renewed as long as slapd is 3 | running. 4 | 5 | The current implementation has only been tested against the MIT variant of 6 | the Kerberos libraries. (Heimdal support might come later) 7 | 8 | To use the overlay just load it into the slapd process: 9 | 10 | moduleload contrib-kinit.la 11 | 12 | The module accepts two arguments. The first one being the principal for which 13 | to request the TGT (it defaults to "ldap/@") 14 | and the second one is the path to the keytab file to use for 15 | authentication, defaulting to whatever your system wide kerberos settings 16 | default to). 17 | 18 | --- 19 | 20 | Copyright 2010-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 21 | All rights reserved. 22 | 23 | This file is part of ReOpenLDAP. 24 | 25 | Redistribution and use in source and binary forms, with or without 26 | modification, are permitted only as authorized by the OpenLDAP 27 | Public License. 28 | 29 | A copy of this license is available in the file LICENSE in the 30 | top-level directory of the distribution or, alternatively, at 31 | . 32 | -------------------------------------------------------------------------------- /contrib/slapd-modules/man.footer: -------------------------------------------------------------------------------- 1 | .SH ACKNOWLEDGEMENTS 2 | .so ../../../doc/man/en/Project 3 | -------------------------------------------------------------------------------- /contrib/slapd-modules/man.subdir-footer: -------------------------------------------------------------------------------- 1 | .SH ACKNOWLEDGEMENTS 2 | .so ../../../../doc/man/en/Project 3 | -------------------------------------------------------------------------------- /contrib/slapd-modules/nssov/nss-pam-ldapd/README: -------------------------------------------------------------------------------- 1 | These files were pulled from the nss-pam-ldapd project version 0.9.4. 2 | Copyright notices are in the individual files. 3 | 4 | This is not the full distribution of nss-pam-ldapd, and does not 5 | include the client-side stub libraries. Get the latest release of 6 | nss-pam-ldapd from http://arthurdejong.org/nss-pam-ldapd/ to use 7 | this overlay. 8 | 9 | If your system already has the nss-pam-ldapd stub libraries 10 | installed, make sure the versions match the version number 11 | shown above. Otherwise, there may be incompatible differences in 12 | the protocols being used. Currently nssov requires at least 13 | version 0.9.0. If your system's version is older, you will need 14 | to install the client-side stubs from source. 15 | 16 | -------------------------------------------------------------------------------- /contrib/slapd-modules/passwd/apr1-atol.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl -w 2 | 3 | # Apache $apr1$ to ReOpenLDAP {APR1} hash converter 4 | # (C) 2011 Devin J. Pohly 5 | # You may use this code freely. It would be nice to be credited. 6 | 7 | use MIME::Base64; 8 | 9 | while (<>) { 10 | ($user, $hash) = split(/:/, $_); 11 | unless ($hash =~ /^\$apr1\$/) { 12 | print STDERR "Not an Apache MD5 hash\n"; 13 | exit 1; 14 | } 15 | 16 | chomp $hash; 17 | ($_,$_,$salt,$hash) = split(/\$/, $hash); 18 | 19 | $hash =~ tr|./0-9A-Za-z|A-Za-z0-9+/|; 20 | $hash .= "AA"; 21 | $hash =~ s/(.)(.)(.)(.)/$4$3$2$1/gs; 22 | $hash = decode_base64($hash); 23 | $hash =~ s/(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)..(.)/$1$4$7$10$13$15$2$5$8$11$14$16$3$6$9$12/s; 24 | $hash .= $salt; 25 | $hash = encode_base64($hash); 26 | chop $hash; 27 | 28 | print "$user:{APR1}$hash\n"; 29 | } 30 | -------------------------------------------------------------------------------- /contrib/slapd-modules/passwd/apr1-ltoa.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl -w 2 | 3 | # ReOpenLDAP {APR1} to Apache $apr1$ hash converter 4 | # (C) 2011 Devin J. Pohly 5 | # You may use this code freely. It would be nice to be credited. 6 | 7 | use MIME::Base64; 8 | 9 | while (<>) { 10 | ($user, $hash) = split(/:/, $_); 11 | unless ($hash =~ /^{APR1}/) { 12 | print STDERR "Not an Apache MD5 hash\n"; 13 | next; 14 | } 15 | 16 | chomp $hash; 17 | $hash = decode_base64(substr($hash, 6)); 18 | ($hash, $salt) = (substr($hash, 0, 16), substr($hash, 16)); 19 | $hash = $hash; 20 | $hash =~ s/(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)(.)/$1$7$13$2$8$14$3$9$15$4$10$16$5$11$6\0\0$12/s; 21 | $hash = encode_base64($hash); 22 | chomp $hash; 23 | $hash =~ s/(.)(.)(.)(.)/$4$3$2$1/gs; 24 | unless ($hash =~ /AA$/) { 25 | #print "Problem with hash\n"; 26 | next; 27 | } 28 | $hash =~ s/AA$//; 29 | $hash =~ tr|A-Za-z0-9+/|./0-9A-Za-z|; 30 | print "$user:\$apr1\$$salt\$$hash\n" 31 | } 32 | -------------------------------------------------------------------------------- /contrib/slapd-modules/passwd/bcrypt/LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | 26 | -------------------------------------------------------------------------------- /contrib/slapd-modules/passwd/bcrypt/crypt_blowfish.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Written by Solar Designer in 2000-2011. 3 | * No copyright is claimed, and the software is hereby placed in the public 4 | * domain. In case this attempt to disclaim copyright and place the software 5 | * in the public domain is deemed null and void, then the software is 6 | * Copyright (c) 2000-2011 Solar Designer and it is hereby released to the 7 | * general public under the following terms: 8 | * 9 | * Redistribution and use in source and binary forms, with or without 10 | * modification, are permitted. 11 | * 12 | * There's ABSOLUTELY NO WARRANTY, express or implied. 13 | * 14 | * See crypt_blowfish.c for more information. 15 | */ 16 | 17 | #ifndef _CRYPT_BLOWFISH_H 18 | #define _CRYPT_BLOWFISH_H 19 | 20 | extern int _crypt_output_magic(const char *setting, char *output, int size); 21 | extern char *_crypt_blowfish_rn(const char *key, const char *setting, char *output, int size); 22 | extern char *_crypt_gensalt_blowfish_rn(const char *prefix, unsigned long count, const char *input, int size, 23 | char *output, int output_size); 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /contrib/slapd-modules/proxyOld/README: -------------------------------------------------------------------------------- 1 | This directory contains a slapd module proxyOld that provides support 2 | for the obsolete draft-weltman-ldapb3-proxy-05 revision of the LDAP 3 | Proxy Authorization control. It is merely intended to provide compatibility 4 | in environments where other servers only recognize this old control. 5 | New installations should not use this code. 6 | 7 | To use the module, add: 8 | 9 | moduleload contrib-proxyOld.la 10 | ... 11 | 12 | to your slapd configuration file. Since this is an obsolete feature, 13 | the control is registered with the SLAP_CTRL_HIDE flag so that it will 14 | not be advertised in the rootDSE's supportedControls attribute. 15 | 16 | This code only works as a dynamically loaded module. 17 | 18 | --- 19 | 20 | Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 21 | All rights reserved. 22 | 23 | This file is part of ReOpenLDAP. 24 | 25 | Redistribution and use in source and binary forms, with or without 26 | modification, are permitted only as authorized by the OpenLDAP 27 | Public License. 28 | 29 | A copy of this license is available in the file LICENSE in the 30 | top-level directory of the distribution or, alternatively, at 31 | . 32 | -------------------------------------------------------------------------------- /contrib/slapd-tools/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | EXTRA_DIST = README statslog 17 | -------------------------------------------------------------------------------- /contrib/slapd-tools/README: -------------------------------------------------------------------------------- 1 | Directory contents: 2 | 3 | statslog 4 | Program to output selected parts of slapd's statslog output 5 | (LDAP request/response log), grouping log lines by LDAP 6 | connection. Useful to search and inspect the server log. 7 | 8 | wrap_slap_ops 9 | Update source code to use the wrapper macros SLAP_OP() & co 10 | for LDAP-operation backend calls. They can help debug the 11 | SlapReply. They compile like the old code by default. 12 | 13 | --- 14 | 15 | Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 16 | All rights reserved. 17 | 18 | This file is part of ReOpenLDAP. 19 | 20 | Redistribution and use in source and binary forms, with or without 21 | modification, are permitted only as authorized by the OpenLDAP 22 | Public License. 23 | 24 | A copy of this license is available in the file LICENSE in the 25 | top-level directory of the distribution or, alternatively, at 26 | . 27 | -------------------------------------------------------------------------------- /contrib/slapi-plugins/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | EXTRA_DIST = addrdnvalues/README 17 | pkglib_LTLIBRARIES = slapiplugin-addrdnvalues.la 18 | AM_CPPFLAGS = -I$(top_srcdir)/include 19 | BUILT_SOURCES = 20 | 21 | if BEHIND_CURTIAN 22 | BUILT_SOURCES += banner.c 23 | banner.c: Makefile 24 | $(MKBANNER) --name contrib_slapi_plugins --global 'contrib-slapi-plugins' > $@ || $(RM) $@ 25 | endif 26 | 27 | slapiplugin_addrdnvalues_la_LDFLAGS = -module -export-dynamic \ 28 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 29 | slapiplugin_addrdnvalues_la_SOURCES = ./addrdnvalues/addrdnvalues.c banner.c 30 | -------------------------------------------------------------------------------- /contrib/slapi-plugins/addrdnvalues/README: -------------------------------------------------------------------------------- 1 | This directory contains a SLAPI plugin, addrdnvalues, which will add to 2 | an entry any attribute values that appear in the entry's RDN but not in 3 | the entry. This is necessary for compliance with some "broken" clients. 4 | 5 | To use the plugin, add: 6 | 7 | plugin preoperation slapiplugin-addrdnvalues.so addrdnvalues_preop_init 8 | 9 | to your slapd configuration file. 10 | 11 | --- 12 | 13 | Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 14 | All rights reserved. 15 | 16 | This file is part of ReOpenLDAP. 17 | 18 | Redistribution and use in source and binary forms, with or without 19 | modification, are permitted only as authorized by the OpenLDAP 20 | Public License. 21 | 22 | A copy of this license is available in the file LICENSE in the 23 | top-level directory of the distribution or, alternatively, at 24 | . 25 | -------------------------------------------------------------------------------- /doc/devel/README: -------------------------------------------------------------------------------- 1 | Contributing 2 | ------------ 3 | 4 | Before contribute please see the LICENSE file included in the 5 | root directory of the source tree for extended license details. 6 | 7 | In general to contribute ReOpenLDAP you should accept AGPL 8 | terms for contributions. 9 | 10 | 11 | ReOpenLDAP preamble 12 | ------------------- 13 | 14 | We consider that the original OpenLDAP project was failed 15 | due the following reasons: 16 | - disregard for support by community and code clarity. 17 | - giant technical debt and incredible low code quality. 18 | - unreasonable desire to support the wide range of 19 | an obsolete archaic systems and compilers. 20 | 21 | Therefore, expects the following TODO list will never be done 22 | or will never work properly. 23 | 24 | 25 | =============================================================== 26 | 27 | The OpenLDAP Developer's FAQ is available at: 28 | http://www.openldap.org/faq/index.cgi?file=4 29 | 30 | Additional developer pages are at: 31 | http://www.openldap.org/devel/ 32 | 33 | --- 34 | $ReOpenLDAP$ 35 | -------------------------------------------------------------------------------- /doc/devel/template.c: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | /* ACKNOWLEDGEMENTS: 17 | * This work was initially developed by Jane Doe for inclusion in 18 | * ReOpenLDAP Software. Additional significant contributors include: 19 | * John Doe 20 | */ 21 | -------------------------------------------------------------------------------- /doc/devel/toolargs: -------------------------------------------------------------------------------- 1 | Tools ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 2 | slapacl D F U X b d f o uv 3 | slapadd F S bcd fg j l no q s uvw 4 | slapauth F M R U X d f o v 5 | slapcat F H abcd fg l no s v 6 | slapdn F N P d f o v 7 | slapindex F bcd fg no q t v 8 | slappasswd T c h s uv 9 | slapschema F H abcd fg l no s v 10 | slaptest F Q d f no uv 11 | 12 | * General flags: 13 | -F config directory 14 | -U authcID 15 | -X authzID 16 | -b suffix (slapacl: entryDN) 17 | -c continue mode 18 | -d debug level 19 | -f config file 20 | -l LDIF file 21 | -n database number 22 | -o options 23 | -q "quick" mode 24 | -s subtree 25 | -u dryrun (slappasswd: RFC2307 userPassword) 26 | -v verbose 27 | 28 | --- 29 | $ReOpenLDAP$ 30 | -------------------------------------------------------------------------------- /doc/man/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 2 | ## All rights reserved. 3 | ## 4 | ## This file is part of ReOpenLDAP. 5 | ## 6 | ## Redistribution and use in source and binary forms, with or without 7 | ## modification, are permitted only as authorized by the OpenLDAP 8 | ## Public License. 9 | ## 10 | ## A copy of this license is available in the file LICENSE in the 11 | ## top-level directory of the distribution or, alternatively, at 12 | ## . 13 | ## 14 | 15 | SUBDIRS = ru en 16 | -------------------------------------------------------------------------------- /doc/man/en/Project: -------------------------------------------------------------------------------- 1 | .\" Shared Project Acknowledgement Text 2 | .B "ReOpenLDAP Software" 3 | is developed and maintained by The ReOpenLDAP Project (https://gitflic.ru/project/erthink/reopenldap). 4 | .B "ReOpenLDAP Software" 5 | is derived from OpenLDAP 2.4 Release. 6 | 7 | .B "OpenLDAP Software" 8 | is developed and maintained by The OpenLDAP Project . 9 | .B "OpenLDAP Software" 10 | is derived from the University of Michigan LDAP 3.3 Release. 11 | -------------------------------------------------------------------------------- /doc/man/en/man1/ldapmodify.1.links: -------------------------------------------------------------------------------- 1 | ldapadd.1 2 | -------------------------------------------------------------------------------- /doc/man/en/man3/lber-decode.3.links: -------------------------------------------------------------------------------- 1 | ber_get_next.3 2 | ber_skip_tag.3 3 | ber_peek_tag.3 4 | ber_scanf.3 5 | ber_get_int.3 6 | ber_get_stringa.3 7 | ber_get_stringb.3 8 | ber_get_null.3 9 | ber_get_enum.3 10 | ber_get_boolean.3 11 | ber_get_bitstring.3 12 | ber_first_element.3 13 | ber_next_element.3 14 | -------------------------------------------------------------------------------- /doc/man/en/man3/lber-encode.3.links: -------------------------------------------------------------------------------- 1 | ber_alloc_t.3 2 | ber_flush.3 3 | ber_printf.3 4 | ber_put_int.3 5 | ber_put_ostring.3 6 | ber_put_string.3 7 | ber_put_null.3 8 | ber_put_enum.3 9 | ber_start_set.3 10 | ber_put_seq.3 11 | ber_put_set.3 12 | -------------------------------------------------------------------------------- /doc/man/en/man3/lber-types.3.links: -------------------------------------------------------------------------------- 1 | ber_bvarray_add.3 2 | ber_bvarray_free.3 3 | ber_bvdup.3 4 | ber_bvecadd.3 5 | ber_bvecfree.3 6 | ber_bvfree.3 7 | ber_bvstr.3 8 | ber_bvstrdup.3 9 | ber_dupbv.3 10 | ber_free.3 11 | ber_str2bv.3 12 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_abandon.3.links: -------------------------------------------------------------------------------- 1 | ldap_abandon_ext.3 2 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_add.3.links: -------------------------------------------------------------------------------- 1 | ldap_add_s.3 2 | ldap_add_ext.3 3 | ldap_add_ext_s.3 4 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_bind.3.links: -------------------------------------------------------------------------------- 1 | ldap_bind_s.3 2 | ldap_simple_bind.3 3 | ldap_simple_bind_s.3 4 | ldap_sasl_bind.3 5 | ldap_sasl_bind_s.3 6 | ldap_unbind.3 7 | ldap_unbind_ext.3 8 | ldap_unbind_s.3 9 | ldap_unbind_ext_s.3 10 | ldap_set_rebind_proc.3 11 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_compare.3.links: -------------------------------------------------------------------------------- 1 | ldap_compare_s.3 2 | ldap_compare_ext.3 3 | ldap_compare_ext_s.3 4 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_controls.3.links: -------------------------------------------------------------------------------- 1 | ldap_control_create.3 2 | ldap_control_find.3 3 | ldap_control_dup.3 4 | ldap_controls_dup.3 5 | ldap_control_free.3 6 | ldap_controls_free.3 7 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_delete.3.links: -------------------------------------------------------------------------------- 1 | ldap_delete_s.3 2 | ldap_delete_ext.3 3 | ldap_delete_ext_s.3 4 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_dup.3.links: -------------------------------------------------------------------------------- 1 | ldap_destroy.3 2 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_error.3.links: -------------------------------------------------------------------------------- 1 | ldap_perror.3 2 | ld_errno.3 3 | ldap_result2error.3 4 | ldap_errlist.3 5 | ldap_err2string.3 6 | ldap_debug_perror.3 7 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_extended_operation.3.links: -------------------------------------------------------------------------------- 1 | ldap_extended_operation_s.3 2 | 3 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_first_attribute.3.links: -------------------------------------------------------------------------------- 1 | ldap_next_attribute.3 2 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_first_entry.3.links: -------------------------------------------------------------------------------- 1 | ldap_next_entry.3 2 | ldap_count_entries.3 3 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_first_message.3.links: -------------------------------------------------------------------------------- 1 | ldap_next_message.3 2 | ldap_count_messages.3 3 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_first_reference.3.links: -------------------------------------------------------------------------------- 1 | ldap_next_reference.3 2 | ldap_count_references.3 3 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_get_dn.3.links: -------------------------------------------------------------------------------- 1 | ldap_explode_dn.3 2 | ldap_explode_rdn.3 3 | ldap_dn2ufn.3 4 | ldap_str2dn.3 5 | ldap_dnfree.3 6 | ldap_dn2str.3 7 | ldap_dn2dcedn.3 8 | ldap_dcedn2dn.3 9 | ldap_dn2ad_canonical.3 10 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_get_option.3.links: -------------------------------------------------------------------------------- 1 | ldap_set_option.3 2 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_get_values.3.links: -------------------------------------------------------------------------------- 1 | ldap_get_values_len.3 2 | ldap_value_free.3 3 | ldap_value_free_len.3 4 | ldap_count_values.3 5 | ldap_count_values_len.3 6 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_memory.3.links: -------------------------------------------------------------------------------- 1 | ldap_memfree.3 2 | ldap_memvfree.3 3 | ldap_memalloc.3 4 | ldap_memcalloc.3 5 | ldap_memrealloc.3 6 | ldap_strdup.3 7 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_modify.3.links: -------------------------------------------------------------------------------- 1 | ldap_modify_s.3 2 | ldap_modify_ext.3 3 | ldap_modify_ext_s.3 4 | ldap_mods_free.3 5 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_modrdn.3.links: -------------------------------------------------------------------------------- 1 | ldap_modrdn_s.3 2 | ldap_modrdn2.3 3 | ldap_modrdn2_s.3 4 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_open.3.links: -------------------------------------------------------------------------------- 1 | ldap_init.3 2 | ldap_initialize.3 3 | ldap_set_urllist_proc.3 4 | ldap_init_fd.3 5 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_parse_result.3.links: -------------------------------------------------------------------------------- 1 | ldap_parse_sasl_bind_result.3 2 | ldap_parse_extended_result.3 3 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_rename.3.links: -------------------------------------------------------------------------------- 1 | ldap_rename_s.3 2 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_result.3.links: -------------------------------------------------------------------------------- 1 | ldap_msgfree.3 2 | ldap_msgtype.3 3 | ldap_msgid.3 4 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_schema.3.links: -------------------------------------------------------------------------------- 1 | ldap_str2syntax.3 2 | ldap_syntax2str.3 3 | ldap_syntax2name.3 4 | ldap_syntax_free.3 5 | ldap_str2matchingrule.3 6 | ldap_matchingrule2str.3 7 | ldap_matchingrule2name.3 8 | ldap_matchingrule_free.3 9 | ldap_str2attributetype.3 10 | ldap_attributetype2str.3 11 | ldap_attributetype2name.3 12 | ldap_attributetype_free.3 13 | ldap_str2objectclass.3 14 | ldap_objectclass2str.3 15 | ldap_objectclass2name.3 16 | ldap_objectclass_free.3 17 | ldap_scherr2str.3 18 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_search.3.links: -------------------------------------------------------------------------------- 1 | ldap_search_s.3 2 | ldap_search_st.3 3 | ldap_search_ext.3 4 | ldap_search_ext_s.3 5 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_sort.3.links: -------------------------------------------------------------------------------- 1 | ldap_sort_entries.3 2 | ldap_sort_values.3 3 | ldap_sort_strcasecmp.3 4 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_sort.soelim: -------------------------------------------------------------------------------- 1 | .\" $ReOpenLDAP$ 2 | .\" Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | .\" All rights reserved. 4 | .\" 5 | .\" This file is part of ReOpenLDAP. 6 | .\" 7 | .\" Redistribution and use in source and binary forms, with or without 8 | .\" modification, are permitted only as authorized by the OpenLDAP 9 | .\" Public License. 10 | .\" 11 | .\" A copy of this license is available in the file LICENSE in the 12 | .\" top-level directory of the distribution or, alternatively, at 13 | .\" . 14 | 15 | .TH LDAP_SORT 3 "@RELEASE_DATE@" "ReOpenLDAP @VERSION@" 16 | 17 | .SH NAME 18 | ldap_sort_entries, ldap_sort_values, ldap_sort_strcasecmp \- LDAP sorting routines (deprecated) 19 | 20 | .SH LIBRARY 21 | ReOpenLDAP LDAP (libreldap, \-lreldap) 22 | 23 | .SH DESCRIPTION 24 | The 25 | .BR ldap_sort_entries (), 26 | .BR ldap_sort_values (), 27 | and 28 | .BR ldap_sort_strcasecmp () 29 | are deprecated. 30 | .SH SEE ALSO 31 | .BR ldap (3) 32 | .SH ACKNOWLEDGEMENTS 33 | .so ../Project 34 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_tls.3.links: -------------------------------------------------------------------------------- 1 | ldap_start_tls.3 2 | ldap_start_tls_s.3 3 | ldap_tls_inplace.3 4 | ldap_install_tls.3 5 | -------------------------------------------------------------------------------- /doc/man/en/man3/ldap_url.3.links: -------------------------------------------------------------------------------- 1 | ldap_is_ldap_url.3 2 | ldap_url_parse.3 3 | ldap_free_urldesc.3 4 | -------------------------------------------------------------------------------- /doc/man/en/man5/slapd-bdb.5.links: -------------------------------------------------------------------------------- 1 | slapd-hdb.5 2 | -------------------------------------------------------------------------------- /doc/man/en/man5/slapd-sock.5.links: -------------------------------------------------------------------------------- 1 | slapo-sock.5 2 | -------------------------------------------------------------------------------- /doc/man/ru/Project: -------------------------------------------------------------------------------- 1 | .\" Shared Project Acknowledgement Text 2 | 3 | .B "Программное обеспечение ReOpenLDAP" 4 | разработано и поддерживается проектом ReOpenLDAP . 5 | Перевод этой man-страницы выполнен участниками проекта Pro-LDAP.ru . 6 | .B "Программное обеспечение ReOpenLDAP" 7 | является производным от релиза 2.4 OpenLDAP. 8 | 9 | .B "Программное обеспечение OpenLDAP" 10 | разработано и поддерживается проектом OpenLDAP . 11 | .B "Программное обеспечение OpenLDAP" 12 | является производным от релиза 3.3 LDAP Мичиганского Университета. 13 | -------------------------------------------------------------------------------- /doc/man/ru/man1/ldapmodify.1.links: -------------------------------------------------------------------------------- 1 | ldapadd.1 2 | -------------------------------------------------------------------------------- /doc/man/ru/man5/slapd-bdb.5.links: -------------------------------------------------------------------------------- 1 | slapd-hdb.5 2 | -------------------------------------------------------------------------------- /doc/man/ru/man5/slapd-ldbm.soelim: -------------------------------------------------------------------------------- 1 | .\" $ReOpenLDAP$ 2 | .\" Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | .\" All rights reserved. 4 | .\" 5 | .\" This file is part of ReOpenLDAP. 6 | .\" 7 | .\" Redistribution and use in source and binary forms, with or without 8 | .\" modification, are permitted only as authorized by the OpenLDAP 9 | .\" Public License. 10 | .\" 11 | .\" A copy of this license is available in the file LICENSE in the 12 | .\" top-level directory of the distribution or, alternatively, at 13 | .\" . 14 | 15 | .TH SLAPD-LDBM 5 "@RELEASE_DATE@" "ReOpenLDAP @VERSION@" 16 | 17 | .SH НАЗВАНИЕ 18 | slapd\-ldbm \- Неподдерживаемый механизм манипуляции данными для slapd LDBM 19 | 20 | .SH ОБЗОР 21 | @SYSCONFDIR@/slapd.conf 22 | 23 | .SH ОПИСАНИЕ 24 | LDBM был оригинальным механизмом манипуляции данными для ведения баз данных 25 | .BR slapd (8), 26 | и поддерживался вплоть до OpenLDAP 2.3. 27 | Он был заменён более надежными механизмами манипуляции данными BDB и HDB. 28 | 29 | .SH СМОТРИТЕ ТАКЖЕ 30 | .BR slapd (8), 31 | .BR slapd\-bdb (5), 32 | .BR slapd.backends (5). 33 | .SH "ПРИЗНАНИЕ ЗАСЛУГ" 34 | .so ../Project 35 | -------------------------------------------------------------------------------- /doc/man/ru/man5/slapd-sock.5.links: -------------------------------------------------------------------------------- 1 | slapo-sock.5 2 | -------------------------------------------------------------------------------- /include/ac/alloca.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_ALLOCA_H 17 | #define _AC_ALLOCA_H 18 | 19 | /* 20 | * use of alloca is disallowed as it is machine dependent 21 | */ 22 | #error "alloca() not supported, use malloc()" 23 | 24 | /* AIX requires this to be the first thing in the file. */ 25 | #ifdef __GNUC__ 26 | #define alloca __builtin_alloca 27 | #else 28 | #ifdef HAVE_ALLOCA_H 29 | #include 30 | #else 31 | #ifdef _AIX 32 | #pragma alloca 33 | #else 34 | #ifndef alloca /* predefined by HP cc +Olibcalls */ 35 | extern char *(alloca)(); 36 | #endif 37 | #endif 38 | #endif 39 | #endif 40 | 41 | #endif /* _AC_ALLOCA_H */ 42 | -------------------------------------------------------------------------------- /include/ac/bytes.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_BYTES_H 17 | #define _AC_BYTES_H 18 | 19 | #ifndef BYTE_ORDER 20 | /* cross compilers should define BYTE_ORDER in CPPFLAGS */ 21 | 22 | /* 23 | * Definitions for byte order, according to byte significance from low 24 | * address to high. 25 | */ 26 | #define LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ 27 | #define BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ 28 | #define PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ 29 | 30 | /* assume autoconf's AC_C_BIGENDIAN has been ran */ 31 | /* if it hasn't, we assume (maybe falsely) the order is LITTLE ENDIAN */ 32 | #ifdef WORDS_BIGENDIAN 33 | #define BYTE_ORDER BIG_ENDIAN 34 | #else 35 | #define BYTE_ORDER LITTLE_ENDIAN 36 | #endif 37 | 38 | #endif /* BYTE_ORDER */ 39 | 40 | #endif /* _AC_BYTES_H */ 41 | -------------------------------------------------------------------------------- /include/ac/crypt.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_CRYPT_H 17 | #define _AC_CRYPT_H 18 | 19 | #include 20 | 21 | /* crypt() may be defined in a separate include file */ 22 | #ifdef HAVE_CRYPT_H 23 | #include 24 | #else 25 | extern char *(crypt)(); 26 | #endif 27 | 28 | #endif /* _AC_CRYPT_H */ 29 | -------------------------------------------------------------------------------- /include/ac/ctype.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_CTYPE_H 17 | #define _AC_CTYPE_H 18 | 19 | #include 20 | 21 | #undef TOUPPER 22 | #undef TOLOWER 23 | 24 | #ifdef C_UPPER_LOWER 25 | #define TOUPPER(c) (islower(c) ? toupper(c) : (c)) 26 | #define TOLOWER(c) (isupper(c) ? tolower(c) : (c)) 27 | #else 28 | #define TOUPPER(c) toupper(c) 29 | #define TOLOWER(c) tolower(c) 30 | #endif 31 | 32 | #endif /* _AC_CTYPE_H */ 33 | -------------------------------------------------------------------------------- /include/ac/dirent.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_DIRENT_H 17 | #define _AC_DIRENT_H 18 | 19 | #ifdef HAVE_DIRENT_H 20 | #include 21 | #define NAMLEN(dirent) strlen((dirent)->d_name) 22 | #else 23 | #define dirent direct 24 | #define NAMLEN(dirent) (dirent)->d_namlen 25 | #ifdef HAVE_SYS_NDIR_H 26 | #include 27 | #endif 28 | #ifdef HAVE_SYS_DIR_H 29 | #include 30 | #endif 31 | #ifdef HAVE_NDIR_H 32 | #include 33 | #endif 34 | #endif 35 | 36 | #endif /* _AC_DIRENT_H */ 37 | -------------------------------------------------------------------------------- /include/ac/fdset.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | /* 17 | * This header is to be included by reldap.h to ensure 18 | * tweaking of FD_SETSIZE is done early enough to be effective. 19 | */ 20 | 21 | #ifndef _AC_FDSET_H 22 | #define _AC_FDSET_H 23 | 24 | #if !defined(REOPENLDAP_FD_SETSIZE) && !defined(FD_SETSIZE) 25 | #define REOPENLDAP_FD_SETSIZE 4096 26 | #endif 27 | 28 | #ifdef REOPENLDAP_FD_SETSIZE 29 | /* assume installer desires to enlarge fd_set */ 30 | #ifdef HAVE_BITS_TYPES_H 31 | #include 32 | #endif 33 | #ifdef __FD_SETSIZE 34 | #undef __FD_SETSIZE 35 | #define __FD_SETSIZE REOPENLDAP_FD_SETSIZE 36 | #else 37 | #define FD_SETSIZE REOPENLDAP_FD_SETSIZE 38 | #endif 39 | #endif 40 | 41 | #endif /* _AC_FDSET_H */ 42 | -------------------------------------------------------------------------------- /include/ac/localize.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_LOCALIZE_H 17 | #define _AC_LOCALIZE_H 18 | 19 | #ifdef LDAP_LOCALIZE 20 | 21 | #include 22 | #include 23 | 24 | /* enable i18n/l10n */ 25 | #define gettext_noop(s) s 26 | #define _(s) gettext(s) 27 | #define N_(s) gettext_noop(s) 28 | #define ldap_pvt_setlocale(c, l) ((void)setlocale(c, l)) 29 | #define ldap_pvt_textdomain(d) ((void)textdomain(d)) 30 | #define ldap_pvt_bindtextdomain(p, d) ((void)bindtextdomain(p, d)) 31 | 32 | #else 33 | 34 | /* disable i18n/l10n */ 35 | #define _(s) s 36 | #define N_(s) s 37 | #define ldap_pvt_setlocale(c, l) ((void)0) 38 | #define ldap_pvt_textdomain(d) ((void)0) 39 | #define ldap_pvt_bindtextdomain(p, d) ((void)0) 40 | 41 | #endif 42 | 43 | #endif /* _AC_LOCALIZE_H */ 44 | -------------------------------------------------------------------------------- /include/ac/param.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_PARAM_H 17 | #define _AC_PARAM_H 18 | 19 | #ifdef HAVE_SYS_PARAM_H 20 | #include 21 | #endif 22 | 23 | /* MAXPATHLEN should come from */ 24 | #include 25 | 26 | #ifndef MAXPATHLEN 27 | #if defined(PATH_MAX) 28 | #define MAXPATHLEN PATH_MAX 29 | 30 | #elif defined(_MAX_PATH) 31 | #define MAXPATHLEN _MAX_PATH 32 | 33 | #else 34 | #define MAXPATHLEN 4096 35 | #endif 36 | #endif 37 | 38 | #endif /* _AC_PARAM_H */ 39 | -------------------------------------------------------------------------------- /include/ac/regex.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_REGEX_H_ 17 | #define _AC_REGEX_H_ 18 | 19 | #ifdef HAVE_SYS_TYPES_H 20 | #include 21 | #endif 22 | 23 | #ifndef HAVE_REGEX_H 24 | /* NO POSIX REGEX!! 25 | * You'll need to install a POSIX compatible REGEX library. 26 | * Either Henry Spencer's or GNU regex will do. 27 | */ 28 | #error "No POSIX REGEX available." 29 | 30 | #elif HAVE_GNUREGEX_H 31 | /* system has GNU gnuregex.h */ 32 | #include 33 | #else 34 | /* have regex.h, assume it's POSIX compliant */ 35 | #include 36 | #endif /* regex.h */ 37 | 38 | #endif /* _AC_REGEX_H_ */ 39 | -------------------------------------------------------------------------------- /include/ac/setproctitle.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_SETPROCTITLE_H 17 | #define _AC_SETPROCTITLE_H 18 | 19 | #ifdef LDAP_PROCTITLE 20 | 21 | #if defined(HAVE_LIBUTIL_H) 22 | #include 23 | #else 24 | /* use lutil version */ 25 | LDAP_LUTIL_F(void) 26 | (setproctitle)(const char *fmt, ...) __attribute__((format(printf, 1, 2))); 27 | LDAP_LUTIL_V(int) Argc; 28 | LDAP_LUTIL_V(char) * *Argv; 29 | #endif 30 | 31 | #endif /* LDAP_PROCTITLE */ 32 | #endif /* _AC_SETPROCTITLE_H */ 33 | -------------------------------------------------------------------------------- /include/ac/stdarg.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_STDARG_H 17 | #define _AC_STDARG_H 1 18 | 19 | /* require STDC variable argument support */ 20 | 21 | #include 22 | 23 | #ifndef HAVE_STDARG 24 | #define HAVE_STDARG 1 25 | #endif 26 | 27 | #endif /* _AC_STDARG_H */ 28 | -------------------------------------------------------------------------------- /include/ac/stdlib.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_STDLIB_H 17 | #define _AC_STDLIB_H 18 | 19 | #if defined(HAVE_CSRIMALLOC) 20 | #include 21 | #define MALLOC_TRACE 22 | #include 23 | #endif 24 | 25 | #include 26 | 27 | /* Ignore malloc.h if we have STDC_HEADERS */ 28 | #if defined(HAVE_MALLOC_H) && !defined(STDC_HEADERS) 29 | #include 30 | #endif 31 | 32 | #ifndef EXIT_SUCCESS 33 | #define EXIT_SUCCESS 0 34 | #define EXIT_FAILURE 1 35 | #endif 36 | 37 | #ifdef HAVE_LIMITS_H 38 | #include 39 | #endif 40 | 41 | #if defined(LINE_MAX) 42 | #define AC_LINE_MAX LINE_MAX 43 | #else 44 | #define AC_LINE_MAX 2048 /* POSIX MIN */ 45 | #endif 46 | 47 | #endif /* _AC_STDLIB_H */ 48 | -------------------------------------------------------------------------------- /include/ac/sysexits.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_SYSEXITS_H_ 17 | #define _AC_SYSEXITS_H_ 18 | 19 | #ifdef HAVE_SYSEXITS_H 20 | #include 21 | #else 22 | #include 23 | #endif 24 | 25 | #endif /* _AC_SYSEXITS_H_ */ 26 | -------------------------------------------------------------------------------- /include/ac/syslog.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_SYSLOG_H_ 17 | #define _AC_SYSLOG_H_ 18 | 19 | #if defined(HAVE_SYSLOG_H) 20 | #include 21 | #elif defined(HAVE_SYS_SYSLOG_H) 22 | #include 23 | #endif 24 | 25 | #if defined(LOG_NDELAY) && defined(LOG_NOWAIT) 26 | #define OPENLOG_OPTIONS (LOG_PID | LOG_NDELAY | LOG_NOWAIT) 27 | #elif defined(LOG_NDELAY) 28 | #define OPENLOG_OPTIONS (LOG_PID | LOG_NDELAY) 29 | #elif defined(LOG_NOWAIT) 30 | #define OPENLOG_OPTIONS (LOG_PID | LOG_NOWAIT) 31 | #elif defined(LOG_PID) 32 | #define OPENLOG_OPTIONS (LOG_PID) 33 | #else 34 | #define OPENLOG_OPTIONS (0) 35 | #endif 36 | 37 | #endif /* _AC_SYSLOG_H_ */ 38 | -------------------------------------------------------------------------------- /include/ac/time.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _AC_TIME_H 17 | #define _AC_TIME_H 18 | 19 | #ifdef TIME_WITH_SYS_TIME 20 | #include 21 | #include 22 | #elif defined(HAVE_SYS_TIME_H) 23 | #include 24 | #ifdef HAVE_SYS_TIMEB_H 25 | #include 26 | #endif 27 | #else 28 | #include 29 | #endif 30 | 31 | #define time(ptr) @wanna_steady_or_not ? 32 | 33 | #endif /* _AC_TIME_H */ 34 | -------------------------------------------------------------------------------- /include/getopt-compat.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _GETOPT_COMPAT_H 17 | #define _GETOPT_COMPAT_H 18 | 19 | #include 20 | 21 | LDAP_BEGIN_DECL 22 | 23 | /* change symbols to avoid clashing */ 24 | #define optarg lutil_optarg 25 | #define optind lutil_optind 26 | #define opterr lutil_opterr 27 | #define optopt lutil_optopt 28 | #define getopt lutil_getopt 29 | 30 | LDAP_LUTIL_V(char *) optarg; 31 | LDAP_LUTIL_V(int) optind, opterr, optopt; 32 | LDAP_LUTIL_F(int) getopt(int, char *const[], const char *); 33 | 34 | LDAP_END_DECL 35 | 36 | #endif /* _GETOPT_COMPAT_H */ 37 | -------------------------------------------------------------------------------- /include/ldap_features.h.in: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | /* 17 | * LDAP Features 18 | */ 19 | 20 | #ifndef _LDAP_FEATURES_H 21 | #define _LDAP_FEATURES_H 22 | 23 | /* ReOpenLDAP API version macros */ 24 | #undef LDAP_VENDOR_VERSION 25 | #undef LDAP_VENDOR_VERSION_MAJOR 26 | #undef LDAP_VENDOR_VERSION_MINOR 27 | #undef LDAP_VENDOR_VERSION_PATCH 28 | 29 | /* 30 | * The -lreldap implementation is basic thread safety, 31 | * but also should be: 32 | * LDAP_API_FEATURE_SESSION_THREAD_SAFE 33 | * LDAP_API_FEATURE_OPERATION_THREAD_SAFE 34 | */ 35 | 36 | #define LDAP_API_FEATURE_X_OPENLDAP_THREAD_SAFE 1 37 | 38 | /* LDAP v2 Referrals */ 39 | #undef LDAP_API_FEATURE_X_OPENLDAP_V2_REFERRALS 40 | 41 | #endif /* LDAP_FEATURES */ 42 | -------------------------------------------------------------------------------- /include/lutil_ldap.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _LUTIL_LDAP_H 17 | #define _LUTIL_LDAP_H 1 18 | 19 | #include 20 | #include 21 | 22 | /* 23 | * Include file for lutil LDAP routines 24 | */ 25 | 26 | LDAP_BEGIN_DECL 27 | 28 | LDAP_LUTIL_F(void) 29 | lutil_sasl_freedefs(void *defaults); 30 | 31 | LDAP_LUTIL_F(void *) 32 | lutil_sasl_defaults(LDAP *ld, char *mech, char *realm, char *authcid, char *passwd, char *authzid); 33 | 34 | LDAP_LUTIL_F(int) 35 | lutil_sasl_interact(LDAP *ld, unsigned flags, void *defaults, void *p); 36 | 37 | LDAP_END_DECL 38 | 39 | #endif /* _LUTIL_LDAP_H */ 40 | -------------------------------------------------------------------------------- /include/lutil_lockf.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | /* File locking methods 17 | * 18 | * lutil_lockf() will block until an exclusive lock is acquired. 19 | */ 20 | 21 | #ifndef _LUTIL_LOCKF_H_ 22 | #define _LUTIL_LOCKF_H_ 23 | 24 | LDAP_BEGIN_DECL 25 | 26 | LDAP_LUTIL_F(int) 27 | lutil_lockf(int fd); 28 | 29 | LDAP_LUTIL_F(int) 30 | lutil_unlockf(int fd); 31 | 32 | LDAP_END_DECL 33 | 34 | #endif /* _LUTIL_LOCKF_H_ */ 35 | -------------------------------------------------------------------------------- /libraries/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | DIST_SUBDIRS = liblunicode liblutil libreldap librewrite 17 | SUBDIRS = liblunicode liblutil libreldap 18 | 19 | if BUILD_REWRITE 20 | SUBDIRS += librewrite 21 | endif 22 | -------------------------------------------------------------------------------- /libraries/liblunicode/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | noinst_LTLIBRARIES = liblunicode.la 17 | BUILT_SOURCES = 18 | 19 | AM_CPPFLAGS = -I$(top_srcdir)/include 20 | 21 | if BEHIND_CURTIAN 22 | BUILT_SOURCES += banner.c uctable.h 23 | 24 | banner.c: Makefile 25 | $(MKBANNER) --name lunicode 'liblunicode' > $@ || $(RM) $@ 26 | 27 | noinst_PROGRAMS = ucgendat 28 | nodist_ucgendat_SOURCES = ucgendat.c 29 | ucgendat_CPPFLAGS = -DSKIP_LDAP_AC_INCLUDES $(AM_CPPFLAGS) 30 | 31 | uctable.h: ucgendat$(EXEEXT) UnicodeData.txt CompositionExclusions.txt 32 | @if $(AM_V_P); then set -x; else echo " GEN $@"; fi; \ 33 | ./ucgendat$(EXEEXT) $(srcdir)/UnicodeData.txt -x $(srcdir)/CompositionExclusions.txt \ 34 | || ($(RM) $@; exit 1) 35 | 36 | endif 37 | 38 | liblunicode_la_SOURCES = banner.c ucstr.c ucdata.c ure.c \ 39 | urestubs.c ucdata.h ucpgba.h uctable.h ure.h utbm.h 40 | -------------------------------------------------------------------------------- /libraries/liblunicode/UCD-Terms: -------------------------------------------------------------------------------- 1 | UCD Terms of Use (http://www.unicode.org/Public/UNIDATA/UCD.html) 2 | 3 | Disclaimer 4 | 5 | The Unicode Character Database is provided as is by Unicode, Inc. 6 | No claims are made as to fitness for any particular purpose. No 7 | warranties of any kind are expressed or implied. The recipient 8 | agrees to determine applicability of information provided. If this 9 | file has been purchased on magnetic or optical media from Unicode, 10 | Inc., the sole remedy for any claim will be exchange of defective 11 | media within 90 days of receipt. 12 | 13 | This disclaimer is applicable for all other data files accompanying 14 | the Unicode Character Database, some of which have been compiled 15 | by the Unicode Consortium, and some of which have been supplied by 16 | other sources. 17 | 18 | Limitations on Rights to Redistribute This Data 19 | 20 | Recipient is granted the right to make copies in any form for 21 | internal distribution and to freely use the information supplied 22 | in the creation of products supporting the Unicode (TM) Standard. 23 | The files in the Unicode Character Database can be redistributed 24 | to third parties or other organizations (whether for profit or not) 25 | as long as this notice and the disclaimer notice are retained. 26 | Information can be extracted from these files and used in documentation 27 | or programs, as long as there is an accompanying notice indicating 28 | the source. 29 | 30 | -------------------------------------------------------------------------------- /libraries/liblutil/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | noinst_LTLIBRARIES = liblutil.la 17 | 18 | AM_CPPFLAGS = -I$(top_srcdir)/include 19 | 20 | if BEHIND_CURTIAN 21 | BUILT_SOURCES = banner.c 22 | banner.c: Makefile 23 | $(MKBANNER) --name lutil 'liblutil' > $@ || $(RM) $@ 24 | endif 25 | 26 | liblutil_la_SOURCES = avl.c banner.c base64.c detach.c \ 27 | entropy.c getopt.c getpass.c getpeereid.c hash.c lockf.c md5.c \ 28 | meter.c passfile.c passwd.c sasl.c setproctitle.c sha1.c \ 29 | signal.c sockpair.c tavl.c utils.c uuid.c 30 | 31 | liblutil_la_LIBADD = $(LUTIL_LIBS) 32 | -------------------------------------------------------------------------------- /libraries/liblutil/signal.c: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1992-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #include "reldap.h" 17 | 18 | #ifdef HAVE_SIGACTION 19 | #include 20 | #include 21 | 22 | lutil_sig_t lutil_sigaction(int sig, lutil_sig_t func) { 23 | struct sigaction action, oaction; 24 | 25 | memset(&action, '\0', sizeof(action)); 26 | 27 | action.sa_handler = func; 28 | sigemptyset(&action.sa_mask); 29 | #ifdef SA_RESTART 30 | action.sa_flags |= SA_RESTART; 31 | #endif 32 | 33 | if (sigaction(sig, &action, &oaction) != 0) { 34 | return NULL; 35 | } 36 | 37 | return oaction.sa_handler; 38 | } 39 | #endif 40 | -------------------------------------------------------------------------------- /libraries/libmdbx/.clang-format-ignore: -------------------------------------------------------------------------------- 1 | mdbx.c 2 | mdbx.c++ 3 | mdbx_chk.c 4 | mdbx_copy.c 5 | mdbx_drop.c 6 | mdbx_dump.c 7 | mdbx_load.c 8 | mdbx_stat.c 9 | -------------------------------------------------------------------------------- /libraries/libmdbx/VERSION.json: -------------------------------------------------------------------------------- 1 | { "git_describe": "v0.13.6-2-g5c44dd20", "git_timestamp": "2025-04-22T14:43:37+03:00", "git_tree": "c43c0d0bdb6f8759d1e838037c7b74fa2c0a5286", "git_commit": "5c44dd201caf759f1e6576868a17f39086f0ca83", "semver": "0.13.6.2" } 2 | -------------------------------------------------------------------------------- /libraries/libmdbx/man1/mdbx_drop.1: -------------------------------------------------------------------------------- 1 | .\" Copyright 2021-2025 Leonid Yuriev . 2 | .\" Copyright 2014-2021 Howard Chu, Symas Corp. All Rights Reserved. 3 | .\" Copying restrictions apply. See COPYRIGHT/LICENSE. 4 | .TH MDBX_DROP 1 "2024-08-29" "MDBX 0.13" 5 | .SH NAME 6 | mdbx_drop \- MDBX database delete tool 7 | .SH SYNOPSIS 8 | .B mdbx_drop 9 | [\c 10 | .BR \-V ] 11 | [\c 12 | .BR \-d ] 13 | [\c 14 | .BI \-s \ table\fR] 15 | [\c 16 | .BR \-n ] 17 | .BR \ dbpath 18 | .SH DESCRIPTION 19 | The 20 | .B mdbx_drop 21 | utility empties or deletes a database in the specified 22 | environment. 23 | .SH OPTIONS 24 | .TP 25 | .BR \-V 26 | Write the library version number to the standard output, and exit. 27 | .TP 28 | .BR \-d 29 | Delete the specified database, don't just empty it. 30 | .TP 31 | .BR \-s \ table 32 | Operate on a specific table. If no table is specified, only the main table is dropped. 33 | .TP 34 | .BR \-n 35 | Dump an MDBX database which does not use subdirectories. 36 | This is legacy option. For now MDBX handles this automatically. 37 | 38 | .SH DIAGNOSTICS 39 | Exit status is zero if no errors occur. 40 | Errors result in a non-zero exit status and 41 | a diagnostic message being written to standard error. 42 | .SH "SEE ALSO" 43 | .BR mdbx_load (1), 44 | .BR mdbx_copy (1), 45 | .BR mdbx_chk (1), 46 | .BR mdbx_stat (1) 47 | .SH AUTHOR 48 | Howard Chu of Symas Corporation 49 | -------------------------------------------------------------------------------- /libraries/libreldap/ldap.conf: -------------------------------------------------------------------------------- 1 | # 2 | # LDAP Defaults 3 | # 4 | 5 | # See ldap.conf(5) for details 6 | # This file should be world readable but not world writable. 7 | 8 | #BASE dc=example,dc=com 9 | #URI ldap://ldap.example.com ldap://ldap-master.example.com:4242 10 | 11 | #SIZELIMIT 12 12 | #TIMELIMIT 15 13 | #DEREF never 14 | 15 | tls_reqcert never 16 | 17 | # TLS certificates (needed for GnuTLS) 18 | TLS_CACERT /etc/ssl/certs/ca-certificates.crt 19 | -------------------------------------------------------------------------------- /libraries/librewrite/Copyright: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * 3 | * Copyright (C) 2000 Pierangelo Masarati, 4 | * All rights reserved. 5 | * 6 | * Permission is granted to anyone to use this software for any purpose 7 | * on any computer system, and to alter it and redistribute it, subject 8 | * to the following restrictions: 9 | * 10 | * 1. The author is not responsible for the consequences of use of this 11 | * software, no matter how awful, even if they arise from flaws in it. 12 | * 13 | * 2. The origin of this software must not be misrepresented, either by 14 | * explicit claim or by omission. Since few users ever read sources, 15 | * credits should appear in the documentation. 16 | * 17 | * 3. Altered versions must be plainly marked as such, and must not be 18 | * misrepresented as being the original software. Since few users 19 | * ever read sources, credits should appear in the documentation. 20 | * 21 | * 4. This notice may not be removed or altered. 22 | * 23 | ******************************************************************************/ 24 | -------------------------------------------------------------------------------- /libraries/librewrite/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | noinst_LTLIBRARIES = librewrite.la 17 | 18 | AM_CPPFLAGS = -I$(top_srcdir)/include 19 | 20 | if BEHIND_CURTIAN 21 | BUILT_SOURCES = banner.c 22 | banner.c: Makefile 23 | $(MKBANNER) --name rewrite 'librewrite' > $@ || $(RM) $@ 24 | endif 25 | 26 | librewrite_la_LIBADD = $(LDAP_LIBRELDAP_LA) $(LDAP_LIBLUTIL_LA) 27 | 28 | librewrite_la_SOURCES = banner.c config.c context.c info.c \ 29 | ldapmap.c map.c params.c rule.c session.c subst.c var.c xmap.c \ 30 | rewrite-int.h rewrite-map.h 31 | 32 | noinst_PROGRAMS = rewrite 33 | 34 | rewrite_SOURCES = rewrite.c parse.c 35 | rewrite_LDADD = librewrite.la 36 | -------------------------------------------------------------------------------- /libraries/librewrite/rewrite-map.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 2000-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | /* ACKNOWLEDGEMENT: 17 | * This work was initially developed by Pierangelo Masarati for 18 | * inclusion in OpenLDAP Software. 19 | */ 20 | 21 | #ifndef MAP_H 22 | #define MAP_H 23 | 24 | /* 25 | * Retrieves a builtin map 26 | */ 27 | LDAP_REWRITE_F(struct rewrite_builtin_map *) 28 | rewrite_builtin_map_find(struct rewrite_info *info, const char *name); 29 | 30 | #endif /* MAP_H */ 31 | -------------------------------------------------------------------------------- /servers/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | DIST_SUBDIRS = slapd 17 | SUBDIRS = 18 | 19 | if BUILD_SLAPD 20 | SUBDIRS += slapd 21 | endif 22 | -------------------------------------------------------------------------------- /servers/slapd/back-asyncmeta/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2016-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = 17 | noinst_LTLIBRARIES = 18 | back_asyncmeta_la_LDFLAGS = -module 19 | AM_CPPFLAGS = -DSLAPD_IMPORT -I$(srcdir)/.. -I$(top_srcdir)/include 20 | 21 | if ASYNCMETA_DYNAMIC 22 | pkglib_LTLIBRARIES += back_asyncmeta.la 23 | back_asyncmeta_la_LDFLAGS += -export-dynamic \ 24 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 25 | else 26 | noinst_LTLIBRARIES += back_asyncmeta.la 27 | endif 28 | 29 | if BEHIND_CURTIAN 30 | BUILT_SOURCES = banner.c 31 | banner.c: Makefile 32 | $(MKBANNER) --name backend_asyncmeta --global 'backend-asyncmeta' > $@ 33 | endif 34 | 35 | back_asyncmeta_la_SOURCES = abandon.c add.c back-asyncmeta.h \ 36 | banner.c bind.c candidates.c compare.c config.c conn.c delete.c \ 37 | dncache.c init.c map.c message_queue.c meta_result.c modify.c \ 38 | modrdn.c proto-asyncmeta.h search.c suffixmassage.c unbind.c 39 | -------------------------------------------------------------------------------- /servers/slapd/back-bdb/error.c: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 2000-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #include "reldap.h" 17 | 18 | #include 19 | #include 20 | 21 | #include "slap.h" 22 | #include "back-bdb.h" 23 | 24 | #if DB_VERSION_FULL < 0x04030000 25 | void bdb_errcall(const char *pfx, char *msg) 26 | #else 27 | void bdb_errcall(const DB_ENV *env, const char *pfx, const char *msg) 28 | #endif 29 | { 30 | Debug(LDAP_DEBUG_ANY, "bdb(%s): %s\n", pfx, msg); 31 | } 32 | 33 | #if DB_VERSION_FULL >= 0x04030000 34 | void bdb_msgcall(const DB_ENV *env, const char *msg) { Debug(LDAP_DEBUG_TRACE, "bdb: %s\n", msg); } 35 | #endif 36 | -------------------------------------------------------------------------------- /servers/slapd/back-dnssrv/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = 17 | noinst_LTLIBRARIES = 18 | back_dnssrv_la_LDFLAGS = -module 19 | AM_CPPFLAGS = -DSLAPD_IMPORT -I$(srcdir)/.. -I$(top_srcdir)/include 20 | 21 | if DNSSRV_DYNAMIC 22 | pkglib_LTLIBRARIES += back_dnssrv.la 23 | back_dnssrv_la_LDFLAGS += -export-dynamic \ 24 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 25 | else 26 | noinst_LTLIBRARIES += back_dnssrv.la 27 | endif 28 | 29 | if BEHIND_CURTIAN 30 | BUILT_SOURCES = banner.c 31 | banner.c: Makefile 32 | $(MKBANNER) --name backend_dnssrv --global 'backend-dnssrv' > $@ || $(RM) $@ 33 | endif 34 | 35 | back_dnssrv_la_SOURCES = banner.c bind.c compare.c config.c \ 36 | init.c proto-dnssrv.h referral.c search.c 37 | -------------------------------------------------------------------------------- /servers/slapd/back-dnssrv/compare.c: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 2000-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | /* ACKNOWLEDGEMENTS: 17 | * This work was originally developed by Kurt D. Zeilenga for inclusion 18 | * in OpenLDAP Software. 19 | */ 20 | 21 | #include "reldap.h" 22 | 23 | #include 24 | 25 | #include 26 | #include 27 | 28 | #include "slap.h" 29 | #include "proto-dnssrv.h" 30 | 31 | int dnssrv_back_compare(Operation *op, SlapReply *rs) { 32 | #if 0 33 | assert( get_manageDSAit( op ) ); 34 | #endif 35 | send_ldap_error(op, rs, LDAP_UNWILLING_TO_PERFORM, "operation not supported within naming context (dns)"); 36 | 37 | /* not implemented */ 38 | return 1; 39 | } 40 | -------------------------------------------------------------------------------- /servers/slapd/back-dnssrv/config.c: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 2000-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | /* ACKNOWLEDGEMENTS: 17 | * This work was originally developed by Kurt D. Zeilenga for inclusion 18 | * in OpenLDAP Software. 19 | */ 20 | 21 | #include "reldap.h" 22 | 23 | #include 24 | 25 | #include 26 | #include 27 | 28 | #include "slap.h" 29 | #include "proto-dnssrv.h" 30 | 31 | #if 0 32 | int 33 | dnssrv_back_db_config( 34 | BackendDB *be, 35 | const char *fname, 36 | int lineno, 37 | int argc, 38 | char **argv ) 39 | { 40 | #if 0 41 | struct ldapinfo *li = (struct ldapinfo *) be->be_private; 42 | 43 | if ( li == NULL ) { 44 | fprintf( stderr, "%s: line %d: DNSSRV backend info is null!\n", 45 | fname, lineno ); 46 | return( 1 ); 47 | } 48 | #endif 49 | 50 | /* no configuration options (yet) */ 51 | return SLAP_CONF_UNKNOWN; 52 | } 53 | #endif 54 | -------------------------------------------------------------------------------- /servers/slapd/back-ldap/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = 17 | noinst_LTLIBRARIES = 18 | back_ldap_la_LDFLAGS = -module 19 | AM_CPPFLAGS = -DSLAPD_IMPORT -I$(srcdir)/.. -I$(top_srcdir)/include 20 | 21 | if LDAP_DYNAMIC 22 | pkglib_LTLIBRARIES += back_ldap.la 23 | back_ldap_la_LDFLAGS += -export-dynamic \ 24 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 25 | else 26 | noinst_LTLIBRARIES += back_ldap.la 27 | endif 28 | 29 | if BEHIND_CURTIAN 30 | BUILT_SOURCES = banner.c 31 | banner.c: Makefile 32 | $(MKBANNER) --name backend_ldap --global 'backend-ldap' > $@ || $(RM) $@ 33 | endif 34 | 35 | back_ldap_la_SOURCES = add.c back-ldap.h banner.c bind.c \ 36 | chain.c compare.c config.c delete.c distproc.c extended.c \ 37 | init.c modify.c modrdn.c monitor.c pbind.c proto-ldap.h \ 38 | search.c unbind.c 39 | -------------------------------------------------------------------------------- /servers/slapd/back-ldif/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = 17 | noinst_LTLIBRARIES = 18 | back_ldif_la_LDFLAGS = -module 19 | AM_CPPFLAGS = -DSLAPD_IMPORT -I$(srcdir)/.. -I$(top_srcdir)/include 20 | 21 | if LDIF_DYNAMIC 22 | pkglib_LTLIBRARIES += back_ldif.la 23 | back_ldif_la_LDFLAGS += -export-dynamic \ 24 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 25 | else 26 | noinst_LTLIBRARIES += back_ldif.la 27 | endif 28 | 29 | if BEHIND_CURTIAN 30 | BUILT_SOURCES = banner.c 31 | banner.c: Makefile 32 | $(MKBANNER) --name backend_ldif --global 'backend-ldif' > $@ || $(RM) $@ 33 | endif 34 | 35 | back_ldif_la_SOURCES = banner.c ldif.c 36 | -------------------------------------------------------------------------------- /servers/slapd/back-meta/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = 17 | noinst_LTLIBRARIES = 18 | back_meta_la_LDFLAGS = -module 19 | AM_CPPFLAGS = -DSLAPD_IMPORT -I$(srcdir)/.. -I$(top_srcdir)/include 20 | 21 | if META_DYNAMIC 22 | pkglib_LTLIBRARIES += back_meta.la 23 | back_meta_la_LDFLAGS += -export-dynamic \ 24 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 25 | else 26 | noinst_LTLIBRARIES += back_meta.la 27 | endif 28 | 29 | if BEHIND_CURTIAN 30 | BUILT_SOURCES = banner.c 31 | banner.c: Makefile 32 | $(MKBANNER) --name backend_meta --global 'backend-meta' > $@ || $(RM) $@ 33 | endif 34 | 35 | back_meta_la_SOURCES = add.c back-meta.h banner.c bind.c \ 36 | candidates.c compare.c config.c conn.c delete.c dncache.c \ 37 | init.c Makefile.am map.c modify.c modrdn.c proto-meta.h \ 38 | search.c suffixmassage.c unbind.c 39 | -------------------------------------------------------------------------------- /servers/slapd/back-monitor/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = 17 | noinst_LTLIBRARIES = 18 | back_monitor_la_LDFLAGS = -module 19 | AM_CPPFLAGS = -I$(srcdir)/.. -I$(top_srcdir)/include 20 | EXTRA_DIST = README 21 | 22 | if MONITOR_DYNAMIC 23 | pkglib_LTLIBRARIES += back_monitor.la 24 | back_monitor_la_LDFLAGS += -export-dynamic \ 25 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 26 | else 27 | noinst_LTLIBRARIES += back_monitor.la 28 | endif 29 | 30 | if BEHIND_CURTIAN 31 | BUILT_SOURCES = banner.c 32 | banner.c: Makefile 33 | $(MKBANNER) --name backend_monitor --global 'backend-monitor' > $@ || $(RM) $@ 34 | endif 35 | 36 | back_monitor_la_SOURCES = backend.c banner.c bind.c cache.c \ 37 | compare.c conn.c database.c entry.c init.c listener.c log.c \ 38 | modify.c operational.c operation.c overlay.c rww.c search.c \ 39 | sent.c thread.c time.c back-monitor.h proto-back-monitor.h 40 | -------------------------------------------------------------------------------- /servers/slapd/back-monitor/bind.c: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 2001-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | /* ACKNOWLEDGEMENTS: 17 | * This work was initially developed by Pierangelo Masarati for inclusion 18 | * in OpenLDAP Software. 19 | */ 20 | 21 | #include "reldap.h" 22 | 23 | #include 24 | 25 | #include 26 | #include "back-monitor.h" 27 | 28 | /* 29 | * At present, only rootdn can bind with simple bind 30 | */ 31 | 32 | int monitor_back_bind(Operation *op, SlapReply *rs) { 33 | Debug(LDAP_DEBUG_ARGS, "==> monitor_back_bind: dn: %s\n", op->o_req_dn.bv_val); 34 | 35 | if (be_isroot_pw(op)) { 36 | return LDAP_SUCCESS; 37 | } 38 | 39 | rs->sr_err = LDAP_INVALID_CREDENTIALS; 40 | send_ldap_result(op, rs); 41 | 42 | return rs->sr_err; 43 | } 44 | -------------------------------------------------------------------------------- /servers/slapd/back-ndb/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = 17 | noinst_LTLIBRARIES = 18 | back_ndb_la_LDFLAGS = -module $(NDB_RDIR) $(NDB_LDFLAGS) 19 | AM_CPPFLAGS = -DSLAPD_IMPORT -I$(srcdir)/.. -I$(top_srcdir)/include 20 | EXTRA_DIST = attrsets.conf 21 | 22 | if NDB_DYNAMIC 23 | pkglib_LTLIBRARIES += back_ndb.la 24 | back_ndb_la_LDFLAGS += -export-dynamic \ 25 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 26 | else 27 | noinst_LTLIBRARIES += back_ndb.la 28 | endif 29 | 30 | if BEHIND_CURTIAN 31 | BUILT_SOURCES = banner.c 32 | banner.c: Makefile 33 | $(MKBANNER) --name backend_ndb --global 'backend-ndb' > $@ || $(RM) $@ 34 | endif 35 | 36 | back_ndb_la_SOURCES = add.cpp back-ndb.h banner.c bind.cpp \ 37 | compare.cpp config.cpp delete.cpp init.cpp modify.cpp \ 38 | modrdn.cpp ndbio.cpp proto-ndb.h search.cpp tools.cpp 39 | 40 | AM_CPPFLAGS += $(NDB_INCLUDES) 41 | back_ndb_la_LIBADD = $(NDB_LIBS) 42 | -------------------------------------------------------------------------------- /servers/slapd/back-ndb/TODO: -------------------------------------------------------------------------------- 1 | LDAP features not currently supported: 2 | 3 | tagged attributes 4 | aliases 5 | substring indexing 6 | subtree rename 7 | -------------------------------------------------------------------------------- /servers/slapd/back-ndb/attrsets.conf: -------------------------------------------------------------------------------- 1 | # Definition of useful attribute sets 2 | # from X.521 section 5 3 | # 4 | # TelecommunicationAttributeSet ATTRIBUTE ::= { 5 | # facsimileTelephoneNumber | 6 | # internationalISDNNumber | 7 | # telephoneNumber | 8 | # teletexTerminalIdentifier | 9 | # telexNumber | 10 | # preferredDeliveryMethod | 11 | # destinationIndicator | 12 | # registeredAddress | 13 | # x121Address } 14 | # 15 | # PostalAttributeSet ATTRIBUTE ::= { 16 | # physicalDeliveryOfficeName | 17 | # postalAddress | 18 | # postalCode | 19 | # postOfficeBox | 20 | # streetAddress } 21 | # 22 | # LocaleAttributeSet ATTRIBUTE ::= { 23 | # localityName | 24 | # stateOrProvinceName | 25 | # streetAddress } 26 | # 27 | # OrganizationalAttributeSet ATTRIBUTE ::= { 28 | # description | 29 | # LocaleAttributeSet | 30 | # PostalAttributeSet | 31 | # TelecommunicationAttributeSet | 32 | # businessCategory | 33 | # seeAlso | 34 | # searchGuide | 35 | # userPassword } 36 | 37 | -------------------------------------------------------------------------------- /servers/slapd/back-null/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = 17 | noinst_LTLIBRARIES = 18 | back_null_la_LDFLAGS = -module 19 | AM_CPPFLAGS = -DSLAPD_IMPORT -I$(srcdir)/.. -I$(top_srcdir)/include 20 | EXTRA_DIST = README 21 | 22 | if NULL_DYNAMIC 23 | pkglib_LTLIBRARIES += back_null.la 24 | back_null_la_LDFLAGS += -export-dynamic \ 25 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 26 | else 27 | noinst_LTLIBRARIES += back_null.la 28 | endif 29 | 30 | if BEHIND_CURTIAN 31 | BUILT_SOURCES = banner.c 32 | banner.c: Makefile 33 | $(MKBANNER) --name backend_null --global 'backend-null' > $@ || $(RM) $@ 34 | endif 35 | 36 | back_null_la_SOURCES = banner.c null.c 37 | -------------------------------------------------------------------------------- /servers/slapd/back-null/README: -------------------------------------------------------------------------------- 1 | The Null Backend is described in the slapd-null(5) manual page. 2 | -------------------------------------------------------------------------------- /servers/slapd/back-passwd/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = 17 | noinst_LTLIBRARIES = 18 | back_passwd_la_LDFLAGS = -module 19 | AM_CPPFLAGS = -DSLAPD_IMPORT -I$(srcdir)/.. -I$(top_srcdir)/include 20 | 21 | if PASSWD_DYNAMIC 22 | pkglib_LTLIBRARIES += back_passwd.la 23 | back_passwd_la_LDFLAGS += -export-dynamic \ 24 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 25 | else 26 | noinst_LTLIBRARIES += back_passwd.la 27 | endif 28 | 29 | if BEHIND_CURTIAN 30 | BUILT_SOURCES = banner.c 31 | banner.c: Makefile 32 | $(MKBANNER) --name backend_passwd --global 'backend-passwd' > $@ || $(RM) $@ 33 | endif 34 | 35 | back_passwd_la_SOURCES = back-passwd.h banner.c config.c init.c \ 36 | proto-passwd.h search.c 37 | -------------------------------------------------------------------------------- /servers/slapd/back-passwd/back-passwd.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1990-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef _BACK_PASSWD_H 17 | #define _BACK_PASSWD_H 18 | 19 | #include "proto-passwd.h" 20 | 21 | LDAP_BEGIN_DECL 22 | 23 | extern ldap_pvt_thread_mutex_t passwd_mutex; 24 | 25 | extern BI_destroy passwd_back_destroy; 26 | 27 | extern BI_op_search passwd_back_search; 28 | 29 | LDAP_END_DECL 30 | 31 | #endif /* _BACK_PASSWD_H */ 32 | -------------------------------------------------------------------------------- /servers/slapd/back-passwd/proto-passwd.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1990-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef PROTO_PASSWD_H 17 | #define PROTO_PASSWD_H 18 | 19 | LDAP_BEGIN_DECL 20 | 21 | extern BI_init passwd_back_initialize; 22 | extern BI_open passwd_back_open; 23 | extern BI_destroy passwd_back_destroy; 24 | extern BI_op_search passwd_back_search; 25 | 26 | extern int passwd_back_init_cf(BackendInfo *bi); 27 | 28 | extern AttributeDescription *ad_sn; 29 | extern AttributeDescription *ad_desc; 30 | 31 | LDAP_END_DECL 32 | 33 | #endif /* PROTO_PASSWD_H */ 34 | -------------------------------------------------------------------------------- /servers/slapd/back-perl/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = 17 | noinst_LTLIBRARIES = 18 | back_perl_la_LDFLAGS = -module $(PERL_RDIR) $(PERL_LDFLAGS) 19 | AM_CPPFLAGS = -DSLAPD_IMPORT -I$(srcdir)/.. -I$(top_srcdir)/include 20 | EXTRA_DIST = README SampleLDAP.pm 21 | 22 | if PERL_DYNAMIC 23 | pkglib_LTLIBRARIES += back_perl.la 24 | back_perl_la_LDFLAGS += -export-dynamic \ 25 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 26 | else 27 | noinst_LTLIBRARIES += back_perl.la 28 | endif 29 | 30 | if BEHIND_CURTIAN 31 | BUILT_SOURCES = banner.c 32 | banner.c: Makefile 33 | $(MKBANNER) --name backend_perl --global 'backend-perl' > $@ || $(RM) $@ 34 | endif 35 | 36 | back_perl_la_SOURCES = add.c banner.c bind.c close.c compare.c \ 37 | config.c delete.c init.c modify.c modrdn.c perl_back.h \ 38 | proto-perl.h search.c 39 | 40 | AM_CPPFLAGS += $(PERL_CPPFLAGS) 41 | back_perl_la_LIBADD = $(PERL_LIBS) 42 | -------------------------------------------------------------------------------- /servers/slapd/back-perl/README: -------------------------------------------------------------------------------- 1 | Differences from 2.0 Perl API: 2 | 3 | - Perl 5.6 is supported 4 | 5 | - backend methods return actual LDAP result codes, not 6 | true/false; this gives the Perl module finer control 7 | of the error returned to the client 8 | 9 | - a filterSearchResults configuration file directive was 10 | added to tell the backend glue that the results returned 11 | from the Perl module are candidates only 12 | 13 | - the "init" method is called after the backend has been 14 | initialized - this lets you do some initialization after 15 | *all* configuration file directives have been read 16 | 17 | - the interface for the search method is improved to 18 | pass the scope, dereferencing policy, size limit, etc. 19 | See SampleLDAP.pm for details. 20 | 21 | These changes were sponsored by myinternet Limited. 22 | 23 | Luke Howard 24 | 25 | -------------------------------------------------------------------------------- /servers/slapd/back-perl/close.c: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1999-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #include "perl_back.h" 17 | #include "slapconfig.h" 18 | /********************************************************** 19 | * 20 | * Close 21 | * 22 | **********************************************************/ 23 | 24 | int perl_back_close(BackendInfo *bd) { 25 | perl_destruct(PERL_INTERPRETER); 26 | perl_free(PERL_INTERPRETER); 27 | PERL_INTERPRETER = NULL; 28 | #ifdef PERL_SYS_TERM 29 | PERL_SYS_TERM(); 30 | #endif 31 | 32 | ldap_pvt_thread_mutex_destroy(&perl_interpreter_mutex); 33 | 34 | return 0; 35 | } 36 | 37 | int perl_back_db_destroy(BackendDB *be, ConfigReply *cr) { 38 | PerlBackend *pb = be->be_private; 39 | 40 | ch_free(pb->pb_module_name); 41 | ber_bvarray_free(pb->pb_module_path); 42 | ber_bvarray_free(pb->pb_module_config); 43 | 44 | free(be->be_private); 45 | be->be_private = NULL; 46 | 47 | return 0; 48 | } 49 | -------------------------------------------------------------------------------- /servers/slapd/back-perl/proto-perl.h: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1999-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | #ifndef PROTO_PERL_H 17 | #define PROTO_PERL_H 18 | 19 | LDAP_BEGIN_DECL 20 | 21 | extern BI_init perl_back_initialize; 22 | 23 | extern BI_close perl_back_close; 24 | 25 | extern BI_db_init perl_back_db_init; 26 | extern BI_db_open perl_back_db_open; 27 | extern BI_db_destroy perl_back_db_destroy; 28 | extern BI_db_config perl_back_db_config; 29 | 30 | extern BI_op_bind perl_back_bind; 31 | extern BI_op_search perl_back_search; 32 | extern BI_op_compare perl_back_compare; 33 | extern BI_op_modify perl_back_modify; 34 | extern BI_op_modrdn perl_back_modrdn; 35 | extern BI_op_add perl_back_add; 36 | extern BI_op_delete perl_back_delete; 37 | 38 | extern int perl_back_init_cf(BackendInfo *bi); 39 | LDAP_END_DECL 40 | 41 | #endif /* PROTO_PERL_H */ 42 | -------------------------------------------------------------------------------- /servers/slapd/back-relay/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = 17 | noinst_LTLIBRARIES = 18 | back_relay_la_LDFLAGS = -module 19 | AM_CPPFLAGS = -DSLAPD_IMPORT -I$(srcdir)/.. -I$(top_srcdir)/include 20 | EXTRA_DIST = README 21 | 22 | if RELAY_DYNAMIC 23 | pkglib_LTLIBRARIES += back_relay.la 24 | back_relay_la_LDFLAGS += -export-dynamic \ 25 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 26 | else 27 | noinst_LTLIBRARIES += back_relay.la 28 | endif 29 | 30 | if BEHIND_CURTIAN 31 | BUILT_SOURCES = banner.c 32 | banner.c: Makefile 33 | $(MKBANNER) --name backend_relay --global 'backend-relay' > $@ || $(RM) $@ 34 | endif 35 | 36 | back_relay_la_SOURCES = back-relay.h banner.c init.c op.c proto-back-relay.h 37 | -------------------------------------------------------------------------------- /servers/slapd/back-shell/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = 17 | noinst_LTLIBRARIES = 18 | back_shell_la_LDFLAGS = -module 19 | AM_CPPFLAGS = -DSLAPD_IMPORT -I$(srcdir)/.. -I$(top_srcdir)/include 20 | EXTRA_DIST = searchexample.conf searchexample.sh 21 | 22 | if SHELL_DYNAMIC 23 | pkglib_LTLIBRARIES += back_shell.la 24 | back_shell_la_LDFLAGS += -export-dynamic \ 25 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 26 | else 27 | noinst_LTLIBRARIES += back_shell.la 28 | endif 29 | 30 | if BEHIND_CURTIAN 31 | BUILT_SOURCES = banner.c 32 | banner.c: Makefile 33 | $(MKBANNER) --name backend_shell --global 'backend-shell' > $@ || $(RM) $@ 34 | endif 35 | 36 | back_shell_la_SOURCES = add.c banner.c bind.c compare.c \ 37 | config.c delete.c fork.c init.c modify.c modrdn.c proto-shell.h \ 38 | result.c search.c shell.h unbind.c 39 | -------------------------------------------------------------------------------- /servers/slapd/back-shell/searchexample.conf: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 1995-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | 15 | include /usr/local/etc/reopenldap/schema/core.schema 16 | 17 | database shell 18 | suffix "dc=example,dc=com" 19 | search /usr/local/etc/searchexample.sh 20 | -------------------------------------------------------------------------------- /servers/slapd/back-shell/searchexample.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | ## $ReOpenLDAP$ 3 | ## Copyright 1995-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 4 | ## All rights reserved. 5 | ## 6 | ## This file is part of ReOpenLDAP. 7 | ## 8 | ## Redistribution and use in source and binary forms, with or without 9 | ## modification, are permitted only as authorized by the OpenLDAP 10 | ## Public License. 11 | ## 12 | ## A copy of this license is available in the file LICENSE in the 13 | ## top-level directory of the distribution or, alternatively, at 14 | ## . 15 | 16 | while [ 1 ]; do 17 | read TAG VALUE 18 | if [ $? -ne 0 ]; then 19 | break 20 | fi 21 | case "$TAG" in 22 | base:) 23 | BASE=$VALUE 24 | ;; 25 | filter:) 26 | FILTER=$VALUE 27 | ;; 28 | # include other parameters here 29 | esac 30 | done 31 | 32 | LOGIN=`echo $FILTER | sed -e 's/.*=\(.*\))/\1/'` 33 | 34 | PWLINE=`grep -i "^$LOGIN" /etc/passwd` 35 | 36 | #sleep 60 37 | # if we found an entry that matches 38 | if [ $? = 0 ]; then 39 | echo $PWLINE | awk -F: '{ 40 | printf("dn: cn=%s,%s\n", $1, base); 41 | printf("objectclass: top\n"); 42 | printf("objectclass: person\n"); 43 | printf("cn: %s\n", $1); 44 | printf("cn: %s\n", $5); 45 | printf("sn: %s\n", $1); 46 | printf("uid: %s\n", $1); 47 | }' base="$BASE" 48 | echo "" 49 | fi 50 | 51 | # result 52 | echo "RESULT" 53 | echo "code: 0" 54 | 55 | exit 0 56 | -------------------------------------------------------------------------------- /servers/slapd/back-sock/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = 17 | noinst_LTLIBRARIES = 18 | back_sock_la_LDFLAGS = -module 19 | AM_CPPFLAGS = -DSLAPD_IMPORT -I$(srcdir)/.. -I$(top_srcdir)/include 20 | EXTRA_DIST = searchexample.conf searchexample.pl 21 | 22 | if SOCK_DYNAMIC 23 | pkglib_LTLIBRARIES += back_sock.la 24 | back_sock_la_LDFLAGS += -export-dynamic \ 25 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) 26 | else 27 | noinst_LTLIBRARIES += back_sock.la 28 | endif 29 | 30 | if BEHIND_CURTIAN 31 | BUILT_SOURCES = banner.c 32 | banner.c: Makefile 33 | $(MKBANNER) --name backend_sock --global 'backend-sock' > $@ || $(RM) $@ 34 | endif 35 | 36 | back_sock_la_SOURCES = add.c back-sock.h banner.c bind.c compare.c \ 37 | config.c delete.c init.c modify.c modrdn.c opensock.c \ 38 | proto-sock.h result.c search.c unbind.c extended.c 39 | -------------------------------------------------------------------------------- /servers/slapd/back-sock/searchexample.conf: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2007-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | ## ACKNOWLEDGEMENTS: 16 | ## This work was initially developed by Brian Candler for inclusion 17 | ## in OpenLDAP Software. 18 | 19 | include /usr/local/etc/reopenldap/schema/core.schema 20 | 21 | database sock 22 | suffix "dc=example,dc=com" 23 | socketpath /tmp/example.sock 24 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/docs/bugs: -------------------------------------------------------------------------------- 1 | 1) driver name comparison for MS SQL Server workaround is really kinda dirty 2 | hack, but for now i don't know how to code it more carefully 3 | 2) another dirty hack: length of LONGVARCHAR and LONGVARBINARY fields is 4 | currently set to MAX_ATTR_LEN. Maybe such fields must be handled with 5 | SQLGetData() instead of SQLBindCol(), but it is said in documentation, 6 | that it is guaranteed to work only when such column goes after last bound 7 | column. Or should we get ALL columns with SQLGetData (then something like 8 | _SQLFetchAsStrings() wrapper would do SQLGetData() for all columns)... 9 | 3) in some cases (particularly, when using OpenLink Generic ODBC driver with 10 | MS SQL Server), it returns "Function sequence error" after all records are 11 | fetched. I really don't know what it means, and after all 12 | - it works with any other driver I tried 13 | 4) ldapsearch sometimes refuses to show some attributes ("NOT PRINTABLE" diags) 14 | on Win32 (on linux everything's fine) 15 | 5) back-sql crashes on invalid filters (to be fixed ASAP) 16 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/docs/concept: -------------------------------------------------------------------------------- 1 | The SQL backend is described in the slapd-sql(5) manual page. 2 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/docs/platforms: -------------------------------------------------------------------------------- 1 | Platforms and configurations it has been tested on: 2 | 3 | General: 4 | - ODBC managers: iODBC,unixODBC under unixes, odbc32.dll under Win32 family 5 | - OSes: Linux/glibc, FreeBSD, OpenBSD, Solaris 2.6, Win98, WinNT, Win2000 server 6 | - RDBMSes: Oracle 7/8/8i, MS SQL Server 6.5/7, mySQL 7 | - access suites: OpenLink DAS, EasySoft OOB, various win32 drivers 8 | 9 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/docs/todo: -------------------------------------------------------------------------------- 1 | 1) must add alias handling 2 | 2) [sizelimit moved to frontend] 3 | must set time limit when preparing all queries, and check size limit 4 | 3) there was expressed a need to have access to IP in while constructing 5 | queries, to have response alter in accordance to client IP. Will add 6 | preprocessor for values in metatables, which would substitute things 7 | like "$IP$". 8 | 4) must handle NOT filters (see ITS#2652) 9 | 5) must map attribute types and syntaxes between LDAP and SQL types (e.g. 10 | use BLOBs for octet streams) 11 | 6) must define another mech to add auxiliary objectClass to all entries 12 | according to ldap_at_mappings (ldap_entry_objclasses has limitations) 13 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/ibmdb2/backsql_drop.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE ldap_referrals; 2 | DROP TABLE ldap_entry_objclasses; 3 | DROP TABLE ldap_attr_mappings; 4 | DROP TABLE ldap_entries; 5 | DROP TABLE ldap_oc_mappings; 6 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/ibmdb2/slapd.conf: -------------------------------------------------------------------------------- 1 | # $ReOpenLDAP$ 2 | # 3 | # See slapd.conf(5) for details on configuration options. 4 | # This file should NOT be world readable. 5 | # 6 | include /usr/local/etc/reopenldap/schema/core.schema 7 | include /usr/local/etc/reopenldap/schema/cosine.schema 8 | include /usr/local/etc/reopenldap/schema/inetorgperson.schema 9 | 10 | # Define global ACLs to disable default read access. 11 | 12 | # Do not enable referrals until AFTER you have a working directory 13 | # service AND an understanding of referrals. 14 | #referral ldap://root.openldap.org 15 | 16 | pidfile /usr/local/var/slapd.pid 17 | argsfile /usr/local/var/slapd.args 18 | 19 | ####################################################################### 20 | # sql database definitions 21 | ####################################################################### 22 | 23 | database sql 24 | suffix "o=sql,c=RU" 25 | rootdn "cn=root,o=sql,c=RU" 26 | rootpw secret 27 | dbname ldap_db2 28 | dbuser db2inst1 29 | dbpasswd ibmdb2 30 | subtree_cond "upper(ldap_entries.dn) LIKE CONCAT('%',?)" 31 | insentry_stmt "insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from ldap_entries),?,?,?,?)" 32 | upper_func "upper" 33 | upper_needs_cast "yes" 34 | create_needs_select "yes" 35 | has_ldapinfo_dn_ru "no" 36 | 37 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_data.sql: -------------------------------------------------------------------------------- 1 | insert into institutes (id,name) values (1,'Example'); 2 | 3 | insert into persons (id,name,surname,password) values (1,'Mitya','Kovalev','mit'); 4 | insert into persons (id,name,surname) values (2,'Torvlobnor','Puzdoy'); 5 | insert into persons (id,name,surname) values (3,'Akakiy','Zinberstein'); 6 | 7 | insert into phones (id,phone,pers_id) values (1,'332-2334',1); 8 | insert into phones (id,phone,pers_id) values (2,'222-3234',1); 9 | insert into phones (id,phone,pers_id) values (3,'545-4563',2); 10 | 11 | insert into documents (id,abstract,title) values (1,'abstract1','book1'); 12 | insert into documents (id,abstract,title) values (2,'abstract2','book2'); 13 | 14 | insert into authors_docs (pers_id,doc_id) values (1,1); 15 | insert into authors_docs (pers_id,doc_id) values (1,2); 16 | insert into authors_docs (pers_id,doc_id) values (2,1); 17 | 18 | insert into referrals (id,name,url) values (1,'Referral','ldap://localhost:9012/'); 19 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_drop.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE persons; 2 | DROP TABLE institutes; 3 | DROP TABLE documents; 4 | DROP TABLE authors_docs; 5 | DROP TABLE phones; 6 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/mssql/backsql_drop.sql: -------------------------------------------------------------------------------- 1 | drop table ldap_attr_mappings 2 | GO 3 | 4 | drop table ldap_referrals 5 | GO 6 | 7 | drop table ldap_entry_objclasses 8 | GO 9 | 10 | drop table ldap_entries 11 | GO 12 | 13 | drop table ldap_oc_mappings 14 | GO 15 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/mssql/slapd.conf: -------------------------------------------------------------------------------- 1 | # $ReOpenLDAP$ 2 | # 3 | # See slapd.conf(5) for details on configuration options. 4 | # This file should NOT be world readable. 5 | # 6 | include ./schema/core.schema 7 | include ./schema/cosine.schema 8 | include ./schema/inetorgperson.schema 9 | 10 | # Define global ACLs to disable default read access. 11 | 12 | # Do not enable referrals until AFTER you have a working directory 13 | # service AND an understanding of referrals. 14 | #referral ldap://root.openldap.org 15 | 16 | pidfile ./slapd.pid 17 | argsfile ./slapd.args 18 | 19 | ####################################################################### 20 | # sql database definitions 21 | ####################################################################### 22 | 23 | database sql 24 | suffix "o=sql,c=RU" 25 | rootdn "cn=root,o=sql,c=RU" 26 | rootpw secret 27 | dbname ldap_mssql 28 | dbuser ldap 29 | dbpasswd ldap 30 | subtree_cond "ldap_entries.dn LIKE '%'+?" 31 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/mssql/testdb_create.sql: -------------------------------------------------------------------------------- 1 | 2 | CREATE TABLE authors_docs ( 3 | pers_id int NOT NULL , 4 | doc_id int NOT NULL 5 | ) 6 | GO 7 | 8 | CREATE TABLE documents ( 9 | id int IDENTITY (1, 1) NOT NULL , 10 | abstract varchar (255) NULL , 11 | title varchar (255) NULL , 12 | body binary (255) NULL 13 | ) 14 | GO 15 | 16 | CREATE TABLE institutes ( 17 | id int IDENTITY (1, 1) NOT NULL , 18 | name varchar (255) NOT NULL 19 | ) 20 | GO 21 | 22 | 23 | CREATE TABLE persons ( 24 | id int IDENTITY (1, 1) NOT NULL , 25 | name varchar (255) NULL , 26 | surname varchar (255) NULL , 27 | password varchar (64) NULL 28 | ) 29 | GO 30 | 31 | CREATE TABLE phones ( 32 | id int IDENTITY (1, 1) NOT NULL , 33 | phone varchar (255) NOT NULL , 34 | pers_id int NOT NULL 35 | ) 36 | GO 37 | 38 | ALTER TABLE authors_docs WITH NOCHECK ADD 39 | CONSTRAINT PK_authors_docs PRIMARY KEY 40 | ( 41 | pers_id, 42 | doc_id 43 | ) 44 | GO 45 | 46 | ALTER TABLE documents WITH NOCHECK ADD 47 | CONSTRAINT PK_documents PRIMARY KEY 48 | ( 49 | id 50 | ) 51 | GO 52 | 53 | ALTER TABLE institutes WITH NOCHECK ADD 54 | CONSTRAINT PK_institutes PRIMARY KEY 55 | ( 56 | id 57 | ) 58 | GO 59 | 60 | 61 | ALTER TABLE persons WITH NOCHECK ADD 62 | CONSTRAINT PK_persons PRIMARY KEY 63 | ( 64 | id 65 | ) 66 | GO 67 | 68 | ALTER TABLE phones WITH NOCHECK ADD 69 | CONSTRAINT PK_phones PRIMARY KEY 70 | ( 71 | id 72 | ) 73 | GO 74 | 75 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/mssql/testdb_data.sql: -------------------------------------------------------------------------------- 1 | set IDENTITY_INSERT institutes ON 2 | insert into institutes (id,name) values (1,'Example') 3 | set IDENTITY_INSERT institutes OFF 4 | 5 | set IDENTITY_INSERT persons ON 6 | insert into persons (id,name,surname,password) values (1,'Mitya','Kovalev','mit') 7 | insert into persons (id,name,surname) values (2,'Torvlobnor','Puzdoy') 8 | insert into persons (id,name,surname) values (3,'Akakiy','Zinberstein') 9 | set IDENTITY_INSERT persons OFF 10 | 11 | set IDENTITY_INSERT phones ON 12 | insert into phones (id,phone,pers_id) values (1,'332-2334',1) 13 | insert into phones (id,phone,pers_id) values (2,'222-3234',1) 14 | insert into phones (id,phone,pers_id) values (3,'545-4563',2) 15 | set IDENTITY_INSERT phones OFF 16 | 17 | set IDENTITY_INSERT documents ON 18 | insert into documents (id,abstract,title) values (1,'abstract1','book1') 19 | insert into documents (id,abstract,title) values (2,'abstract2','book2') 20 | set IDENTITY_INSERT documents OFF 21 | 22 | insert into authors_docs (pers_id,doc_id) values (1,1) 23 | insert into authors_docs (pers_id,doc_id) values (1,2) 24 | insert into authors_docs (pers_id,doc_id) values (2,1) 25 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/mssql/testdb_drop.sql: -------------------------------------------------------------------------------- 1 | drop procedure create_person 2 | drop procedure set_person_name 3 | drop procedure delete_phone 4 | drop procedure add_phone 5 | drop procedure make_doc_link 6 | drop procedure del_doc_link 7 | drop procedure delete_person 8 | 9 | drop procedure create_org 10 | drop procedure set_org_name 11 | drop procedure delete_org 12 | 13 | drop procedure create_document 14 | drop procedure set_doc_title 15 | drop procedure set_doc_abstract 16 | drop procedure make_author_link 17 | drop procedure del_author_link 18 | drop procedure delete_document 19 | 20 | if exists (select * from sysobjects where id = object_id(N'authors_docs') and OBJECTPROPERTY(id, N'IsUserTable') = 1) 21 | drop table authors_docs 22 | GO 23 | 24 | if exists (select * from sysobjects where id = object_id(N'documents') and OBJECTPROPERTY(id, N'IsUserTable') = 1) 25 | drop table documents 26 | GO 27 | 28 | if exists (select * from sysobjects where id = object_id(N'institutes') and OBJECTPROPERTY(id, N'IsUserTable') = 1) 29 | drop table institutes 30 | GO 31 | 32 | if exists (select * from sysobjects where id = object_id(N'persons') and OBJECTPROPERTY(id, N'IsUserTable') = 1) 33 | drop table persons 34 | GO 35 | 36 | if exists (select * from sysobjects where id = object_id(N'phones') and OBJECTPROPERTY(id, N'IsUserTable') = 1) 37 | drop table phones 38 | GO 39 | 40 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/mysql/backsql_drop.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS ldap_entry_objclasses; 2 | 3 | DROP TABLE IF EXISTS ldap_attr_mappings; 4 | 5 | DROP TABLE IF EXISTS ldap_entries; 6 | 7 | DROP TABLE IF EXISTS ldap_oc_mappings; 8 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/mysql/slapd.conf: -------------------------------------------------------------------------------- 1 | # $ReOpenLDAP$ 2 | # 3 | # See slapd.conf(5) for details on configuration options. 4 | # This file should NOT be world readable. 5 | # 6 | include /usr/local/etc/reopenldap/schema/core.schema 7 | include /usr/local/etc/reopenldap/schema/cosine.schema 8 | include /usr/local/etc/reopenldap/schema/inetorgperson.schema 9 | 10 | # Define global ACLs to disable default read access. 11 | 12 | # Do not enable referrals until AFTER you have a working directory 13 | # service AND an understanding of referrals. 14 | #referral ldap://root.openldap.org 15 | 16 | pidfile /usr/local/var/slapd.pid 17 | argsfile /usr/local/var/slapd.args 18 | 19 | ####################################################################### 20 | # sql database definitions 21 | ####################################################################### 22 | 23 | database sql 24 | suffix "o=sql,c=RU" 25 | rootdn "cn=root,o=sql,c=RU" 26 | rootpw secret 27 | dbname ldap_mysql 28 | dbuser root 29 | dbpasswd 30 | subtree_cond "ldap_entries.dn LIKE CONCAT('%',?)" 31 | insentry_stmt "INSERT INTO ldap_entries (dn,oc_map_id,parent,keyval) VALUES (?,?,?,?)" 32 | has_ldapinfo_dn_ru no 33 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/mysql/testdb_drop.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS persons; 2 | DROP TABLE IF EXISTS institutes; 3 | DROP TABLE IF EXISTS documents; 4 | DROP TABLE IF EXISTS authors_docs; 5 | DROP TABLE IF EXISTS phones; 6 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/oracle/backsql_drop.sql: -------------------------------------------------------------------------------- 1 | drop table ldap_attr_mappings; 2 | drop table ldap_entry_objclasses; 3 | drop table ldap_referrals; 4 | drop sequence ldap_entry_ids; 5 | drop sequence ldap_attr_ids; 6 | drop sequence ldap_objclass_ids; 7 | drop table ldap_entries; 8 | drop table ldap_oc_mappings; 9 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/oracle/slapd.conf: -------------------------------------------------------------------------------- 1 | # $ReOpenLDAP$ 2 | # 3 | # See slapd.conf(5) for details on configuration options. 4 | # This file should NOT be world readable. 5 | # 6 | include /usr/local/etc/reopenldap/schema/core.schema 7 | include /usr/local/etc/reopenldap/schema/cosine.schema 8 | include /usr/local/etc/reopenldap/schema/inetorgperson.schema 9 | 10 | # Define global ACLs to disable default read access. 11 | 12 | # Do not enable referrals until AFTER you have a working directory 13 | # service AND an understanding of referrals. 14 | #referral ldap://root.openldap.org 15 | 16 | pidfile /usr/local/var/slapd.pid 17 | argsfile /usr/local/var/slapd.args 18 | 19 | ####################################################################### 20 | # sql database definitions 21 | ####################################################################### 22 | 23 | database sql 24 | suffix "o=sql,c=RU" 25 | rootdn "cn=root,o=sql,c=RU" 26 | rootpw secret 27 | dbname ldap_ora8 28 | dbuser ldap 29 | dbpasswd ldap 30 | subtree_cond "UPPER(ldap_entries.dn) LIKE CONCAT('%',UPPER(?))" 31 | insentry_stmt "INSERT INTO ldap_entries (id,dn,oc_map_id,parent,keyval) VALUES (ldap_entry_ids.nextval,?,?,?,?)" 32 | upper_func UPPER 33 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/oracle/testdb_data.sql: -------------------------------------------------------------------------------- 1 | insert into institutes (id,name) values (institute_ids.nextval,'example'); 2 | 3 | insert into persons (id,name,surname,password) values (person_ids.nextval,'Mitya','Kovalev','mit'); 4 | 5 | insert into persons (id,name,surname) values (person_ids.nextval,'Torvlobnor','Puzdoy'); 6 | 7 | insert into persons (id,name,surname) values (person_ids.nextval,'Akakiy','Zinberstein'); 8 | 9 | 10 | insert into phones (id,phone,pers_id) values (phone_ids.nextval,'332-2334',1); 11 | 12 | insert into phones (id,phone,pers_id) values (phone_ids.nextval,'222-3234',1); 13 | 14 | insert into phones (id,phone,pers_id) values (phone_ids.nextval,'545-4563',2); 15 | 16 | 17 | insert into documents (id,abstract,title) values (document_ids.nextval,'abstract1','book1'); 18 | 19 | insert into documents (id,abstract,title) values (document_ids.nextval,'abstract2','book2'); 20 | 21 | 22 | insert into authors_docs (pers_id,doc_id) values (1,1); 23 | 24 | insert into authors_docs (pers_id,doc_id) values (1,2); 25 | 26 | insert into authors_docs (pers_id,doc_id) values (2,1); 27 | 28 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/oracle/testdb_drop.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE persons; 2 | DROP TABLE institutes; 3 | DROP TABLE documents; 4 | DROP TABLE authors_docs; 5 | DROP TABLE phones; 6 | DROP SEQUENCE person_ids; 7 | DROP SEQUENCE institute_ids; 8 | DROP SEQUENCE document_ids; 9 | DROP SEQUENCE phone_ids; 10 | DROP PROCEDURE create_person; 11 | DROP PROCEDURE delete_person; 12 | DROP PROCEDURE add_phone; 13 | DROP PROCEDURE delete_phone; 14 | DROP PROCEDURE set_person_name; 15 | DROP PROCEDURE set_org_name; 16 | DROP PROCEDURE set_doc_title; 17 | DROP PROCEDURE set_doc_abstract; 18 | DROP PROCEDURE create_document; 19 | DROP PROCEDURE create_org; 20 | DROP PROCEDURE delete_document; 21 | DROP PROCEDURE delete_org; 22 | DROP PROCEDURE make_doc_link; 23 | DROP PROCEDURE del_doc_link; 24 | DROP PROCEDURE make_author_link; 25 | DROP PROCEDURE del_author_link; 26 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/pgsql/backsql_drop.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE ldap_entry_objclasses; 2 | DROP TABLE ldap_attr_mappings; 3 | DROP TABLE ldap_entries; 4 | DROP TABLE ldap_oc_mappings; 5 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/pgsql/slapd.conf: -------------------------------------------------------------------------------- 1 | # $ReOpenLDAP$ 2 | # 3 | # See slapd.conf(5) for details on configuration options. 4 | # This file should NOT be world readable. 5 | # 6 | include /usr/local/etc/reopenldap/schema/core.schema 7 | include /usr/local/etc/reopenldap/schema/cosine.schema 8 | include /usr/local/etc/reopenldap/schema/inetorgperson.schema 9 | 10 | # Define global ACLs to disable default read access. 11 | 12 | # Do not enable referrals until AFTER you have a working directory 13 | # service AND an understanding of referrals. 14 | #referral ldap://root.openldap.org 15 | 16 | pidfile /usr/local/var/slapd.pid 17 | argsfile /usr/local/var/slapd.args 18 | 19 | ####################################################################### 20 | # sql database definitions 21 | ####################################################################### 22 | 23 | database sql 24 | suffix "o=sql,c=RU" 25 | rootdn "cn=root,o=sql,c=RU" 26 | rootpw secret 27 | dbname PostgreSQL 28 | dbuser postgres 29 | dbpasswd postgres 30 | insentry_stmt "insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values ((select max(id)+1 from ldap_entries),?,?,?,?)" 31 | upper_func "upper" 32 | strcast_func "text" 33 | concat_pattern "?||?" 34 | has_ldapinfo_dn_ru no 35 | 36 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/pgsql/testdb_create.sql: -------------------------------------------------------------------------------- 1 | drop table persons; 2 | drop sequence persons_id_seq; 3 | create table persons ( 4 | id serial not null primary key, 5 | name varchar(255) not null, 6 | surname varchar(255) not null, 7 | password varchar(64) 8 | ); 9 | 10 | drop table institutes; 11 | drop sequence institutes_id_seq; 12 | create table institutes ( 13 | id serial not null primary key, 14 | name varchar(255) 15 | ); 16 | 17 | drop table documents; 18 | drop sequence documents_id_seq; 19 | create table documents ( 20 | id serial not null primary key, 21 | title varchar(255) not null, 22 | abstract varchar(255) 23 | ); 24 | 25 | drop table authors_docs; 26 | create table authors_docs ( 27 | pers_id int not null, 28 | doc_id int not null, 29 | primary key ( pers_id, doc_id ) 30 | ); 31 | 32 | drop table phones; 33 | drop sequence phones_id_seq; 34 | create table phones ( 35 | id serial not null primary key, 36 | phone varchar(255) not null , 37 | pers_id int not null 38 | ); 39 | 40 | drop table certs; 41 | drop sequence certs_id_seq; 42 | CREATE TABLE certs ( 43 | id int not null primary key, 44 | cert bytea not null, 45 | pers_id int not null 46 | ); 47 | 48 | drop table referrals; 49 | drop sequence referrals_id_seq; 50 | create table referrals ( 51 | id serial not null primary key, 52 | name varchar(255) not null, 53 | url varchar(255) not null 54 | ); 55 | 56 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/pgsql/testdb_drop.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE persons; 2 | DROP TABLE institutes; 3 | DROP TABLE documents; 4 | DROP TABLE authors_docs; 5 | DROP TABLE phones; 6 | DROP TABLE referrals; 7 | DROP FUNCTION create_person (); 8 | DROP FUNCTION update_person_cn (varchar, int); 9 | DROP FUNCTION add_phone (varchar, int); 10 | DROP FUNCTION create_doc (); 11 | DROP FUNCTION create_o (); 12 | DROP FUNCTION create_referral (); 13 | 14 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/timesten/backsql_drop.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE ldap_referrals; 2 | 3 | DROP TABLE ldap_entry_objclasses; 4 | 5 | DROP TABLE ldap_attr_mappings; 6 | 7 | DROP TABLE ldap_entries; 8 | 9 | DROP TABLE ldap_oc_mappings; 10 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/timesten/create_schema.sh: -------------------------------------------------------------------------------- 1 | ttIsql -connStr "DSN=ldap_tt;Overwrite=1" -f backsql_create.sql 2 | ttIsql -connStr "DSN=ldap_tt" -f testdb_create.sql 3 | ttIsql -connStr "DSN=ldap_tt" -f testdb_data.sql 4 | ttIsql -connStr "DSN=ldap_tt" -f testdb_metadata.sql 5 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/timesten/dnreverse/Makefile: -------------------------------------------------------------------------------- 1 | ## 2 | ## Copyright 1997-2014 The OpenLDAP Foundation, All Rights Reserved. 3 | ## COPYING RESTRICTIONS APPLY, see COPYRIGHT file 4 | 5 | # 6 | # Build TimesTen ODBC Sample Programs for Solaris 2.5.1. 7 | # (c) Copyright 1996-1998, TimesTen Performance Software. 8 | # All rights reserved. 9 | ## Note: This file was contributed by Sam Drake of TimesTen Performance 10 | ## Software for use and redistribution as an integral part of 11 | ## OpenLDAP Software. -Kdz 12 | 13 | CPLUSPLUS = CC 14 | TTCLASSES = ../../../../../../../../../cs/classes 15 | ODBC = /opt/TimesTen4.1/32 16 | CFLAGS = -g -I$(ODBC)/include -I. -I$(TTCLASSES) -DUNIX 17 | LDFLAGS = -g 18 | DIRLIBS = $(TTCLASSES)/ttclasses.a -L $(ODBC)/lib -R $(ODBC)/lib -ltten -lpthread -lm -lrt 19 | XLALIB = -L $(ODBC)/lib -lxla 20 | 21 | DIRPROGS= dnreverse 22 | 23 | DNREVERSE= dnreverse.o 24 | 25 | # 26 | # Top-level targets 27 | # 28 | 29 | all: $(DIRPROGS) 30 | 31 | direct: $(DIRPROGS) 32 | 33 | clean: 34 | rm -rf $(DIRPROGS) *.o 35 | 36 | 37 | # 38 | # Direct-linked programs 39 | # 40 | 41 | dnreverse: $(DNREVERSE) 42 | $(CPLUSPLUS) -o dnreverse $(LDFLAGS) $(DNREVERSE) $(DIRLIBS) $(XLALIB) 43 | 44 | # 45 | # .o files 46 | # 47 | 48 | dnreverse.o: dnreverse.cpp 49 | $(CPLUSPLUS) $(CFLAGS) -c dnreverse.cpp 50 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/timesten/slapd.conf: -------------------------------------------------------------------------------- 1 | # $ReOpenLDAP$ 2 | # 3 | # See slapd.conf(5) for details on configuration options. 4 | # This file should NOT be world readable. 5 | # 6 | include /usr/local/etc/reopenldap/schema/core.schema 7 | include /usr/local/etc/reopenldap/schema/cosine.schema 8 | include /usr/local/etc/reopenldap/schema/inetorgperson.schema 9 | 10 | # Define global ACLs to disable default read access. 11 | 12 | # Do not enable referrals until AFTER you have a working directory 13 | # service AND an understanding of referrals. 14 | #referral ldap://root.openldap.org 15 | 16 | pidfile /usr/local/var/slapd.pid 17 | argsfile /usr/local/var/slapd.args 18 | 19 | ####################################################################### 20 | # sql database definitions 21 | ####################################################################### 22 | 23 | database sql 24 | suffix "o=sql,c=RU" 25 | rootdn "cn=root,o=sql,c=RU" 26 | rootpw secret 27 | dbname ldap_tt 28 | dbuser root 29 | dbpasswd 30 | subtree_cond "ldap_entries.dn LIKE ?" 31 | insentry_stmt "INSERT INTO ldap_entries (dn,oc_map_id,parent,keyval) VALUES (?,?,?,?)" 32 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/timesten/testdb_create.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE persons ( 2 | id int NOT NULL primary key, 3 | name varchar(255) NOT NULL 4 | ) 5 | unique hash on (id) pages=100; 6 | 7 | CREATE TABLE institutes ( 8 | id int NOT NULL primary key, 9 | name varchar(255) 10 | ) 11 | unique hash on (id) pages=100; 12 | 13 | CREATE TABLE documents ( 14 | id int NOT NULL primary key, 15 | title varchar(255) NOT NULL, 16 | abstract varchar(255) 17 | ) 18 | unique hash on (id) pages=100; 19 | 20 | CREATE TABLE authors_docs ( 21 | pers_id int NOT NULL, 22 | doc_id int NOT NULL, 23 | PRIMARY KEY 24 | ( 25 | pers_id, 26 | doc_id 27 | ) 28 | ) unique hash on (pers_id, doc_id) pages=100; 29 | 30 | CREATE TABLE phones ( 31 | id int NOT NULL primary key, 32 | phone varchar(255) NOT NULL , 33 | pers_id int NOT NULL 34 | ) 35 | unique hash on (id) pages=100; 36 | 37 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/timesten/testdb_data.sql: -------------------------------------------------------------------------------- 1 | insert into institutes (id,name) values (1,'sql'); 2 | 3 | insert into persons (id,name) values (1,'Mitya Kovalev'); 4 | insert into persons (id,name) values (2,'Torvlobnor Puzdoy'); 5 | insert into persons (id,name) values (3,'Akakiy Zinberstein'); 6 | 7 | insert into phones (id,phone,pers_id) values (1,'332-2334',1); 8 | insert into phones (id,phone,pers_id) values (2,'222-3234',1); 9 | insert into phones (id,phone,pers_id) values (3,'545-4563',2); 10 | 11 | insert into documents (id,abstract,title) values (1,'abstract1','book1'); 12 | insert into documents (id,abstract,title) values (2,'abstract2','book2'); 13 | 14 | insert into authors_docs (pers_id,doc_id) values (1,1); 15 | insert into authors_docs (pers_id,doc_id) values (1,2); 16 | insert into authors_docs (pers_id,doc_id) values (2,1); 17 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/timesten/testdb_drop.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE persons; 2 | DROP TABLE institutes; 3 | DROP TABLE documents; 4 | DROP TABLE authors_docs; 5 | DROP TABLE phones; 6 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/timesten/ttcreate_schema.sh: -------------------------------------------------------------------------------- 1 | ttIsql -connStr "DSN=ldap_tt;Overwrite=1" -f backsql_create.sql 2 | ttIsql -connStr "DSN=ldap_tt" -f tttestdb_create.sql 3 | ttIsql -connStr "DSN=ldap_tt" -f tttestdb_data.sql 4 | ttIsql -connStr "DSN=ldap_tt" -f tttestdb_metadata.sql 5 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/timesten/tttestdb_create.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE persons ( 2 | id int NOT NULL primary key, 3 | name varchar(255) NOT NULL, 4 | name_u varchar(255), 5 | title varchar(255), 6 | title_U varchar(255), 7 | organization varchar(255) 8 | ) 9 | unique hash on (id) pages=100; 10 | create index personsx1 on persons(title_U); 11 | create index personsx2 on persons(name_u); 12 | 13 | CREATE TABLE institutes ( 14 | id int NOT NULL primary key, 15 | name varchar(255) 16 | ) 17 | unique hash on (id) pages=100; 18 | 19 | CREATE TABLE documents ( 20 | id int NOT NULL primary key, 21 | title varchar(255) NOT NULL, 22 | abstract varchar(255) 23 | ) 24 | unique hash on (id) pages=100; 25 | 26 | CREATE TABLE authors_docs ( 27 | pers_id int NOT NULL, 28 | doc_id int NOT NULL, 29 | PRIMARY KEY 30 | ( 31 | pers_id, 32 | doc_id 33 | ) 34 | ) unique hash on (pers_id, doc_id) pages=100; 35 | 36 | CREATE TABLE phones ( 37 | id int NOT NULL primary key, 38 | phone varchar(255) NOT NULL , 39 | pers_id int NOT NULL 40 | ) 41 | unique hash on (id) pages=100; 42 | 43 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/timesten/tttestdb_data.sql: -------------------------------------------------------------------------------- 1 | insert into institutes (id,name) values (1,'sql'); 2 | 3 | insert into persons (id,name, title, title_U, organization) values 4 | (1,'Mitya Kovalev', 'Engineer', 'ENGINEER', 'Development'); 5 | insert into persons (id,name, title, title_U, organization) values 6 | (2,'Torvlobnor Puzdoy', 'Engineer', 'ENGINEER', 'Sales'); 7 | insert into persons (id,name, title, title_U, organization) values 8 | (3,'Akakiy Zinberstein', 'Engineer', 'ENGINEER', 'Marketing'); 9 | update persons set name_u = upper(name); 10 | 11 | insert into phones (id,phone,pers_id) values (1,'332-2334',1); 12 | insert into phones (id,phone,pers_id) values (2,'222-3234',1); 13 | insert into phones (id,phone,pers_id) values (3,'545-4563',2); 14 | 15 | insert into documents (id,abstract,title) values (1,'abstract1','book1'); 16 | insert into documents (id,abstract,title) values (2,'abstract2','book2'); 17 | 18 | insert into authors_docs (pers_id,doc_id) values (1,1); 19 | insert into authors_docs (pers_id,doc_id) values (1,2); 20 | insert into authors_docs (pers_id,doc_id) values (2,1); 21 | -------------------------------------------------------------------------------- /servers/slapd/back-sql/rdbms_depend/timesten/tttestdb_drop.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE persons; 2 | DROP TABLE institutes; 3 | DROP TABLE documents; 4 | DROP TABLE authors_docs; 5 | DROP TABLE phones; 6 | -------------------------------------------------------------------------------- /servers/slapd/overlays/README: -------------------------------------------------------------------------------- 1 | This directory contains a number of SLAPD overlays, some 2 | project-maintained, some not. Some are generally usable, 3 | others are purely experimental. Additional overlays can 4 | be found in the contrib/slapd-modules directory. 5 | 6 | -------------------------------------------------------------------------------- /servers/slapd/overlays/overlays.c: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 2003-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | /* ACKNOWLEDGEMENTS: 17 | * This work was initially developed by Howard Chu for inclusion in 18 | * OpenLDAP Software. 19 | */ 20 | 21 | /* overlays.c - Static overlay framework */ 22 | 23 | #include "reldap.h" 24 | 25 | #include "slap.h" 26 | 27 | extern OverlayInit slap_oinfo[]; 28 | 29 | int overlay_init(void) { 30 | int i, rc = 0; 31 | 32 | for (i = 0; slap_oinfo[i].ov_type; i++) { 33 | rc = slap_oinfo[i].ov_init(); 34 | if (rc) { 35 | Debug(LDAP_DEBUG_ANY, "%s overlay setup failed, err %d\n", slap_oinfo[i].ov_type, rc); 36 | break; 37 | } 38 | } 39 | 40 | return rc; 41 | } 42 | -------------------------------------------------------------------------------- /servers/slapd/shell-backends/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | bin_PROGRAMS = passwd-shell 17 | AM_CPPFLAGS = -I$(top_srcdir)/include 18 | 19 | if BEHIND_CURTIAN 20 | BUILT_SOURCES = banner.c 21 | banner.c: Makefile 22 | $(MKBANNER) --name passwd_shell --global 'passwd-shell' > $@ || $(RM) $@ 23 | endif 24 | 25 | passwd_shell_SOURCES = banner.c passwd-shell.c shellutil.c shellutil.h 26 | passwd_shell_LDADD = $(LDAP_LIBLUTIL_LA) $(LDAP_LIBRELDAP_LA) 27 | -------------------------------------------------------------------------------- /servers/slapd/slapi/Makefile.am: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 2017-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | ## 15 | 16 | pkglib_LTLIBRARIES = libreslapi.la 17 | libreslapi_la_LDFLAGS = -export-dynamic \ 18 | -release $(API_LIB_RELEASE) -version-info $(API_LIB_VERSION) \ 19 | -weak libslapi.la 20 | 21 | AM_CPPFLAGS = -DSLAPI_LIBRARY -DSLAPD_IMPORT \ 22 | -I$(srcdir)/.. -I$(top_srcdir)/include $(LTDLINCL) 23 | 24 | libreslapi_la_LIBADD = $(SLAPI_LIBS) $(LIBLTDL) 25 | EXTRA_libreslapi_la_DEPENDENCIES = $(LTDLDEPS) 26 | 27 | if BEHIND_CURTIAN 28 | BUILT_SOURCES = banner.c 29 | banner.c: Makefile 30 | $(MKBANNER) --name SLAPI --global 'libreslapi' > $@ || $(RM) $@ 31 | endif 32 | 33 | libreslapi_la_SOURCES = banner.c plugin.c printmsg.c slapi_dn.c \ 34 | slapi_ext.c slapi_ops.c slapi_overlay.c slapi_pblock.c \ 35 | slapi_utils.c proto-slapi.h slapi.h 36 | -------------------------------------------------------------------------------- /servers/slapd/slapi/TODO: -------------------------------------------------------------------------------- 1 | - de-IBM SLAPI 2 | - add a config statement, or redefine the dynamic backend one, 3 | "modulepath", to set/modify the load path also for plugins 4 | (both plugins and modules use ltdl, so "modulepath" suffices ...) 5 | - improve slapi logging (use some [v]s[n]printf function) 6 | - add a config statement to set the log file name, or better 7 | - use syslog where available? 8 | - add some plugin monitoring stuff in back-monitor (e.g. a subentry 9 | for each plugin with data from struct Slapi_PluginDesc) 10 | - This is a very tough task: try to implement a sandbox to execute 11 | plugins in, trap deadly signals and possibly disable unsafe plugins 12 | without crashing slapd (fork from inside thread? trap signals 13 | and longjump to next plugin execution? Brrr). 14 | 15 | --- 16 | $ReOpenLDAP$ 17 | -------------------------------------------------------------------------------- /servers/slapd/unbind.c: -------------------------------------------------------------------------------- 1 | /* $ReOpenLDAP$ */ 2 | /* Copyright 1990-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | * All rights reserved. 4 | * 5 | * This file is part of ReOpenLDAP. 6 | * 7 | * Redistribution and use in source and binary forms, with or without 8 | * modification, are permitted only as authorized by the OpenLDAP 9 | * Public License. 10 | * 11 | * A copy of this license is available in the file LICENSE in the 12 | * top-level directory of the distribution or, alternatively, at 13 | * . 14 | */ 15 | 16 | /* unbind.c - decode an ldap unbind operation and pass it to a backend db */ 17 | 18 | #include "reldap.h" 19 | 20 | #include 21 | 22 | #include 23 | 24 | #include "slap.h" 25 | 26 | int do_unbind(Operation *op, SlapReply *rs) { 27 | Debug(LDAP_DEBUG_TRACE, "%s do_unbind\n", op->o_log_prefix); 28 | 29 | /* 30 | * Parse the unbind request. It looks like this: 31 | * 32 | * UnBindRequest ::= NULL 33 | */ 34 | 35 | Statslog(LDAP_DEBUG_STATS, "%s UNBIND\n", op->o_log_prefix); 36 | 37 | if (frontendDB->be_unbind) { 38 | op->o_bd = frontendDB; 39 | (void)frontendDB->be_unbind(op, rs); 40 | op->o_bd = NULL; 41 | } 42 | 43 | /* pass the unbind to all backends */ 44 | (void)backend_unbind(op, rs); 45 | 46 | return 0; 47 | } 48 | -------------------------------------------------------------------------------- /tests/README: -------------------------------------------------------------------------------- 1 | This directory contains a series of test scripts which are used to 2 | verify basic functionality of the LDAP libraries and slapd. 3 | 4 | To run all of the tests, type "make test". 5 | To run BDB tests, type "make bdb". 6 | To run HDB tests, type "make hdb". 7 | To run MDB tests, type "make mdb". 8 | To run SQL tests, define SLAPD_USE_SQL= and type 9 | "make sql"; define SLAPD_USE_SQLWRITE=yes 10 | to enable write tests as well. 11 | To run regression tests, type "make regressions" 12 | 13 | The test scripts depends on a number of tools commonly available on 14 | Unix (and Unix-like) systems. While attempts have been made to make 15 | these scripts reasonably portable, they may not run properly on your 16 | system. You may have to adjust your path so that compatible versions 17 | of tools used are available to the scripts and/or you may have to 18 | install replacement tools. Platform specific hints may be found at: 19 | http://www.openldap.org/faq/index.cgi?file=9 20 | 21 | To modify the debug level the tests run slapd with, set the SLAPD_DEBUG 22 | environment variable. 23 | env SLAPD_DEBUG=1 make test 24 | 25 | -------------------------------------------------------------------------------- /tests/data/chainref.out: -------------------------------------------------------------------------------- 1 | dn: ou=Other,dc=example,dc=com 2 | objectClass: organizationalUnit 3 | ou: Other 4 | 5 | -------------------------------------------------------------------------------- /tests/data/constraint/constraint.out: -------------------------------------------------------------------------------- 1 | OK 2 | OK 3 | OK 4 | OK 5 | OK 6 | OK 7 | OK 8 | OK 9 | OK 10 | OK 11 | OK 12 | OK 13 | OK 14 | OK 15 | OK 16 | FAIL 17 | FAIL 18 | FAIL 19 | FAIL 20 | FAIL 21 | FAIL 22 | FAIL 23 | FAIL 24 | FAIL 25 | FAIL 26 | FAIL 27 | FAIL 28 | FAIL 29 | FAIL 30 | FAIL 31 | FAIL 32 | -------------------------------------------------------------------------------- /tests/data/constraint/root.ldif: -------------------------------------------------------------------------------- 1 | dn: dc=example,dc=com 2 | objectclass: dcObject 3 | objectclass: organization 4 | dc: example 5 | o: My Domain corp. 6 | 7 | dn: ou=users,dc=example,dc=com 8 | ou: users 9 | objectclass: organizationalUnit 10 | 11 | dn: ou=groups,dc=example,dc=com 12 | ou: groups 13 | objectclass: organizationalUnit 14 | 15 | dn: uid=1,ou=groups,dc=example,dc=com 16 | objectclass: inetOrgPerson 17 | cn: test 1 18 | sn: test1 19 | uid: 1 20 | 21 | dn: uid=2,ou=groups,dc=example,dc=com 22 | objectclass: inetOrgPerson 23 | cn: test 2 24 | sn: test2 25 | uid: 2 26 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_01.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: b@example.com 5 | mail: c@example.com 6 | mail: d@example.com 7 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_02.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: b@example.com 5 | mail: c@example.com 6 | mail: d@example.com 7 | mail: e@example.com 8 | mail: f@example.com 9 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_03.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: b@example.com 5 | mail: c@example.com 6 | - 7 | add: mail 8 | mail: d@example.com 9 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_04.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: b@example.com 5 | - 6 | add: mail 7 | mail: c@example.com 8 | - 9 | add: mail 10 | mail: d@example.com 11 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_05.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: b@example.com 5 | - 6 | add: mail 7 | mail: c@example.com 8 | - 9 | add: mail 10 | mail: d@example.com 11 | - 12 | add: mail 13 | mail: e@example.com 14 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_06.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | replace: mail 4 | mail: a@example.com 5 | mail: b@example.com 6 | mail: c@example.com 7 | mail: d@example.com 8 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_07.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | replace: mail 4 | mail: a@example.com 5 | mail: b@example.com 6 | mail: c@example.com 7 | mail: d@example.com 8 | - 9 | delete: mail 10 | - 11 | add: mail 12 | mail: w@example.com 13 | mail: x@example.com 14 | mail: y@example.com 15 | mail: z@example.com 16 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_08.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: b@example.com 5 | mail: c@example.com 6 | mail: d@example.com 7 | - 8 | delete: mail 9 | mail: d@example.com 10 | - 11 | add: mail 12 | mail: f@example.com 13 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_09.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: b@example.com 5 | mail: c@example.com 6 | mail: d@example.com 7 | mail: e@example.com 8 | - 9 | delete: mail 10 | mail: original@example.com 11 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_10.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: example@not-allowed.com 5 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_11.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | delete: mail 4 | mail: original@example.com 5 | - 6 | add: mail 7 | mail: a@fail.com 8 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_12.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | delete: mail 4 | mail: original@example.com 5 | - 6 | add: mail 7 | mail: notsooriginal@example.com 8 | - 9 | replace: cn 10 | cn: John Fail 11 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_13.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | replace: givenname 4 | givenname: Joe 5 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_14.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | replace: sn 4 | sn: Down 5 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_15.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | replace: uid 4 | uid: 3 5 | 6 | -------------------------------------------------------------------------------- /tests/data/constraint/t_fail_16.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | replace: jpegPhoto 4 | jpegPhoto: AAAA 5 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_01.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | delete: mail 4 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_02.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | replace: mail 4 | mail: a@example.com 5 | mail: b@example.com 6 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_03.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | replace: mail 4 | mail: a@example.com 5 | mail: b@example.com 6 | mail: c@example.com 7 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_04.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | delete: mail 4 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_05.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: a@example.com 5 | mail: b@example.com 6 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_06.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | delete: mail 4 | - 5 | add: mail 6 | mail: b@example.com 7 | mail: c@example.com 8 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_07.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | delete: mail 4 | - 5 | add: mail 6 | mail: a@example.com 7 | mail: b@example.com 8 | mail: c@example.com 9 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_08.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: b@example.com 5 | mail: c@example.com 6 | - 7 | delete: mail 8 | - 9 | add: mail 10 | mail: x@example.com 11 | mail: y@example.com 12 | mail: z@example.com 13 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_09.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | replace: mail 4 | mail: a@example.com 5 | mail: b@example.com 6 | mail: c@example.com 7 | mail: d@example.com 8 | - 9 | delete: mail 10 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_10.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: b@example.com 5 | mail: c@example.com 6 | - 7 | delete: mail 8 | - 9 | add: mail 10 | mail: x@example.com 11 | mail: y@example.com 12 | mail: z@example.com 13 | mail: u@example.com 14 | mail: m@example.com 15 | - 16 | replace: mail 17 | mail: i@example.com 18 | mail: j@example.com 19 | - 20 | add: mail 21 | mail: k@example.com 22 | - 23 | replace: description 24 | description: d1 25 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_11.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: b@example.com 5 | mail: c@example.com 6 | - 7 | delete: mail 8 | - 9 | add: mail 10 | mail: x@example.com 11 | mail: y@example.com 12 | mail: z@example.com 13 | mail: u@example.com 14 | mail: m@example.com 15 | - 16 | replace: mail 17 | mail: i@example.com 18 | mail: j@example.com 19 | - 20 | add: mail 21 | mail: k@example.com 22 | mail: hh@example.com 23 | - 24 | delete: mail 25 | - 26 | add: mail 27 | mail: k@example.com 28 | mail: hh@example.com 29 | mail: hj@example.com 30 | - 31 | replace: description 32 | description: d1 33 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_12.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: b@example.com 5 | mail: c@example.com 6 | mail: d@example.com 7 | mail: e@example.com 8 | - 9 | delete: mail 10 | mail: original@example.com 11 | mail: e@example.com 12 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_13.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | add: mail 4 | mail: b@example.com 5 | mail: c@example.com 6 | mail: d@example.com 7 | mail: e@example.com 8 | - 9 | delete: mail 10 | - 11 | add: mail 12 | mail: b@example.com 13 | mail: c@example.com 14 | mail: d@example.com 15 | mail: e@example.com 16 | - 17 | delete: mail 18 | mail: e@example.com 19 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_14.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | delete: description 4 | description: desc1 5 | - 6 | add: description 7 | description: desc1-mod 8 | 9 | -------------------------------------------------------------------------------- /tests/data/constraint/t_ok_15.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | changetype: modify 3 | replace: uid 4 | uid: 2 5 | 6 | -------------------------------------------------------------------------------- /tests/data/constraint/user.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=John Doe,ou=users,dc=example,dc=com 2 | objectclass: inetOrgPerson 3 | objectclass: organizationalPerson 4 | cn: John Doe 5 | givenname: John 6 | sn: Doe 7 | mail: original@example.com 8 | description: desc1 9 | description: desc2 10 | uid: 1 11 | -------------------------------------------------------------------------------- /tests/data/ditcontentrules.conf: -------------------------------------------------------------------------------- 1 | ## $ReOpenLDAP$ 2 | ## Copyright 1998-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 3 | ## All rights reserved. 4 | ## 5 | ## This file is part of ReOpenLDAP. 6 | ## 7 | ## Redistribution and use in source and binary forms, with or without 8 | ## modification, are permitted only as authorized by the OpenLDAP 9 | ## Public License. 10 | ## 11 | ## A copy of this license is available in the file LICENSE in the 12 | ## top-level directory of the distribution or, alternatively, at 13 | ## . 14 | 15 | ditcontentrule ( 2.5.6.4 NAME 'organization' AUX ( domainRelatedObject $ dcObject ) ) 16 | ditcontentrule ( 2.5.6.5 NAME 'organizationalUnit' AUX extensibleObject ) 17 | ditcontentrule ( 2.5.6.9 NAME 'groupOfNames' ) 18 | ditcontentrule ( 2.5.6.17 NAME 'groupOfUniqueNames' ) 19 | -------------------------------------------------------------------------------- /tests/data/do_add.1: -------------------------------------------------------------------------------- 1 | dn: cn=James A Jones 2,ou=Alumni Association,ou=People,dc=example,dc=com 2 | objectClass: OpenLDAPperson 3 | cn: James A Jones 2 4 | cn: James Jones 5 | cn: Jim Jones 6 | sn: Jones 7 | uid: jaj 8 | postalAddress: Alumni Association $ 111 Maple St $ Anytown, MI 48109 9 | seeAlso: cn=All Staff, ou=Groups, dc=example,dc=com 10 | userpassword:: amFq 11 | homePostalAddress: 3882 Beverly Rd. $ Anytown, MI 48105 12 | homePhone: +1 313 555 4772 13 | description: Outstanding 14 | title: Mad Cow Researcher, UM Alumni Association 15 | pager: +1 313 555 3923 16 | mail: jaj@mail.alumni.example.com 17 | facsimileTelephoneNumber: +1 313 555 4332 18 | telephoneNumber: +1 313 555 0895 19 | -------------------------------------------------------------------------------- /tests/data/do_add.2: -------------------------------------------------------------------------------- 1 | dn: cn=James A Jones 3,ou=Alumni Association,ou=People,dc=example,dc=com 2 | objectClass: OpenLDAPperson 3 | cn: James A Jones 3 4 | cn: James Jones 5 | cn: Jim Jones 6 | sn: Jones 7 | uid: jaj 8 | postalAddress: Alumni Association $ 111 Maple St $ Anytown, MI 48109 9 | seeAlso: cn=All Staff, ou=Groups, dc=example,dc=com 10 | userpassword:: amFq 11 | homePostalAddress: 3882 Beverly Rd. $ Anytown, MI 48105 12 | homePhone: +1 313 555 4772 13 | description: Outstanding 14 | title: Mad Cow Researcher, UM Alumni Association 15 | pager: +1 313 555 3923 16 | mail: jaj@mail.alumni.example.com 17 | facsimileTelephoneNumber: +1 313 555 4332 18 | telephoneNumber: +1 313 555 0895 19 | -------------------------------------------------------------------------------- /tests/data/do_add.3: -------------------------------------------------------------------------------- 1 | dn: cn=James A Jones 4,ou=People,dc=example,dc=com 2 | objectClass: OpenLDAPperson 3 | cn: James A Jones 4 4 | cn: James Jones 5 | cn: Jim Jones 6 | sn: Jones 7 | uid: jaj 8 | postalAddress: Alumni Association $ 111 Maple St $ Anytown, MI 48109 9 | seeAlso: cn=All Staff, ou=Groups, dc=example,dc=com 10 | userpassword:: amFq 11 | homePostalAddress: 3882 Beverly Rd. $ Anytown, MI 48105 12 | homePhone: +1 313 555 4772 13 | description: Outstanding 14 | title: Mad Cow Researcher, UM Alumni Association 15 | pager: +1 313 555 3923 16 | mail: jaj@mail.alumni.example.com 17 | facsimileTelephoneNumber: +1 313 555 4332 18 | telephoneNumber: +1 313 555 0895 19 | -------------------------------------------------------------------------------- /tests/data/do_add.4: -------------------------------------------------------------------------------- 1 | dn: cn=James A Jones 5,dc=example,dc=com 2 | objectClass: OpenLDAPperson 3 | cn: James A Jones 5 4 | cn: James Jones 5 | cn: Jim Jones 6 | sn: Jones 7 | uid: jaj 8 | postalAddress: Alumni Association $ 111 Maple St $ Anytown, MI 48109 9 | seeAlso: cn=All Staff, ou=Groups, dc=example,dc=com 10 | userpassword:: amFq 11 | homePostalAddress: 3882 Beverly Rd. $ Anytown, MI 48105 12 | homephone: +1 313 555 4772 13 | description: Outstanding 14 | title: Mad Cow Researcher, UM Alumni Association 15 | pager: +1 313 555 3923 16 | mail: jaj@mail.alumni.example.com 17 | facsimileTelephoneNumber: +1 313 555 4332 18 | telephoneNumber: +1 313 555 0895 19 | -------------------------------------------------------------------------------- /tests/data/do_bind.0: -------------------------------------------------------------------------------- 1 | cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com 2 | bjensen 3 | cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com 4 | bjorn 5 | ou=People,dc=example,dc=com 6 | +userPassword:(userPassword=*) 7 | -------------------------------------------------------------------------------- /tests/data/do_modify.0: -------------------------------------------------------------------------------- 1 | cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com 2 | mail: bj@mailgw.example.com 3 | cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com 4 | cn: Björn 5 | cn=James A Jones 1,ou=Alumni Association,ou=People,dc=example,dc=com 6 | displayname: James Jones 7 | cn=ITD Staff,ou=Groups,dc=example,dc=com 8 | uniquemember: cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com 9 | -------------------------------------------------------------------------------- /tests/data/do_modrdn.0: -------------------------------------------------------------------------------- 1 | cn=Dorothy Stevens,ou=Alumni Association,ou=People,dc=example,dc=com 2 | cn=John Doe,ou=Information Technology Division,ou=People,dc=example,dc=com 3 | cn=Ursula Hampster,ou=Alumni Association,ou=People,dc=example,dc=com 4 | cn=James A Jones 2,ou=Information Technology Division,ou=People,dc=example,dc=com 5 | -------------------------------------------------------------------------------- /tests/data/do_read.0: -------------------------------------------------------------------------------- 1 | cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com 2 | cn=ITD Staff,ou=Groups,dc=example,dc=com 3 | ou=Groups, dc=example,dc=com 4 | ou=Alumni Association, ou=People, dc=example,dc=com 5 | cn=James A Jones 1, ou=Alumni Association, ou=People, dc=example,dc=com 6 | -------------------------------------------------------------------------------- /tests/data/do_search.0: -------------------------------------------------------------------------------- 1 | dc=example,dc=com 2 | (cn=Barbara Jensen) 3 | ou=people,dc=example,dc=com 4 | (cn=Bjorn Jensen) 5 | ou=people,dc=example,dc=com 6 | (cn=James A Jones 1) 7 | dc=example,dc=com 8 | (cn=Bjorn Jensen) 9 | dc=example,dc=com 10 | (cn=Alumni Assoc Staff) 11 | dc=example,dc=com 12 | (cn=James*) 13 | -------------------------------------------------------------------------------- /tests/data/emptydn.out: -------------------------------------------------------------------------------- 1 | dn: o=Esempio,c=IT 2 | objectClass: organization 3 | o: Esempio 4 | o: Esempio S.p.A. 5 | o: Example 6 | 7 | dn: o=Example,c=UK 8 | objectClass: organization 9 | o: Example 10 | o: Example, Ltd. 11 | 12 | dn: o=Example,c=US 13 | objectClass: organization 14 | o: Example 15 | o: Example, Inc. 16 | 17 | dn: c=IT 18 | objectClass: country 19 | c: IT 20 | 21 | dn: c=UK 22 | objectClass: country 23 | c: UK 24 | 25 | dn: c=US 26 | objectClass: country 27 | c: US 28 | 29 | -------------------------------------------------------------------------------- /tests/data/emptydn.out.slapadd: -------------------------------------------------------------------------------- 1 | dn: o=Beispiel,c=DE 2 | objectClass: organization 3 | o: Beispiel 4 | o: Beispiel GmbH 5 | o: Example 6 | 7 | dn: c=DE 8 | objectClass: country 9 | c: DE 10 | 11 | dn: o=Esempio,c=IT 12 | objectClass: organization 13 | o: Esempio 14 | o: Esempio S.p.A. 15 | o: Example 16 | 17 | dn: o=Example,c=UK 18 | objectClass: organization 19 | o: Example 20 | o: Example, Ltd. 21 | 22 | dn: o=Example,c=US 23 | objectClass: organization 24 | o: Example 25 | o: Example, Inc. 26 | 27 | dn: c=IT 28 | objectClass: country 29 | c: IT 30 | 31 | dn: c=UK 32 | objectClass: country 33 | c: UK 34 | 35 | dn: c=US 36 | objectClass: country 37 | c: US 38 | 39 | -------------------------------------------------------------------------------- /tests/data/lang-out.ldif: -------------------------------------------------------------------------------- 1 | dn: dc=example,dc=com 2 | dc: example 3 | objectClass: organization 4 | objectClass: extensibleObject 5 | o: Example, Inc. 6 | o;lang-x;lang-xx;lang-y;lang-yy;lang-z;lang-zz: Example, Inc. 7 | name;lang-en-us: Billy Ray 8 | name;lang-en-us: Billy Bob 9 | cn;lang-en-us: Billy Ray 10 | name: Billy Ray 11 | sn;lang-en-gb;lang-en-us: Billy Ray 12 | sn: Ray 13 | 14 | dn: dc=example,dc=com 15 | o: Example, Inc. 16 | o;lang-x;lang-xx;lang-y;lang-yy;lang-z;lang-zz: Example, Inc. 17 | name;lang-en-us: Billy Ray 18 | name;lang-en-us: Billy Bob 19 | cn;lang-en-us: Billy Ray 20 | name: Billy Ray 21 | sn;lang-en-gb;lang-en-us: Billy Ray 22 | sn: Ray 23 | 24 | dn: dc=example,dc=com 25 | name;lang-en-us: Billy Ray 26 | name;lang-en-us: Billy Bob 27 | cn;lang-en-us: Billy Ray 28 | sn;lang-en-gb;lang-en-us: Billy Ray 29 | 30 | dn: dc=example,dc=com 31 | name;lang-en-us: Billy Ray 32 | name;lang-en-us: Billy Bob 33 | cn;lang-en-us: Billy Ray 34 | sn;lang-en-gb;lang-en-us: Billy Ray 35 | 36 | -------------------------------------------------------------------------------- /tests/data/ldapglue.out: -------------------------------------------------------------------------------- 1 | dn: dc=example,dc=com 2 | objectClass: organization 3 | objectClass: dcObject 4 | o: Example, Inc. 5 | dc: example 6 | 7 | dn: ou=Groups,dc=example,dc=com 8 | objectClass: organizationalUnit 9 | ou: Groups 10 | 11 | dn: cn=All,ou=Groups,dc=example,dc=com 12 | objectClass: groupOfNames 13 | cn: All 14 | member: uid=bjorn,ou=People,dc=example,dc=com 15 | member: uid=bjensen,ou=People,dc=example,dc=com 16 | 17 | dn: cn=ITD,ou=Groups,dc=example,dc=com 18 | objectClass: groupOfNames 19 | cn: ITD 20 | member: uid=bjorn,ou=People,dc=example,dc=com 21 | 22 | dn: uid=proxy,ou=Groups,dc=example,dc=com 23 | objectClass: inetOrgPerson 24 | cn: Proxy 25 | sn: Proxy 26 | uid: proxy 27 | 28 | dn: ou=People,dc=example,dc=com 29 | objectClass: organizationalUnit 30 | ou: People 31 | 32 | dn: uid=bjorn,ou=People,dc=example,dc=com 33 | objectClass: inetOrgPerson 34 | cn: Bjorn Jensen 35 | sn: Jensen 36 | uid: bjorn 37 | mail: bjorn@example.com 38 | 39 | dn: uid=bjensen,ou=People,dc=example,dc=com 40 | objectClass: inetOrgPerson 41 | cn: Barbara Jensen 42 | sn: Jensen 43 | uid: bjensen 44 | mail: bjensen@example.com 45 | 46 | dn: uid=proxy,ou=People,dc=example,dc=com 47 | objectClass: inetOrgPerson 48 | cn: Proxy 49 | sn: Proxy 50 | uid: proxy 51 | 52 | -------------------------------------------------------------------------------- /tests/data/ldapglueanonymous.out: -------------------------------------------------------------------------------- 1 | dn: dc=example,dc=com 2 | objectClass: organization 3 | objectClass: dcObject 4 | o: Example, Inc. 5 | dc: example 6 | 7 | -------------------------------------------------------------------------------- /tests/data/modrdn.out.master.1: -------------------------------------------------------------------------------- 1 | dn: cn=James A Jones III,ou=Alumni Association,ou=People,dc=example,dc=com 2 | objectClass: OpenLDAPperson 3 | cn: James A Jones 1 4 | cn: James Jones 5 | cn: Jim Jones 6 | cn: James A Jones III 7 | sn: Jones 8 | uid: jaj 9 | postalAddress: Alumni Association $ 111 Maple St $ Anytown, MI 48109 10 | seeAlso: cn=All Staff,ou=Groups,dc=example,dc=com 11 | userPassword:: amFq 12 | homePostalAddress: 3882 Beverly Rd. $ Anytown, MI 48105 13 | homePhone: +1 313 555 4772 14 | description: Outstanding 15 | title: Mad Cow Researcher, UM Alumni Association 16 | pager: +1 313 555 3923 17 | mail: jaj@mail.alumni.example.com 18 | facsimileTelephoneNumber: +1 313 555 4332 19 | telephoneNumber: +1 313 555 0895 20 | 21 | -------------------------------------------------------------------------------- /tests/data/modrdn.out.master.2: -------------------------------------------------------------------------------- 1 | dn: cn=James A Jones II,ou=Information Technology Division,ou=People,dc=exampl 2 | e,dc=com 3 | objectClass: OpenLDAPperson 4 | cn: James Jones 5 | cn: Jim Jones 6 | cn: James A Jones II 7 | sn: Doe 8 | uid: jjones 9 | seeAlso: cn=All Staff,ou=Groups,dc=example,dc=com 10 | homePostalAddress: 933 Brooks $ Anytown, MI 48104 11 | homePhone: +1 313 555 8838 12 | title: Senior Manager, Information Technology Division 13 | description: Not around very much 14 | mail: jjones@mailgw.example.com 15 | postalAddress: Info Tech Division $ 535 W William $ Anytown, MI 48103 16 | pager: +1 313 555 2833 17 | facsimileTelephoneNumber: +1 313 555 8688 18 | telephoneNumber: +1 313 555 7334 19 | 20 | -------------------------------------------------------------------------------- /tests/data/modrdn.out.master.3: -------------------------------------------------------------------------------- 1 | dn: cn=James A Jones 1,ou=Alumni Association,ou=People,dc=example,dc=com 2 | objectClass: OpenLDAPperson 3 | cn: James A Jones 1 4 | cn: James Jones 5 | cn: Jim Jones 6 | sn: Jones 7 | uid: jaj 8 | postalAddress: Alumni Association $ 111 Maple St $ Anytown, MI 48109 9 | seeAlso: cn=All Staff,ou=Groups,dc=example,dc=com 10 | userPassword:: amFq 11 | homePostalAddress: 3882 Beverly Rd. $ Anytown, MI 48105 12 | homePhone: +1 313 555 4772 13 | description: Outstanding 14 | title: Mad Cow Researcher, UM Alumni Association 15 | pager: +1 313 555 3923 16 | mail: jaj@mail.alumni.example.com 17 | facsimileTelephoneNumber: +1 313 555 4332 18 | telephoneNumber: +1 313 555 0895 19 | 20 | -------------------------------------------------------------------------------- /tests/data/monitor1.out: -------------------------------------------------------------------------------- 1 | dn: cn=Connection 1001,cn=Connections,cn=Monitor 2 | structuralObjectClass: monitorConnection 3 | monitorConnectionProtocol: 3 4 | monitorConnectionOpsReceived: 2 5 | monitorConnectionOpsExecuting: 1 6 | monitorConnectionOpsPending: 0 7 | monitorConnectionOpsCompleted: 1 8 | monitorConnectionGet: 2 9 | monitorConnectionRead: 2 10 | monitorConnectionWrite: 0 11 | monitorConnectionMask: rx 12 | monitorConnectionListener: ldap://localhost:@PORT1@/ 13 | monitorConnectionLocalAddress: IP=127.0.0.1:@PORT1@ 14 | entryDN: cn=Connection 1001,cn=Connections,cn=Monitor 15 | 16 | dn: cn=Connections,cn=Monitor 17 | structuralObjectClass: monitorContainer 18 | entryDN: cn=Connections,cn=Monitor 19 | 20 | dn: cn=Current,cn=Connections,cn=Monitor 21 | structuralObjectClass: monitorCounterObject 22 | entryDN: cn=Current,cn=Connections,cn=Monitor 23 | 24 | dn: cn=Max File Descriptors,cn=Connections,cn=Monitor 25 | structuralObjectClass: monitorCounterObject 26 | entryDN: cn=Max File Descriptors,cn=Connections,cn=Monitor 27 | 28 | dn: cn=Total,cn=Connections,cn=Monitor 29 | structuralObjectClass: monitorCounterObject 30 | entryDN: cn=Total,cn=Connections,cn=Monitor 31 | 32 | -------------------------------------------------------------------------------- /tests/data/monitor2.out: -------------------------------------------------------------------------------- 1 | dn: cn=Database 0,cn=Databases,cn=Monitor 2 | structuralObjectClass: monitoredObject 3 | monitorIsShadow: FALSE 4 | namingContexts: cn=config 5 | readOnly: FALSE 6 | entryDN: cn=Database 0,cn=Databases,cn=Monitor 7 | 8 | dn: cn=Database 1,cn=Databases,cn=Monitor 9 | structuralObjectClass: monitoredObject 10 | monitorIsShadow: FALSE 11 | namingContexts: o=OpenLDAP Project,l=Internet 12 | readOnly: FALSE 13 | olmBDBEntryCache: 0 14 | olmBDBDNCache: 0 15 | olmBDBIDLCache: 0 16 | entryDN: cn=Database 1,cn=Databases,cn=Monitor 17 | 18 | dn: cn=Database 2,cn=Databases,cn=Monitor 19 | structuralObjectClass: monitoredObject 20 | monitorIsShadow: FALSE 21 | monitorContext: cn=Monitor 22 | readOnly: FALSE 23 | entryDN: cn=Database 2,cn=Databases,cn=Monitor 24 | 25 | dn: cn=Databases,cn=Monitor 26 | structuralObjectClass: monitorContainer 27 | readOnly: FALSE 28 | namingContexts: 29 | namingContexts: cn=config 30 | namingContexts: o=OpenLDAP Project,l=Internet 31 | monitorContext: cn=Monitor 32 | entryDN: cn=Databases,cn=Monitor 33 | 34 | dn: cn=Frontend,cn=Databases,cn=Monitor 35 | structuralObjectClass: monitoredObject 36 | monitorIsShadow: FALSE 37 | namingContexts: 38 | readOnly: FALSE 39 | entryDN: cn=Frontend,cn=Databases,cn=Monitor 40 | 41 | -------------------------------------------------------------------------------- /tests/data/monitor3.out: -------------------------------------------------------------------------------- 1 | dn: cn=Entries,cn=Statistics,cn=Monitor 2 | structuralObjectClass: monitorCounterObject 3 | monitorCounter: 12 4 | entryDN: cn=Entries,cn=Statistics,cn=Monitor 5 | 6 | dn: cn=PDU,cn=Statistics,cn=Monitor 7 | structuralObjectClass: monitorCounterObject 8 | monitorCounter: 18 9 | entryDN: cn=PDU,cn=Statistics,cn=Monitor 10 | 11 | dn: cn=Referrals,cn=Statistics,cn=Monitor 12 | structuralObjectClass: monitorCounterObject 13 | monitorCounter: 0 14 | entryDN: cn=Referrals,cn=Statistics,cn=Monitor 15 | 16 | -------------------------------------------------------------------------------- /tests/data/ndb.conf: -------------------------------------------------------------------------------- 1 | # back-ndb boilerplate config -- for testing 2 | ## $ReOpenLDAP$ 3 | ## Copyright 1998-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 4 | ## All rights reserved. 5 | ## 6 | ## This file is part of ReOpenLDAP. 7 | ## 8 | ## Redistribution and use in source and binary forms, with or without 9 | ## modification, are permitted only as authorized by the OpenLDAP 10 | ## Public License. 11 | ## 12 | ## A copy of this license is available in the file LICENSE in the 13 | ## top-level directory of the distribution or, alternatively, at 14 | ## . 15 | 16 | dbuser root 17 | dbhost localhost 18 | dbconnect 127.0.0.1 19 | dbsocket /tmp/mysql.sock 20 | attrset extensibleObject uidNumber,gidNumber 21 | attrblob description 22 | index cn 23 | #index sn 24 | -------------------------------------------------------------------------------- /tests/data/passwd.ldif: -------------------------------------------------------------------------------- 1 | dn: dc=example,dc=com 2 | objectclass: dcobject 3 | dc: example 4 | objectclass: organization 5 | o: Example, Inc. 6 | 7 | dn: cn=md5,dc=example,dc=com 8 | objectclass: person 9 | cn: md5 10 | sn: md5 11 | userpassword:: e01ENX1YcjRpbE96UTRQQ09xM2FRMHFidWFRPT0= 12 | 13 | dn: cn=smd5,dc=example,dc=com 14 | objectclass: person 15 | cn: smd5 16 | sn: smd5 17 | userpassword: secret 18 | 19 | dn: cn=sha,dc=example,dc=com 20 | objectclass: person 21 | cn: sha 22 | sn: sha 23 | userpassword:: e1NIQX01ZW42RzZNZXpScm9UM1hLcWtkUE9tWS9CZlE9 24 | 25 | dn: cn=ssha,dc=example,dc=com 26 | objectclass: person 27 | cn: ssha 28 | sn: ssha 29 | userpassword: secret 30 | -------------------------------------------------------------------------------- /tests/data/referrals.ldif: -------------------------------------------------------------------------------- 1 | dn: c=US 2 | c: US 3 | objectclass: country 4 | 5 | dn: o=ABC,c=US 6 | o: ABC 7 | ref: ldap://hostA/o=abc,c=us HostA 8 | ref: ldap://hostB HostB 9 | objectclass: referral 10 | objectclass: extensibleObject 11 | 12 | dn: o=XYZ,c=US 13 | o: XYZ 14 | ref: ldap://hostC/o=xyz,c=us HostC 15 | objectclass: referral 16 | objectclass: extensibleObject 17 | 18 | dn: o=Example,c=US 19 | o: Example 20 | objectclass: organization 21 | 22 | dn: cn=Manager,o=Example,c=US 23 | cn: Manager 24 | cn: Directory Manager 25 | cn: Dir Man 26 | sn: Manager 27 | description: Manager of the directory 28 | userpassword:: c2VjcmV0 29 | objectclass: person 30 | -------------------------------------------------------------------------------- /tests/data/regressions/README: -------------------------------------------------------------------------------- 1 | This directory contains test related to regression tracking that require 2 | a specific setup and a complete test. Each regression test must be 3 | contained in a test directory whose name is "its", where 4 | is the ITS number, and it must be entirely executed by a script, contained 5 | in that directory and with the same name of the directory. It can exploit 6 | all the helpers provided for common tests (variables in scripts/defines.sh, 7 | data files in data/, ...), but it should simultaneously be as self contained 8 | and as general as possible. Warning: occasionally, data files and 9 | shell variables may change, so limit their use to real needs. 10 | 11 | For example, if an issue only appears with a certain database type, the 12 | test itself should only run when invoked for that database type; 13 | otherwise, if the issue appears whatever backend is used, the test should 14 | be parameteric, so that it is run with the backend selected at run-time 15 | via the "-b" switch of the "run" script. 16 | 17 | Regression tests are prepared on a voluntary basis, so don't expect all 18 | bugs to have a test any soon. When the issue reporter provides a simple, 19 | yet complete means to reproduce the bug she's reporting, this may speed up 20 | the process. In case, only put neutral data in bug exploitation reports. 21 | -------------------------------------------------------------------------------- /tests/data/regressions/its4184/README: -------------------------------------------------------------------------------- 1 | ITS#4184: fixed in 2.3.14 2 | -------------------------------------------------------------------------------- /tests/data/regressions/its4184/mods.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=Another Group,ou=Groups,dc=example,dc=com 2 | changetype: modify 3 | add: member 4 | member: uid=user3,ou=People,dc=example,dc=com 5 | 6 | dn: cn=Another Group,ou=Groups,dc=example,dc=com 7 | changetype: modify 8 | delete: member 9 | member: uid=user3,ou=people,dc=example,dc=com 10 | 11 | dn: uid=special1,ou=Special,dc=example,dc=com 12 | changetype: modify 13 | replace: sn 14 | sn: NewName 15 | 16 | -------------------------------------------------------------------------------- /tests/data/regressions/its4336/slapd.conf: -------------------------------------------------------------------------------- 1 | # stand-alone slapd config -- for testing (with indexing) 2 | ## $ReOpenLDAP$ 3 | ## Copyright 1998-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 4 | ## All rights reserved. 5 | ## 6 | ## This file is part of ReOpenLDAP. 7 | ## 8 | ## Redistribution and use in source and binary forms, with or without 9 | ## modification, are permitted only as authorized by the OpenLDAP 10 | ## Public License. 11 | ## 12 | ## A copy of this license is available in the file LICENSE in the 13 | ## top-level directory of the distribution or, alternatively, at 14 | ## . 15 | 16 | include @SCHEMADIR@/core.schema 17 | include @SCHEMADIR@/cosine.schema 18 | include @SCHEMADIR@/inetorgperson.schema 19 | include @SCHEMADIR@/openldap.schema 20 | include @SCHEMADIR@/nis.schema 21 | include @DATADIR@/test.schema 22 | 23 | # 24 | pidfile @TESTDIR@/slapd.2.pid 25 | argsfile @TESTDIR@/slapd.2.args 26 | 27 | #ldap=mod#modulepath ../servers/slapd/back-ldap/ 28 | #ldap=mod#moduleload back_ldap.la 29 | 30 | #monitor=mod#modulepath ../servers/slapd/back-monitor/ 31 | #monitor=mod#moduleload back_monitor.la 32 | 33 | # no database; only a referral to another DSA, with anonymous chaining 34 | referral "@URI1@" 35 | overlay chain 36 | 37 | #monitor=enabled#database monitor 38 | -------------------------------------------------------------------------------- /tests/data/regressions/its4337/slapd.conf: -------------------------------------------------------------------------------- 1 | # stand-alone slapd config -- for testing (with indexing) 2 | ## $ReOpenLDAP$ 3 | ## Copyright 1998-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 4 | ## All rights reserved. 5 | ## 6 | ## This file is part of ReOpenLDAP. 7 | ## 8 | ## Redistribution and use in source and binary forms, with or without 9 | ## modification, are permitted only as authorized by the OpenLDAP 10 | ## Public License. 11 | ## 12 | ## A copy of this license is available in the file LICENSE in the 13 | ## top-level directory of the distribution or, alternatively, at 14 | ## . 15 | 16 | include @SCHEMADIR@/core.schema 17 | include @SCHEMADIR@/cosine.schema 18 | include @SCHEMADIR@/inetorgperson.schema 19 | include @SCHEMADIR@/openldap.schema 20 | include @SCHEMADIR@/nis.schema 21 | include @DATADIR@/test.schema 22 | 23 | # 24 | pidfile @TESTDIR@/slapd.2.pid 25 | argsfile @TESTDIR@/slapd.2.args 26 | 27 | #be-type=mod#modulepath ../servers/slapd/back-@BACKEND@/:../servers/slapd/overlays 28 | #be-type=mod#moduleload back_@BACKEND@.la 29 | 30 | #monitor=mod#modulepath ../servers/slapd/back-monitor/ 31 | #monitor=mod#moduleload back_monitor.la 32 | 33 | database config 34 | rootpw config 35 | 36 | #monitor=enabled#database monitor 37 | -------------------------------------------------------------------------------- /tests/data/regressions/its8667/root.ldif: -------------------------------------------------------------------------------- 1 | dn: dc=example,dc=com 2 | objectClass: dcObject 3 | objectClass: organization 4 | objectClass: top 5 | dc: example 6 | o: example 7 | 8 | dn: ou=NonSub00,dc=example,dc=com 9 | objectClass: top 10 | objectClass: organizationalUnit 11 | ou: NonSub00 12 | 13 | dn: ou=NonSub01,dc=example,dc=com 14 | objectClass: top 15 | objectClass: organizationalUnit 16 | ou: NonSub01 17 | 18 | dn: ou=NonSub02,dc=example,dc=com 19 | objectClass: top 20 | objectClass: organizationalUnit 21 | ou: NonSub02 22 | 23 | dn: cn=NonSubTestPerson00,ou=NonSub00,dc=example,dc=com 24 | objectClass: top 25 | objectClass: person 26 | objectClass: organizationalPerson 27 | objectClass: inetOrgPerson 28 | cn: NonSubTestPerson00 29 | sn: TP00 30 | 31 | dn: cn=NonSubTestPerson01,ou=NonSub01,dc=example,dc=com 32 | objectClass: top 33 | objectClass: person 34 | objectClass: organizationalPerson 35 | objectClass: inetOrgPerson 36 | cn: NonSubTestPerson01 37 | sn: TP01 38 | 39 | dn: cn=NonSubTestPerson02,ou=NonSub02,dc=example,dc=com 40 | objectClass: top 41 | objectClass: person 42 | objectClass: organizationalPerson 43 | objectClass: inetOrgPerson 44 | cn: NonSubTestPerson02 45 | sn: TP02 46 | 47 | -------------------------------------------------------------------------------- /tests/data/rootdse.ldif: -------------------------------------------------------------------------------- 1 | dn: 2 | vendorName: The OpenLDAP Project 3 | -------------------------------------------------------------------------------- /tests/data/slapd-config-naked.conf: -------------------------------------------------------------------------------- 1 | include @SCHEMADIR@/core.schema 2 | include @SCHEMADIR@/cosine.schema 3 | include @SCHEMADIR@/inetorgperson.schema 4 | include @SCHEMADIR@/openldap.schema 5 | 6 | #be-type=mod#modulepath ../servers/slapd/back-@BACKEND@/ 7 | #be-type=mod#moduleload back_@BACKEND@.la 8 | #monitor=mod#modulepath ../servers/slapd/back-monitor/ 9 | #monitor=mod#moduleload back_monitor.la 10 | 11 | #monitor=enabled#database monitor 12 | 13 | database config 14 | include @TESTDIR@/configpw.conf 15 | -------------------------------------------------------------------------------- /tests/data/slapd-config-undo.conf: -------------------------------------------------------------------------------- 1 | include @SCHEMADIR@/core.schema 2 | 3 | #be-type=mod#modulepath ../servers/slapd/back-@BACKEND@/ 4 | #be-type=mod#moduleload back_@BACKEND@.la 5 | #monitor=mod#modulepath ../servers/slapd/back-monitor/ 6 | #monitor=mod#moduleload back_monitor.la 7 | 8 | database @BACKEND@ 9 | suffix "o=undo" 10 | rootdn "cn=Manager,o=undo" 11 | rootpw secret 12 | #~null~#directory @TESTDIR@/db.1.a 13 | #indexdb#index objectClass eq 14 | #indexdb#index cn,sn,uid pres,eq,sub 15 | #be=ndb#dbname db_1 16 | #be=ndb#include @DATADIR@/ndb.conf 17 | 18 | #monitor=enabled#database monitor 19 | 20 | database config 21 | include @TESTDIR@/configpw.conf 22 | -------------------------------------------------------------------------------- /tests/data/slapd-dnssrv.conf: -------------------------------------------------------------------------------- 1 | # DNS SRV slapd config -- for testing 2 | ## $ReOpenLDAP$ 3 | ## Copyright 1998-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 4 | ## All rights reserved. 5 | ## 6 | ## This file is part of ReOpenLDAP. 7 | ## 8 | ## Redistribution and use in source and binary forms, with or without 9 | ## modification, are permitted only as authorized by the OpenLDAP 10 | ## Public License. 11 | ## 12 | ## A copy of this license is available in the file LICENSE in the 13 | ## top-level directory of the distribution or, alternatively, at 14 | ## . 15 | 16 | include @SCHEMADIR@/core.schema 17 | pidfile @TESTDIR@/slapd.pid 18 | argsfile @TESTDIR@/slapd.args 19 | 20 | sasl-secprops noanonymous 21 | #sasl-secprops none 22 | 23 | #be-type=mod#modulepath ../servers/slapd/back-@BACKEND@/ 24 | #be-type=mod#moduleload back_@BACKEND@.la 25 | #monitor=mod#modulepath ../servers/slapd/back-monitor/ 26 | #monitor=mod#moduleload back_monitor.la 27 | 28 | ####################################################################### 29 | # database definitions 30 | ####################################################################### 31 | 32 | #monitor=enabled#database monitor 33 | 34 | database dnssrv 35 | suffix "" 36 | -------------------------------------------------------------------------------- /tests/data/slapd-dynamic.ldif: -------------------------------------------------------------------------------- 1 | dn: cn=config 2 | objectClass: olcGlobal 3 | cn: config 4 | 5 | dn: olcDatabase={0}config,cn=config 6 | objectClass: olcDatabaseConfig 7 | olcDatabase: {0}config 8 | olcRootPW:< file://@TESTDIR@/configpw 9 | -------------------------------------------------------------------------------- /tests/data/slapd-passwd.conf: -------------------------------------------------------------------------------- 1 | # master slapd config -- for testing 2 | ## $ReOpenLDAP$ 3 | ## Copyright 1998-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 4 | ## All rights reserved. 5 | ## 6 | ## This file is part of ReOpenLDAP. 7 | ## 8 | ## Redistribution and use in source and binary forms, with or without 9 | ## modification, are permitted only as authorized by the OpenLDAP 10 | ## Public License. 11 | ## 12 | ## A copy of this license is available in the file LICENSE in the 13 | ## top-level directory of the distribution or, alternatively, at 14 | ## . 15 | 16 | include @SCHEMADIR@/core.schema 17 | include @SCHEMADIR@/cosine.schema 18 | include @SCHEMADIR@/inetorgperson.schema 19 | include @SCHEMADIR@/openldap.schema 20 | include @SCHEMADIR@/nis.schema 21 | pidfile @TESTDIR@/slapd.pid 22 | argsfile @TESTDIR@/slapd.args 23 | 24 | #be-type=mod#modulepath ../servers/slapd/back-@BACKEND@/ 25 | #be-type=mod#moduleload back_@BACKEND@.la 26 | #monitor=mod#modulepath ../servers/slapd/back-monitor/ 27 | #monitor=mod#moduleload back_monitor.la 28 | 29 | ####################################################################### 30 | # database definitions 31 | ####################################################################### 32 | 33 | database passwd 34 | suffix "dc=example,dc=com" 35 | rootdn "cn=Manager,dc=example,dc=com" 36 | rootpw secret 37 | #file ./data/passwd 38 | 39 | #monitor=enabled#database monitor 40 | -------------------------------------------------------------------------------- /tests/data/sql-concurrency/do_add.1: -------------------------------------------------------------------------------- 1 | cn=James Jones 1,dc=example,dc=com 2 | objectClass: inetOrgPerson 3 | cn: James Jones 1 4 | givenName: James 5 | sn: Jones 1 6 | userpassword:: amFq 7 | telephoneNumber: +1 313 555 4772 8 | telephoneNumber: +1 313 555 4332 9 | telephoneNumber: +1 313 555 0895 10 | -------------------------------------------------------------------------------- /tests/data/sql-concurrency/do_add.2: -------------------------------------------------------------------------------- 1 | cn=James Jones 2,dc=example,dc=com 2 | objectClass: inetOrgPerson 3 | cn: James Jones 2 4 | givenName: James 5 | sn: Jones 2 6 | userpassword:: amFq 7 | telephoneNumber: +1 313 555 4772 8 | telephoneNumber: +1 313 555 3923 9 | telephoneNumber: +1 313 555 4332 10 | telephoneNumber: +1 313 555 0895 11 | -------------------------------------------------------------------------------- /tests/data/sql-concurrency/do_add.3: -------------------------------------------------------------------------------- 1 | cn=James Jones 3,dc=example,dc=com 2 | objectClass: inetOrgPerson 3 | cn: James Jones 3 4 | givenName: James 5 | sn: Jones 3 6 | userpassword:: amFq 7 | telephoneNumber: +1 313 555 4772 8 | telephoneNumber: +1 313 555 3923 9 | telephoneNumber: +1 313 555 4332 10 | telephoneNumber: +1 313 555 0895 11 | -------------------------------------------------------------------------------- /tests/data/sql-concurrency/do_add.4: -------------------------------------------------------------------------------- 1 | cn=James Jones 4,dc=example,dc=com 2 | objectClass: inetOrgPerson 3 | cn: James Jones 4 4 | givenName: James 5 | sn: Jones 4 6 | userpassword:: amFq 7 | telephoneNumber: +1 313 555 4772 8 | telephoneNumber: +1 313 555 3923 9 | telephoneNumber: +1 313 555 4332 10 | telephoneNumber: +1 313 555 0895 11 | -------------------------------------------------------------------------------- /tests/data/sql-concurrency/do_bind.0: -------------------------------------------------------------------------------- 1 | cn=Mitya Kovalev,dc=example,dc=com 2 | mit 3 | -------------------------------------------------------------------------------- /tests/data/sql-concurrency/do_modrdn.0: -------------------------------------------------------------------------------- 1 | cn=Mitya Kovalev,dc=example,dc=com 2 | cn=Torvlobnor Puzdoy,dc=example,dc=com 3 | -------------------------------------------------------------------------------- /tests/data/sql-concurrency/do_read.0: -------------------------------------------------------------------------------- 1 | documentTitle=book1,dc=example,dc=com 2 | dc=example,dc=com 3 | cn=Akakiy Zinberstein,dc=example,dc=com 4 | ou=Referral,dc=example,dc=com 5 | -------------------------------------------------------------------------------- /tests/data/sql-concurrency/do_search.0: -------------------------------------------------------------------------------- 1 | dc=example,dc=com 2 | cn=Mitya Kovalev 3 | cn=Akakiy Zinberstein,dc=example,dc=com 4 | sn=Zinberstein 5 | dc=example,dc=com 6 | cn=James* 7 | dc=example,dc=com 8 | sn=* 9 | dc=example,dc=com 10 | cn=* 11 | dc=example,dc=com 12 | cn=James* 13 | -------------------------------------------------------------------------------- /tests/data/test-emptydn1.ldif: -------------------------------------------------------------------------------- 1 | # dc=example,dc=com naming context 2 | dn: dc=example,dc=com 3 | objectClass: domain 4 | objectClass: domainRelatedObject 5 | dc: example 6 | associatedDomain: example.com 7 | 8 | dn: cn=Geographical Naming Contexts,dc=example,dc=com 9 | objectClass: groupOfNames 10 | cn: Geographical Naming Contexts 11 | member: o=Example,c=US 12 | member: o=Example,c=UK 13 | member: o=Esempio,c=IT 14 | 15 | -------------------------------------------------------------------------------- /tests/data/test-emptydn2.ldif: -------------------------------------------------------------------------------- 1 | # geographical naming contexts 2 | dn: c=US 3 | objectClass: country 4 | c: US 5 | 6 | dn: o=Example,c=US 7 | objectClass: organization 8 | o: Example 9 | o: Example, Inc. 10 | 11 | dn: c=UK 12 | objectClass: country 13 | c: UK 14 | 15 | dn: o=Example,c=UK 16 | objectClass: organization 17 | o: Example 18 | o: Example, Ltd. 19 | 20 | dn: c=IT 21 | objectClass: country 22 | c: IT 23 | 24 | dn: o=Esempio,c=IT 25 | objectClass: organization 26 | o: Esempio 27 | o: Esempio S.p.A. 28 | o: Example 29 | 30 | dn: c=DE 31 | objectClass: country 32 | c: DE 33 | 34 | dn: o=Beispiel,c=DE 35 | objectClass: organization 36 | o: Beispiel 37 | o: Beispiel GmbH 38 | o: Example 39 | 40 | -------------------------------------------------------------------------------- /tests/data/test-idassert2.ldif: -------------------------------------------------------------------------------- 1 | dn: dc=example,dc=it 2 | objectClass: organization 3 | objectClass: dcObject 4 | o: Example 5 | o: Esempio S.p.A. 6 | dc: example 7 | 8 | dn: ou=People,dc=example,dc=it 9 | objectClass: organizationalUnit 10 | ou: People 11 | 12 | dn: uid=dots,ou=People,dc=example,dc=it 13 | objectClass: inetOrgPerson 14 | cn: Dorothy Stevens 15 | sn: Stevens 16 | uid: dots 17 | userPassword:: ZG90cw== 18 | mail: dots@example.it 19 | 20 | dn: uid=jaj,ou=People,dc=example,dc=it 21 | objectClass: inetOrgPerson 22 | cn: James A Jones 1 23 | sn: Jones 24 | uid: jaj 25 | userPassword:: amFq 26 | mail: jaj@example.it 27 | 28 | -------------------------------------------------------------------------------- /tests/data/test-lang.ldif: -------------------------------------------------------------------------------- 1 | dn: dc=example,dc=com 2 | dc: example 3 | objectClass: organization 4 | objectClass: extensibleObject 5 | o: Example, Inc. 6 | o;lang-zz;lang-y;lang-yy;lang-xx;lang-x;lang-z: Example, Inc. 7 | name;lang-en-US: Billy Ray 8 | name;lang-en-US: Billy Bob 9 | CN;lang-en-US: Billy Ray 10 | name: Billy Ray 11 | SN;lang-en-US;lang-en-GB: Billy Ray 12 | SN: Ray 13 | -------------------------------------------------------------------------------- /tests/data/test-ldapglue.ldif: -------------------------------------------------------------------------------- 1 | dn: dc=example,dc=com 2 | objectClass: organization 3 | objectClass: dcObject 4 | o: Example, Inc. 5 | dc: example 6 | -------------------------------------------------------------------------------- /tests/data/test-ldapgluegroups.ldif: -------------------------------------------------------------------------------- 1 | dn: ou=Groups,dc=example,dc=com 2 | objectClass: organizationalUnit 3 | ou: Groups 4 | 5 | dn: cn=All,ou=Groups,dc=example,dc=com 6 | objectClass: groupOfNames 7 | cn: All 8 | member: uid=bjorn,ou=People,dc=example,dc=com 9 | member: uid=bjensen,ou=People,dc=example,dc=com 10 | 11 | dn: cn=ITD,ou=Groups,dc=example,dc=com 12 | objectClass: groupOfNames 13 | cn: ITD 14 | member: uid=bjorn,ou=People,dc=example,dc=com 15 | 16 | dn: uid=proxy,ou=Groups,dc=example,dc=com 17 | objectClass: inetOrgPerson 18 | cn: Proxy 19 | sn: Proxy 20 | uid: proxy 21 | userPassword:: cHJveHk= 22 | authzTo: dn:* 23 | 24 | -------------------------------------------------------------------------------- /tests/data/test-ldapgluepeople.ldif: -------------------------------------------------------------------------------- 1 | dn: ou=People,dc=example,dc=com 2 | objectClass: organizationalUnit 3 | ou: People 4 | 5 | dn: uid=bjorn,ou=People,dc=example,dc=com 6 | objectClass: inetOrgPerson 7 | cn: Bjorn Jensen 8 | sn: Jensen 9 | uid: bjorn 10 | userPassword:: Ympvcm4= 11 | mail: bjorn@example.com 12 | 13 | dn: uid=bjensen,ou=People,dc=example,dc=com 14 | objectClass: inetOrgPerson 15 | cn: Barbara Jensen 16 | sn: Jensen 17 | uid: bjensen 18 | userPassword:: YmplbnNlbg== 19 | mail: bjensen@example.com 20 | 21 | dn: uid=proxy,ou=People,dc=example,dc=com 22 | objectClass: inetOrgPerson 23 | cn: Proxy 24 | sn: Proxy 25 | uid: proxy 26 | userPassword:: cHJveHk= 27 | authzTo: dn:* 28 | 29 | -------------------------------------------------------------------------------- /tests/data/test-meta.ldif: -------------------------------------------------------------------------------- 1 | dn: ou=Meta,dc=example,dc=com 2 | objectClass: organizationalUnit 3 | ou: Meta 4 | seeAlso: dc=OpenLDAP,dc=org 5 | 6 | dn: cn=John Belushi,ou=Meta,dc=example,dc=com 7 | objectClass: inetOrgPerson 8 | cn: John Belushi 9 | sn: Belushi 10 | userPassword: jack 11 | description: Joliet Jack Blues 12 | 13 | dn: cn=Dan Aykroyd,ou=Meta,dc=example,dc=com 14 | objectClass: inetOrgPerson 15 | cn: Dan Aykroyd 16 | sn: Aykroyd 17 | userPassword: elwood 18 | description: Elwood Blues 19 | 20 | dn: cn=Somewhere,ou=Meta,dc=example,dc=com 21 | objectClass: referral 22 | objectClass: extensibleObject 23 | cn: Somewhere 24 | ref: ldap://localhost:9016 25 | 26 | -------------------------------------------------------------------------------- /tests/data/test-ordered-cp.ldif: -------------------------------------------------------------------------------- 1 | #LEAD COMMENT 2 | dn: dc=example,dc=com 3 | dc: example 4 | #EMBEDDED COMMENT 5 | objectclass: organization 6 | objectclass: domainRelatedObject 7 | objectclass: dcobject 8 | l: Anytown, Michigan 9 | st: Michigan 10 | o: Example, Inc. 11 | o: EX 12 | o: Ex. 13 | description: The Example, Inc. at Anytown 14 | postaladdress: Example, Inc. $ 535 W. William St. $ Anytown, MI 48109 $ US 15 | telephonenumber: +1 313 555 1817 16 | associateddomain: example.com 17 | -------------------------------------------------------------------------------- /tests/data/test-translucent-add.ldif: -------------------------------------------------------------------------------- 1 | dn: uid=danger,ou=users,o=translucent 2 | objectClass: inetOrgPerson 3 | uid: danger 4 | sn: danger 5 | cn: henry 6 | businessCategory: frontend-override 7 | carLicense: LIVID 8 | employeeType: special 9 | departmentNumber: 9999999 10 | roomNumber: 41L-535 11 | -------------------------------------------------------------------------------- /tests/data/test-translucent-config.ldif: -------------------------------------------------------------------------------- 1 | # toplevel 2 | 3 | dn: o=translucent 4 | objectClass: top 5 | objectClass: organization 6 | o: translucent 7 | description: backend database root 8 | 9 | # backend OU 10 | 11 | dn: ou=users,o=translucent 12 | objectClass: top 13 | objectClass: organizationalUnit 14 | ou: users 15 | description: backend user container root 16 | 17 | # bind user for frontend connection 18 | 19 | dn: uid=binder,o=translucent 20 | objectClass: inetOrgPerson 21 | uid: binder 22 | sn: test 23 | cn: binder 24 | businessCategory: binder-test-user 25 | displayName: Binder Test User 26 | userPassword: bindtest 27 | -------------------------------------------------------------------------------- /tests/data/test-translucent-data.ldif: -------------------------------------------------------------------------------- 1 | # typical user 2 | dn: uid=danger,ou=users,o=translucent 3 | objectClass: inetOrgPerson 4 | uid: danger 5 | sn: warning 6 | cn: danger 7 | businessCategory: backend-opaque 8 | initials: dw 9 | carLicense: BACK 10 | departmentNumber: 7341 11 | displayName: Warning 12 | employeeNumber: 5150 13 | employeeType: contractor 14 | givenName: Danger Warning 15 | 16 | # another example 17 | dn: uid=example,ou=users,o=translucent 18 | objectClass: inetOrgPerson 19 | uid: example 20 | sn: user 21 | cn: example 22 | businessCategory: backend-opaque 23 | carLicense: SAMPLE 24 | departmentNumber: 7341 25 | displayName: Example 26 | employeeNumber: 5150 27 | employeeType: fulltime 28 | givenName: Example User 29 | 30 | # 31 | dn: uid=fred,ou=users,o=translucent 32 | objectClass: inetOrgPerson 33 | uid: fred 34 | sn: said 35 | cn: said 36 | businessCategory: backend-opaque 37 | carLicense: RIGHT 38 | departmentNumber: 9919 39 | displayName: Right Said Fred 40 | employeeNumber: 44199 41 | employeeType: fulltime 42 | givenName: Right Said 43 | 44 | -------------------------------------------------------------------------------- /tests/data/test-translucent-merged.ldif: -------------------------------------------------------------------------------- 1 | dn: uid=danger,ou=users,o=translucent 2 | objectClass: inetOrgPerson 3 | uid: danger 4 | sn: danger 5 | cn: henry 6 | businessCategory: frontend-override 7 | initials: dw 8 | carLicense: LIVID 9 | departmentNumber: 9999999 10 | displayName: Warning 11 | employeeNumber: 5150 12 | employeeType: special 13 | givenName: Danger Warning 14 | roomNumber: 41L-535 15 | 16 | dn: uid=example,ou=users,o=translucent 17 | objectClass: inetOrgPerson 18 | uid: example 19 | sn: user 20 | cn: example 21 | businessCategory: backend-opaque 22 | carLicense: SAMPLE 23 | departmentNumber: 7341 24 | displayName: Example 25 | employeeNumber: 5150 26 | employeeType: fulltime 27 | givenName: Example User 28 | 29 | dn: uid=fred,ou=users,o=translucent 30 | objectClass: inetOrgPerson 31 | uid: fred 32 | sn: said 33 | cn: said 34 | businessCategory: backend-opaque 35 | carLicense: RIGHT 36 | departmentNumber: 9919 37 | displayName: Right Said Fred 38 | employeeNumber: 44199 39 | employeeType: fulltime 40 | givenName: Right Said 41 | 42 | -------------------------------------------------------------------------------- /tests/data/test-unique.ldif: -------------------------------------------------------------------------------- 1 | # base 2 | 3 | dn: o=unique 4 | objectClass: top 5 | objectClass: organization 6 | o: unique 7 | description: unique test database 8 | 9 | # container 10 | 11 | dn: ou=users,o=unique 12 | objectClass: top 13 | objectClass: organizationalUnit 14 | ou: users 15 | description: container for test users 16 | 17 | # manager 18 | dn: uid=george,ou=users,o=unique 19 | objectClass: inetOrgPerson 20 | uid: george 21 | sn: jungle 22 | cn: george 23 | businessCategory: test 24 | carLicense: SAMPLE 25 | departmentNumber: 6969 26 | displayName: George 27 | employeeNumber: 5150 28 | employeeType: contractor 29 | givenName: Big G 30 | -------------------------------------------------------------------------------- /tests/data/test-valsort.ldif: -------------------------------------------------------------------------------- 1 | # base 2 | 3 | dn: o=valsort 4 | objectClass: top 5 | objectClass: organization 6 | o: valsort 7 | description: valsort test database 8 | 9 | # container 10 | 11 | dn: ou=users,o=valsort 12 | objectClass: top 13 | objectClass: organizationalUnit 14 | ou: users 15 | description: container for test valsort users 16 | 17 | # manager 18 | dn: uid=george,ou=users,o=valsort 19 | objectClass: OpenLDAPperson 20 | uid: george 21 | sn: jungle 22 | sn: alpha 23 | sn: zib 24 | sn: tree 25 | cn: george 26 | businessCategory: test 27 | carLicense: SAMPLE 28 | departmentNumber: 1 29 | departmentNumber: 5 30 | departmentNumber: 3 31 | departmentNumber: 10 32 | departmentNumber: 72 33 | departmentNumber: 37 34 | departmentNumber: 46 35 | displayName: George 36 | employeeNumber: 5150 37 | employeeType: {1}contractor 38 | employeeType: {1}staff 39 | employeeType: {1}anarchist 40 | givenName: Big G 41 | ou: {1}Chemistry 42 | ou: {8}Academia 43 | ou: {3}Hum Bio 44 | ou: {2}Computer Science 45 | mailPreferenceOption: 3 46 | mailPreferenceOption: 87 47 | mailPreferenceOption: 22 48 | mailPreferenceOption: 1 49 | mailPreferenceOption: 66 50 | -------------------------------------------------------------------------------- /tests/data/valsort1.out: -------------------------------------------------------------------------------- 1 | dn: o=valsort 2 | objectClass: top 3 | objectClass: organization 4 | o: valsort 5 | description: valsort test database 6 | 7 | dn: ou=users,o=valsort 8 | objectClass: top 9 | objectClass: organizationalUnit 10 | ou: users 11 | description: container for test valsort users 12 | 13 | dn: uid=george,ou=users,o=valsort 14 | objectClass: OpenLDAPperson 15 | uid: george 16 | sn: alpha 17 | sn: jungle 18 | sn: tree 19 | sn: zib 20 | cn: george 21 | businessCategory: test 22 | carLicense: SAMPLE 23 | departmentNumber: 1 24 | departmentNumber: 10 25 | departmentNumber: 3 26 | departmentNumber: 37 27 | departmentNumber: 46 28 | departmentNumber: 5 29 | departmentNumber: 72 30 | displayName: George 31 | employeeNumber: 5150 32 | employeeType: anarchist 33 | employeeType: contractor 34 | employeeType: staff 35 | givenName: Big G 36 | ou: Chemistry 37 | ou: Computer Science 38 | ou: Hum Bio 39 | ou: Academia 40 | mailPreferenceOption: 1 41 | mailPreferenceOption: 3 42 | mailPreferenceOption: 22 43 | mailPreferenceOption: 66 44 | mailPreferenceOption: 87 45 | 46 | -------------------------------------------------------------------------------- /tests/data/valsort2.out: -------------------------------------------------------------------------------- 1 | dn: o=valsort 2 | objectClass: top 3 | objectClass: organization 4 | o: valsort 5 | description: valsort test database 6 | 7 | dn: ou=users,o=valsort 8 | objectClass: top 9 | objectClass: organizationalUnit 10 | ou: users 11 | description: container for test valsort users 12 | 13 | dn: uid=george,ou=users,o=valsort 14 | objectClass: OpenLDAPperson 15 | uid: george 16 | sn: zib 17 | sn: tree 18 | sn: jungle 19 | sn: alpha 20 | cn: george 21 | businessCategory: test 22 | carLicense: SAMPLE 23 | departmentNumber: 72 24 | departmentNumber: 5 25 | departmentNumber: 46 26 | departmentNumber: 37 27 | departmentNumber: 3 28 | departmentNumber: 10 29 | departmentNumber: 1 30 | displayName: George 31 | employeeNumber: 5150 32 | employeeType: staff 33 | employeeType: contractor 34 | employeeType: anarchist 35 | givenName: Big G 36 | ou: Chemistry 37 | ou: Computer Science 38 | ou: Hum Bio 39 | ou: Academia 40 | mailPreferenceOption: 87 41 | mailPreferenceOption: 66 42 | mailPreferenceOption: 22 43 | mailPreferenceOption: 3 44 | mailPreferenceOption: 1 45 | 46 | -------------------------------------------------------------------------------- /tests/data/valsort3.out: -------------------------------------------------------------------------------- 1 | dn: o=valsort 2 | objectClass: top 3 | objectClass: organization 4 | o: valsort 5 | description: valsort test database 6 | 7 | dn: ou=users,o=valsort 8 | objectClass: top 9 | objectClass: organizationalUnit 10 | ou: users 11 | description: container for test valsort users 12 | 13 | dn: uid=george,ou=users,o=valsort 14 | objectClass: OpenLDAPperson 15 | uid: george 16 | sn: zib 17 | sn: tree 18 | sn: jungle 19 | sn: alpha 20 | cn: george 21 | businessCategory: test 22 | carLicense: SAMPLE 23 | departmentNumber: 72 24 | departmentNumber: 5 25 | departmentNumber: 46 26 | departmentNumber: 37 27 | departmentNumber: 3 28 | departmentNumber: 10 29 | departmentNumber: 1 30 | displayName: George 31 | employeeNumber: 5150 32 | employeeType: staff 33 | employeeType: contractor 34 | employeeType: anarchist 35 | givenName: Big G 36 | ou: Chemistry 37 | ou: Computer Science 38 | ou: Hum Bio 39 | ou: Academia 40 | mailPreferenceOption: 87 41 | mailPreferenceOption: 66 42 | mailPreferenceOption: 22 43 | mailPreferenceOption: 3 44 | mailPreferenceOption: 1 45 | 46 | dn: uid=dave,ou=users,o=valsort 47 | objectClass: OpenLDAPperson 48 | uid: dave 49 | sn: nothere 50 | cn: dave 51 | businessCategory: otest 52 | carLicense: TEST 53 | departmentNumber: 42 54 | displayName: Dave 55 | employeeNumber: 69 56 | employeeType: contractor 57 | givenName: Dave 58 | ou: Test 59 | ou: Is 60 | ou: Okay 61 | 62 | -------------------------------------------------------------------------------- /tests/scripts/all: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## $ReOpenLDAP$ 3 | ## Copyright 1998-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 4 | ## All rights reserved. 5 | ## 6 | ## This file is part of ReOpenLDAP. 7 | ## 8 | ## Redistribution and use in source and binary forms, with or without 9 | ## modification, are permitted only as authorized by the OpenLDAP 10 | ## Public License. 11 | ## 12 | ## A copy of this license is available in the file LICENSE in the 13 | ## top-level directory of the distribution or, alternatively, at 14 | ## . 15 | 16 | . ${TOP_SRCDIR}/tests/scripts/defines.sh 17 | 18 | if [ -n "$CIBUZZ_PID4" -o -n "$RANDOM_ORDER" ]; then 19 | TEST_LIST_CMD=$(ls ${TOP_SRCDIR}/tests/scripts/test* | sort --random-sort) 20 | else 21 | TEST_LIST_CMD=${TOP_SRCDIR}/tests/scripts/test* 22 | fi 23 | 24 | TESTSET='all LDAP tests' 25 | 26 | run_testset 27 | -------------------------------------------------------------------------------- /tests/scripts/its-all: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## $ReOpenLDAP$ 3 | ## Copyright 1998-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 4 | ## All rights reserved. 5 | ## 6 | ## This file is part of ReOpenLDAP. 7 | ## 8 | ## Redistribution and use in source and binary forms, with or without 9 | ## modification, are permitted only as authorized by the OpenLDAP 10 | ## Public License. 11 | ## 12 | ## A copy of this license is available in the file LICENSE in the 13 | ## top-level directory of the distribution or, alternatively, at 14 | ## . 15 | 16 | echo "#######################################################################" 17 | echo "### ###" 18 | echo "### regression tests ###" 19 | echo "### ###" 20 | echo "#######################################################################" 21 | echo "###" 22 | 23 | . ${TOP_SRCDIR}/tests/scripts/defines.sh 24 | 25 | if [ -n "$CIBUZZ_PID4" -o -n "$RANDOM_ORDER" ]; then 26 | TEST_LIST_CMD=$(ls ${TOP_SRCDIR}/tests/data/regressions/its*/its* | sort --random-sort) 27 | else 28 | TEST_LIST_CMD=${TOP_SRCDIR}/tests/data/regressions/its*/its* 29 | fi 30 | 31 | TESTSET='all LDAP ITS regression tests' 32 | 33 | run_testset 34 | -------------------------------------------------------------------------------- /tests/scripts/start-server2: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## $ReOpenLDAP$ 3 | ## Copyright 1998-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 4 | ## All rights reserved. 5 | ## 6 | ## This file is part of ReOpenLDAP. 7 | ## 8 | ## Redistribution and use in source and binary forms, with or without 9 | ## modification, are permitted only as authorized by the OpenLDAP 10 | ## Public License. 11 | ## 12 | ## A copy of this license is available in the file LICENSE in the 13 | ## top-level directory of the distribution or, alternatively, at 14 | ## . 15 | 16 | echo "running defines.sh" 17 | . ${TOP_SRCDIR}/tests/scripts/defines.sh 18 | 19 | mkdir -p $TESTDIR $DBDIR2 20 | 21 | echo "Starting slapd on TCP/IP port $PORT2..." 22 | config_filter $BACKEND < $CONFTWO > $CONF2 23 | $SLAPD -f $CONF2 -h $URI2 $TIMING > $LOG2 2>&1 & 24 | PID=$! 25 | sleep 0.1 26 | 27 | echo "Using ldapsearch to retrieve all the entries..." 28 | for i in 1 2 3 4 5; do 29 | $LDAPSEARCH -S "" -b "" -s base -h $LOCALHOST -p $PORT2 > $SERVER2OUT 2>&1 30 | RC=$? 31 | if test $RC = 1 ; then 32 | echo "Waiting $i seconds for slapd to start..." 33 | sleep $i 34 | fi 35 | done 36 | 37 | if test $RC != 0 ; then 38 | echo "ldapsearch failed ($RC)!" 39 | exit $RC 40 | fi 41 | 42 | echo ">>>>> Server2 (pid=$PID) started" 43 | exit 0 44 | -------------------------------------------------------------------------------- /tests/scripts/start-server2-nolog: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## $ReOpenLDAP$ 3 | ## Copyright 1998-2018 ReOpenLDAP AUTHORS: please see AUTHORS file. 4 | ## All rights reserved. 5 | ## 6 | ## This file is part of ReOpenLDAP. 7 | ## 8 | ## Redistribution and use in source and binary forms, with or without 9 | ## modification, are permitted only as authorized by the OpenLDAP 10 | ## Public License. 11 | ## 12 | ## A copy of this license is available in the file LICENSE in the 13 | ## top-level directory of the distribution or, alternatively, at 14 | ## . 15 | 16 | echo "running defines.sh" 17 | . ${TOP_SRCDIR}/tests/scripts/defines.sh 18 | 19 | mkdir -p $TESTDIR $DBDIR2 20 | 21 | echo "Starting slapd on TCP/IP port $PORT2..." 22 | config_filter $BACKEND < $CONFTWO > $CONF2 23 | $SLAPD -f $CONF2 -h $URI2 $TIMING > /dev/null 2>&1 & 24 | PID=$! 25 | sleep 0.1 26 | 27 | echo "Using ldapsearch to retrieve all the entries..." 28 | for i in 1 2 3 4 5; do 29 | $LDAPSEARCH -S "" -b "" -s base -h $LOCALHOST -p $PORT2 > $SERVER2OUT 2>&1 30 | RC=$? 31 | if test $RC = 1 ; then 32 | echo "Waiting $i seconds for slapd to start..." 33 | sleep $i 34 | fi 35 | done 36 | 37 | if test $RC != 0 ; then 38 | echo "ldapsearch failed ($RC)!" 39 | exit $RC 40 | fi 41 | 42 | echo ">>>>> Server2 (pid=$PID) started" 43 | exit 0 44 | --------------------------------------------------------------------------------