ruby-activeldap 0.8.2 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. data/test/test_adapter.rb +17 -0
  2. data/test/test_associations.rb +19 -0
  3. data/test/test_attributes.rb +2 -1
  4. data/test/test_base.rb +28 -1
  5. data/test/test_base_per_instance.rb +2 -1
  6. data/test/test_callback.rb +2 -2
  7. data/test/test_connection.rb +2 -1
  8. data/test/test_connection_per_dn.rb +81 -0
  9. data/test/test_dn.rb +3 -2
  10. data/test/test_find.rb +35 -1
  11. data/test/test_object_class.rb +12 -1
  12. data/test/test_reflection.rb +16 -10
  13. data/test/test_schema.rb +141 -2
  14. data/test/test_user.rb +14 -4
  15. metadata +7 -104
  16. data/CHANGES +0 -397
  17. data/COPYING +0 -340
  18. data/LICENSE +0 -58
  19. data/Manifest.txt +0 -99
  20. data/README +0 -85
  21. data/Rakefile +0 -70
  22. data/TODO +0 -23
  23. data/benchmark/bench-al.rb +0 -152
  24. data/examples/config.yaml.example +0 -5
  25. data/examples/example.der +0 -0
  26. data/examples/example.jpg +0 -0
  27. data/examples/groupadd +0 -41
  28. data/examples/groupdel +0 -35
  29. data/examples/groupls +0 -49
  30. data/examples/groupmod +0 -42
  31. data/examples/lpasswd +0 -55
  32. data/examples/objects/group.rb +0 -13
  33. data/examples/objects/ou.rb +0 -4
  34. data/examples/objects/user.rb +0 -20
  35. data/examples/ouadd +0 -38
  36. data/examples/useradd +0 -45
  37. data/examples/useradd-binary +0 -50
  38. data/examples/userdel +0 -34
  39. data/examples/userls +0 -50
  40. data/examples/usermod +0 -42
  41. data/examples/usermod-binary-add +0 -47
  42. data/examples/usermod-binary-add-time +0 -51
  43. data/examples/usermod-binary-del +0 -48
  44. data/examples/usermod-lang-add +0 -43
  45. data/lib/active_ldap.rb +0 -964
  46. data/lib/active_ldap/adapter/base.rb +0 -461
  47. data/lib/active_ldap/adapter/ldap.rb +0 -232
  48. data/lib/active_ldap/adapter/ldap_ext.rb +0 -69
  49. data/lib/active_ldap/adapter/net_ldap.rb +0 -288
  50. data/lib/active_ldap/adapter/net_ldap_ext.rb +0 -29
  51. data/lib/active_ldap/association/belongs_to.rb +0 -40
  52. data/lib/active_ldap/association/belongs_to_many.rb +0 -39
  53. data/lib/active_ldap/association/collection.rb +0 -80
  54. data/lib/active_ldap/association/has_many.rb +0 -40
  55. data/lib/active_ldap/association/has_many_wrap.rb +0 -55
  56. data/lib/active_ldap/association/proxy.rb +0 -89
  57. data/lib/active_ldap/associations.rb +0 -162
  58. data/lib/active_ldap/attributes.rb +0 -203
  59. data/lib/active_ldap/base.rb +0 -1510
  60. data/lib/active_ldap/callbacks.rb +0 -19
  61. data/lib/active_ldap/command.rb +0 -46
  62. data/lib/active_ldap/configuration.rb +0 -106
  63. data/lib/active_ldap/connection.rb +0 -142
  64. data/lib/active_ldap/distinguished_name.rb +0 -246
  65. data/lib/active_ldap/ldap_error.rb +0 -74
  66. data/lib/active_ldap/object_class.rb +0 -74
  67. data/lib/active_ldap/schema.rb +0 -299
  68. data/lib/active_ldap/timeout.rb +0 -75
  69. data/lib/active_ldap/timeout_stub.rb +0 -17
  70. data/lib/active_ldap/user_password.rb +0 -92
  71. data/lib/active_ldap/validations.rb +0 -76
  72. data/rails/plugin/active_ldap/README +0 -54
  73. data/rails/plugin/active_ldap/generators/scaffold_al/scaffold_al_generator.rb +0 -7
  74. data/rails/plugin/active_ldap/generators/scaffold_al/templates/ldap.yml +0 -21
  75. data/rails/plugin/active_ldap/init.rb +0 -12
  76. data/test/TODO +0 -2
  77. data/test/al-test-utils.rb +0 -381
  78. data/test/command.rb +0 -62
  79. data/test/config.yaml.sample +0 -6
  80. data/test/run-test.rb +0 -29
  81. data/test/test-unit-ext.rb +0 -2
  82. data/test/test-unit-ext/always-show-result.rb +0 -28
  83. data/test/test-unit-ext/priority.rb +0 -163
data/examples/groupmod DELETED
@@ -1,42 +0,0 @@
1
- #!/usr/bin/ruby -W0
2
-
3
- base = File.expand_path(File.join(File.dirname(__FILE__), ".."))
4
- $LOAD_PATH << File.join(base, "lib")
5
- $LOAD_PATH << File.join(base, "examples")
6
-
7
- require 'active_ldap'
8
- require 'objects/user'
9
- require 'objects/group'
10
-
11
- argv, opts, options = ActiveLdap::Command.parse_options do |opts, options|
12
- opts.banner += " GROUP_NAME GID_NUMBER"
13
- end
14
-
15
- if argv.size == 2
16
- name, gid = argv
17
- else
18
- $stderr.puts opts
19
- exit 1
20
- end
21
-
22
- pwb = Proc.new do |user|
23
- ActiveLdap::Command.read_password("[#{user}] Password: ")
24
- end
25
-
26
- ActiveLdap::Base.establish_connection(:password_block => pwb,
27
- :allow_anonymous => false)
28
-
29
-
30
- unless Group.exists?(name)
31
- $stderr.puts("Group #{name} doesn't exist.")
32
- exit 1
33
- end
34
-
35
- group = Group.find(name)
36
- group.gid_number = gid
37
-
38
- unless group.save
39
- puts "failed"
40
- puts group.errors.full_messages
41
- exit 1
42
- end
data/examples/lpasswd DELETED
@@ -1,55 +0,0 @@
1
- #!/usr/bin/ruby -W0
2
-
3
- base = File.expand_path(File.join(File.dirname(__FILE__), ".."))
4
- $LOAD_PATH << File.join(base, "lib")
5
- $LOAD_PATH << File.join(base, "examples")
6
-
7
- require 'active_ldap'
8
- require 'objects/user'
9
- require 'objects/group'
10
-
11
- argv, opts, options = ActiveLdap::Command.parse_options do |opts, options|
12
- opts.banner += " USER_NAME"
13
- end
14
-
15
- if argv.size == 1
16
- name = argv.shift
17
- else
18
- $stderr.puts opts
19
- exit 1
20
- end
21
-
22
- pwb = Proc.new do |user|
23
- user ||= ENV["USER"]
24
- ActiveLdap::Command.read_password("[#{user}] Password: ")
25
- end
26
- ActiveLdap::Base.establish_connection(:password_block => pwb,
27
- :allow_anonymous => false)
28
-
29
- unless User.exists?(name)
30
- $stderr.puts("User #{name} doesn't exist.")
31
- exit 1
32
- end
33
-
34
- class PasswordMismatch < RuntimeError
35
- end
36
-
37
- user = User.find(name)
38
- count = 0
39
- begin
40
- count += 1
41
- pw1 = pwb.call(user.dn)
42
- pw2 = pwb.call(user.dn)
43
- raise PasswordMismatch if pw1 != pw2
44
- rescue PasswordMismatch
45
- puts "Password mismatch!"
46
- exit 1 if count == 3
47
- retry
48
- end
49
-
50
- user.user_password = ActiveLdap::UserPassword.ssha(pw1)
51
- unless user.save
52
- puts "failed"
53
- puts user.errors.full_messages
54
- exit 1
55
- end
@@ -1,13 +0,0 @@
1
- class Group < ActiveLdap::Base
2
- ldap_mapping :dn_attribute => "cn",
3
- :classes => ['posixGroup']
4
- # Inspired by ActiveRecord, this tells ActiveLDAP that the
5
- # LDAP entry has a attribute which contains one or more of
6
- # some class |:class_name| where the attributes name is
7
- # |:local_key|. This means that it will call
8
- # :class_name.new(value_of(:local_key)) to create the objects.
9
- has_many :members, :class => "User", :wrap => "memberUid"
10
- has_many :primary_members, :class => 'User',
11
- :foreign_key => 'gidNumber',
12
- :primary_key => 'gidNumber'
13
- end # Group
@@ -1,4 +0,0 @@
1
- class Ou < ActiveLdap::Base
2
- ldap_mapping :dn_attribute => 'ou', :prefix => '',
3
- :classes => ['top', 'organizationalUnit']
4
- end
@@ -1,20 +0,0 @@
1
- require 'objects/group'
2
-
3
- class User < ActiveLdap::Base
4
- ldap_mapping :dn_attribute => 'uid', :prefix => 'ou=People',
5
- :classes => ['person', 'posixAccount']
6
- belongs_to :primary_group, :class => "Group",
7
- :foreign_key => "gidNumber", :primary_key => "gidNumber"
8
- belongs_to :groups, :many => 'memberUid'
9
-
10
- # An example of using the old "return_objects" API with the
11
- # new ActiveRecord-style API.
12
- alias groups_mapping groups
13
- def groups(return_objects=true)
14
- return groups_mapping if return_objects
15
- attr = 'cn'
16
- Group.search(:attribute => 'memberUid',
17
- :value => id,
18
- :attributes => [attr]).map {|dn, attrs| attrs[attr]}.flatten
19
- end
20
- end
data/examples/ouadd DELETED
@@ -1,38 +0,0 @@
1
- #!/usr/bin/ruby -W0
2
-
3
- base = File.expand_path(File.join(File.dirname(__FILE__), ".."))
4
- $LOAD_PATH << File.join(base, "lib")
5
- $LOAD_PATH << File.join(base, "examples")
6
-
7
- require 'active_ldap'
8
- require 'objects/ou'
9
-
10
- argv, opts, options = ActiveLdap::Command.parse_options do |opts, options|
11
- opts.banner += " name"
12
- end
13
-
14
- if argv.size == 1
15
- name = argv[0]
16
- else
17
- $stderr.puts opts
18
- exit 1
19
- end
20
-
21
- pwb = Proc.new do |user|
22
- ActiveLdap::Command.read_password("[#{user}] Password: ")
23
- end
24
-
25
- ActiveLdap::Base.establish_connection(:password_block => pwb,
26
- :allow_anonymous => false)
27
-
28
- if Ou.exists?(name)
29
- $stderr.puts("Ou #{name} already exists.")
30
- exit 1
31
- end
32
-
33
- ou = Ou.new(name)
34
- unless ou.save
35
- puts "failed"
36
- puts ou.errors.full_messages
37
- exit 1
38
- end
data/examples/useradd DELETED
@@ -1,45 +0,0 @@
1
- #!/usr/bin/ruby -W0
2
-
3
- base = File.expand_path(File.join(File.dirname(__FILE__), ".."))
4
- $LOAD_PATH << File.join(base, "lib")
5
- $LOAD_PATH << File.join(base, "examples")
6
-
7
- require 'active_ldap'
8
- require 'objects/user'
9
- require 'objects/group'
10
-
11
- argv, opts, options = ActiveLdap::Command.parse_options do |opts, options|
12
- opts.banner += " USER_NAME CN UID"
13
- end
14
-
15
- if argv.size == 3
16
- name, cn, uid = argv
17
- else
18
- $stderr.puts opts
19
- exit 1
20
- end
21
-
22
- pwb = Proc.new do |user|
23
- ActiveLdap::Command.read_password("[#{user}] Password: ")
24
- end
25
-
26
- ActiveLdap::Base.establish_connection(:password_block => pwb,
27
- :allow_anonymous => false)
28
-
29
- if User.exists?(name)
30
- $stderr.puts("User #{name} already exists.")
31
- exit 1
32
- end
33
-
34
- user = User.new(name)
35
- user.add_class('shadowAccount')
36
- user.cn = cn
37
- user.uid_number = uid
38
- user.gid_number = uid
39
- user.home_directory = "/home/#{name}"
40
- user.sn = "somesn"
41
- unless user.save
42
- puts "failed"
43
- puts user.errors.full_messages
44
- exit 1
45
- end
@@ -1,50 +0,0 @@
1
- #!/usr/bin/ruby -W0
2
-
3
- base = File.expand_path(File.join(File.dirname(__FILE__), ".."))
4
- $LOAD_PATH << File.join(base, "lib")
5
- $LOAD_PATH << File.join(base, "examples")
6
-
7
- require 'active_ldap'
8
- require 'objects/user'
9
- require 'objects/group'
10
-
11
- argv, opts, options = ActiveLdap::Command.parse_options do |opts, options|
12
- opts.banner += " USER_NAME CN UID"
13
- end
14
-
15
- if argv.size == 3
16
- name, cn, uid = argv
17
- else
18
- $stderr.puts opts
19
- exit 1
20
- end
21
-
22
- pwb = Proc.new do |user|
23
- ActiveLdap::Command.read_password("[#{user}] Password: ")
24
- end
25
-
26
- ActiveLdap::Base.establish_connection(:password_block => pwb,
27
- :allow_anonymous => false)
28
-
29
- if User.exists?(name)
30
- $stderr.puts("User #{name} already exists.")
31
- exit 1
32
- end
33
-
34
- user = User.new(name)
35
- user.add_class('shadowAccount')
36
- user.cn = cn
37
- user.sn = "somesn"
38
- user.uid_number = uid
39
- user.gid_number = uid
40
- user.home_directory = "/home/#{name}"
41
- user.add_class('strongAuthenticationUser')
42
- cert_file = File.join(File.dirname(__FILE__), 'example.der')
43
- user.user_certificate = File.read(cert_file)
44
-
45
- unless user.save
46
- puts "failed"
47
- puts user.errors.full_messages
48
- exit 1
49
- end
50
-
data/examples/userdel DELETED
@@ -1,34 +0,0 @@
1
- #!/usr/bin/ruby -W0
2
-
3
- base = File.expand_path(File.join(File.dirname(__FILE__), ".."))
4
- $LOAD_PATH << File.join(base, "lib")
5
- $LOAD_PATH << File.join(base, "examples")
6
-
7
- require 'active_ldap'
8
- require 'objects/user'
9
- require 'objects/group'
10
-
11
- argv, opts, options = ActiveLdap::Command.parse_options do |opts, options|
12
- opts.banner += " USER_NAME"
13
- end
14
-
15
- if argv.size == 1
16
- name = argv.shift
17
- else
18
- $stderr.puts opts
19
- exit 1
20
- end
21
-
22
- pwb = Proc.new do |user|
23
- ActiveLdap::Command.read_password("[#{user}] Password: ")
24
- end
25
-
26
- ActiveLdap::Base.establish_connection(:password_block => pwb,
27
- :allow_anonymous => false)
28
-
29
- unless User.exists?(name)
30
- $stderr.puts("User #{name} doesn't exist.")
31
- exit 1
32
- end
33
-
34
- User.destroy(name)
data/examples/userls DELETED
@@ -1,50 +0,0 @@
1
- #!/usr/bin/ruby -W0
2
-
3
- base = File.expand_path(File.join(File.dirname(__FILE__), ".."))
4
- $LOAD_PATH << File.join(base, "lib")
5
- $LOAD_PATH << File.join(base, "examples")
6
-
7
- require 'active_ldap'
8
- require 'objects/user'
9
- require 'objects/group'
10
-
11
- require 'base64'
12
-
13
- argv, opts, options = ActiveLdap::Command.parse_options do |opts, options|
14
- opts.banner += " USER_NAME"
15
- end
16
-
17
- if argv.size == 1
18
- name = argv.shift
19
- else
20
- $stderr.puts opts
21
- exit 1
22
- end
23
-
24
- pwb = Proc.new do |user|
25
- ActiveLdap::Command.read_password("[#{user}] Password: ")
26
- end
27
-
28
- ActiveLdap::Base.establish_connection(:password_block => pwb,
29
- :allow_anonymous => false)
30
-
31
- unless User.exists?(name)
32
- $stderr.puts("User #{name} doesn't exist.")
33
- exit 1
34
- end
35
-
36
- user = User.find(name)
37
- puts user.to_ldif
38
-
39
- groups = []
40
- primary_group = user.primary_group
41
- if primary_group.exists?
42
- groups << "#{primary_group.cn}[#{primary_group.gid_number}]"
43
- end
44
- puts "Groups by name only: #{user.groups(false).join(', ')}"
45
- user.groups.sort_by do |group|
46
- group.id
47
- end.collect do |group|
48
- groups << "#{group.cn}[#{group.gid_number}]"
49
- end
50
- puts "Groups: #{groups.join(', ')}"
data/examples/usermod DELETED
@@ -1,42 +0,0 @@
1
- #!/usr/bin/ruby -W0
2
-
3
- base = File.expand_path(File.join(File.dirname(__FILE__), ".."))
4
- $LOAD_PATH << File.join(base, "lib")
5
- $LOAD_PATH << File.join(base, "examples")
6
-
7
- require 'active_ldap'
8
- require 'objects/user'
9
- require 'objects/group'
10
-
11
- argv, opts, options = ActiveLdap::Command.parse_options do |opts, options|
12
- opts.banner += " USER_NAME CN UID"
13
- end
14
-
15
- if argv.size == 3
16
- name, cn, uid = argv
17
- else
18
- $stderr.puts opts
19
- exit 1
20
- end
21
-
22
- pwb = Proc.new do |user|
23
- ActiveLdap::Command.read_password("[#{user}] Password: ")
24
- end
25
-
26
- ActiveLdap::Base.establish_connection(:password_block => pwb,
27
- :allow_anonymous => false)
28
-
29
- unless User.exists?(name)
30
- $stderr.puts("User #{name} doesn't exist.")
31
- exit 1
32
- end
33
-
34
- user = User.find(name)
35
- user.cn = cn
36
- user.uid_number = uid
37
- user.gid_number = uid
38
- unless user.save
39
- puts "failed"
40
- puts user.errors.full_messages
41
- exit 1
42
- end
@@ -1,47 +0,0 @@
1
- #!/usr/bin/ruby -W0
2
-
3
- base = File.expand_path(File.join(File.dirname(__FILE__), ".."))
4
- $LOAD_PATH << File.join(base, "lib")
5
- $LOAD_PATH << File.join(base, "examples")
6
-
7
- require 'active_ldap'
8
- require 'objects/user'
9
- require 'objects/group'
10
-
11
- argv, opts, options = ActiveLdap::Command.parse_options do |opts, options|
12
- opts.banner += " USER_NAME CN UID"
13
- end
14
-
15
- if argv.size == 3
16
- name, cn, uid = argv
17
- else
18
- $stderr.puts opts
19
- exit 1
20
- end
21
-
22
- pwb = Proc.new do |user|
23
- ActiveLdap::Command.read_password("[#{user}] Password: ")
24
- end
25
-
26
- ActiveLdap::Base.establish_connection(:password_block => pwb,
27
- :allow_anonymous => false)
28
-
29
- unless User.exists?(name)
30
- $stderr.puts("User #{name} doesn't exist.")
31
- exit 1
32
- end
33
-
34
- user = User.find(name)
35
- user.cn = cn
36
- user.uid_number = uid
37
- user.gid_number = uid
38
-
39
- user.add_class('strongAuthenticationUser')
40
- cert_file = File.join(File.dirname(__FILE__), 'example.der')
41
- user.user_certificate = File.read(cert_file)
42
-
43
- unless user.save
44
- puts "failed"
45
- puts user.errors.full_messages
46
- exit 1
47
- end