ldap_fluff 0.3.5 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.

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