net-ldap 0.16.3 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/History.rdoc +59 -0
 - data/README.rdoc +10 -3
 - data/lib/net/ldap/connection.rb +18 -10
 - data/lib/net/ldap/dataset.rb +0 -2
 - data/lib/net/ldap/dn.rb +9 -17
 - data/lib/net/ldap/entry.rb +11 -2
 - data/lib/net/ldap/error.rb +1 -26
 - data/lib/net/ldap/password.rb +4 -0
 - data/lib/net/ldap/version.rb +1 -1
 - data/lib/net/ldap.rb +28 -3
 - metadata +17 -93
 - data/.gitignore +0 -10
 - data/.rubocop.yml +0 -20
 - data/.rubocop_todo.yml +0 -723
 - data/.travis.yml +0 -57
 - data/CONTRIBUTING.md +0 -54
 - data/Gemfile +0 -2
 - data/Rakefile +0 -23
 - data/net-ldap.gemspec +0 -37
 - data/script/changelog +0 -47
 - data/script/ldap-docker +0 -12
 - data/script/package +0 -7
 - data/script/release +0 -16
 - data/test/ber/core_ext/test_array.rb +0 -22
 - data/test/ber/core_ext/test_string.rb +0 -25
 - data/test/ber/test_ber.rb +0 -153
 - data/test/fixtures/ca/docker-ca.pem +0 -18
 - data/test/fixtures/ldif/06-retcode.ldif +0 -75
 - data/test/fixtures/ldif/50-seed.ldif +0 -374
 - data/test/integration/test_add.rb +0 -26
 - data/test/integration/test_ber.rb +0 -30
 - data/test/integration/test_bind.rb +0 -221
 - data/test/integration/test_delete.rb +0 -29
 - data/test/integration/test_open.rb +0 -87
 - data/test/integration/test_password_modify.rb +0 -93
 - data/test/integration/test_return_codes.rb +0 -46
 - data/test/integration/test_search.rb +0 -77
 - data/test/support/vm/openldap/.gitignore +0 -1
 - data/test/test_auth_adapter.rb +0 -15
 - data/test/test_dn.rb +0 -43
 - data/test/test_entry.rb +0 -66
 - data/test/test_filter.rb +0 -223
 - data/test/test_filter_parser.rb +0 -29
 - data/test/test_helper.rb +0 -73
 - data/test/test_ldap.rb +0 -114
 - data/test/test_ldap_connection.rb +0 -505
 - data/test/test_ldif.rb +0 -104
 - data/test/test_password.rb +0 -10
 - data/test/test_rename.rb +0 -77
 - data/test/test_search.rb +0 -39
 - data/test/test_snmp.rb +0 -118
 - data/test/test_ssl_ber.rb +0 -44
 - data/test/testdata.ldif +0 -101
 - data/testserver/ldapserver.rb +0 -200
 - data/testserver/testdata.ldif +0 -101
 
    
        data/.travis.yml
    DELETED
    
    | 
         @@ -1,57 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            language: ruby
         
     | 
| 
       2 
     | 
    
         
            -
            rvm:
         
     | 
| 
       3 
     | 
    
         
            -
              - 2.0.0
         
     | 
| 
       4 
     | 
    
         
            -
              - 2.1
         
     | 
| 
       5 
     | 
    
         
            -
              - 2.2
         
     | 
| 
       6 
     | 
    
         
            -
              - 2.3
         
     | 
| 
       7 
     | 
    
         
            -
              - 2.4
         
     | 
| 
       8 
     | 
    
         
            -
              - 2.5
         
     | 
| 
       9 
     | 
    
         
            -
              - 2.6
         
     | 
| 
       10 
     | 
    
         
            -
              - 2.7
         
     | 
| 
       11 
     | 
    
         
            -
              - jruby-9.2
         
     | 
| 
       12 
     | 
    
         
            -
              # optional
         
     | 
| 
       13 
     | 
    
         
            -
              - ruby-head
         
     | 
| 
       14 
     | 
    
         
            -
              - jruby-19mode
         
     | 
| 
       15 
     | 
    
         
            -
              - jruby-9.2
         
     | 
| 
       16 
     | 
    
         
            -
              - jruby-head
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
            addons:
         
     | 
| 
       19 
     | 
    
         
            -
              hosts:
         
     | 
| 
       20 
     | 
    
         
            -
                - ldap.example.org # needed for TLS verification
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
            services:
         
     | 
| 
       23 
     | 
    
         
            -
              - docker
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
            env:
         
     | 
| 
       26 
     | 
    
         
            -
              - INTEGRATION=openldap
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
            before_install:
         
     | 
| 
       29 
     | 
    
         
            -
              - gem update bundler
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
            install:
         
     | 
| 
       32 
     | 
    
         
            -
              - >
         
     | 
| 
       33 
     | 
    
         
            -
                docker run \
         
     | 
| 
       34 
     | 
    
         
            -
                  --hostname ldap.example.org \
         
     | 
| 
       35 
     | 
    
         
            -
                  --env LDAP_TLS_VERIFY_CLIENT=try \
         
     | 
| 
       36 
     | 
    
         
            -
                  -p 389:389 \
         
     | 
| 
       37 
     | 
    
         
            -
                  -p 636:636 \
         
     | 
| 
       38 
     | 
    
         
            -
                  -v "$(pwd)"/test/fixtures/ldif:/container/service/slapd/assets/config/bootstrap/ldif/custom \
         
     | 
| 
       39 
     | 
    
         
            -
                  --name openldap \
         
     | 
| 
       40 
     | 
    
         
            -
                  --detach \
         
     | 
| 
       41 
     | 
    
         
            -
                  osixia/openldap:1.3.0 \
         
     | 
| 
       42 
     | 
    
         
            -
                    --copy-service \
         
     | 
| 
       43 
     | 
    
         
            -
                    --loglevel debug \
         
     | 
| 
       44 
     | 
    
         
            -
              - bundle install
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
            script: bundle exec rake ci
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
            matrix:
         
     | 
| 
       49 
     | 
    
         
            -
              allow_failures:
         
     | 
| 
       50 
     | 
    
         
            -
                - rvm: ruby-head
         
     | 
| 
       51 
     | 
    
         
            -
                - rvm: jruby-19mode
         
     | 
| 
       52 
     | 
    
         
            -
                - rvm: jruby-9.2
         
     | 
| 
       53 
     | 
    
         
            -
                - rvm: jruby-head
         
     | 
| 
       54 
     | 
    
         
            -
              fast_finish: true
         
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
     | 
    
         
            -
            notifications:
         
     | 
| 
       57 
     | 
    
         
            -
              email: false
         
     | 
    
        data/CONTRIBUTING.md
    DELETED
    
    | 
         @@ -1,54 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # Contribution guide
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            Thank you for using net-ldap. If you'd like to help, keep these guidelines in
         
     | 
| 
       4 
     | 
    
         
            -
            mind.
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            ## Submitting a New Issue
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            If you find a bug, or would like to propose an idea, file a [new issue][issues].
         
     | 
| 
       9 
     | 
    
         
            -
            Include as many details as possible:
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            - Version of net-ldap gem
         
     | 
| 
       12 
     | 
    
         
            -
            - LDAP server version
         
     | 
| 
       13 
     | 
    
         
            -
            - Queries, connection information, any other input
         
     | 
| 
       14 
     | 
    
         
            -
            - output or error messages
         
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
            ## Sending a Pull Request
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
            [Pull requests][pr] are always welcome!
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
            Check out [the project's issues list][issues] for ideas on what could be improved.
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
            Before sending, please add tests and ensure the test suite passes.
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
            To run the full suite:
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
              `bundle exec rake`
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
            To run a specific test file:
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
              `bundle exec ruby test/test_ldap.rb`
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
            To run a specific test:
         
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
              `bundle exec ruby test/test_ldap.rb -n test_instrument_bind`
         
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
       36 
     | 
    
         
            -
            Pull requests will trigger automatic continuous integration builds on
         
     | 
| 
       37 
     | 
    
         
            -
            [TravisCI][travis]. To run integration tests locally, see the `test/support`
         
     | 
| 
       38 
     | 
    
         
            -
            folder.
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
            ## Styleguide
         
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
            ```ruby
         
     | 
| 
       43 
     | 
    
         
            -
            # 1.9+ style hashes
         
     | 
| 
       44 
     | 
    
         
            -
            {key: "value"}
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
            # Multi-line arguments with `\`
         
     | 
| 
       47 
     | 
    
         
            -
            MyClass.new \
         
     | 
| 
       48 
     | 
    
         
            -
              foo: 'bar',
         
     | 
| 
       49 
     | 
    
         
            -
              baz: 'garply'
         
     | 
| 
       50 
     | 
    
         
            -
            ```
         
     | 
| 
       51 
     | 
    
         
            -
             
     | 
| 
       52 
     | 
    
         
            -
            [issues]: https://github.com/ruby-ldap/ruby-net-ldap/issues
         
     | 
| 
       53 
     | 
    
         
            -
            [pr]: https://help.github.com/articles/using-pull-requests
         
     | 
| 
       54 
     | 
    
         
            -
            [travis]: https://travis-ci.org/ruby-ldap/ruby-net-ldap
         
     | 
    
        data/Gemfile
    DELETED
    
    
    
        data/Rakefile
    DELETED
    
    | 
         @@ -1,23 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # -*- ruby encoding: utf-8 -*-
         
     | 
| 
       2 
     | 
    
         
            -
            # vim: syntax=ruby
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            require 'rake/testtask'
         
     | 
| 
       5 
     | 
    
         
            -
            require 'rubocop/rake_task'
         
     | 
| 
       6 
     | 
    
         
            -
            require 'bundler'
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            RuboCop::RakeTask.new
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
            Rake::TestTask.new do |t|
         
     | 
| 
       11 
     | 
    
         
            -
              t.libs << 'test'
         
     | 
| 
       12 
     | 
    
         
            -
              t.test_files = FileList['test/**/test_*.rb']
         
     | 
| 
       13 
     | 
    
         
            -
              t.verbose = true
         
     | 
| 
       14 
     | 
    
         
            -
              t.description = 'Run tests, set INTEGRATION=openldap to run integration tests, INTEGRATION_HOST and INTEGRATION_PORT are also supported'
         
     | 
| 
       15 
     | 
    
         
            -
            end
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
            desc 'Run tests and RuboCop (RuboCop runs on mri only)'
         
     | 
| 
       18 
     | 
    
         
            -
            task ci: Bundler.current_ruby.mri? ? [:test, :rubocop] : [:test]
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
            desc 'Run tests and RuboCop'
         
     | 
| 
       21 
     | 
    
         
            -
            task rubotest: [:test, :rubocop]
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
            task default: Bundler.current_ruby.mri? ? [:test, :rubocop] : [:test]
         
     | 
    
        data/net-ldap.gemspec
    DELETED
    
    | 
         @@ -1,37 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # -*- encoding: utf-8 -*-
         
     | 
| 
       2 
     | 
    
         
            -
            lib = File.expand_path('../lib', __FILE__)
         
     | 
| 
       3 
     | 
    
         
            -
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         
     | 
| 
       4 
     | 
    
         
            -
            require_relative 'lib/net/ldap/version'
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            Gem::Specification.new do |s|
         
     | 
| 
       7 
     | 
    
         
            -
              s.name = %q{net-ldap}
         
     | 
| 
       8 
     | 
    
         
            -
              s.version = Net::LDAP::VERSION
         
     | 
| 
       9 
     | 
    
         
            -
              s.license = "MIT"
         
     | 
| 
       10 
     | 
    
         
            -
              s.authors = ["Francis Cianfrocca", "Emiel van de Laar", "Rory O'Connell", "Kaspar Schiess", "Austin Ziegler", "Michael Schaarschmidt"]
         
     | 
| 
       11 
     | 
    
         
            -
              s.description = %q{Net::LDAP for Ruby (also called net-ldap) implements client access for the
         
     | 
| 
       12 
     | 
    
         
            -
            Lightweight Directory Access Protocol (LDAP), an IETF standard protocol for
         
     | 
| 
       13 
     | 
    
         
            -
            accessing distributed directory services. Net::LDAP is written completely in
         
     | 
| 
       14 
     | 
    
         
            -
            Ruby with no external dependencies. It supports most LDAP client features and a
         
     | 
| 
       15 
     | 
    
         
            -
            subset of server features as well.
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
            Net::LDAP has been tested against modern popular LDAP servers including
         
     | 
| 
       18 
     | 
    
         
            -
            OpenLDAP and Active Directory. The current release is mostly compliant with
         
     | 
| 
       19 
     | 
    
         
            -
            earlier versions of the IETF LDAP RFCs (2251-2256, 2829-2830, 3377, and 3771).
         
     | 
| 
       20 
     | 
    
         
            -
            Our roadmap for Net::LDAP 1.0 is to gain full <em>client</em> compliance with
         
     | 
| 
       21 
     | 
    
         
            -
            the most recent LDAP RFCs (4510-4519, plutions of 4520-4532).}
         
     | 
| 
       22 
     | 
    
         
            -
              s.email = ["blackhedd@rubyforge.org", "gemiel@gmail.com", "rory.ocon@gmail.com", "kaspar.schiess@absurd.li", "austin@rubyforge.org"]
         
     | 
| 
       23 
     | 
    
         
            -
              s.extra_rdoc_files = ["Contributors.rdoc", "Hacking.rdoc", "History.rdoc", "License.rdoc", "README.rdoc"]
         
     | 
| 
       24 
     | 
    
         
            -
              s.files = `git ls-files`.split $/
         
     | 
| 
       25 
     | 
    
         
            -
              s.test_files = s.files.grep(%r{^test})
         
     | 
| 
       26 
     | 
    
         
            -
              s.homepage = %q{http://github.com/ruby-ldap/ruby-net-ldap}
         
     | 
| 
       27 
     | 
    
         
            -
              s.rdoc_options = ["--main", "README.rdoc"]
         
     | 
| 
       28 
     | 
    
         
            -
              s.require_paths = ["lib"]
         
     | 
| 
       29 
     | 
    
         
            -
              s.required_ruby_version = ">= 2.0.0"
         
     | 
| 
       30 
     | 
    
         
            -
              s.summary = %q{Net::LDAP for Ruby (also called net-ldap) implements client access for the Lightweight Directory Access Protocol (LDAP), an IETF standard protocol for accessing distributed directory services}
         
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
              s.add_development_dependency("flexmock", "~> 1.3")
         
     | 
| 
       33 
     | 
    
         
            -
              s.add_development_dependency("rake", "~> 12.3.3")
         
     | 
| 
       34 
     | 
    
         
            -
              s.add_development_dependency("rubocop", "~> 0.49.0")
         
     | 
| 
       35 
     | 
    
         
            -
              s.add_development_dependency("test-unit")
         
     | 
| 
       36 
     | 
    
         
            -
              s.add_development_dependency("byebug") unless RUBY_PLATFORM == "java"
         
     | 
| 
       37 
     | 
    
         
            -
            end
         
     | 
    
        data/script/changelog
    DELETED
    
    | 
         @@ -1,47 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #!/bin/bash
         
     | 
| 
       2 
     | 
    
         
            -
            # Usage: script/changelog [-r <repo>] [-b <base>] [-h <head>]
         
     | 
| 
       3 
     | 
    
         
            -
            #
         
     | 
| 
       4 
     | 
    
         
            -
            #  repo: BASE string of GitHub REPOsitory url. e.g. "user_or_org/REPOsitory". Defaults to git remote url.
         
     | 
| 
       5 
     | 
    
         
            -
            #  base: git ref to compare from. e.g. "v1.3.1". Defaults to latest git tag.
         
     | 
| 
       6 
     | 
    
         
            -
            #  head: git ref to compare to. Defaults to "HEAD".
         
     | 
| 
       7 
     | 
    
         
            -
            #
         
     | 
| 
       8 
     | 
    
         
            -
            # Generate a changelog preview from pull requests merged between `base` and
         
     | 
| 
       9 
     | 
    
         
            -
            # `head`.
         
     | 
| 
       10 
     | 
    
         
            -
            #
         
     | 
| 
       11 
     | 
    
         
            -
            # https://github.com/jch/release-scripts/blob/master/changelog
         
     | 
| 
       12 
     | 
    
         
            -
            set -e
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
            [ $# -eq 0 ] && set -- --help
         
     | 
| 
       15 
     | 
    
         
            -
            while [[ $# > 1 ]]
         
     | 
| 
       16 
     | 
    
         
            -
            do
         
     | 
| 
       17 
     | 
    
         
            -
              key="$1"
         
     | 
| 
       18 
     | 
    
         
            -
              case $key in
         
     | 
| 
       19 
     | 
    
         
            -
                -r|--repo)
         
     | 
| 
       20 
     | 
    
         
            -
                repo="$2"
         
     | 
| 
       21 
     | 
    
         
            -
                shift
         
     | 
| 
       22 
     | 
    
         
            -
                ;;
         
     | 
| 
       23 
     | 
    
         
            -
                -b|--base)
         
     | 
| 
       24 
     | 
    
         
            -
                base="$2"
         
     | 
| 
       25 
     | 
    
         
            -
                shift
         
     | 
| 
       26 
     | 
    
         
            -
                ;;
         
     | 
| 
       27 
     | 
    
         
            -
                -h|--head)
         
     | 
| 
       28 
     | 
    
         
            -
                head="$2"
         
     | 
| 
       29 
     | 
    
         
            -
                shift
         
     | 
| 
       30 
     | 
    
         
            -
                ;;
         
     | 
| 
       31 
     | 
    
         
            -
                *)
         
     | 
| 
       32 
     | 
    
         
            -
                ;;
         
     | 
| 
       33 
     | 
    
         
            -
              esac
         
     | 
| 
       34 
     | 
    
         
            -
              shift
         
     | 
| 
       35 
     | 
    
         
            -
            done
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
            repo="${repo:-$(git remote -v | grep push | awk '{print $2}' | cut -d'/' -f4- | sed 's/\.git//')}"
         
     | 
| 
       38 
     | 
    
         
            -
            base="${base:-$(git tag -l | sort -t. -k 1,1n -k 2,2n -k 3,3n | tail -n 1)}"
         
     | 
| 
       39 
     | 
    
         
            -
            head="${head:-HEAD}"
         
     | 
| 
       40 
     | 
    
         
            -
            api_url="https://api.github.com"
         
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
            # get merged PR's. Better way is to query the API for these, but this is easier
         
     | 
| 
       43 
     | 
    
         
            -
            for pr in $(git log --oneline $base..$head | grep "Merge pull request" | awk '{gsub("#",""); print $5}')
         
     | 
| 
       44 
     | 
    
         
            -
            do
         
     | 
| 
       45 
     | 
    
         
            -
              # frustrated with trying to pull out the right values, fell back to ruby
         
     | 
| 
       46 
     | 
    
         
            -
              curl -s "$api_url/repos/$repo/pulls/$pr" | ruby -rjson -e 'pr=JSON.parse(STDIN.read); puts "* #{pr[%q(title)]} {##{pr[%q(number)]}}[#{pr[%q(html_url)]}]"'
         
     | 
| 
       47 
     | 
    
         
            -
            done
         
     | 
    
        data/script/ldap-docker
    DELETED
    
    | 
         @@ -1,12 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #!/usr/bin/env bash
         
     | 
| 
       2 
     | 
    
         
            -
            # Usage: script/ldap-docker
         
     | 
| 
       3 
     | 
    
         
            -
            #
         
     | 
| 
       4 
     | 
    
         
            -
            # Starts a openldap docker container ready for integration tests
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            docker run --rm -ti \
         
     | 
| 
       7 
     | 
    
         
            -
              --hostname ldap.example.org \
         
     | 
| 
       8 
     | 
    
         
            -
              --env LDAP_TLS_VERIFY_CLIENT=try \
         
     | 
| 
       9 
     | 
    
         
            -
              -p 389:389 -p 636:636 \
         
     | 
| 
       10 
     | 
    
         
            -
              -v "$(pwd)"/test/fixtures/ldif:/container/service/slapd/assets/config/bootstrap/ldif/custom \
         
     | 
| 
       11 
     | 
    
         
            -
              --name my-openldap-container \
         
     | 
| 
       12 
     | 
    
         
            -
              osixia/openldap:1.3.0 --copy-service --loglevel debug
         
     | 
    
        data/script/package
    DELETED
    
    
    
        data/script/release
    DELETED
    
    | 
         @@ -1,16 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            #!/usr/bin/env bash
         
     | 
| 
       2 
     | 
    
         
            -
            # Usage: script/release
         
     | 
| 
       3 
     | 
    
         
            -
            # Build the package, tag a commit, push it to origin, and then release the
         
     | 
| 
       4 
     | 
    
         
            -
            # package publicly.
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            set -e
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            version="$(script/package | grep Version: | awk '{print $2}')"
         
     | 
| 
       9 
     | 
    
         
            -
            [ -n "$version" ] || exit 1
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            echo $version
         
     | 
| 
       12 
     | 
    
         
            -
            git commit --allow-empty -a -m "Release $version"
         
     | 
| 
       13 
     | 
    
         
            -
            git tag "v$version"
         
     | 
| 
       14 
     | 
    
         
            -
            git push origin
         
     | 
| 
       15 
     | 
    
         
            -
            git push origin "v$version"
         
     | 
| 
       16 
     | 
    
         
            -
            gem push pkg/*-${version}.gem
         
     | 
| 
         @@ -1,22 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require_relative '../../test_helper'
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            class TestBERArrayExtension < Test::Unit::TestCase
         
     | 
| 
       4 
     | 
    
         
            -
              def test_control_code_array
         
     | 
| 
       5 
     | 
    
         
            -
                control_codes = []
         
     | 
| 
       6 
     | 
    
         
            -
                control_codes << ['1.2.3'.to_ber, true.to_ber].to_ber_sequence
         
     | 
| 
       7 
     | 
    
         
            -
                control_codes << ['1.7.9'.to_ber, false.to_ber].to_ber_sequence
         
     | 
| 
       8 
     | 
    
         
            -
                control_codes = control_codes.to_ber_sequence
         
     | 
| 
       9 
     | 
    
         
            -
                res = [['1.2.3', true], ['1.7.9', false]].to_ber_control
         
     | 
| 
       10 
     | 
    
         
            -
                assert_equal control_codes, res
         
     | 
| 
       11 
     | 
    
         
            -
              end
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
              def test_wrap_array_if_not_nested
         
     | 
| 
       14 
     | 
    
         
            -
                result1 = ['1.2.3', true].to_ber_control
         
     | 
| 
       15 
     | 
    
         
            -
                result2 = [['1.2.3', true]].to_ber_control
         
     | 
| 
       16 
     | 
    
         
            -
                assert_equal result2, result1
         
     | 
| 
       17 
     | 
    
         
            -
              end
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
              def test_empty_string_if_empty_array
         
     | 
| 
       20 
     | 
    
         
            -
                assert_equal "", [].to_ber_control
         
     | 
| 
       21 
     | 
    
         
            -
              end
         
     | 
| 
       22 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,25 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require_relative '../../test_helper'
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            class TestBERStringExtension < Test::Unit::TestCase
         
     | 
| 
       4 
     | 
    
         
            -
              def setup
         
     | 
| 
       5 
     | 
    
         
            -
                @bind_request = "0$\002\001\001`\037\002\001\003\004\rAdministrator\200\vad_is_bogus UNCONSUMED".b
         
     | 
| 
       6 
     | 
    
         
            -
                @result = @bind_request.read_ber!(Net::LDAP::AsnSyntax)
         
     | 
| 
       7 
     | 
    
         
            -
              end
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
              def test_parse_ber
         
     | 
| 
       10 
     | 
    
         
            -
                assert_equal [1, [3, "Administrator", "ad_is_bogus"]], @result
         
     | 
| 
       11 
     | 
    
         
            -
              end
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
              def test_unconsumed_message
         
     | 
| 
       14 
     | 
    
         
            -
                assert_equal " UNCONSUMED", @bind_request
         
     | 
| 
       15 
     | 
    
         
            -
              end
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
              def test_exception_does_not_modify_string
         
     | 
| 
       18 
     | 
    
         
            -
                original = "0$\002\001\001`\037\002\001\003\004\rAdministrator\200\vad_is_bogus".b
         
     | 
| 
       19 
     | 
    
         
            -
                duplicate = original.dup
         
     | 
| 
       20 
     | 
    
         
            -
                flexmock(StringIO).new_instances.should_receive(:read_ber).and_raise(Net::BER::BerError)
         
     | 
| 
       21 
     | 
    
         
            -
                duplicate.read_ber!(Net::LDAP::AsnSyntax) rescue Net::BER::BerError
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
                assert_equal original, duplicate
         
     | 
| 
       24 
     | 
    
         
            -
              end
         
     | 
| 
       25 
     | 
    
         
            -
            end
         
     | 
    
        data/test/ber/test_ber.rb
    DELETED
    
    | 
         @@ -1,153 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require_relative '../test_helper'
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            class TestBEREncoding < Test::Unit::TestCase
         
     | 
| 
       4 
     | 
    
         
            -
              def test_empty_array
         
     | 
| 
       5 
     | 
    
         
            -
                assert_equal [], [].to_ber.read_ber
         
     | 
| 
       6 
     | 
    
         
            -
              end
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
              def test_array
         
     | 
| 
       9 
     | 
    
         
            -
                ary = [1, 2, 3]
         
     | 
| 
       10 
     | 
    
         
            -
                encoded_ary = ary.map(&:to_ber).to_ber
         
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
                assert_equal ary, encoded_ary.read_ber
         
     | 
| 
       13 
     | 
    
         
            -
              end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
              # http://tools.ietf.org/html/rfc4511#section-5.1
         
     | 
| 
       16 
     | 
    
         
            -
              def test_true
         
     | 
| 
       17 
     | 
    
         
            -
                assert_equal "\x01\x01\xFF".b, true.to_ber
         
     | 
| 
       18 
     | 
    
         
            -
              end
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
              def test_false
         
     | 
| 
       21 
     | 
    
         
            -
                assert_equal "\x01\x01\x00", false.to_ber
         
     | 
| 
       22 
     | 
    
         
            -
              end
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
              # Sample based
         
     | 
| 
       25 
     | 
    
         
            -
              {
         
     | 
| 
       26 
     | 
    
         
            -
                0           => "\x02\x01\x00",
         
     | 
| 
       27 
     | 
    
         
            -
                1           => "\x02\x01\x01",
         
     | 
| 
       28 
     | 
    
         
            -
                127         => "\x02\x01\x7F",
         
     | 
| 
       29 
     | 
    
         
            -
                128         => "\x02\x02\x00\x80",
         
     | 
| 
       30 
     | 
    
         
            -
                255         => "\x02\x02\x00\xFF",
         
     | 
| 
       31 
     | 
    
         
            -
                256         => "\x02\x02\x01\x00",
         
     | 
| 
       32 
     | 
    
         
            -
                65535       => "\x02\x03\x00\xFF\xFF",
         
     | 
| 
       33 
     | 
    
         
            -
                65536       => "\x02\x03\x01\x00\x00",
         
     | 
| 
       34 
     | 
    
         
            -
                8388607     => "\x02\x03\x7F\xFF\xFF",
         
     | 
| 
       35 
     | 
    
         
            -
                8388608     => "\x02\x04\x00\x80\x00\x00",
         
     | 
| 
       36 
     | 
    
         
            -
                16_777_215  => "\x02\x04\x00\xFF\xFF\xFF",
         
     | 
| 
       37 
     | 
    
         
            -
                0x01000000  => "\x02\x04\x01\x00\x00\x00",
         
     | 
| 
       38 
     | 
    
         
            -
                0x3FFFFFFF  => "\x02\x04\x3F\xFF\xFF\xFF",
         
     | 
| 
       39 
     | 
    
         
            -
                0x4FFFFFFF  => "\x02\x04\x4F\xFF\xFF\xFF",
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
     | 
    
         
            -
                # Some odd samples...
         
     | 
| 
       42 
     | 
    
         
            -
                5           => "\x02\x01\x05",
         
     | 
| 
       43 
     | 
    
         
            -
                500         => "\x02\x02\x01\xf4",
         
     | 
| 
       44 
     | 
    
         
            -
                50_000      => "\x02\x03\x00\xC3\x50",
         
     | 
| 
       45 
     | 
    
         
            -
                5_000_000_000 => "\x02\x05\x01\x2a\x05\xF2\x00",
         
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
                # negatives
         
     | 
| 
       48 
     | 
    
         
            -
                -1          => "\x02\x01\xFF",
         
     | 
| 
       49 
     | 
    
         
            -
                -127        => "\x02\x01\x81",
         
     | 
| 
       50 
     | 
    
         
            -
                -128        => "\x02\x01\x80",
         
     | 
| 
       51 
     | 
    
         
            -
                -255        => "\x02\x02\xFF\x01",
         
     | 
| 
       52 
     | 
    
         
            -
                -256        => "\x02\x02\xFF\x00",
         
     | 
| 
       53 
     | 
    
         
            -
                -65535      => "\x02\x03\xFF\x00\x01",
         
     | 
| 
       54 
     | 
    
         
            -
                -65536      => "\x02\x03\xFF\x00\x00",
         
     | 
| 
       55 
     | 
    
         
            -
                -65537      => "\x02\x03\xFE\xFF\xFF",
         
     | 
| 
       56 
     | 
    
         
            -
                -8388607    => "\x02\x03\x80\x00\x01",
         
     | 
| 
       57 
     | 
    
         
            -
                -8388608    => "\x02\x03\x80\x00\x00",
         
     | 
| 
       58 
     | 
    
         
            -
                -16_777_215 => "\x02\x04\xFF\x00\x00\x01",
         
     | 
| 
       59 
     | 
    
         
            -
              }.each do |number, expected_encoding|
         
     | 
| 
       60 
     | 
    
         
            -
                define_method "test_encode_#{number}" do
         
     | 
| 
       61 
     | 
    
         
            -
                  assert_equal expected_encoding.b, number.to_ber
         
     | 
| 
       62 
     | 
    
         
            -
                end
         
     | 
| 
       63 
     | 
    
         
            -
             
     | 
| 
       64 
     | 
    
         
            -
                define_method "test_decode_encoded_#{number}" do
         
     | 
| 
       65 
     | 
    
         
            -
                  assert_equal number, expected_encoding.b.read_ber
         
     | 
| 
       66 
     | 
    
         
            -
                end
         
     | 
| 
       67 
     | 
    
         
            -
              end
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
       69 
     | 
    
         
            -
              # Round-trip encoding: This is mostly to be sure to cover Bignums well.
         
     | 
| 
       70 
     | 
    
         
            -
              def test_powers_of_two
         
     | 
| 
       71 
     | 
    
         
            -
                100.times do |p|
         
     | 
| 
       72 
     | 
    
         
            -
                  n = 2 << p
         
     | 
| 
       73 
     | 
    
         
            -
             
     | 
| 
       74 
     | 
    
         
            -
                  assert_equal n, n.to_ber.read_ber
         
     | 
| 
       75 
     | 
    
         
            -
                end
         
     | 
| 
       76 
     | 
    
         
            -
              end
         
     | 
| 
       77 
     | 
    
         
            -
             
     | 
| 
       78 
     | 
    
         
            -
              def test_powers_of_ten
         
     | 
| 
       79 
     | 
    
         
            -
                100.times do |p|
         
     | 
| 
       80 
     | 
    
         
            -
                  n = 5 * 10**p
         
     | 
| 
       81 
     | 
    
         
            -
             
     | 
| 
       82 
     | 
    
         
            -
                  assert_equal n, n.to_ber.read_ber
         
     | 
| 
       83 
     | 
    
         
            -
                end
         
     | 
| 
       84 
     | 
    
         
            -
              end
         
     | 
| 
       85 
     | 
    
         
            -
             
     | 
| 
       86 
     | 
    
         
            -
              if "Ruby 1.9".respond_to?(:encoding)
         
     | 
| 
       87 
     | 
    
         
            -
                def test_encode_utf8_strings
         
     | 
| 
       88 
     | 
    
         
            -
                  assert_equal "\x04\x02\xC3\xA5".b, "\u00e5".force_encoding("UTF-8").to_ber
         
     | 
| 
       89 
     | 
    
         
            -
                end
         
     | 
| 
       90 
     | 
    
         
            -
             
     | 
| 
       91 
     | 
    
         
            -
                def test_utf8_encodable_strings
         
     | 
| 
       92 
     | 
    
         
            -
                  assert_equal "\x04\nteststring", "teststring".encode("US-ASCII").to_ber
         
     | 
| 
       93 
     | 
    
         
            -
                end
         
     | 
| 
       94 
     | 
    
         
            -
             
     | 
| 
       95 
     | 
    
         
            -
                def test_encode_binary_data
         
     | 
| 
       96 
     | 
    
         
            -
                  # This is used for searching for GUIDs in Active Directory
         
     | 
| 
       97 
     | 
    
         
            -
                  assert_equal "\x04\x10" + "j1\xB4\xA1*\xA2zA\xAC\xA9`?'\xDDQ\x16".b,
         
     | 
| 
       98 
     | 
    
         
            -
                               ["6a31b4a12aa27a41aca9603f27dd5116"].pack("H*").to_ber_bin
         
     | 
| 
       99 
     | 
    
         
            -
                end
         
     | 
| 
       100 
     | 
    
         
            -
             
     | 
| 
       101 
     | 
    
         
            -
                def test_non_utf8_encodable_strings
         
     | 
| 
       102 
     | 
    
         
            -
                  assert_equal "\x04\x01\x81".b, "\x81".to_ber
         
     | 
| 
       103 
     | 
    
         
            -
                end
         
     | 
| 
       104 
     | 
    
         
            -
              end
         
     | 
| 
       105 
     | 
    
         
            -
            end
         
     | 
| 
       106 
     | 
    
         
            -
             
     | 
| 
       107 
     | 
    
         
            -
            class TestBERDecoding < Test::Unit::TestCase
         
     | 
| 
       108 
     | 
    
         
            -
              def test_decode_number
         
     | 
| 
       109 
     | 
    
         
            -
                assert_equal 6, "\002\001\006".read_ber(Net::LDAP::AsnSyntax)
         
     | 
| 
       110 
     | 
    
         
            -
              end
         
     | 
| 
       111 
     | 
    
         
            -
             
     | 
| 
       112 
     | 
    
         
            -
              def test_decode_string
         
     | 
| 
       113 
     | 
    
         
            -
                assert_equal "testing", "\004\007testing".read_ber(Net::LDAP::AsnSyntax)
         
     | 
| 
       114 
     | 
    
         
            -
              end
         
     | 
| 
       115 
     | 
    
         
            -
             
     | 
| 
       116 
     | 
    
         
            -
              def test_decode_ldap_bind_request
         
     | 
| 
       117 
     | 
    
         
            -
                assert_equal [1, [3, "Administrator", "ad_is_bogus"]], "0$\002\001\001`\037\002\001\003\004\rAdministrator\200\vad_is_bogus".read_ber(Net::LDAP::AsnSyntax)
         
     | 
| 
       118 
     | 
    
         
            -
              end
         
     | 
| 
       119 
     | 
    
         
            -
            end
         
     | 
| 
       120 
     | 
    
         
            -
             
     | 
| 
       121 
     | 
    
         
            -
            class TestBERIdentifiedString < Test::Unit::TestCase
         
     | 
| 
       122 
     | 
    
         
            -
              def test_binary_data
         
     | 
| 
       123 
     | 
    
         
            -
                data = ["6a31b4a12aa27a41aca9603f27dd5116"].pack("H*").force_encoding("ASCII-8BIT")
         
     | 
| 
       124 
     | 
    
         
            -
                bis = Net::BER::BerIdentifiedString.new(data)
         
     | 
| 
       125 
     | 
    
         
            -
             
     | 
| 
       126 
     | 
    
         
            -
                assert bis.valid_encoding?, "should be a valid encoding"
         
     | 
| 
       127 
     | 
    
         
            -
                assert_equal "ASCII-8BIT", bis.encoding.name
         
     | 
| 
       128 
     | 
    
         
            -
              end
         
     | 
| 
       129 
     | 
    
         
            -
             
     | 
| 
       130 
     | 
    
         
            -
              def test_ascii_data_in_utf8
         
     | 
| 
       131 
     | 
    
         
            -
                data = "some text".force_encoding("UTF-8")
         
     | 
| 
       132 
     | 
    
         
            -
                bis = Net::BER::BerIdentifiedString.new(data)
         
     | 
| 
       133 
     | 
    
         
            -
             
     | 
| 
       134 
     | 
    
         
            -
                assert bis.valid_encoding?, "should be a valid encoding"
         
     | 
| 
       135 
     | 
    
         
            -
                assert_equal "UTF-8", bis.encoding.name
         
     | 
| 
       136 
     | 
    
         
            -
              end
         
     | 
| 
       137 
     | 
    
         
            -
             
     | 
| 
       138 
     | 
    
         
            -
              def test_umlaut_data_in_utf8
         
     | 
| 
       139 
     | 
    
         
            -
                data = "Müller".force_encoding("UTF-8")
         
     | 
| 
       140 
     | 
    
         
            -
                bis = Net::BER::BerIdentifiedString.new(data)
         
     | 
| 
       141 
     | 
    
         
            -
             
     | 
| 
       142 
     | 
    
         
            -
                assert bis.valid_encoding?, "should be a valid encoding"
         
     | 
| 
       143 
     | 
    
         
            -
                assert_equal "UTF-8", bis.encoding.name
         
     | 
| 
       144 
     | 
    
         
            -
              end
         
     | 
| 
       145 
     | 
    
         
            -
             
     | 
| 
       146 
     | 
    
         
            -
              def test_utf8_data_in_utf8
         
     | 
| 
       147 
     | 
    
         
            -
                data = ["e4b8ad"].pack("H*").force_encoding("UTF-8")
         
     | 
| 
       148 
     | 
    
         
            -
                bis = Net::BER::BerIdentifiedString.new(data)
         
     | 
| 
       149 
     | 
    
         
            -
             
     | 
| 
       150 
     | 
    
         
            -
                assert bis.valid_encoding?, "should be a valid encoding"
         
     | 
| 
       151 
     | 
    
         
            -
                assert_equal "UTF-8", bis.encoding.name
         
     | 
| 
       152 
     | 
    
         
            -
              end
         
     | 
| 
       153 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,18 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            -----BEGIN CERTIFICATE-----
         
     | 
| 
       2 
     | 
    
         
            -
            MIIC0zCCAlmgAwIBAgIUCfQ+m0pgZ/BjYAJvxrn/bdGNZokwCgYIKoZIzj0EAwMw
         
     | 
| 
       3 
     | 
    
         
            -
            gZYxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxBMUEgQ2FyIFdhc2gxJDAiBgNVBAsT
         
     | 
| 
       4 
     | 
    
         
            -
            G0luZm9ybWF0aW9uIFRlY2hub2xvZ3kgRGVwLjEUMBIGA1UEBxMLQWxidXF1ZXJx
         
     | 
| 
       5 
     | 
    
         
            -
            dWUxEzARBgNVBAgTCk5ldyBNZXhpY28xHzAdBgNVBAMTFmRvY2tlci1saWdodC1i
         
     | 
| 
       6 
     | 
    
         
            -
            YXNlaW1hZ2UwHhcNMTUxMjIzMTM1MzAwWhcNMjAxMjIxMTM1MzAwWjCBljELMAkG
         
     | 
| 
       7 
     | 
    
         
            -
            A1UEBhMCVVMxFTATBgNVBAoTDEExQSBDYXIgV2FzaDEkMCIGA1UECxMbSW5mb3Jt
         
     | 
| 
       8 
     | 
    
         
            -
            YXRpb24gVGVjaG5vbG9neSBEZXAuMRQwEgYDVQQHEwtBbGJ1cXVlcnF1ZTETMBEG
         
     | 
| 
       9 
     | 
    
         
            -
            A1UECBMKTmV3IE1leGljbzEfMB0GA1UEAxMWZG9ja2VyLWxpZ2h0LWJhc2VpbWFn
         
     | 
| 
       10 
     | 
    
         
            -
            ZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABMZf/12pupAgl8Sm+j8GmjNeNbSFAZWW
         
     | 
| 
       11 
     | 
    
         
            -
            oTmIvf2Mu4LWPHy4bTldkQgHUbBpT3xWz8f0lB/ru7596CHsGoL2A28hxuclq5hb
         
     | 
| 
       12 
     | 
    
         
            -
            Ux1yrIt3bJIY3TuiX25HGTe6kGCJPB1aLaNmMGQwDgYDVR0PAQH/BAQDAgEGMBIG
         
     | 
| 
       13 
     | 
    
         
            -
            A1UdEwEB/wQIMAYBAf8CAQIwHQYDVR0OBBYEFE+l6XolXDAYnGLTl4W6ULKHrm74
         
     | 
| 
       14 
     | 
    
         
            -
            MB8GA1UdIwQYMBaAFE+l6XolXDAYnGLTl4W6ULKHrm74MAoGCCqGSM49BAMDA2gA
         
     | 
| 
       15 
     | 
    
         
            -
            MGUCMQCXLZj8okyxW6UTL7hribUUbu63PbjuwIXnwi420DdNsvA9A7fcQEXScWFL
         
     | 
| 
       16 
     | 
    
         
            -
            XAGC8rkCMGcqwXZPSRfwuI9r+R11gTrP92hnaVxs9sjRikctpkQpOyNlIXFPopFK
         
     | 
| 
       17 
     | 
    
         
            -
            8FdfWPypvA==
         
     | 
| 
       18 
     | 
    
         
            -
            -----END CERTIFICATE-----
         
     | 
| 
         @@ -1,75 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            dn: cn=module{0},cn=config
         
     | 
| 
       2 
     | 
    
         
            -
            changetype: modify
         
     | 
| 
       3 
     | 
    
         
            -
            add: olcModuleLoad
         
     | 
| 
       4 
     | 
    
         
            -
            olcModuleLoad: retcode
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            # source: http://www.opensource.apple.com/source/OpenLDAP/OpenLDAP-186/OpenLDAP/tests/data/retcode.conf?txt
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            dn: olcOverlay={2}retcode,olcDatabase={1}{{ LDAP_BACKEND }},cn=config
         
     | 
| 
       9 
     | 
    
         
            -
            changetype: add
         
     | 
| 
       10 
     | 
    
         
            -
            objectClass: olcConfig
         
     | 
| 
       11 
     | 
    
         
            -
            objectClass: olcRetcodeConfig
         
     | 
| 
       12 
     | 
    
         
            -
            objectClass: olcOverlayConfig
         
     | 
| 
       13 
     | 
    
         
            -
            objectClass: top
         
     | 
| 
       14 
     | 
    
         
            -
            olcOverlay: retcode
         
     | 
| 
       15 
     | 
    
         
            -
            olcRetcodeParent: ou=Retcodes,dc=example,dc=org
         
     | 
| 
       16 
     | 
    
         
            -
            olcRetcodeInDir: TRUE
         
     | 
| 
       17 
     | 
    
         
            -
            olcRetcodeSleep: 0
         
     | 
| 
       18 
     | 
    
         
            -
            olcRetcodeItem: "cn=success" 0x00
         
     | 
| 
       19 
     | 
    
         
            -
            olcRetcodeItem: "cn=success w/ delay" 0x00 sleeptime=2
         
     | 
| 
       20 
     | 
    
         
            -
            olcRetcodeItem: "cn=operationsError" 0x01
         
     | 
| 
       21 
     | 
    
         
            -
            olcRetcodeItem: "cn=protocolError" 0x02
         
     | 
| 
       22 
     | 
    
         
            -
            olcRetcodeItem: "cn=timeLimitExceeded" 0x03 op=search
         
     | 
| 
       23 
     | 
    
         
            -
            olcRetcodeItem: "cn=sizeLimitExceeded" 0x04 op=search
         
     | 
| 
       24 
     | 
    
         
            -
            olcRetcodeItem: "cn=compareFalse" 0x05 op=compare
         
     | 
| 
       25 
     | 
    
         
            -
            olcRetcodeItem: "cn=compareTrue" 0x06 op=compare
         
     | 
| 
       26 
     | 
    
         
            -
            olcRetcodeItem: "cn=authMethodNotSupported" 0x07
         
     | 
| 
       27 
     | 
    
         
            -
            olcRetcodeItem: "cn=strongAuthNotSupported" 0x07 text="same as authMethodNotSupported"
         
     | 
| 
       28 
     | 
    
         
            -
            olcRetcodeItem: "cn=strongAuthRequired" 0x08
         
     | 
| 
       29 
     | 
    
         
            -
            olcRetcodeItem: "cn=strongerAuthRequired" 0x08 text="same as strongAuthRequired"
         
     | 
| 
       30 
     | 
    
         
            -
            olcRetcodeItem: "cn=referral" 0x0a text="LDAPv3" ref="ldap://:9019"
         
     | 
| 
       31 
     | 
    
         
            -
            olcRetcodeItem: "cn=adminLimitExceeded" 0x0b text="LDAPv3"
         
     | 
| 
       32 
     | 
    
         
            -
            olcRetcodeItem: "cn=unavailableCriticalExtension" 0x0c text="LDAPv3"
         
     | 
| 
       33 
     | 
    
         
            -
            olcRetcodeItem: "cn=confidentialityRequired" 0x0d text="LDAPv3"
         
     | 
| 
       34 
     | 
    
         
            -
            olcRetcodeItem: "cn=saslBindInProgress" 0x0e text="LDAPv3"
         
     | 
| 
       35 
     | 
    
         
            -
            olcRetcodeItem: "cn=noSuchAttribute" 0x10
         
     | 
| 
       36 
     | 
    
         
            -
            olcRetcodeItem: "cn=undefinedAttributeType" 0x11
         
     | 
| 
       37 
     | 
    
         
            -
            olcRetcodeItem: "cn=inappropriateMatching" 0x12
         
     | 
| 
       38 
     | 
    
         
            -
            olcRetcodeItem: "cn=constraintViolation" 0x13
         
     | 
| 
       39 
     | 
    
         
            -
            olcRetcodeItem: "cn=attributeOrValueExists" 0x14
         
     | 
| 
       40 
     | 
    
         
            -
            olcRetcodeItem: "cn=invalidAttributeSyntax" 0x15
         
     | 
| 
       41 
     | 
    
         
            -
            olcRetcodeItem: "cn=noSuchObject" 0x20
         
     | 
| 
       42 
     | 
    
         
            -
            olcRetcodeItem: "cn=aliasProblem" 0x21
         
     | 
| 
       43 
     | 
    
         
            -
            olcRetcodeItem: "cn=invalidDNSyntax" 0x22
         
     | 
| 
       44 
     | 
    
         
            -
            olcRetcodeItem: "cn=aliasDereferencingProblem" 0x24
         
     | 
| 
       45 
     | 
    
         
            -
            olcRetcodeItem: "cn=proxyAuthzFailure" 0x2F text="LDAPv3 proxy authorization"
         
     | 
| 
       46 
     | 
    
         
            -
            olcRetcodeItem: "cn=inappropriateAuthentication" 0x30
         
     | 
| 
       47 
     | 
    
         
            -
            olcRetcodeItem: "cn=invalidCredentials" 0x31
         
     | 
| 
       48 
     | 
    
         
            -
            olcRetcodeItem: "cn=insufficientAccessRights" 0x32
         
     | 
| 
       49 
     | 
    
         
            -
            olcRetcodeItem: "cn=busy" 0x33
         
     | 
| 
       50 
     | 
    
         
            -
            olcRetcodeItem: "cn=unavailable" 0x34
         
     | 
| 
       51 
     | 
    
         
            -
            olcRetcodeItem: "cn=unwillingToPerform" 0x35
         
     | 
| 
       52 
     | 
    
         
            -
            olcRetcodeItem: "cn=loopDetect" 0x36
         
     | 
| 
       53 
     | 
    
         
            -
            olcRetcodeItem: "cn=namingViolation" 0x40
         
     | 
| 
       54 
     | 
    
         
            -
            olcRetcodeItem: "cn=objectClassViolation" 0x41
         
     | 
| 
       55 
     | 
    
         
            -
            olcRetcodeItem: "cn=notAllowedOnNonleaf" 0x42
         
     | 
| 
       56 
     | 
    
         
            -
            olcRetcodeItem: "cn=notAllowedOnRDN" 0x43
         
     | 
| 
       57 
     | 
    
         
            -
            olcRetcodeItem: "cn=entryAlreadyExists" 0x44
         
     | 
| 
       58 
     | 
    
         
            -
            olcRetcodeItem: "cn=objectClassModsProhibited" 0x45
         
     | 
| 
       59 
     | 
    
         
            -
            olcRetcodeItem: "cn=resultsTooLarge" 0x46 text="CLDAP"
         
     | 
| 
       60 
     | 
    
         
            -
            olcRetcodeItem: "cn=affectsMultipleDSAs" 0x47 text="LDAPv3"
         
     | 
| 
       61 
     | 
    
         
            -
            olcRetcodeItem: "cn=other" 0x50
         
     | 
| 
       62 
     | 
    
         
            -
            olcRetcodeItem: "cn=cupResourcesExhausted" 0x71
         
     | 
| 
       63 
     | 
    
         
            -
            olcRetcodeItem: "cn=cupSecurityViolation" 0x72
         
     | 
| 
       64 
     | 
    
         
            -
            olcRetcodeItem: "cn=cupInvalidData" 0x73
         
     | 
| 
       65 
     | 
    
         
            -
            olcRetcodeItem: "cn=cupUnsupportedScheme" 0x74
         
     | 
| 
       66 
     | 
    
         
            -
            olcRetcodeItem: "cn=cupReloadRequired" 0x75
         
     | 
| 
       67 
     | 
    
         
            -
            olcRetcodeItem: "cn=cancelled" 0x76
         
     | 
| 
       68 
     | 
    
         
            -
            olcRetcodeItem: "cn=noSuchOperation" 0x77
         
     | 
| 
       69 
     | 
    
         
            -
            olcRetcodeItem: "cn=tooLate" 0x78
         
     | 
| 
       70 
     | 
    
         
            -
            olcRetcodeItem: "cn=cannotCancel" 0x79
         
     | 
| 
       71 
     | 
    
         
            -
            olcRetcodeItem: "cn=syncRefreshRequired" 0x4100
         
     | 
| 
       72 
     | 
    
         
            -
            olcRetcodeItem: "cn=noOperation" 0x410e
         
     | 
| 
       73 
     | 
    
         
            -
            olcRetcodeItem: "cn=assertionFailed" 0x410f
         
     | 
| 
       74 
     | 
    
         
            -
            olcRetcodeItem: "cn=noReferralsFound" 0x4110
         
     | 
| 
       75 
     | 
    
         
            -
            olcRetcodeItem: "cn=cannotChain" 0x4111
         
     |