net-ldap 0.1.1 → 0.2

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.

Potentially problematic release.


This version of net-ldap might be problematic. Click here for more details.

Files changed (58) hide show
  1. data/.autotest +11 -0
  2. data/.gemtest +0 -0
  3. data/.rspec +2 -0
  4. data/Contributors.rdoc +21 -0
  5. data/Hacking.rdoc +68 -0
  6. data/{History.txt → History.rdoc} +65 -1
  7. data/License.rdoc +29 -0
  8. data/Manifest.txt +25 -14
  9. data/README.rdoc +52 -0
  10. data/Rakefile +52 -96
  11. data/autotest/discover.rb +1 -0
  12. data/lib/net-ldap.rb +1 -0
  13. data/lib/net/ber.rb +302 -81
  14. data/lib/net/ber/ber_parser.rb +153 -97
  15. data/lib/net/ber/core_ext.rb +62 -0
  16. data/lib/net/ber/core_ext/array.rb +82 -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 +48 -0
  21. data/lib/net/ber/core_ext/true_class.rb +12 -0
  22. data/lib/net/ldap.rb +1455 -1475
  23. data/lib/net/ldap/dataset.rb +134 -79
  24. data/lib/net/ldap/dn.rb +225 -0
  25. data/lib/net/ldap/entry.rb +168 -249
  26. data/lib/net/ldap/filter.rb +654 -387
  27. data/lib/net/ldap/password.rb +31 -0
  28. data/lib/net/ldap/pdu.rb +232 -233
  29. data/lib/net/snmp.rb +4 -31
  30. data/net-ldap.gemspec +59 -0
  31. data/spec/integration/ssl_ber_spec.rb +3 -0
  32. data/spec/spec_helper.rb +2 -2
  33. data/spec/unit/ber/ber_spec.rb +82 -6
  34. data/spec/unit/ber/core_ext/string_spec.rb +51 -0
  35. data/spec/unit/ldap/dn_spec.rb +80 -0
  36. data/spec/unit/ldap/entry_spec.rb +51 -0
  37. data/spec/unit/ldap/filter_spec.rb +84 -0
  38. data/spec/unit/ldap_spec.rb +48 -0
  39. data/test/test_entry.rb +54 -2
  40. data/test/test_filter.rb +93 -54
  41. data/test/test_ldap_connection.rb +24 -0
  42. data/test/test_ldif.rb +31 -23
  43. data/test/test_rename.rb +77 -0
  44. data/test/test_snmp.rb +34 -33
  45. metadata +88 -52
  46. data/COPYING +0 -272
  47. data/LICENSE +0 -56
  48. data/README.txt +0 -68
  49. data/lib/net/ldap/core_ext/all.rb +0 -43
  50. data/lib/net/ldap/core_ext/array.rb +0 -42
  51. data/lib/net/ldap/core_ext/bignum.rb +0 -25
  52. data/lib/net/ldap/core_ext/false_class.rb +0 -11
  53. data/lib/net/ldap/core_ext/fixnum.rb +0 -74
  54. data/lib/net/ldap/core_ext/string.rb +0 -40
  55. data/lib/net/ldap/core_ext/true_class.rb +0 -11
  56. data/lib/net/ldap/psw.rb +0 -57
  57. data/lib/net/ldif.rb +0 -34
  58. data/test/test_ber.rb +0 -78
@@ -1,78 +0,0 @@
1
- # encoding: ASCII-8BIT
2
- require 'common'
3
-
4
- class TestBer < Test::Unit::TestCase
5
-
6
- def test_encode_boolean
7
- assert_equal( "\x01\x01\x01", true.to_ber ) # should actually be: 01 01 ff
8
- assert_equal( "\x01\x01\x00", false.to_ber )
9
- end
10
-
11
- #def test_encode_nil
12
- # assert_equal( "\x05\x00", nil.to_ber )
13
- #end
14
-
15
- def test_encode_integer
16
-
17
- # Fixnum
18
- #
19
- #assert_equal( "\x02\x02\x96\x46", -27_066.to_ber )
20
- #assert_equal( "\x02\x02\xFF\x7F", -129.to_ber )
21
- #assert_equal( "\x02\x01\x80", -128.to_ber )
22
- #assert_equal( "\x02\x01\xFF", -1.to_ber )
23
-
24
- assert_equal( "\x02\x01\x00", 0.to_ber )
25
- assert_equal( "\x02\x01\x01", 1.to_ber )
26
- assert_equal( "\x02\x01\x7F", 127.to_ber )
27
- assert_equal( "\x02\x01\x80", 128.to_ber )
28
- assert_equal( "\x02\x01\xFF", 255.to_ber )
29
-
30
- assert_equal( "\x02\x02\x01\x00", 256.to_ber )
31
- assert_equal( "\x02\x02\xFF\xFF", 65535.to_ber )
32
-
33
- assert_equal( "\x02\x03\x01\x00\x00", 65536.to_ber )
34
- assert_equal( "\x02\x03\xFF\xFF\xFF", 16_777_215.to_ber )
35
-
36
- assert_equal( "\x02\x04\x01\x00\x00\x00", 0x01000000.to_ber )
37
- assert_equal( "\x02\x04\x3F\xFF\xFF\xFF", 0x3FFFFFFF.to_ber )
38
-
39
- # Bignum
40
- #
41
- assert_equal( "\x02\x04\x4F\xFF\xFF\xFF", 0x4FFFFFFF.to_ber )
42
- #assert_equal( "\x02\x05\x00\xFF\xFF\xFF\xFF", 0xFFFFFFFF.to_ber )
43
- end
44
-
45
- # TOD Add some much bigger numbers
46
- # 5000000000 is a Bignum, which hits different code.
47
- def test_ber_integers
48
- assert_equal( "\002\001\005", 5.to_ber )
49
- assert_equal( "\002\002\001\364", 500.to_ber )
50
- assert_equal( "\x02\x02\xC3P", 50000.to_ber )
51
- assert_equal( "\002\005\001*\005\362\000", 5000000000.to_ber )
52
- end
53
-
54
- def test_ber_bignums
55
- # Some of these values are Fixnums and some are Bignums. Different BER code.
56
- 100.times do |p|
57
- n = 2 << p
58
- assert_equal(n, n.to_ber.read_ber, "2**#{p} could not be read back")
59
-
60
- n = 5 * 10**p
61
- assert_equal(n, n.to_ber.read_ber)
62
- end
63
- end
64
-
65
- def test_ber_parsing
66
- assert_equal( 6, "\002\001\006".read_ber( Net::LDAP::AsnSyntax ))
67
- assert_equal( "testing", "\004\007testing".read_ber( Net::LDAP::AsnSyntax ))
68
- end
69
-
70
- def test_ber_parser_on_ldap_bind_request
71
- s = StringIO.new(
72
- "0$\002\001\001`\037\002\001\003\004\rAdministrator\200\vad_is_bogus" )
73
-
74
- assert_equal(
75
- [1, [3, "Administrator", "ad_is_bogus"]],
76
- s.read_ber( Net::LDAP::AsnSyntax ))
77
- end
78
- end