datacom-net-ldap 0.5.0.datacom

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +7 -0
  2. data/.autotest +11 -0
  3. data/.rspec +2 -0
  4. data/Contributors.rdoc +22 -0
  5. data/Hacking.rdoc +68 -0
  6. data/History.rdoc +198 -0
  7. data/License.rdoc +29 -0
  8. data/Manifest.txt +50 -0
  9. data/README.rdoc +49 -0
  10. data/Rakefile +74 -0
  11. data/autotest/discover.rb +1 -0
  12. data/lib/net-ldap.rb +2 -0
  13. data/lib/net/ber.rb +320 -0
  14. data/lib/net/ber/ber_parser.rb +168 -0
  15. data/lib/net/ber/core_ext.rb +62 -0
  16. data/lib/net/ber/core_ext/array.rb +96 -0
  17. data/lib/net/ber/core_ext/bignum.rb +22 -0
  18. data/lib/net/ber/core_ext/false_class.rb +10 -0
  19. data/lib/net/ber/core_ext/fixnum.rb +66 -0
  20. data/lib/net/ber/core_ext/string.rb +78 -0
  21. data/lib/net/ber/core_ext/true_class.rb +12 -0
  22. data/lib/net/ldap.rb +1646 -0
  23. data/lib/net/ldap/dataset.rb +154 -0
  24. data/lib/net/ldap/dn.rb +225 -0
  25. data/lib/net/ldap/entry.rb +185 -0
  26. data/lib/net/ldap/filter.rb +781 -0
  27. data/lib/net/ldap/password.rb +37 -0
  28. data/lib/net/ldap/pdu.rb +273 -0
  29. data/lib/net/ldap/version.rb +5 -0
  30. data/lib/net/snmp.rb +270 -0
  31. data/net-ldap.gemspec +61 -0
  32. data/spec/integration/ssl_ber_spec.rb +36 -0
  33. data/spec/spec.opts +2 -0
  34. data/spec/spec_helper.rb +5 -0
  35. data/spec/unit/ber/ber_spec.rb +141 -0
  36. data/spec/unit/ber/core_ext/string_spec.rb +51 -0
  37. data/spec/unit/ldap/dn_spec.rb +80 -0
  38. data/spec/unit/ldap/entry_spec.rb +51 -0
  39. data/spec/unit/ldap/filter_spec.rb +115 -0
  40. data/spec/unit/ldap_spec.rb +78 -0
  41. data/test/common.rb +3 -0
  42. data/test/test_entry.rb +59 -0
  43. data/test/test_filter.rb +122 -0
  44. data/test/test_ldap_connection.rb +24 -0
  45. data/test/test_ldif.rb +79 -0
  46. data/test/test_password.rb +17 -0
  47. data/test/test_rename.rb +77 -0
  48. data/test/test_snmp.rb +114 -0
  49. data/test/testdata.ldif +101 -0
  50. data/testserver/ldapserver.rb +210 -0
  51. data/testserver/testdata.ldif +101 -0
  52. metadata +213 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 58b1e9b83ccb46cac9c9a06c419b3162e6050a6d
4
+ data.tar.gz: 5d4113afed64b56bf3c0a6f96a9f9f1599a92e24
5
+ SHA512:
6
+ metadata.gz: a2e16a40f133ce7f445052e7c7a345f5c5999e2d6ce3a3d89d0adfbf8c64b255974ba730eaa3627dd2590220facb14d53bca530df639069db6d55311f7d2fe56
7
+ data.tar.gz: 9b8dafe9a048b79d41f78514027d798b2ed1a0d43623cefa024907a80b6e2fc7e25d719453ac35e11634b46f751a140fc2c76a2a5cfe99b6a2bf82c2aa080f14
@@ -0,0 +1,11 @@
1
+ require 'rubygems'
2
+ #require 'redgreen/autotest'
3
+ require 'autotest/timestamp'
4
+
5
+ Autotest.add_hook :initialize do |autotest|
6
+ %w{.git .hg .DS_Store ._* tmp log doc}.each do |exception|
7
+ autotest.add_exception(exception)
8
+ end
9
+ end
10
+
11
+ # vim: syntax=ruby
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --colour
2
+ --format documentation
@@ -0,0 +1,22 @@
1
+ == Contributors
2
+
3
+ Net::LDAP was originally developed by:
4
+
5
+ * Francis Cianfrocca (garbagecat)
6
+
7
+ Contributions since:
8
+
9
+ * Emiel van de Laar (emiel)
10
+ * Rory O'Connell (roryo)
11
+ * Kaspar Schiess (kschiess)
12
+ * Austin Ziegler (halostatue)
13
+ * Dimitrij Denissenko (dim)
14
+ * James Hewitt (jamstah)
15
+ * Kouhei Sutou (kou)
16
+ * Lars Tobias Skjong-Børsting (larstobi)
17
+ * Rory O'Connell (roryo)
18
+ * Tony Headford (tonyheadford)
19
+ * Derek Harmel (derekharmel)
20
+ * Erik Hetzner (egh)
21
+ * nowhereman
22
+ * David J. Lee (DavidJLee)
@@ -0,0 +1,68 @@
1
+ = Hacking on Net::LDAP
2
+
3
+ We welcome your contributions to Net::LDAP. We accept most contributions, but
4
+ there are ways to increase the chance of your patch being accepted quickly.
5
+
6
+ == Licensing
7
+
8
+ Net::LDAP 0.2 and later are be licensed under an MIT-style license; any
9
+ contributions after 2010-04-20 must be under this license to be accepted.
10
+
11
+ == Formatting
12
+
13
+ * Your patches should be formatted like the rest of Net::LDAP.
14
+ * We use a text wrap of 76–78 characters, especially for documentation
15
+ contents.
16
+ * Operators should have spaces around them.
17
+ * Method definitions should have parentheses around arguments (and no
18
+ parentheses if there are no arguments).
19
+ * Indentation should be kept as flat as possible; this may mean being more
20
+ explicit with constants.
21
+
22
+
23
+ We welcome your contributions to Net::LDAP. To increase the chances of your
24
+ patches being accepted, we recommend that you follow the guidelines below:
25
+
26
+ == Documentation
27
+
28
+ * Documentation: {net-ldap}[http://net-ldap.rubyforge.org/]
29
+
30
+ It is very important that, if you add new methods or objects, your code is
31
+ well-documented. The purpose of the changes should be clearly described so that
32
+ even if this is a feature we do not use, we can understand its purpose.
33
+
34
+ We also encourage documentation-only contributions that improve the
35
+ documentation of Net::LDAP.
36
+
37
+ We encourage you to provide a good summary of your as a modification to
38
+ +History.rdoc+, and if you're not yet named as a contributor, include a
39
+ modification to +Contributors.rdoc+ to add yourself.
40
+
41
+ == Tests
42
+
43
+ The Net::LDAP team uses RSpec for unit testing; all changes must have rspec
44
+ tests for any new or changed features.
45
+
46
+ Your changes should have been tested against at least one real LDAP server; the
47
+ current tests are not sufficient to find all possible bugs. It's unlikely that
48
+ they will ever be sufficient given the variations in LDAP server behaviour.
49
+
50
+ If you're introducing a new feature, it would be preferred for you to provide
51
+ us with a sample LDIF data file for importing into LDAP servers for testing.
52
+
53
+ == Development Dependencies
54
+
55
+ Net::LDAP uses several libraries during development, all of which can be
56
+ installed using RubyGems.
57
+
58
+ * *hoe*
59
+ * *hoe-git*
60
+ * *metaid*
61
+ * *rspec*
62
+ * *flexmock*
63
+
64
+ == Participation
65
+
66
+ * RubyForge: {net-ldap}[http://rubyforge.org/projects/net-ldap]
67
+ * GitHub: {ruby-ldap/ruby-net-ldap}[https://github.com/ruby-ldap/ruby-net-ldap/]
68
+ * Group: {ruby-ldap}[http://groups.google.com/group/ruby-ldap]
@@ -0,0 +1,198 @@
1
+ === Net::LDAP 0.5.0 / 2013-07-22
2
+ * Major changes:
3
+ * Required Ruby version is >=1.9.3
4
+ * Major enhancements:
5
+ * Added alias dereferencing (@ngwilson)
6
+ * BER now unescapes characters that are already escaped in the source string (@jzinn)
7
+ * BerIdentifiedString will now fall back to ASCII-8 encoding if the source Ruby object cannot be encoded in UTF-8 (@lfu)
8
+ * Bug fixes:
9
+ * Fixed nil variable error when following a reference response (@cmdrclueless)
10
+ * Fixed FilterParser unable to parse multibyte strings (@satoryu)
11
+ * Return ConverterNotFound when dealing with a potentially corrupt data response (@jamuc)
12
+
13
+ === Net::LDAP 0.3.1 / 2012-02-15
14
+ * Bug Fixes:
15
+ * Bundler should now work again
16
+
17
+ === Net::LDAP 0.3.0 / 2012-02-14
18
+ * Major changes:
19
+ * Now uses UTF-8 strings instead of ASCII-8 per the LDAP RFC
20
+ * Major Enhancements:
21
+ * Adding continuation reference processing
22
+ * Bug Fixes:
23
+ * Fixes usupported object type #139
24
+ * Fixes Net::LDAP namespace errors
25
+ * Return nil instead of an empty array if the search fails
26
+
27
+ === Net::LDAP 0.2.2 / 2011-03-26
28
+ * Bug Fixes:
29
+ * Fixed the call to Net::LDAP.modify_ops from Net::LDAP#modify.
30
+
31
+ === Net::LDAP 0.2.1 / 2011-03-23
32
+ * Bug Fixes:
33
+ * Net::LDAP.modify_ops was broken and is now fixed.
34
+
35
+ === Net::LDAP 0.2 / 2011-03-22
36
+ * Major Enhancements:
37
+ * Net::LDAP::Filter changes:
38
+ * Filters can only be constructed using our custom constructors (eq, ge,
39
+ etc.). Cleaned up the code to reflect the private new.
40
+ * Fixed #to_ber to output a BER representation for :ne filters. Simplified
41
+ the BER construction for substring matching.
42
+ * Added Filter.join(left, right), Filter.intersect(left, right), and
43
+ Filter.negate(filter) to match Filter#&, Filter#|, and Filter#~@ to
44
+ prevent those operators from having problems with the private new.
45
+ * Added Filter.present and Filter.present? aliases for the method
46
+ previously only known as Filter.pres.
47
+ * Added Filter.escape to escape strings for use in filters, based on
48
+ rfc4515.
49
+ * Added Filter.equals, Filter.begins, Filter.ends and Filter.contains,
50
+ which automatically escape input for use in a filter string.
51
+ * Cleaned up Net::LDAP::Filter::FilterParser to handle branches better.
52
+ Fixed some of the regular expressions to be more canonically defined.
53
+ * Correctly handles single-branch branches.
54
+ * Cleaned up the string representation of Filter objects.
55
+ * Added experimental support for RFC4515 extensible matching (e.g.,
56
+ "(cn:caseExactMatch:=Fred Flintstone)"); provided by "nowhereman".
57
+ * Net::LDAP::DN class representing an automatically escaping/unescaping
58
+ distinguished name for LDAP queries.
59
+ * Minor Enhancements:
60
+ * SSL capabilities will be enabled or disabled based on whether we can load
61
+ OpenSSL successfully or not.
62
+ * Moved the core class extensions extensions from being in the Net::LDAP
63
+ hierarchy to the Net::BER hierarchy as most of the methods therein are
64
+ related to BER-encoding values. This will make extracting Net::BER from
65
+ Net::LDAP easier in the future.
66
+ * Added some unit tests for the BER core extensions.
67
+ * Paging controls are only sent where they are supported.
68
+ * Documentation Changes:
69
+ * Core class extension methods under Net::BER.
70
+ * Extensive changes to Net::BER documentation.
71
+ * Cleaned up some rdoc oddities, suppressed empty documentation sections
72
+ where possible.
73
+ * Added a document describing how to contribute to Net::LDAP most
74
+ effectively.
75
+ * Added a document recognizing contributors to Net::LDAP.
76
+ * Extended unit testing:
77
+ * Added some unit tests for the BER core extensions.
78
+ * The LDIF test data file was split for Ruby 1.9 regexp support.
79
+ * Added a cruisecontrol.rb task.
80
+ * Converted some test/unit tests to specs.
81
+ * Code clean-up:
82
+ * Made the formatting of code consistent across all files.
83
+ * Removed Net::BER::BERParser::TagClasses as it does not appear to be used.
84
+ * Replaced calls to #to_a with calls to Kernel#Array; since Ruby 1.8.3, the
85
+ default #to_a implementation has been deprecated and should be replaced
86
+ either with calls to Kernel#Array or [value].flatten(1).
87
+ * Modified #add and #modify to return a Pdu#result_code instead of a
88
+ Pdu#result. This may be changed in Net::LDAP 1.0 to return the full
89
+ Pdu#result, but if we do so, it will be that way for all LDAP calls
90
+ involving Pdu objects.
91
+ * Renamed Net::LDAP::Psw to Net::LDAP::Password with a corresponding filename
92
+ change.
93
+ * Removed the stub file lib/net/ldif.rb and class Net::LDIF.
94
+ * Project Management:
95
+ * Changed the license from Ruby + GPL to MIT with the agreement of the
96
+ original author (Francis Cianfrocca) and the named contributors. Versions
97
+ prior to 0.2.0 are still available under the Ruby + GPL license.
98
+
99
+ === Net::LDAP 0.1.1 / 2010-03-18
100
+ * Fixing a critical problem with sockets.
101
+
102
+ === Net::LDAP 0.1 / 2010-03-17
103
+ * Small fixes throughout, more to come.
104
+ * Ruby 1.9 support added.
105
+ * Ruby 1.8.6 and below support removed. If we can figure out a compatible way
106
+ to reintroduce this, we will.
107
+ * New maintainers, new project repository location. Please see the README.txt.
108
+
109
+ === Net::LDAP 0.0.5 / 2009-03-xx
110
+ * 13 minor enhancements:
111
+ * Added Net::LDAP::Entry#to_ldif
112
+ * Supported rootDSE searches with a new API.
113
+ * Added [preliminary (still undocumented) support for SASL authentication.
114
+ * Supported several constructs from the server side of the LDAP protocol.
115
+ * Added a "consuming" String#read_ber! method.
116
+ * Added some support for SNMP data-handling.
117
+ * Belatedly added a patch contributed by Kouhei Sutou last October.
118
+ The patch adds start_tls support.
119
+ * Added Net::LDAP#search_subschema_entry
120
+ * Added Net::LDAP::Filter#parse_ber, which constructs Net::LDAP::Filter
121
+ objects directly from BER objects that represent search filters in
122
+ LDAP SearchRequest packets.
123
+ * Added Net::LDAP::Filter#execute, which allows arbitrary processing
124
+ based on LDAP filters.
125
+ * Changed Net::LDAP::Entry so it can be marshalled and unmarshalled.
126
+ Thanks to an anonymous feature requester who only left the name
127
+ "Jammy."
128
+ * Added support for binary values in Net::LDAP::Entry LDIF conversions
129
+ and marshalling.
130
+ * Migrated to 'hoe' as the new project droid.
131
+ * 14 bugs fixed:
132
+ * Silenced some annoying warnings in filter.rb. Thanks to "barjunk"
133
+ for pointing this out.
134
+ * Some fairly extensive performance optimizations in the BER parser.
135
+ * Fixed a bug in Net::LDAP::Entry::from_single_ldif_string noticed by
136
+ Matthias Tarasiewicz.
137
+ * Removed an erroneous LdapError value, noticed by Kouhei Sutou.
138
+ * Supported attributes containing blanks (cn=Babs Jensen) to
139
+ Filter#construct. Suggested by an anonymous Rubyforge user.
140
+ * Added missing syntactic support for Filter ANDs, NOTs and a few other
141
+ things.
142
+ * Extended support for server-reported error messages. This was provisionally
143
+ added to Net::LDAP#add, and eventually will be added to other methods.
144
+ * Fixed bug in Net::LDAP#bind. We were ignoring the passed-in auth parm.
145
+ Thanks to Kouhei Sutou for spotting it.
146
+ * Patched filter syntax to support octal \XX codes. Thanks to Kouhei Sutou
147
+ for the patch.
148
+ * Applied an additional patch from Kouhei.
149
+ * Allowed comma in filter strings, suggested by Kouhei.
150
+ * 04Sep07, Changed four error classes to inherit from StandardError rather
151
+ Exception, in order to be friendlier to irb. Suggested by Kouhei.
152
+ * Ensure connections are closed. Thanks to Kristian Meier.
153
+ * Minor bug fixes here and there.
154
+
155
+ === Net::LDAP 0.0.4 / 2006-08-15
156
+ * Undeprecated Net::LDAP#modify. Thanks to Justin Forder for
157
+ providing the rationale for this.
158
+ * Added a much-expanded set of special characters to the parser
159
+ for RFC-2254 filters. Thanks to Andre Nathan.
160
+ * Changed Net::LDAP#search so you can pass it a filter in string form.
161
+ The conversion to a Net::LDAP::Filter now happens automatically.
162
+ * Implemented Net::LDAP#bind_as (preliminary and subject to change).
163
+ Thanks for Simon Claret for valuable suggestions and for helping test.
164
+ * Fixed bug in Net::LDAP#open that was preventing #open from being
165
+ called more than one on a given Net::LDAP object.
166
+
167
+ === Net::LDAP 0.0.3 / 2006-07-26
168
+ * Added simple TLS encryption.
169
+ Thanks to Garett Shulman for suggestions and for helping test.
170
+
171
+ === Net::LDAP 0.0.2 / 2006-07-12
172
+ * Fixed malformation in distro tarball and gem.
173
+ * Improved documentation.
174
+ * Supported "paged search control."
175
+ * Added a range of API improvements.
176
+ * Thanks to Andre Nathan, andre@digirati.com.br, for valuable
177
+ suggestions.
178
+ * Added support for LE and GE search filters.
179
+ * Added support for Search referrals.
180
+ * Fixed a regression with openldap 2.2.x and higher caused
181
+ by the introduction of RFC-2696 controls. Thanks to Andre
182
+ Nathan for reporting the problem.
183
+ * Added support for RFC-2254 filter syntax.
184
+
185
+ === Net::LDAP 0.0.1 / 2006-05-01
186
+ * Initial release.
187
+ * Client functionality is near-complete, although the APIs
188
+ are not guaranteed and may change depending on feedback
189
+ from the community.
190
+ * We're internally working on a Ruby-based implementation
191
+ of a full-featured, production-quality LDAP server,
192
+ which will leverage the underlying LDAP and BER functionality
193
+ in Net::LDAP.
194
+ * Please tell us if you would be interested in seeing a public
195
+ release of the LDAP server.
196
+ * Grateful acknowledgement to Austin Ziegler, who reviewed
197
+ this code and provided the release framework, including
198
+ minitar.
@@ -0,0 +1,29 @@
1
+ == License
2
+
3
+ This software is available under the terms of the MIT license.
4
+
5
+ Copyright 2006–2011 by Francis Cianfrocca and other contributors.
6
+
7
+ Permission is hereby granted, free of charge, to any person obtaining
8
+ a copy of this software and associated documentation files (the
9
+ "Software"), to deal in the Software without restriction, including
10
+ without limitation the rights to use, copy, modify, merge, publish,
11
+ distribute, sublicense, and/or sell copies of the Software, and to
12
+ permit persons to whom the Software is furnished to do so, subject to
13
+ the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be
16
+ included in all copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
22
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
23
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
24
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25
+
26
+ === Notice of License Change
27
+
28
+ Versions prior to 0.2 were under Ruby's dual license with the GNU GPL. With
29
+ this release (0.2), Net::LDAP is now under the MIT license.
@@ -0,0 +1,50 @@
1
+ .autotest
2
+ .rspec
3
+ Contributors.rdoc
4
+ Hacking.rdoc
5
+ History.rdoc
6
+ License.rdoc
7
+ Manifest.txt
8
+ README.rdoc
9
+ Rakefile
10
+ autotest/discover.rb
11
+ lib/net-ldap.rb
12
+ lib/net/ber.rb
13
+ lib/net/ber/ber_parser.rb
14
+ lib/net/ber/core_ext.rb
15
+ lib/net/ber/core_ext/array.rb
16
+ lib/net/ber/core_ext/bignum.rb
17
+ lib/net/ber/core_ext/false_class.rb
18
+ lib/net/ber/core_ext/fixnum.rb
19
+ lib/net/ber/core_ext/string.rb
20
+ lib/net/ber/core_ext/true_class.rb
21
+ lib/net/ldap.rb
22
+ lib/net/ldap/dataset.rb
23
+ lib/net/ldap/dn.rb
24
+ lib/net/ldap/entry.rb
25
+ lib/net/ldap/filter.rb
26
+ lib/net/ldap/password.rb
27
+ lib/net/ldap/pdu.rb
28
+ lib/net/ldap/version.rb
29
+ lib/net/snmp.rb
30
+ net-ldap.gemspec
31
+ spec/integration/ssl_ber_spec.rb
32
+ spec/spec.opts
33
+ spec/spec_helper.rb
34
+ spec/unit/ber/ber_spec.rb
35
+ spec/unit/ber/core_ext/string_spec.rb
36
+ spec/unit/ldap/dn_spec.rb
37
+ spec/unit/ldap/entry_spec.rb
38
+ spec/unit/ldap/filter_spec.rb
39
+ spec/unit/ldap_spec.rb
40
+ test/common.rb
41
+ test/test_entry.rb
42
+ test/test_filter.rb
43
+ test/test_ldap_connection.rb
44
+ test/test_ldif.rb
45
+ test/test_password.rb
46
+ test/test_rename.rb
47
+ test/test_snmp.rb
48
+ test/testdata.ldif
49
+ testserver/ldapserver.rb
50
+ testserver/testdata.ldif
@@ -0,0 +1,49 @@
1
+ <b>Forked on Datacom account in order to tag it to a fixed point - Brad Murray</b>
2
+
3
+ = Net::LDAP for Ruby {<img src="https://travis-ci.org/ruby-ldap/ruby-net-ldap.png" />}[https://travis-ci.org/ruby-ldap/ruby-net-ldap]
4
+
5
+ == Description
6
+
7
+ Net::LDAP for Ruby (also called net-ldap) implements client access for the
8
+ Lightweight Directory Access Protocol (LDAP), an IETF standard protocol for
9
+ accessing distributed directory services. Net::LDAP is written completely in
10
+ Ruby with no external dependencies. It supports most LDAP client features and a
11
+ subset of server features as well.
12
+
13
+ Net::LDAP has been tested against modern popular LDAP servers including
14
+ OpenLDAP and Active Directory. The current release is mostly compliant with
15
+ earlier versions of the IETF LDAP RFCs (2251–2256, 2829–2830, 3377, and 3771).
16
+ Our roadmap for Net::LDAP 1.0 is to gain full <em>client</em> compliance with
17
+ the most recent LDAP RFCs (4510–4519, plus portions of 4520–4532).
18
+
19
+ == Where
20
+
21
+ * {RubyForge}[http://rubyforge.org/projects/net-ldap]
22
+ * {GitHub}[https://github.com/ruby-ldap/ruby-net-ldap]
23
+ * {ruby-ldap@googlegroups.com}[http://groups.google.com/group/ruby-ldap]
24
+ * {Documentation}[http://net-ldap.rubyforge.org/]
25
+
26
+ The Net::LDAP for Ruby documentation, project description, and main downloads
27
+ can currently be found on {RubyForge}[http://rubyforge.org/projects/net-ldap].
28
+
29
+ == Synopsis
30
+
31
+ See Net::LDAP for documentation and usage samples.
32
+
33
+ == Requirements
34
+
35
+ Net::LDAP requires a Ruby 1.9.3 compatible interpreter or better.
36
+
37
+ == Install
38
+
39
+ Net::LDAP is a pure Ruby library. It does not require any external libraries.
40
+ You can install the RubyGems version of Net::LDAP available from the usual
41
+ sources.
42
+
43
+ gem install net-ldap
44
+
45
+ Simply require either 'net-ldap' or 'net/ldap'.
46
+
47
+ :include: Contributors.rdoc
48
+
49
+ :include: License.rdoc