my-ruby-net-ldap 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/COPYING ADDED
@@ -0,0 +1,272 @@
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 2, June 1991
3
+
4
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street,
5
+ Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and
6
+ distribute verbatim copies of this license document, but changing it is not
7
+ allowed.
8
+
9
+ Preamble
10
+
11
+ The licenses for most software are designed to take away your freedom to
12
+ share and change it. By contrast, the GNU General Public License is
13
+ intended to guarantee your freedom to share and change free software--to
14
+ make sure the software is free for all its users. This General Public
15
+ License applies to most of the Free Software Foundation's software and to
16
+ any other program whose authors commit to using it. (Some other Free
17
+ Software Foundation software is covered by the GNU Lesser General Public
18
+ License instead.) You can apply it to your programs, too.
19
+
20
+ When we speak of free software, we are referring to freedom, not price. Our
21
+ General Public Licenses are designed to make sure that you have the freedom
22
+ to distribute copies of free software (and charge for this service if you
23
+ wish), that you receive source code or can get it if you want it, that you
24
+ can change the software or use pieces of it in new free programs; and that
25
+ you know you can do these things.
26
+
27
+ To protect your rights, we need to make restrictions that forbid anyone to
28
+ deny you these rights or to ask you to surrender the rights. These
29
+ restrictions translate to certain responsibilities for you if you distribute
30
+ copies of the software, or if you modify it.
31
+
32
+ For example, if you distribute copies of such a program, whether gratis or
33
+ for a fee, you must give the recipients all the rights that you have. You
34
+ must make sure that they, too, receive or can get the source code. And you
35
+ must show them these terms so they know their rights.
36
+
37
+ We protect your rights with two steps: (1) copyright the software, and (2)
38
+ offer you this license which gives you legal permission to copy, distribute
39
+ and/or modify the software.
40
+
41
+ Also, for each author's protection and ours, we want to make certain that
42
+ everyone understands that there is no warranty for this free software. If
43
+ the software is modified by someone else and passed on, we want its
44
+ recipients to know that what they have is not the original, so that any
45
+ problems introduced by others will not reflect on the original authors'
46
+ reputations.
47
+
48
+ Finally, any free program is threatened constantly by software patents. We
49
+ wish to avoid the danger that redistributors of a free program will
50
+ individually obtain patent licenses, in effect making the program
51
+ proprietary. To prevent this, we have made it clear that any patent must be
52
+ licensed for everyone's free use or not licensed at all.
53
+
54
+ The precise terms and conditions for copying, distribution and modification
55
+ follow.
56
+
57
+ GNU GENERAL PUBLIC LICENSE
58
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
59
+
60
+ 0. This License applies to any program or other work which contains a notice
61
+ placed by the copyright holder saying it may be distributed under the
62
+ terms of this General Public License. The "Program", below, refers to
63
+ any such program or work, and a "work based on the Program" means either
64
+ the Program or any derivative work under copyright law: that is to say, a
65
+ work containing the Program or a portion of it, either verbatim or with
66
+ modifications and/or translated into another language. (Hereinafter,
67
+ translation is included without limitation in the term "modification".)
68
+ Each licensee is addressed as "you".
69
+
70
+ Activities other than copying, distribution and modification are not
71
+ covered by this License; they are outside its scope. The act of running
72
+ the Program is not restricted, and the output from the Program is covered
73
+ only if its contents constitute a work based on the Program (independent
74
+ of having been made by running the Program). Whether that is true depends
75
+ on what the Program does.
76
+
77
+ 1. You may copy and distribute verbatim copies of the Program's source code
78
+ as you receive it, in any medium, provided that you conspicuously and
79
+ appropriately publish on each copy an appropriate copyright notice and
80
+ disclaimer of warranty; keep intact all the notices that refer to this
81
+ License and to the absence of any warranty; and give any other recipients
82
+ of the Program a copy of this License along with the Program.
83
+
84
+ You may charge a fee for the physical act of transferring a copy, and you
85
+ may at your option offer warranty protection in exchange for a fee.
86
+
87
+ 2. You may modify your copy or copies of the Program or any portion of it,
88
+ thus forming a work based on the Program, and copy and distribute such
89
+ modifications or work under the terms of Section 1 above, provided that
90
+ you also meet all of these conditions:
91
+
92
+ a) You must cause the modified files to carry prominent notices stating
93
+ that you changed the files and the date of any change.
94
+
95
+ b) You must cause any work that you distribute or publish, that in whole
96
+ or in part contains or is derived from the Program or any part
97
+ thereof, to be licensed as a whole at no charge to all third parties
98
+ under the terms of this License.
99
+
100
+ c) If the modified program normally reads commands interactively when
101
+ run, you must cause it, when started running for such interactive use
102
+ in the most ordinary way, to print or display an announcement
103
+ including an appropriate copyright notice and a notice that there is
104
+ no warranty (or else, saying that you provide a warranty) and that
105
+ users may redistribute the program under these conditions, and telling
106
+ the user how to view a copy of this License. (Exception: if the
107
+ Program itself is interactive but does not normally print such an
108
+ announcement, your work based on the Program is not required to print
109
+ an announcement.)
110
+
111
+ These requirements apply to the modified work as a whole. If
112
+ identifiable sections of that work are not derived from the Program, and
113
+ can be reasonably considered independent and separate works in
114
+ themselves, then this License, and its terms, do not apply to those
115
+ sections when you distribute them as separate works. But when you
116
+ distribute the same sections as part of a whole which is a work based on
117
+ the Program, the distribution of the whole must be on the terms of this
118
+ License, whose permissions for other licensees extend to the entire
119
+ whole, and thus to each and every part regardless of who wrote it.
120
+
121
+ Thus, it is not the intent of this section to claim rights or contest
122
+ your rights to work written entirely by you; rather, the intent is to
123
+ exercise the right to control the distribution of derivative or
124
+ collective works based on the Program.
125
+
126
+ In addition, mere aggregation of another work not based on the Program
127
+ with the Program (or with a work based on the Program) on a volume of a
128
+ storage or distribution medium does not bring the other work under the
129
+ scope of this License.
130
+
131
+ 3. You may copy and distribute the Program (or a work based on it, under
132
+ Section 2) in object code or executable form under the terms of Sections
133
+ 1 and 2 above provided that you also do one of the following:
134
+
135
+ a) Accompany it with the complete corresponding machine-readable source
136
+ code, which must be distributed under the terms of Sections 1 and 2
137
+ above on a medium customarily used for software interchange; or,
138
+
139
+ b) Accompany it with a written offer, valid for at least three years, to
140
+ give any third party, for a charge no more than your cost of
141
+ physically performing source distribution, a complete machine-readable
142
+ copy of the corresponding source code, to be distributed under the
143
+ terms of Sections 1 and 2 above on a medium customarily used for
144
+ software interchange; or,
145
+
146
+ c) Accompany it with the information you received as to the offer to
147
+ distribute corresponding source code. (This alternative is allowed
148
+ only for noncommercial distribution and only if you received the
149
+ program in object code or executable form with such an offer, in
150
+ accord with Subsection b above.)
151
+
152
+ The source code for a work means the preferred form of the work for
153
+ making modifications to it. For an executable work, complete source code
154
+ means all the source code for all modules it contains, plus any
155
+ associated interface definition files, plus the scripts used to control
156
+ compilation and installation of the executable. However, as a special
157
+ exception, the source code distributed need not include anything that is
158
+ normally distributed (in either source or binary form) with the major
159
+ components (compiler, kernel, and so on) of the operating system on which
160
+ the executable runs, unless that component itself accompanies the
161
+ executable.
162
+
163
+ If distribution of executable or object code is made by offering access
164
+ to copy from a designated place, then offering equivalent access to copy
165
+ the source code from the same place counts as distribution of the source
166
+ code, even though third parties are not compelled to copy the source
167
+ along with the object code.
168
+
169
+ 4. You may not copy, modify, sublicense, or distribute the Program except as
170
+ expressly provided under this License. Any attempt otherwise to copy,
171
+ modify, sublicense or distribute the Program is void, and will
172
+ automatically terminate your rights under this License. However, parties
173
+ who have received copies, or rights, from you under this License will not
174
+ have their licenses terminated so long as such parties remain in full
175
+ compliance.
176
+
177
+ 5. You are not required to accept this License, since you have not signed
178
+ it. However, nothing else grants you permission to modify or distribute
179
+ the Program or its derivative works. These actions are prohibited by law
180
+ if you do not accept this License. Therefore, by modifying or
181
+ distributing the Program (or any work based on the Program), you indicate
182
+ your acceptance of this License to do so, and all its terms and
183
+ conditions for copying, distributing or modifying the Program or works
184
+ based on it.
185
+
186
+ 6. Each time you redistribute the Program (or any work based on the
187
+ Program), the recipient automatically receives a license from the
188
+ original licensor to copy, distribute or modify the Program subject to
189
+ these terms and conditions. You may not impose any further restrictions
190
+ on the recipients' exercise of the rights granted herein. You are not
191
+ responsible for enforcing compliance by third parties to this License.
192
+
193
+ 7. If, as a consequence of a court judgment or allegation of patent
194
+ infringement or for any other reason (not limited to patent issues),
195
+ conditions are imposed on you (whether by court order, agreement or
196
+ otherwise) that contradict the conditions of this License, they do not
197
+ excuse you from the conditions of this License. If you cannot distribute
198
+ so as to satisfy simultaneously your obligations under this License and
199
+ any other pertinent obligations, then as a consequence you may not
200
+ distribute the Program at all. For example, if a patent license would
201
+ not permit royalty-free redistribution of the Program by all those who
202
+ receive copies directly or indirectly through you, then the only way you
203
+ could satisfy both it and this License would be to refrain entirely from
204
+ distribution of the Program.
205
+
206
+ If any portion of this section is held invalid or unenforceable under any
207
+ particular circumstance, the balance of the section is intended to apply
208
+ and the section as a whole is intended to apply in other circumstances.
209
+
210
+ It is not the purpose of this section to induce you to infringe any
211
+ patents or other property right claims or to contest validity of any such
212
+ claims; this section has the sole purpose of protecting the integrity of
213
+ the free software distribution system, which is implemented by public
214
+ license practices. Many people have made generous contributions to the
215
+ wide range of software distributed through that system in reliance on
216
+ consistent application of that system; it is up to the author/donor to
217
+ decide if he or she is willing to distribute software through any other
218
+ system and a licensee cannot impose that choice.
219
+
220
+ This section is intended to make thoroughly clear what is believed to be
221
+ a consequence of the rest of this License.
222
+
223
+ 8. If the distribution and/or use of the Program is restricted in certain
224
+ countries either by patents or by copyrighted interfaces, the original
225
+ copyright holder who places the Program under this License may add an
226
+ explicit geographical distribution limitation excluding those countries,
227
+ so that distribution is permitted only in or among countries not thus
228
+ excluded. In such case, this License incorporates the limitation as if
229
+ written in the body of this License.
230
+
231
+ 9. The Free Software Foundation may publish revised and/or new versions of
232
+ the General Public License from time to time. Such new versions will be
233
+ similar in spirit to the present version, but may differ in detail to
234
+ address new problems or concerns.
235
+
236
+ Each version is given a distinguishing version number. If the Program
237
+ specifies a version number of this License which applies to it and "any
238
+ later version", you have the option of following the terms and conditions
239
+ either of that version or of any later version published by the Free
240
+ Software Foundation. If the Program does not specify a version number of
241
+ this License, you may choose any version ever published by the Free
242
+ Software Foundation.
243
+
244
+ 10. If you wish to incorporate parts of the Program into other free programs
245
+ whose distribution conditions are different, write to the author to ask
246
+ for permission. For software which is copyrighted by the Free Software
247
+ Foundation, write to the Free Software Foundation; we sometimes make
248
+ exceptions for this. Our decision will be guided by the two goals of
249
+ preserving the free status of all derivatives of our free software and
250
+ of promoting the sharing and reuse of software generally.
251
+
252
+ NO WARRANTY
253
+
254
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
255
+ THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
256
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
257
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
258
+ EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
259
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
260
+ ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
261
+ YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
262
+ NECESSARY SERVICING, REPAIR OR CORRECTION.
263
+
264
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
265
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
266
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
267
+ DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
268
+ DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
269
+ (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
270
+ INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
271
+ THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR
272
+ OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
@@ -0,0 +1,98 @@
1
+ === Net::LDAP 0.0.5 / 2009-03-xx
2
+
3
+ * 13 minor enhancements:
4
+ * Added Net::LDAP::Entry#to_ldif
5
+ * Supported rootDSE searches with a new API.
6
+ * Added [preliminary (still undocumented) support for SASL authentication.
7
+ * Supported several constructs from the server side of the LDAP protocol.
8
+ * Added a "consuming" String#read_ber! method.
9
+ * Added some support for SNMP data-handling.
10
+ * Belatedly added a patch contributed by Kouhei Sutou last October.
11
+ The patch adds start_tls support.
12
+ * Added Net::LDAP#search_subschema_entry
13
+ * Added Net::LDAP::Filter#parse_ber, which constructs Net::LDAP::Filter
14
+ objects directly from BER objects that represent search filters in
15
+ LDAP SearchRequest packets.
16
+ * Added Net::LDAP::Filter#execute, which allows arbitrary processing
17
+ based on LDAP filters.
18
+ * Changed Net::LDAP::Entry so it can be marshalled and unmarshalled.
19
+ Thanks to an anonymous feature requester who only left the name
20
+ "Jammy."
21
+ * Added support for binary values in Net::LDAP::Entry LDIF conversions
22
+ and marshalling.
23
+ * Migrated to 'hoe' as the new project droid.
24
+
25
+ * 14 bugs fixed:
26
+ * Silenced some annoying warnings in filter.rb. Thanks to "barjunk"
27
+ for pointing this out.
28
+ * Some fairly extensive performance optimizations in the BER parser.
29
+ * Fixed a bug in Net::LDAP::Entry::from_single_ldif_string noticed by
30
+ Matthias Tarasiewicz.
31
+ * Removed an erroneous LdapError value, noticed by Kouhei Sutou.
32
+ * Supported attributes containing blanks (cn=Babs Jensen) to
33
+ Filter#construct. Suggested by an anonymous Rubyforge user.
34
+ * Added missing syntactic support for Filter ANDs, NOTs and a few other
35
+ things.
36
+ * Extended support for server-reported error messages. This was provisionally
37
+ added to Net::LDAP#add, and eventually will be added to other methods.
38
+ * Fixed bug in Net::LDAP#bind. We were ignoring the passed-in auth parm.
39
+ Thanks to Kouhei Sutou for spotting it.
40
+ * Patched filter syntax to support octal \XX codes. Thanks to Kouhei Sutou
41
+ for the patch.
42
+ * Applied an additional patch from Kouhei.
43
+ * Allowed comma in filter strings, suggested by Kouhei.
44
+ * 04Sep07, Changed four error classes to inherit from StandardError rather
45
+ Exception, in order to be friendlier to irb. Suggested by Kouhei.
46
+ * Ensure connections are closed. Thanks to Kristian Meier.
47
+ * An LDAP::Entry should return an empty array when accessing a nonexistent
48
+ attribute via a method call. Mirrors index lookup behaviour.
49
+ * Minor bug fixes here and there.
50
+
51
+ === Net::LDAP 0.0.4 / 2006-08-15
52
+
53
+ * Undeprecated Net::LDAP#modify. Thanks to Justin Forder for
54
+ providing the rationale for this.
55
+ * Added a much-expanded set of special characters to the parser
56
+ for RFC-2254 filters. Thanks to Andre Nathan.
57
+ * Changed Net::LDAP#search so you can pass it a filter in string form.
58
+ The conversion to a Net::LDAP::Filter now happens automatically.
59
+ * Implemented Net::LDAP#bind_as (preliminary and subject to change).
60
+ Thanks for Simon Claret for valuable suggestions and for helping test.
61
+ * Fixed bug in Net::LDAP#open that was preventing #open from being
62
+ called more than one on a given Net::LDAP object.
63
+
64
+ === Net::LDAP 0.0.3 / 2006-07-26
65
+
66
+ * Added simple TLS encryption.
67
+ Thanks to Garett Shulman for suggestions and for helping test.
68
+
69
+ === Net::LDAP 0.0.2 / 2006-07-12
70
+
71
+ * Fixed malformation in distro tarball and gem.
72
+ * Improved documentation.
73
+ * Supported "paged search control."
74
+ * Added a range of API improvements.
75
+ * Thanks to Andre Nathan, andre@digirati.com.br, for valuable
76
+ suggestions.
77
+ * Added support for LE and GE search filters.
78
+ * Added support for Search referrals.
79
+ * Fixed a regression with openldap 2.2.x and higher caused
80
+ by the introduction of RFC-2696 controls. Thanks to Andre
81
+ Nathan for reporting the problem.
82
+ * Added support for RFC-2254 filter syntax.
83
+
84
+ === Net::LDAP 0.0.1 / 2006-05-01
85
+
86
+ * Initial release.
87
+ * Client functionality is near-complete, although the APIs
88
+ are not guaranteed and may change depending on feedback
89
+ from the community.
90
+ * We're internally working on a Ruby-based implementation
91
+ of a full-featured, production-quality LDAP server,
92
+ which will leverage the underlying LDAP and BER functionality
93
+ in Net::LDAP.
94
+ * Please tell us if you would be interested in seeing a public
95
+ release of the LDAP server.
96
+ * Grateful acknowledgement to Austin Ziegler, who reviewed
97
+ this code and provided the release framework, including
98
+ minitar.
data/LICENSE ADDED
@@ -0,0 +1,55 @@
1
+ Net::LDAP is copyrighted free software by Francis Cianfrocca
2
+ <garbagecat10@gmail.com>. You can redistribute it and/or modify it under either
3
+ the terms of the GPL (see the file COPYING), or the conditions below:
4
+
5
+ 1. You may make and give away verbatim copies of the source form of the
6
+ software without restriction, provided that you duplicate all of the
7
+ original copyright notices and associated disclaimers.
8
+
9
+ 2. You may modify your copy of the software in any way, provided that you do
10
+ at least ONE of the following:
11
+
12
+ a) place your modifications in the Public Domain or otherwise make them
13
+ Freely Available, such as by posting said modifications to Usenet or
14
+ an equivalent medium, or by allowing the author to include your
15
+ modifications in the software.
16
+
17
+ b) use the modified software only within your corporation or
18
+ organization.
19
+
20
+ c) rename any non-standard executables so the names do not conflict with
21
+ standard executables, which must also be provided.
22
+
23
+ d) make other distribution arrangements with the author.
24
+
25
+ 3. You may distribute the software in object code or executable form,
26
+ provided that you do at least ONE of the following:
27
+
28
+ a) distribute the executables and library files of the software, together
29
+ with instructions (in the manual page or equivalent) on where to get
30
+ the original distribution.
31
+
32
+ b) accompany the distribution with the machine-readable source of the
33
+ software.
34
+
35
+ c) give non-standard executables non-standard names, with instructions on
36
+ where to get the original software distribution.
37
+
38
+ d) make other distribution arrangements with the author.
39
+
40
+ 4. You may modify and include the part of the software into any other
41
+ software (possibly commercial). But some files in the distribution are
42
+ not written by the author, so that they are not under this terms.
43
+
44
+ They are gc.c(partly), utils.c(partly), regex.[ch], st.[ch] and some
45
+ files under the ./missing directory. See each file for the copying
46
+ condition.
47
+
48
+ 5. The scripts and library files supplied as input to or produced as output
49
+ from the software do not automatically fall under the copyright of the
50
+ software, but belong to whomever generated them, and may be sold
51
+ commercially, and may be aggregated with this software.
52
+
53
+ 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
54
+ WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
55
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
@@ -0,0 +1,58 @@
1
+ = Net::LDAP for Ruby
2
+
3
+ * http://github.com/dim/ruby-net-ldap
4
+
5
+ == DESCRIPTION:
6
+
7
+ Pure Ruby LDAP library.
8
+
9
+ A LDAP client library written in pure Ruby.
10
+
11
+ == FEATURES/PROBLEMS:
12
+
13
+ The Lightweight Directory Access Protocol (LDAP) is an Internet protocol
14
+ for accessing distributed directory services.
15
+
16
+ Net::LDAP is a feature-complete LDAP support library written in pure Ruby.
17
+ It supports most LDAP client features and a subset of server features as
18
+ well.
19
+
20
+ * Standards-based (going for RFC 4511)
21
+ * Portable: 100% Ruby
22
+
23
+ == INSTALL:
24
+
25
+ Net::LDAP is a pure Ruby library. It does not require any external
26
+ libraries.
27
+
28
+ You can install the RubyGems version of Net::LDAP available at
29
+ GitHub:
30
+
31
+ * gem install my-ruby-net-ldap --source=http://gems.github.com
32
+
33
+ == SYNOPSIS:
34
+
35
+ See Net::LDAP for documentation and usage samples.
36
+
37
+ == CREDITS:
38
+
39
+ Net::LDAP was originally developed by:
40
+
41
+ * Francis Cianfrocca <garbagecat10@gmail.com>
42
+
43
+ Contributions since:
44
+
45
+ * Austin Ziegler <halostatue@gmail.com>
46
+ * Emiel van de Laar <gemiel@gmail.com>
47
+ * Dimitrij Denissenko <contact@dvisionfactory.com>
48
+
49
+ == LICENSE:
50
+
51
+ Copyright (C) 2006 by Francis Cianfrocca
52
+
53
+ Please read the file LICENSE for licensing restrictions on this library. In
54
+ the simplest terms, this library is available under the same terms as Ruby
55
+ itself.
56
+
57
+ Available under the same terms as Ruby. See LICENSE in the main
58
+ distribution for full licensing information.