fakeldap 0.0.1 → 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +7 -1
  3. data/lib/fakeldap.rb +133 -10
  4. data/lib/fakeldap/version.rb +1 -1
  5. metadata +50 -191
  6. data/vendor/ruby-ldapserver/COPYING +0 -27
  7. data/vendor/ruby-ldapserver/ChangeLog +0 -83
  8. data/vendor/ruby-ldapserver/Manifest.txt +0 -32
  9. data/vendor/ruby-ldapserver/README +0 -222
  10. data/vendor/ruby-ldapserver/Rakefile +0 -22
  11. data/vendor/ruby-ldapserver/doc/LDAP.html +0 -104
  12. data/vendor/ruby-ldapserver/doc/LDAP/Abandon.html +0 -112
  13. data/vendor/ruby-ldapserver/doc/LDAP/Error.html +0 -115
  14. data/vendor/ruby-ldapserver/doc/LDAP/ResultError.html +0 -241
  15. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/AdminLimitExceeded.html +0 -158
  16. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/AffectsMultipleDSAs.html +0 -158
  17. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/AliasDereferencingProblem.html +0 -158
  18. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/AliasProblem.html +0 -158
  19. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/AttributeOrValueExists.html +0 -158
  20. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/AuthMethodNotSupported.html +0 -158
  21. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/Busy.html +0 -158
  22. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/CompareFalse.html +0 -158
  23. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/CompareTrue.html +0 -158
  24. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/ConfidentialityRequired.html +0 -158
  25. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/ConstraintViolation.html +0 -158
  26. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/EntryAlreadyExists.html +0 -158
  27. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/InappropriateAuthentication.html +0 -158
  28. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/InappropriateMatching.html +0 -158
  29. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/InsufficientAccessRights.html +0 -158
  30. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/InvalidAttributeSyntax.html +0 -158
  31. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/InvalidCredentials.html +0 -158
  32. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/InvalidDNSyntax.html +0 -158
  33. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/IsLeaf.html +0 -158
  34. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/LoopDetect.html +0 -158
  35. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/NamingViolation.html +0 -158
  36. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/NoSuchAttribute.html +0 -158
  37. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/NoSuchObject.html +0 -158
  38. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/NotAllowedOnNonLeaf.html +0 -158
  39. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/NotAllowedOnRDN.html +0 -158
  40. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/ObjectClassModsProhibited.html +0 -158
  41. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/ObjectClassViolation.html +0 -158
  42. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/OperationsError.html +0 -158
  43. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/Other.html +0 -158
  44. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/ProtocolError.html +0 -158
  45. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/Referral.html +0 -158
  46. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/SaslBindInProgress.html +0 -158
  47. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/SizeLimitExceeded.html +0 -158
  48. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/StrongAuthRequired.html +0 -158
  49. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/Success.html +0 -158
  50. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/TimeLimitExceeded.html +0 -158
  51. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/Unavailable.html +0 -158
  52. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/UnavailableCriticalExtension.html +0 -158
  53. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/UndefinedAttributeType.html +0 -158
  54. data/vendor/ruby-ldapserver/doc/LDAP/ResultError/UnwillingToPerform.html +0 -158
  55. data/vendor/ruby-ldapserver/doc/LDAP/Server.html +0 -1056
  56. data/vendor/ruby-ldapserver/doc/LDAP/Server/Connection.html +0 -1353
  57. data/vendor/ruby-ldapserver/doc/LDAP/Server/Filter.html +0 -634
  58. data/vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule.html +0 -1132
  59. data/vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/DefaultMatchingClass.html +0 -219
  60. data/vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/Equality.html +0 -170
  61. data/vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/IA5Downcase.html +0 -143
  62. data/vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/IA5Trim.html +0 -155
  63. data/vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/Integer.html +0 -143
  64. data/vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/Ordering.html +0 -212
  65. data/vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/StringDowncase.html +0 -143
  66. data/vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/StringTrim.html +0 -154
  67. data/vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/Substrings.html +0 -177
  68. data/vendor/ruby-ldapserver/doc/LDAP/Server/Operation.html +0 -2994
  69. data/vendor/ruby-ldapserver/doc/LDAP/Server/Schema.html +0 -2024
  70. data/vendor/ruby-ldapserver/doc/LDAP/Server/Schema/AttributeType.html +0 -1462
  71. data/vendor/ruby-ldapserver/doc/LDAP/Server/Schema/ObjectClass.html +0 -1097
  72. data/vendor/ruby-ldapserver/doc/LDAP/Server/Syntax.html +0 -1254
  73. data/vendor/ruby-ldapserver/doc/LDAP/Server/VERSION.html +0 -134
  74. data/vendor/ruby-ldapserver/doc/_index.html +0 -662
  75. data/vendor/ruby-ldapserver/doc/class_list.html +0 -36
  76. data/vendor/ruby-ldapserver/doc/css/common.css +0 -1
  77. data/vendor/ruby-ldapserver/doc/css/full_list.css +0 -50
  78. data/vendor/ruby-ldapserver/doc/css/style.css +0 -303
  79. data/vendor/ruby-ldapserver/doc/file.README.html +0 -399
  80. data/vendor/ruby-ldapserver/doc/file_list.html +0 -38
  81. data/vendor/ruby-ldapserver/doc/frames.html +0 -13
  82. data/vendor/ruby-ldapserver/doc/index.html +0 -399
  83. data/vendor/ruby-ldapserver/doc/js/app.js +0 -204
  84. data/vendor/ruby-ldapserver/doc/js/full_list.js +0 -112
  85. data/vendor/ruby-ldapserver/doc/js/jquery.js +0 -154
  86. data/vendor/ruby-ldapserver/doc/method_list.html +0 -1571
  87. data/vendor/ruby-ldapserver/doc/top-level-namespace.html +0 -88
  88. data/vendor/ruby-ldapserver/examples/README +0 -89
  89. data/vendor/ruby-ldapserver/examples/mkcert.rb +0 -31
  90. data/vendor/ruby-ldapserver/examples/rbslapd1.rb +0 -111
  91. data/vendor/ruby-ldapserver/examples/rbslapd2.rb +0 -161
  92. data/vendor/ruby-ldapserver/examples/rbslapd3.rb +0 -172
  93. data/vendor/ruby-ldapserver/examples/speedtest.rb +0 -37
  94. data/vendor/ruby-ldapserver/lib/ldap/server.rb +0 -4
  95. data/vendor/ruby-ldapserver/lib/ldap/server/connection.rb +0 -276
  96. data/vendor/ruby-ldapserver/lib/ldap/server/filter.rb +0 -223
  97. data/vendor/ruby-ldapserver/lib/ldap/server/match.rb +0 -283
  98. data/vendor/ruby-ldapserver/lib/ldap/server/operation.rb +0 -487
  99. data/vendor/ruby-ldapserver/lib/ldap/server/preforkserver.rb +0 -93
  100. data/vendor/ruby-ldapserver/lib/ldap/server/result.rb +0 -71
  101. data/vendor/ruby-ldapserver/lib/ldap/server/schema.rb +0 -592
  102. data/vendor/ruby-ldapserver/lib/ldap/server/server.rb +0 -89
  103. data/vendor/ruby-ldapserver/lib/ldap/server/syntax.rb +0 -235
  104. data/vendor/ruby-ldapserver/lib/ldap/server/tcpserver.rb +0 -91
  105. data/vendor/ruby-ldapserver/lib/ldap/server/util.rb +0 -88
  106. data/vendor/ruby-ldapserver/lib/ldap/server/version.rb +0 -11
  107. data/vendor/ruby-ldapserver/test/core.schema +0 -582
  108. data/vendor/ruby-ldapserver/test/encoding_test.rb +0 -279
  109. data/vendor/ruby-ldapserver/test/filter_test.rb +0 -107
  110. data/vendor/ruby-ldapserver/test/match_test.rb +0 -59
  111. data/vendor/ruby-ldapserver/test/schema_test.rb +0 -113
  112. data/vendor/ruby-ldapserver/test/syntax_test.rb +0 -40
  113. data/vendor/ruby-ldapserver/test/test_helper.rb +0 -2
  114. data/vendor/ruby-ldapserver/test/util_test.rb +0 -51
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 1a72584460dc549575b8b53500242c79df86b78b
4
+ data.tar.gz: ba760b58306a32ededbd4cd2fe8aee87f8240254
5
+ SHA512:
6
+ metadata.gz: 0ea9fc3b5afea99ad01fac3d865be2c82c5f4cdadb0fd67bfc93a52d6c5ecb7fc8a86649b6b465fa39e688e7e9f5c25f61cada4f5bfca2554897ee3439114c38
7
+ data.tar.gz: 33a44420cce973f6737af448a744f1c818fc707215294325b117364c6cb235239bc23245828998bc3c3489d8c83ebf2977c328f9e277a58c86aa485c841268e1
data/README.md CHANGED
@@ -1,5 +1,11 @@
1
1
  Install: `gem install fakeldap`
2
2
 
3
- Only supports bind operations for now.
3
+ Supports:
4
+
5
+ - Admin user bind operation
6
+ - Regular user authentication
7
+ - Create (add), read (search), update (modify), and delete operations for users and groups
4
8
 
5
9
  Have a look at [server_spec.rb](http://github.com/aanand/fakeldap/blob/master/spec/server_spec.rb) for usage.
10
+
11
+ Requires: gem 'ruby-ldapserver', '~> 0.5.0' (see Gemfile)
@@ -1,28 +1,110 @@
1
- $:.unshift(File.expand_path('../../vendor/ruby-ldapserver/lib', __FILE__))
2
1
  require 'ldap/server'
3
2
 
4
3
  module FakeLDAP
5
4
  class Server < LDAP::Server
5
+
6
6
  def initialize(options={})
7
7
  @users = {}
8
+ @groups = {}
8
9
  super(default_options.merge(options))
9
10
  end
10
11
 
11
- def add_user(user, pass)
12
- @users[user] = pass
12
+ def add_user(user, pass, mail = nil)
13
+ @users[user] = [pass, mail]
14
+ end
15
+
16
+ def add_to_group(dn, member)
17
+ # Member array keyed on dn
18
+ @groups[dn] = [] unless @groups[dn]
19
+ @groups[dn] << member unless @groups[dn].include?(member)
20
+ end
21
+
22
+ def modify_entry(dn, key, action, value)
23
+ e = @users[dn]
24
+ # Didn't find user => maybe it's a group
25
+ e = @groups[dn] unless e && e[0]
26
+ if e
27
+ # FIXME: Annoying! Proper hash, not just array. Or hide in private method.
28
+ case key
29
+ when 'password'
30
+ e[0] = value
31
+ when 'mail'
32
+ e[1] = value
33
+ when 'member'
34
+ case action
35
+ when :add
36
+ e << value unless e.include?(value)
37
+ when :delete
38
+ e.delete(value)
39
+ end
40
+ end
41
+ end
42
+ end
43
+
44
+ def delete_entry(dn)
45
+ @users.delete(dn[0]) || @groups.delete(dn[0])
13
46
  end
14
47
 
15
48
  def valid_credentials?(user, pass)
16
- @users.has_key?(user) && @users[user] == pass
49
+ @users.has_key?(user) && @users[user][0] == pass
17
50
  end
18
51
 
19
52
  def find_users(basedn, filter)
53
+ result = []
20
54
  basedn_regex = /#{Regexp.escape(basedn)}$/
21
55
  filter_regex = /^#{filter[1]}=#{filter[3]}$/
22
56
 
23
- @users.keys.select { |dn|
24
- dn =~ basedn_regex && dn.split(",").grep(filter_regex).any?
25
- }
57
+ case filter[1]
58
+ when 'objectClass'
59
+ result = @users.keys if filter[3] == 'inetOrgPerson'
60
+ when 'cn'
61
+ @users.keys.select { |dn|
62
+ dn =~ basedn_regex && dn.split(",").grep(filter_regex).any?
63
+ }
64
+ when 'mail'
65
+ @users.keys.each do |dn|
66
+ # Keyed on full cn=...,dn...
67
+ if @users[dn][1] == filter[3]
68
+ result << dn
69
+ end
70
+ end
71
+ result
72
+ else
73
+ result
74
+ end
75
+ end
76
+
77
+ def user_attributes(dn)
78
+ # Create attribute hash here
79
+ if @users[dn]
80
+ {'cn' => ["#{dn}"], 'regular_password' => ["#{ @users[dn][0]}"], 'mail' => ["#{ @users[dn][1]}"], 'disclaimer' => 'Test data - not for operational use'}
81
+ else
82
+ {}
83
+ end
84
+ end
85
+
86
+ def find_groups(basedn, filter)
87
+ # Expected result - array of strings
88
+ result = []
89
+ group = "#{basedn}"
90
+ case filter[1]
91
+ when 'objectClass'
92
+ result = @groups.keys if filter[3] == 'groupOfNames'
93
+ when 'cn'
94
+ result = @groups[group] || []
95
+ when 'member'
96
+ result = [filter[3]] if @groups[group] && @groups[group].include?(filter[3])
97
+ result = @groups.keys if filter[3] == 'groupOfNames'
98
+ end
99
+ result
100
+ end
101
+
102
+ def group_attributes(cn)
103
+ if @groups[cn]
104
+ { 'cn' => ["#{cn}"], 'member' => @groups["#{cn}"] }
105
+ else
106
+ {}
107
+ end
26
108
  end
27
109
 
28
110
  def default_options
@@ -31,6 +113,7 @@ module FakeLDAP
31
113
  :operation_args => [self]
32
114
  }
33
115
  end
116
+
34
117
  end
35
118
 
36
119
  class Operation < LDAP::Server::Operation
@@ -57,10 +140,50 @@ module FakeLDAP
57
140
  "Only equality matches are supported"
58
141
  end
59
142
 
60
- @server.find_users(basedn, filter).each do |dn|
61
- send_SearchResultEntry(dn, {})
143
+ users = @server.find_users(basedn, filter)
144
+ groups = @server.find_groups(basedn, filter)
145
+ if users
146
+ users.each do |dn|
147
+ attributes = @server.user_attributes("#{dn}") || {}
148
+ send_SearchResultEntry(dn, attributes)
149
+ end
150
+ end
151
+ if groups
152
+ groups.each do |dn|
153
+ attributes = @server.group_attributes("#{dn}") || {}
154
+ send_SearchResultEntry(dn, attributes)
155
+ end
156
+ end
157
+ end
158
+
159
+ def add(dn, attr)
160
+ # Barring rocket-science. Always, only one single add
161
+ case attr['objectclass'][0]
162
+ when 'inetOrgPerson'
163
+ @server.add_user(dn, attr[:userPassword], attr[:mail])
164
+ when 'groupofnames'
165
+ @server.add_to_group(dn, attr['member'][0])
62
166
  end
63
167
  end
168
+
169
+ def modify(*args)
170
+ # A hash able to contain an array of arrays... LDAP nuttiness!
171
+ dn = args[0]
172
+ key = args[1].keys.first
173
+ action = args[1][key][0]
174
+ value = args[1][key][1]
175
+ # Barring rocket-science. Always, only one single action.
176
+ @server.modify_entry(dn, key, action, value)
177
+ end
178
+
179
+ # Some silly clients call delete del...
180
+ def del(*args)
181
+ delete(args)
182
+ end
183
+
184
+ def delete(*args)
185
+ dn = args[0]
186
+ @server.delete_entry(dn)
187
+ end
64
188
  end
65
189
  end
66
-
@@ -1,4 +1,4 @@
1
1
  module FakeLDAP
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,219 +1,78 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: fakeldap
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 0
8
- - 1
9
- version: 0.0.1
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
10
5
  platform: ruby
11
- authors:
6
+ authors:
12
7
  - Aanand Prasad
8
+ - Per Gärden
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2010-09-13 00:00:00 -04:00
18
- default_executable:
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2015-06-09 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rspec
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ~>
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 2
30
- - 0
31
- - 0
32
- - beta
33
- - 22
34
- version: 2.0.0.beta.22
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
35
21
  type: :development
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: net-ldap
39
22
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- segments:
46
- - 0
47
- version: "0"
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: net-ldap
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
48
35
  type: :development
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: ruby-debug19
52
36
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- segments:
59
- - 0
60
- version: "0"
61
- type: :development
62
- version_requirements: *id003
63
- description:
64
- email:
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ description: 'Supports: Admin user bind operation, Regular user authentication, Create
43
+ (add), read (search), update (modify), and delete operations for users and groups'
44
+ email:
65
45
  - aanand.prasad@gmail.com
46
+ - per.garden@avalonenterprise.com
66
47
  executables: []
67
-
68
48
  extensions: []
69
-
70
49
  extra_rdoc_files: []
71
-
72
- files:
73
- - lib/fakeldap/version.rb
74
- - lib/fakeldap.rb
75
- - vendor/ruby-ldapserver/ChangeLog
76
- - vendor/ruby-ldapserver/COPYING
77
- - vendor/ruby-ldapserver/doc/_index.html
78
- - vendor/ruby-ldapserver/doc/class_list.html
79
- - vendor/ruby-ldapserver/doc/css/common.css
80
- - vendor/ruby-ldapserver/doc/css/full_list.css
81
- - vendor/ruby-ldapserver/doc/css/style.css
82
- - vendor/ruby-ldapserver/doc/file.README.html
83
- - vendor/ruby-ldapserver/doc/file_list.html
84
- - vendor/ruby-ldapserver/doc/frames.html
85
- - vendor/ruby-ldapserver/doc/index.html
86
- - vendor/ruby-ldapserver/doc/js/app.js
87
- - vendor/ruby-ldapserver/doc/js/full_list.js
88
- - vendor/ruby-ldapserver/doc/js/jquery.js
89
- - vendor/ruby-ldapserver/doc/LDAP/Abandon.html
90
- - vendor/ruby-ldapserver/doc/LDAP/Error.html
91
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/AdminLimitExceeded.html
92
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/AffectsMultipleDSAs.html
93
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/AliasDereferencingProblem.html
94
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/AliasProblem.html
95
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/AttributeOrValueExists.html
96
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/AuthMethodNotSupported.html
97
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/Busy.html
98
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/CompareFalse.html
99
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/CompareTrue.html
100
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/ConfidentialityRequired.html
101
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/ConstraintViolation.html
102
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/EntryAlreadyExists.html
103
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/InappropriateAuthentication.html
104
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/InappropriateMatching.html
105
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/InsufficientAccessRights.html
106
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/InvalidAttributeSyntax.html
107
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/InvalidCredentials.html
108
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/InvalidDNSyntax.html
109
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/IsLeaf.html
110
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/LoopDetect.html
111
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/NamingViolation.html
112
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/NoSuchAttribute.html
113
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/NoSuchObject.html
114
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/NotAllowedOnNonLeaf.html
115
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/NotAllowedOnRDN.html
116
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/ObjectClassModsProhibited.html
117
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/ObjectClassViolation.html
118
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/OperationsError.html
119
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/Other.html
120
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/ProtocolError.html
121
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/Referral.html
122
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/SaslBindInProgress.html
123
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/SizeLimitExceeded.html
124
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/StrongAuthRequired.html
125
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/Success.html
126
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/TimeLimitExceeded.html
127
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/Unavailable.html
128
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/UnavailableCriticalExtension.html
129
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/UndefinedAttributeType.html
130
- - vendor/ruby-ldapserver/doc/LDAP/ResultError/UnwillingToPerform.html
131
- - vendor/ruby-ldapserver/doc/LDAP/ResultError.html
132
- - vendor/ruby-ldapserver/doc/LDAP/Server/Connection.html
133
- - vendor/ruby-ldapserver/doc/LDAP/Server/Filter.html
134
- - vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/DefaultMatchingClass.html
135
- - vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/Equality.html
136
- - vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/IA5Downcase.html
137
- - vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/IA5Trim.html
138
- - vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/Integer.html
139
- - vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/Ordering.html
140
- - vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/StringDowncase.html
141
- - vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/StringTrim.html
142
- - vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule/Substrings.html
143
- - vendor/ruby-ldapserver/doc/LDAP/Server/MatchingRule.html
144
- - vendor/ruby-ldapserver/doc/LDAP/Server/Operation.html
145
- - vendor/ruby-ldapserver/doc/LDAP/Server/Schema/AttributeType.html
146
- - vendor/ruby-ldapserver/doc/LDAP/Server/Schema/ObjectClass.html
147
- - vendor/ruby-ldapserver/doc/LDAP/Server/Schema.html
148
- - vendor/ruby-ldapserver/doc/LDAP/Server/Syntax.html
149
- - vendor/ruby-ldapserver/doc/LDAP/Server/VERSION.html
150
- - vendor/ruby-ldapserver/doc/LDAP/Server.html
151
- - vendor/ruby-ldapserver/doc/LDAP.html
152
- - vendor/ruby-ldapserver/doc/method_list.html
153
- - vendor/ruby-ldapserver/doc/top-level-namespace.html
154
- - vendor/ruby-ldapserver/examples/mkcert.rb
155
- - vendor/ruby-ldapserver/examples/rbslapd1.rb
156
- - vendor/ruby-ldapserver/examples/rbslapd2.rb
157
- - vendor/ruby-ldapserver/examples/rbslapd3.rb
158
- - vendor/ruby-ldapserver/examples/README
159
- - vendor/ruby-ldapserver/examples/speedtest.rb
160
- - vendor/ruby-ldapserver/lib/ldap/server/connection.rb
161
- - vendor/ruby-ldapserver/lib/ldap/server/filter.rb
162
- - vendor/ruby-ldapserver/lib/ldap/server/match.rb
163
- - vendor/ruby-ldapserver/lib/ldap/server/operation.rb
164
- - vendor/ruby-ldapserver/lib/ldap/server/preforkserver.rb
165
- - vendor/ruby-ldapserver/lib/ldap/server/result.rb
166
- - vendor/ruby-ldapserver/lib/ldap/server/schema.rb
167
- - vendor/ruby-ldapserver/lib/ldap/server/server.rb
168
- - vendor/ruby-ldapserver/lib/ldap/server/syntax.rb
169
- - vendor/ruby-ldapserver/lib/ldap/server/tcpserver.rb
170
- - vendor/ruby-ldapserver/lib/ldap/server/util.rb
171
- - vendor/ruby-ldapserver/lib/ldap/server/version.rb
172
- - vendor/ruby-ldapserver/lib/ldap/server.rb
173
- - vendor/ruby-ldapserver/Manifest.txt
174
- - vendor/ruby-ldapserver/Rakefile
175
- - vendor/ruby-ldapserver/README
176
- - vendor/ruby-ldapserver/test/core.schema
177
- - vendor/ruby-ldapserver/test/encoding_test.rb
178
- - vendor/ruby-ldapserver/test/filter_test.rb
179
- - vendor/ruby-ldapserver/test/match_test.rb
180
- - vendor/ruby-ldapserver/test/schema_test.rb
181
- - vendor/ruby-ldapserver/test/syntax_test.rb
182
- - vendor/ruby-ldapserver/test/test_helper.rb
183
- - vendor/ruby-ldapserver/test/util_test.rb
50
+ files:
184
51
  - LICENSE
185
52
  - README.md
186
- has_rdoc: true
187
- homepage: http://github.com/aanand/fakeldap
53
+ - lib/fakeldap.rb
54
+ - lib/fakeldap/version.rb
55
+ homepage: http://github.com/per-garden/fakeldap
188
56
  licenses: []
189
-
57
+ metadata: {}
190
58
  post_install_message:
191
59
  rdoc_options: []
192
-
193
- require_paths:
60
+ require_paths:
194
61
  - lib
195
- required_ruby_version: !ruby/object:Gem::Requirement
196
- none: false
197
- requirements:
62
+ required_ruby_version: !ruby/object:Gem::Requirement
63
+ requirements:
198
64
  - - ">="
199
- - !ruby/object:Gem::Version
200
- segments:
201
- - 0
202
- version: "0"
203
- required_rubygems_version: !ruby/object:Gem::Requirement
204
- none: false
205
- requirements:
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ required_rubygems_version: !ruby/object:Gem::Requirement
68
+ requirements:
206
69
  - - ">="
207
- - !ruby/object:Gem::Version
208
- segments:
209
- - 0
210
- version: "0"
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
211
72
  requirements: []
212
-
213
73
  rubyforge_project:
214
- rubygems_version: 1.3.7
74
+ rubygems_version: 2.4.1
215
75
  signing_key:
216
- specification_version: 3
76
+ specification_version: 4
217
77
  summary: A fake LDAP server for use in testing
218
78
  test_files: []
219
-