activesambaldap 0.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 (85) hide show
  1. data/NEWS.en +9 -0
  2. data/NEWS.ja +10 -0
  3. data/README.en +310 -0
  4. data/README.ja +307 -0
  5. data/Rakefile +95 -0
  6. data/bin/asl-groupadd +70 -0
  7. data/bin/asl-groupdel +58 -0
  8. data/bin/asl-groupmod +133 -0
  9. data/bin/asl-groupshow +31 -0
  10. data/bin/asl-passwd +99 -0
  11. data/bin/asl-populate +96 -0
  12. data/bin/asl-purge +24 -0
  13. data/bin/asl-samba-computeradd +94 -0
  14. data/bin/asl-samba-groupadd +55 -0
  15. data/bin/asl-samba-groupdel +53 -0
  16. data/bin/asl-samba-groupmod +98 -0
  17. data/bin/asl-samba-useradd +98 -0
  18. data/bin/asl-samba-userdel +47 -0
  19. data/bin/asl-samba-usermod +92 -0
  20. data/bin/asl-useradd +263 -0
  21. data/bin/asl-userdel +75 -0
  22. data/bin/asl-usermod +335 -0
  23. data/bin/asl-usershow +31 -0
  24. data/lib/active_samba_ldap/account.rb +199 -0
  25. data/lib/active_samba_ldap/base.rb +126 -0
  26. data/lib/active_samba_ldap/command.rb +94 -0
  27. data/lib/active_samba_ldap/computer.rb +13 -0
  28. data/lib/active_samba_ldap/computer_account.rb +34 -0
  29. data/lib/active_samba_ldap/configuration.rb +322 -0
  30. data/lib/active_samba_ldap/dc.rb +17 -0
  31. data/lib/active_samba_ldap/entry.rb +80 -0
  32. data/lib/active_samba_ldap/group.rb +182 -0
  33. data/lib/active_samba_ldap/idmap.rb +17 -0
  34. data/lib/active_samba_ldap/ou.rb +18 -0
  35. data/lib/active_samba_ldap/populate.rb +254 -0
  36. data/lib/active_samba_ldap/samba_account.rb +200 -0
  37. data/lib/active_samba_ldap/samba_computer.rb +20 -0
  38. data/lib/active_samba_ldap/samba_group.rb +126 -0
  39. data/lib/active_samba_ldap/samba_user.rb +39 -0
  40. data/lib/active_samba_ldap/unix_id_pool.rb +41 -0
  41. data/lib/active_samba_ldap/user.rb +14 -0
  42. data/lib/active_samba_ldap/user_account.rb +30 -0
  43. data/lib/active_samba_ldap/version.rb +3 -0
  44. data/lib/active_samba_ldap.rb +29 -0
  45. data/lib/samba/encrypt.rb +86 -0
  46. data/misc/rd2html.rb +42 -0
  47. data/rails/plugin/active_samba_ldap/README +30 -0
  48. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/scaffold_asl_generator.rb +28 -0
  49. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/computer.rb +3 -0
  50. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/dc.rb +3 -0
  51. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/group.rb +3 -0
  52. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/idmap.rb +3 -0
  53. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/ldap.yml +24 -0
  54. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/ou.rb +3 -0
  55. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/samba_controller.rb +12 -0
  56. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/samba_helper.rb +2 -0
  57. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/samba_index.rhtml +17 -0
  58. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/samba_populate.rhtml +15 -0
  59. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/samba_purge.rhtml +10 -0
  60. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/unix_id_pool.rb +3 -0
  61. data/rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/user.rb +3 -0
  62. data/rails/plugin/active_samba_ldap/init.rb +6 -0
  63. data/test/asl-test-utils.rb +276 -0
  64. data/test/command.rb +64 -0
  65. data/test/config.yaml.sample +17 -0
  66. data/test/run-test.rb +18 -0
  67. data/test/test-unit-ext/always-show-result.rb +28 -0
  68. data/test/test-unit-ext/priority.rb +159 -0
  69. data/test/test-unit-ext.rb +2 -0
  70. data/test/test_asl_groupadd.rb +69 -0
  71. data/test/test_asl_groupdel.rb +88 -0
  72. data/test/test_asl_groupmod.rb +256 -0
  73. data/test/test_asl_groupshow.rb +21 -0
  74. data/test/test_asl_passwd.rb +125 -0
  75. data/test/test_asl_populate.rb +92 -0
  76. data/test/test_asl_purge.rb +21 -0
  77. data/test/test_asl_useradd.rb +710 -0
  78. data/test/test_asl_userdel.rb +73 -0
  79. data/test/test_asl_usermod.rb +541 -0
  80. data/test/test_asl_usershow.rb +27 -0
  81. data/test/test_group.rb +21 -0
  82. data/test/test_password.rb +51 -0
  83. data/test/test_samba_encrypt.rb +36 -0
  84. data/test/test_user_home_directory.rb +43 -0
  85. metadata +177 -0
@@ -0,0 +1,51 @@
1
+ require 'asl-test-utils'
2
+
3
+ class PasswordTest < Test::Unit::TestCase
4
+ include AslTestUtils
5
+
6
+ priority :must
7
+ def test_password_hash_type
8
+ %w(crypt md5 smd5 sha ssha).each do |type|
9
+ assert_valid_password_hash_type(type) do |klass, normalized_type|
10
+ user = klass.new("XXX")
11
+ user.change_password("password")
12
+ assert_match(/^\{#{Regexp.escape(normalized_type.to_s.upcase)}\}/,
13
+ user.user_password)
14
+ end
15
+ end
16
+ end
17
+
18
+ def test_validate_password_hash_type
19
+ %w(crypt md5 smd5 sha ssha).each do |type|
20
+ assert_valid_password_hash_type(type)
21
+ assert_valid_password_hash_type(type.to_sym)
22
+ assert_valid_password_hash_type(type.upcase)
23
+ assert_valid_password_hash_type(type.capitalize)
24
+ end
25
+
26
+ assert_invalid_password_hash_type("XXX")
27
+ end
28
+
29
+ private
30
+ def assert_valid_password_hash_type(type)
31
+ klass = Class.new(@user_class)
32
+ assert_nothing_raised do
33
+ configuration = reference_configuration.merge(:password_hash_type => type)
34
+ klass.establish_connection(configuration)
35
+ klass.ldap_mapping
36
+ end
37
+ yield(klass, klass.configuration[:password_hash_type]) if block_given?
38
+ ensure
39
+ klass.remove_connection
40
+ end
41
+
42
+ def assert_invalid_password_hash_type(type)
43
+ klass = Class.new(@user_class)
44
+ assert_raises(ActiveSambaLdap::InvalidConfigurationValueError) do
45
+ configuration = reference_configuration.merge(:password_hash_type => type)
46
+ klass.establish_connection(configuration)
47
+ end
48
+ ensure
49
+ klass.remove_connection
50
+ end
51
+ end
@@ -0,0 +1,36 @@
1
+ require 'test/unit'
2
+ require 'test-unit-ext'
3
+
4
+ require 'stringio'
5
+
6
+ require 'samba/encrypt'
7
+
8
+ class SambaEncryptTest < Test::Unit::TestCase
9
+ def test_lm_hash
10
+ assert_equal("E52CAC67419A9A224A3B108F3FA6CB6D",
11
+ Samba::Encrypt.lm_hash("password"))
12
+ assert_equal("E52CAC67419A9A224A3B108F3FA6CB6D",
13
+ Samba::Encrypt.lm_hash("paSSWOrd"))
14
+ assert_equal("E0C510199CC66ABDE0C510199CC66ABD",
15
+ Samba::Encrypt.lm_hash("abcdefgabcdefg"))
16
+ assert_equal("FF3750BCC2B22412C2265B23734E0DAC",
17
+ Samba::Encrypt.lm_hash("SecREt01"))
18
+ begin
19
+ stderr = $stderr
20
+ $stderr = StringIO.new
21
+ assert_equal("E0C510199CC66ABDE0C510199CC66ABD",
22
+ Samba::Encrypt.lm_hash("abcdefgabcdefg" + "X"))
23
+ assert_equal("E0C510199CC66ABDE0C510199CC66ABD",
24
+ Samba::Encrypt.lm_hash("abcdefgabcdefg" + "X" * 100))
25
+ assert_equal("password is truncated to 14 characters\n" * 2,
26
+ $stderr.string)
27
+ ensure
28
+ $stderr = stderr
29
+ end
30
+ end
31
+
32
+ def test_ntlm_hash
33
+ assert_equal("8846F7EAEE8FB117AD06BDD830B7586C",
34
+ Samba::Encrypt.ntlm_hash("password"))
35
+ end
36
+ end
@@ -0,0 +1,43 @@
1
+ require 'asl-test-utils'
2
+
3
+ class UserHomeDirectoryTest < Test::Unit::TestCase
4
+ include AslTestUtils
5
+
6
+ priority :must
7
+ def test_validate_user_home_directory_mode
8
+ assert_valid_user_home_directory_mode(0700) do |klass, mode|
9
+ assert_equal(0700, mode)
10
+ end
11
+ assert_valid_user_home_directory_mode("0750") do |klass, mode|
12
+ assert_equal(0750, mode)
13
+ end
14
+ assert_valid_user_home_directory_mode(nil) do |klass, mode|
15
+ assert_equal(0755, mode)
16
+ end
17
+
18
+ assert_invalid_user_home_directory_mode("XXX")
19
+ end
20
+
21
+ private
22
+ def assert_valid_user_home_directory_mode(type)
23
+ klass = Class.new(@user_class)
24
+ assert_nothing_raised do
25
+ config = reference_configuration.merge(:user_home_directory_mode => type)
26
+ klass.establish_connection(config)
27
+ klass.ldap_mapping
28
+ end
29
+ yield(klass, klass.configuration[:user_home_directory_mode]) if block_given?
30
+ ensure
31
+ klass.remove_connection
32
+ end
33
+
34
+ def assert_invalid_user_home_directory_mode(type)
35
+ klass = Class.new(@user_class)
36
+ assert_raises(ActiveSambaLdap::InvalidConfigurationValueError) do
37
+ config = reference_configuration.merge(:user_home_directory_mode => type)
38
+ klass.establish_connection(config)
39
+ end
40
+ ensure
41
+ klass.remove_connection
42
+ end
43
+ end
metadata ADDED
@@ -0,0 +1,177 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.0
3
+ specification_version: 1
4
+ name: activesambaldap
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.0.1
7
+ date: 2006-11-18 00:00:00 +09:00
8
+ summary: ActiveSambaLdap is a library and a management tool for Samba + LDAP environment.
9
+ require_paths:
10
+ - lib
11
+ email: kou@cozmixng.org
12
+ homepage: http://asl.rubyforge.org/
13
+ rubyforge_project: asl
14
+ description: ActiveSambaLdap provides object-oriented API to manipulate LDAP entry for Samba. ActiveSambaLdap also provides command-line tools to replace smbldap-tools written by Perl.
15
+ autorequire:
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: true
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ post_install_message:
29
+ authors:
30
+ - Kouhei Sutou
31
+ files:
32
+ - NEWS.en
33
+ - NEWS.ja
34
+ - README.en
35
+ - README.ja
36
+ - Rakefile
37
+ - bin/asl-groupadd
38
+ - bin/asl-groupdel
39
+ - bin/asl-groupmod
40
+ - bin/asl-groupshow
41
+ - bin/asl-passwd
42
+ - bin/asl-populate
43
+ - bin/asl-purge
44
+ - bin/asl-samba-computeradd
45
+ - bin/asl-samba-groupadd
46
+ - bin/asl-samba-groupdel
47
+ - bin/asl-samba-groupmod
48
+ - bin/asl-samba-useradd
49
+ - bin/asl-samba-userdel
50
+ - bin/asl-samba-usermod
51
+ - bin/asl-useradd
52
+ - bin/asl-userdel
53
+ - bin/asl-usermod
54
+ - bin/asl-usershow
55
+ - lib/active_samba_ldap.rb
56
+ - lib/active_samba_ldap/account.rb
57
+ - lib/active_samba_ldap/base.rb
58
+ - lib/active_samba_ldap/command.rb
59
+ - lib/active_samba_ldap/computer.rb
60
+ - lib/active_samba_ldap/computer_account.rb
61
+ - lib/active_samba_ldap/configuration.rb
62
+ - lib/active_samba_ldap/dc.rb
63
+ - lib/active_samba_ldap/entry.rb
64
+ - lib/active_samba_ldap/group.rb
65
+ - lib/active_samba_ldap/idmap.rb
66
+ - lib/active_samba_ldap/ou.rb
67
+ - lib/active_samba_ldap/populate.rb
68
+ - lib/active_samba_ldap/samba_account.rb
69
+ - lib/active_samba_ldap/samba_computer.rb
70
+ - lib/active_samba_ldap/samba_group.rb
71
+ - lib/active_samba_ldap/samba_user.rb
72
+ - lib/active_samba_ldap/unix_id_pool.rb
73
+ - lib/active_samba_ldap/user.rb
74
+ - lib/active_samba_ldap/user_account.rb
75
+ - lib/active_samba_ldap/version.rb
76
+ - lib/samba/encrypt.rb
77
+ - misc/rd2html.rb
78
+ - rails/plugin/active_samba_ldap/README
79
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/scaffold_asl_generator.rb
80
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/computer.rb
81
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/dc.rb
82
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/group.rb
83
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/idmap.rb
84
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/ldap.yml
85
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/ou.rb
86
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/samba_controller.rb
87
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/samba_helper.rb
88
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/samba_index.rhtml
89
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/samba_populate.rhtml
90
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/samba_purge.rhtml
91
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/unix_id_pool.rb
92
+ - rails/plugin/active_samba_ldap/generators/scaffold_asl/templates/user.rb
93
+ - rails/plugin/active_samba_ldap/init.rb
94
+ - test/asl-test-utils.rb
95
+ - test/command.rb
96
+ - test/config.yaml.sample
97
+ - test/run-test.rb
98
+ - test/test-unit-ext.rb
99
+ - test/test-unit-ext/always-show-result.rb
100
+ - test/test-unit-ext/priority.rb
101
+ - test/test_asl_groupadd.rb
102
+ - test/test_asl_groupdel.rb
103
+ - test/test_asl_groupmod.rb
104
+ - test/test_asl_groupshow.rb
105
+ - test/test_asl_passwd.rb
106
+ - test/test_asl_populate.rb
107
+ - test/test_asl_purge.rb
108
+ - test/test_asl_useradd.rb
109
+ - test/test_asl_userdel.rb
110
+ - test/test_asl_usermod.rb
111
+ - test/test_asl_usershow.rb
112
+ - test/test_group.rb
113
+ - test/test_password.rb
114
+ - test/test_samba_encrypt.rb
115
+ - test/test_user_home_directory.rb
116
+ test_files:
117
+ - test/test_asl_usershow.rb
118
+ - test/test_asl_groupdel.rb
119
+ - test/test_asl_useradd.rb
120
+ - test/test_samba_encrypt.rb
121
+ - test/test_asl_populate.rb
122
+ - test/test_asl_groupmod.rb
123
+ - test/test_asl_groupshow.rb
124
+ - test/test_asl_purge.rb
125
+ - test/test_asl_passwd.rb
126
+ - test/test_asl_userdel.rb
127
+ - test/test_asl_groupadd.rb
128
+ - test/test_asl_usermod.rb
129
+ - test/test_group.rb
130
+ - test/test_password.rb
131
+ - test/test_user_home_directory.rb
132
+ rdoc_options: []
133
+
134
+ extra_rdoc_files: []
135
+
136
+ executables:
137
+ - asl-groupadd
138
+ - asl-groupdel
139
+ - asl-groupmod
140
+ - asl-groupshow
141
+ - asl-passwd
142
+ - asl-populate
143
+ - asl-purge
144
+ - asl-samba-computeradd
145
+ - asl-samba-groupadd
146
+ - asl-samba-groupdel
147
+ - asl-samba-groupmod
148
+ - asl-samba-useradd
149
+ - asl-samba-userdel
150
+ - asl-samba-usermod
151
+ - asl-useradd
152
+ - asl-userdel
153
+ - asl-usermod
154
+ - asl-usershow
155
+ extensions: []
156
+
157
+ requirements: []
158
+
159
+ dependencies:
160
+ - !ruby/object:Gem::Dependency
161
+ name: hoe
162
+ version_requirement:
163
+ version_requirements: !ruby/object:Gem::Version::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: 1.1.4
168
+ version:
169
+ - !ruby/object:Gem::Dependency
170
+ name: activeldap
171
+ version_requirement:
172
+ version_requirements: !ruby/object:Gem::Version::Requirement
173
+ requirements:
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ version: 0.8.0
177
+ version: