fakeldap 0.0.1 → 0.1

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.
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
-