net-ldap 0.16.2 → 0.17.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.rdoc +46 -0
- data/README.rdoc +10 -3
- data/lib/net/ber/core_ext.rb +6 -6
- data/lib/net/ber.rb +2 -2
- data/lib/net/ldap/auth_adapter/gss_spnego.rb +2 -2
- data/lib/net/ldap/auth_adapter/sasl.rb +1 -1
- data/lib/net/ldap/auth_adapter/simple.rb +1 -1
- data/lib/net/ldap/connection.rb +7 -6
- data/lib/net/ldap/dataset.rb +1 -3
- data/lib/net/ldap/dn.rb +10 -10
- data/lib/net/ldap/entry.rb +11 -2
- data/lib/net/ldap/error.rb +2 -26
- data/lib/net/ldap/filter.rb +3 -3
- data/lib/net/ldap/instrumentation.rb +2 -2
- data/lib/net/ldap/password.rb +7 -5
- data/lib/net/ldap/pdu.rb +1 -1
- data/lib/net/ldap/version.rb +1 -1
- data/lib/net/ldap.rb +39 -16
- data/lib/net/snmp.rb +1 -1
- data/lib/net-ldap.rb +1 -1
- metadata +19 -95
- data/.gitignore +0 -10
- data/.rubocop.yml +0 -20
- data/.rubocop_todo.yml +0 -753
- data/.travis.yml +0 -55
- 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 -222
- 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 -44
- data/test/test_entry.rb +0 -65
- data/test/test_filter.rb +0 -223
- data/test/test_filter_parser.rb +0 -24
- data/test/test_helper.rb +0 -73
- data/test/test_ldap.rb +0 -114
- data/test/test_ldap_connection.rb +0 -491
- 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 -119
- data/test/test_ssl_ber.rb +0 -40
- data/test/testdata.ldif +0 -101
- data/testserver/ldapserver.rb +0 -209
- data/testserver/testdata.ldif +0 -101
data/.travis.yml
DELETED
@@ -1,55 +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
|
-
# optional
|
11
|
-
- ruby-head
|
12
|
-
- jruby-19mode
|
13
|
-
- jruby-head
|
14
|
-
- rbx-2
|
15
|
-
|
16
|
-
addons:
|
17
|
-
hosts:
|
18
|
-
- ldap.example.org # needed for TLS verification
|
19
|
-
|
20
|
-
services:
|
21
|
-
- docker
|
22
|
-
|
23
|
-
env:
|
24
|
-
- INTEGRATION=openldap
|
25
|
-
|
26
|
-
before_install:
|
27
|
-
- gem update bundler
|
28
|
-
|
29
|
-
install:
|
30
|
-
- >
|
31
|
-
docker run \
|
32
|
-
--hostname ldap.example.org \
|
33
|
-
--env LDAP_TLS_VERIFY_CLIENT=try \
|
34
|
-
-p 389:389 \
|
35
|
-
-p 636:636 \
|
36
|
-
-v "$(pwd)"/test/fixtures/ldif:/container/service/slapd/assets/config/bootstrap/ldif/custom \
|
37
|
-
--name openldap \
|
38
|
-
--detach \
|
39
|
-
osixia/openldap:1.3.0 \
|
40
|
-
--copy-service \
|
41
|
-
--loglevel debug \
|
42
|
-
- bundle install
|
43
|
-
|
44
|
-
script: bundle exec rake ci
|
45
|
-
|
46
|
-
matrix:
|
47
|
-
allow_failures:
|
48
|
-
- rvm: ruby-head
|
49
|
-
- rvm: jruby-19mode
|
50
|
-
- rvm: jruby-head
|
51
|
-
- rvm: rbx-2
|
52
|
-
fast_finish: true
|
53
|
-
|
54
|
-
notifications:
|
55
|
-
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-net-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: [: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 '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", "~> 10.0")
|
34
|
-
s.add_development_dependency("rubocop", "~> 0.42.0")
|
35
|
-
s.add_development_dependency("test-unit")
|
36
|
-
s.add_development_dependency("byebug")
|
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
|