ldap_fluff 0.3.5 → 0.3.6

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 ldap_fluff might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d9bbb3a76eb304f5d32ed7cb7b4cbc0e8b2551be
4
- data.tar.gz: 179e0be4fe95dd4da12e036d64691fe8c8597df9
3
+ metadata.gz: 968768aeccb6bb96fee53a8b9f154c17ecd526a4
4
+ data.tar.gz: a0fca576757b57e6a101f9078851c9cc76fd1f58
5
5
  SHA512:
6
- metadata.gz: bdd878bcb8282f68359fac8376931d32b09f1c5b02b3fb25ca777855e3507460102711337129969f90f86ddc03a69a66ef97593c57956cebc4ef72e5154fd5bc
7
- data.tar.gz: dbd1e8e105c879941c04a50b2c7e1a0aafa705e287ff38b2b62fbcd7bef983494c3ecaf517476ca5574409606208cb2192345dea3fac6e2307273c7c2e89d921
6
+ metadata.gz: f7e0bcce771b22667002b0f580c7844f1f34ff97f4616b9a52709faf0fdc984f8a739dd29a09174df17beab5cac426bfac9ccf9b2d4831237a1c56f8bd7c0884
7
+ data.tar.gz: cfc7a9d51be11a588c0c98d3b52e30c2c7fa9fd1a21e40cee80d3606cd3ec40d77430d010ea66df7ff1dde6a1d4e3fdb07bde5926bf27ce0c966b1d31a2137eb
@@ -19,22 +19,21 @@ class LdapFluff::ActiveDirectory::MemberService < LdapFluff::GenericMemberServic
19
19
  def _groups_from_ldap_data(payload)
20
20
  data = []
21
21
  if !payload.nil?
22
- first_level = get_groups(payload[:memberof])
22
+ first_level = payload[:memberof]
23
23
  total_groups = _walk_group_ancestry(first_level)
24
- data = (first_level + total_groups).uniq
24
+ data = (get_groups(first_level + total_groups)).uniq
25
25
  end
26
26
  data
27
27
  end
28
28
 
29
29
  # recursively loop over the parent list
30
- def _walk_group_ancestry(gids = [])
30
+ def _walk_group_ancestry(group_dns = [])
31
31
  set = []
32
- gids.each do |g|
33
- filter = group_filter(g) & class_filter
34
- search = @ldap.search(:filter => filter, :base => @group_base)
32
+ group_dns.each do |group_dn|
33
+ search = @ldap.search(:base => group_dn, :scope => Net::LDAP::SearchScope_BaseObject)
35
34
  if !search.nil? && !search.first.nil?
36
35
  group = search.first
37
- set += get_groups(group[:memberof])
36
+ set += group[:memberof]
38
37
  set += _walk_group_ancestry(set)
39
38
  end
40
39
  end
@@ -11,7 +11,7 @@ class TestADMemberService < MiniTest::Test
11
11
 
12
12
  def basic_user
13
13
  @ldap.expect(:search, ad_user_payload, [:filter => ad_name_filter("john")])
14
- @ldap.expect(:search, ad_parent_payload(1), [:filter => @gfilter, :base => @config.group_base])
14
+ @ldap.expect(:search, ad_parent_payload(1), [:base => ad_group_dn, :scope => 0])
15
15
  end
16
16
 
17
17
  def basic_group
@@ -20,32 +20,28 @@ class TestADMemberService < MiniTest::Test
20
20
 
21
21
  def nest_deep(n)
22
22
  # add all the expects
23
- 1.upto(n - 1) do |i|
24
- gfilter_bros = group_filter("bros#{i}") & group_class_filter
25
- @ldap.expect(:search, ad_parent_payload(i + 1), [:filter => gfilter_bros, :base => @config.group_base])
23
+ 1.upto(n-1) do |i|
24
+ @ldap.expect(:search, ad_parent_payload(i + 1), [:base => ad_group_dn("bros#{i}"), :scope => 0])
26
25
  end
27
26
  # terminate or we loop FOREVER
28
- @ldap.expect(:search, [], [:filter => group_filter("bros#{n}") & group_class_filter, :base => @config.group_base])
27
+ @ldap.expect(:search, [], [:base => ad_group_dn("bros#{n}"), :scope => 0])
29
28
  end
30
29
 
31
30
  def double_nested(n)
32
31
  # add all the expects
33
32
  1.upto(n - 1) do |i|
34
- gfilter_bros = group_filter("bros#{i}") & group_class_filter
35
- @ldap.expect(:search, ad_double_payload(i + 1), [:filter => gfilter_bros, :base => @config.group_base])
33
+ @ldap.expect(:search, ad_double_payload(i + 1), [:base => ad_group_dn("bros#{i}"), :scope => 0])
36
34
  end
37
35
  # terminate or we loop FOREVER
38
- @ldap.expect(:search, [], [:filter => group_filter("bros#{n}") & group_class_filter, :base => @config.group_base])
36
+ @ldap.expect(:search, [], [:base => ad_group_dn("bros#{n}"), :scope => 0])
39
37
  (n - 1).downto(1) do |j|
40
- gfilter_bros = group_filter("broskies#{j + 1}") & group_class_filter
41
- @ldap.expect(:search, [], [:filter => gfilter_bros, :base => @config.group_base])
38
+ @ldap.expect(:search, [], [:base => ad_group_dn("broskies#{j + 1}"), :scope => 0])
42
39
  end
43
40
  end
44
41
 
45
42
  def test_find_user
46
43
  basic_user
47
- gfilter_bros = group_filter('bros1') & group_class_filter
48
- @ldap.expect(:search, [], [:filter => gfilter_bros, :base => @config.group_base])
44
+ @ldap.expect(:search, [], [:base => ad_group_dn('bros1'), :scope => 0])
49
45
  @adms.ldap = @ldap
50
46
  assert_equal(%w(group bros1), @adms.find_user_groups("john"))
51
47
  @ldap.verify
data/test/ad_test.rb CHANGED
@@ -25,10 +25,10 @@ class TestAD < MiniTest::Test
25
25
 
26
26
  def test_good_bind_with_dn
27
27
  # no expectation on the service account
28
- @ldap.expect(:auth, nil, [ad_user_bind('Internet User'), "password"])
28
+ @ldap.expect(:auth, nil, [ad_user_dn('Internet User'), "password"])
29
29
  @ldap.expect(:bind, true)
30
30
  @ad.ldap = @ldap
31
- assert_equal(@ad.bind?(ad_user_bind('Internet User'), 'password'), true)
31
+ assert_equal(@ad.bind?(ad_user_dn('Internet User'), 'password'), true)
32
32
  @ldap.verify
33
33
  end
34
34
 
@@ -36,11 +36,11 @@ class TestAD < MiniTest::Test
36
36
  # looks up the account name's full DN via the service account
37
37
  @md = MiniTest::Mock.new
38
38
  user_result = MiniTest::Mock.new
39
- user_result.expect(:dn, ad_user_bind('Internet User'))
39
+ user_result.expect(:dn, ad_user_dn('Internet User'))
40
40
  @md.expect(:find_user, [user_result], %w(internet))
41
41
  @ad.member_service = @md
42
42
  service_bind
43
- @ldap.expect(:auth, nil, [ad_user_bind('Internet User'), "password"])
43
+ @ldap.expect(:auth, nil, [ad_user_dn('Internet User'), "password"])
44
44
  @ldap.expect(:bind, true)
45
45
  assert_equal(@ad.bind?('internet', 'password'), true)
46
46
  @ldap.verify
@@ -74,24 +74,28 @@ module LdapTestHelper
74
74
  "uid=#{uid},cn=users,cn=accounts,#{@config.base_dn}"
75
75
  end
76
76
 
77
- def ad_user_bind(name)
77
+ def ad_user_dn(name)
78
78
  "CN=#{name},CN=Users,#{@config.base_dn}"
79
79
  end
80
80
 
81
+ def ad_group_dn(name='group')
82
+ "cn=#{name},#{@config.group_base}"
83
+ end
84
+
81
85
  def ad_user_payload
82
- [{ :memberof => ["cn=group,dc=internet,dc=com"] }]
86
+ [{ :memberof => [ad_group_dn] }]
83
87
  end
84
88
 
85
89
  def ad_group_payload
86
- [{ :cn => "broze", :memberof => ["cn=group,dc=internet,dc=com"] }]
90
+ [{ :cn => "group", :memberof => [ad_group_dn] }]
87
91
  end
88
92
 
89
93
  def ad_parent_payload(num)
90
- [{ :memberof => ["cn=bros#{num},dc=internet,dc=com"] }]
94
+ [{ :memberof => [ad_group_dn("bros#{num}")] }]
91
95
  end
92
96
 
93
97
  def ad_double_payload(num)
94
- [{ :memberof => ["cn=bros#{num},dc=internet,dc=com", "cn=broskies#{num},dc=internet,dc=com"] }]
98
+ [{ :memberof => [ad_group_dn("bros#{num}"), ad_group_dn("broskies#{num}")] }]
95
99
  end
96
100
 
97
101
  def posix_user_payload
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ldap_fluff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jordan O'Mara
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2015-05-12 00:00:00.000000000 Z
15
+ date: 2015-07-27 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: net-ldap