ldap_fluff 0.3.7 → 0.4.0

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: 5648d1eb100608b85c3815cc5ae5a215cd1ce5b0
4
- data.tar.gz: afb387b8210f7120263b218bb2e3def00a7deb80
3
+ metadata.gz: 54e77169e6958e3e3c2abaa3963fb82e2e897d90
4
+ data.tar.gz: 393ddfd24ecb0f28f0d301b3edb30a8788adebb2
5
5
  SHA512:
6
- metadata.gz: 11596e7ac3c290ab3270432bfc0f13fbed11d39a8ebd4daa9f5f699656405b1f5f27c9637afc8a4b08c4829a72e2cbea2084b50d38ff271c48bfa5d1354784cc
7
- data.tar.gz: 58d72eb169b5df0a0d4f00cb29b44c56e82b7436b5b85e530daf4e17698768e1a3fd211f3e2c07ee0b1d7de344ef3477371196cbe1209aa5de1fae974559728a
6
+ metadata.gz: 5e90e3e250a2385281f112968328d60b8039dd7c701c9a0d866f77962022bd68a1e57c82229c396e93617fc12d4ca51ec0d38aaa7e32b15ab4f990c7dca83d21
7
+ data.tar.gz: b7e6b676a1b16506271951f7a7f299b6f2e4bb7ebe89fffd79925f4e77c67dd690f6bbc5b2005066ccbe08a4fceea7706dce09cd0dc2304ab27d5ee3874ceb3f
@@ -22,8 +22,9 @@ class LdapFluff::GenericMemberService
22
22
  end
23
23
 
24
24
  def find_by_dn(dn)
25
- entry, base = dn.split(',', 2)
25
+ entry, base = dn.split(/(?<!\\),/, 2)
26
26
  entry_attr, entry_value = entry.split('=', 2)
27
+ entry_value = entry_value.gsub('\,', ',')
27
28
  user = @ldap.search(:filter => name_filter(entry_value, entry_attr), :base => base)
28
29
  raise self.class::UIDNotFoundException if (user.nil? || user.empty?)
29
30
  user
@@ -120,6 +120,17 @@ class TestADMemberService < MiniTest::Test
120
120
  @ldap.verify
121
121
  end
122
122
 
123
+ def test_find_by_dn_comma_in_cn
124
+ # In at least one AD installation, users who have commas in their CNs are
125
+ # returned by the server in answer to a group membership query with
126
+ # backslashes before the commas in the CNs. Such escaped commas should not
127
+ # be used when splitting the DN.
128
+ @ldap.expect(:search, [:result], [:filter => Net::LDAP::Filter.eq('cn', 'Bar, Foo'), :base => 'dc=example,dc=com'])
129
+ @adms.ldap = @ldap
130
+ assert_equal([:result], @adms.find_by_dn('cn=Bar\, Foo,dc=example,dc=com'))
131
+ @ldap.verify
132
+ end
133
+
123
134
  def test_find_by_dn_missing_entry
124
135
  @ldap.expect(:search, nil, [:filter => Net::LDAP::Filter.eq('cn', 'Foo Bar'), :base => 'dc=example,dc=com'])
125
136
  @adms.ldap = @ldap
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.7
4
+ version: 0.4.0
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-09-09 00:00:00.000000000 Z
15
+ date: 2015-11-20 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: net-ldap
@@ -70,6 +70,20 @@ dependencies:
70
70
  - - '>='
71
71
  - !ruby/object:Gem::Version
72
72
  version: '0'
73
+ - !ruby/object:Gem::Dependency
74
+ name: rubocop
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ type: :development
81
+ prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
73
87
  description: Simple library for binding & group querying on top of various LDAP implementations
74
88
  email:
75
89
  - jomara@redhat.com
@@ -118,7 +132,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
118
132
  requirements:
119
133
  - - '>='
120
134
  - !ruby/object:Gem::Version
121
- version: '0'
135
+ version: 1.9.3
122
136
  required_rubygems_version: !ruby/object:Gem::Requirement
123
137
  requirements:
124
138
  - - '>='