github-ldap 1.3.0 → 1.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8c05560a6e80e800f35e6d9173fa14492b8d7201
4
- data.tar.gz: 95dd52b0e87152cd37d22b1f804ad336499fd47a
3
+ metadata.gz: f9c7b785a3c6daf7679b1722ee0d22a81dcb4028
4
+ data.tar.gz: 83cc3a67ee48508032a660fa75952a3691d3fff4
5
5
  SHA512:
6
- metadata.gz: 6162767914b01776e7d2e8bcab9101f2f7a70acafeee389295abb0caa4953f79e4992181ef01f3465b7f19c576a1781a2b9972de3f815801277937cffa980f96
7
- data.tar.gz: 381cc12fde5eaba702d4c6abfe7caa07cc75f85f85f644cbd2947fe0bbbb7003c0ca5274ef48a36a28bb89e913ad9271ef78c2276cecf80d1a4fed020fc244e7
6
+ metadata.gz: 60424b6d8541c2c2ee493958e368b5194cda45b4a5f67807ee5fc9dd31b015b01e1abc72c5b4fece2739900ba70ee953d94e4e8ad8dadba49324336472bac6ad
7
+ data.tar.gz: 340bf76161061af7a4a35307e36731c72ace77c79699f4f641f97531dd36b66fb73e7b3ab3b47ae1ff0cf0aa3d0065648e7b7d888211d2f52f12e22109706880
data/github-ldap.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "github-ldap"
5
- spec.version = "1.3.0"
5
+ spec.version = "1.3.1"
6
6
  spec.authors = ["David Calavera"]
7
7
  spec.email = ["david.calavera@gmail.com"]
8
8
  spec.description = %q{Ldap authentication for humans}
@@ -26,10 +26,17 @@ module GitHub
26
26
  # Returns a Net::LDAP::Filter.
27
27
  def member_filter(entry = nil, uid_attr = @ldap.uid)
28
28
  if entry
29
- MEMBERSHIP_NAMES.map {|n| Net::LDAP::Filter.eq(n, entry.dn) }.
30
- reduce(:|) |
31
- entry[uid_attr]. map { |uid| Net::LDAP::Filter.eq("memberUid", uid) }.
32
- reduce(:|)
29
+ filter =
30
+ MEMBERSHIP_NAMES. map {|n| Net::LDAP::Filter.eq(n, entry.dn) }.
31
+ reduce(:|)
32
+
33
+ if !entry[uid_attr].empty?
34
+ filter |=
35
+ entry[uid_attr].map { |uid| Net::LDAP::Filter.eq("memberUid", uid) }.
36
+ reduce(:|)
37
+ end
38
+
39
+ filter
33
40
  else
34
41
  (MEMBERSHIP_NAMES + %w(memberUid)).
35
42
  map {|n| Net::LDAP::Filter.pres(n)}.reduce(:|)
data/test/filter_test.rb CHANGED
@@ -32,6 +32,12 @@ class FilterTest < Minitest::Test
32
32
  @subject.member_filter(@entry).to_s
33
33
  end
34
34
 
35
+ def test_member_without_uid
36
+ @entry.uid = nil
37
+ assert_equal "(|(member=#{@me})(uniqueMember=#{@me}))",
38
+ @subject.member_filter(@entry).to_s
39
+ end
40
+
35
41
  def test_groups_reduced
36
42
  assert_equal "(|(cn=Enterprise)(cn=People))",
37
43
  @subject.group_filter(%w(Enterprise People)).to_s
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: github-ldap
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Calavera
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-19 00:00:00.000000000 Z
11
+ date: 2014-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-ldap