github-ldap 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
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