google-code-export / ruby-activeldap

Automatically exported from code.google.com/p/ruby-activeldap
Other
1 stars 1 forks source link

ActiveLdap::DistinguishedNameInvalid in method .id when RDN include '+', '=' or '#' #16

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Install ActiveLdap from trunk (r822)
2. Generate model (org_unit.rb)
class OrgUnit < ActiveLdap::Base
  ldap_mapping :dn_attribute => "ou", :prefix => "", :classes =>
['organizationalUnit']
end
3. # script/console
 Loading production environment (Rails 2.2.2)
>> o = OrgUnit.new
SASL/GSSAPI authentication started
SASL username: onm@__.com
SASL SSF: 56
SASL data security layer installed.
=> #<OrgUnit objectClass:<organizationalUnit>, must:<objectClass, ou>,
may:<businessCategory, description, destinationIndicator,
facsimileTelephoneNumber, internationaliSDNNumber, l,
physicalDeliveryOfficeName, postOfficeBox, postalAddress, postalCode,
preferredDeliveryMethod, registeredAddress, searchGuide, seeAlso, st,
street, telephoneNumber, teletexTerminalIdentifier, telexNumber,
userPassword, x121Address>, businessCategory: [], description: [],
destinationIndicator: [], facsimileTelephoneNumber: [], fax: [],
internationaliSDNNumber: [], l: [], localityName: [], objectClass:
["organizationalUnit"], organizationalUnitName: [], ou: [],
physicalDeliveryOfficeName: [], postOfficeBox: [], postalAddress: [],
postalCode: [], preferredDeliveryMethod: [], registeredAddress:
[],searchGuide: [], seeAlso: [], st: [], stateOrProvinceName: [], street:
[], streetAddress: [], telephoneNumber: [], teletexTerminalIdentifier: [],
telexNumber: [], userPassword: [], x121Address: []>
>> o.ou = "Test" => "Test"
>> o.id => "Test"
>> o.ou = "Test#" => "Test#"
>> o.id

What is the expected output? What do you see instead?
What steps will reproduce the problem?
1. Install ActiveLdap from trunk (r822)
2. Generate model (org_unit.rb)
class OrgUnit < ActiveLdap::Base
  ldap_mapping :dn_attribute => "ou", :prefix => "", :classes =>
['organizationalUnit']
end
3. # script/console
 Loading production environment (Rails 2.2.2)
>> o = OrgUnit.new
SASL/GSSAPI authentication started
SASL username: onm@__.com
SASL SSF: 56
SASL data security layer installed.
=> #<OrgUnit objectClass:<organizationalUnit>, must:<objectClass, ou>,
may:<businessCategory, description, destinationIndicator,
facsimileTelephoneNumber, internationaliSDNNumber, l,
physicalDeliveryOfficeName, postOfficeBox, postalAddress, postalCode,
preferredDeliveryMethod, registeredAddress, searchGuide, seeAlso, st,
street, telephoneNumber, teletexTerminalIdentifier, telexNumber,
userPassword, x121Address>, businessCategory: [], description: [],
destinationIndicator: [], facsimileTelephoneNumber: [], fax: [],
internationaliSDNNumber: [], l: [], localityName: [], objectClass:
["organizationalUnit"], organizationalUnitName: [], ou: [],
physicalDeliveryOfficeName: [], postOfficeBox: [], postalAddress: [],
postalCode: [], preferredDeliveryMethod: [], registeredAddress:
[],searchGuide: [], seeAlso: [], st: [], stateOrProvinceName: [], street:
[], streetAddress: [], telephoneNumber: [], teletexTerminalIdentifier: [],
telexNumber: [], userPassword: [], x121Address: []>
>> o.ou = "Test" => "Test"
>> o.id => "Test"
>> o.ou = "Test#" => "Test#"
>> o.id

What is the expected output? What do you see instead?
Must return "Test#" but raised

---
ActiveLdap::DistinguishedNameInvalid: ou=_,dc=_,dc=_,dc=com is invalid
distinguished name (DN): attribute type is missing
 from
/var/onm/vendor/activeldap-trunk/lib/active_ldap/distinguished_name.rb:55:in 
`scan_attribute_type'
 from
/var/onm/vendor/activeldap-trunk/lib/active_ldap/distinguished_name.rb:32:in 
`parse'
 from
/var/onm/vendor/activeldap-trunk/lib/active_ldap/distinguished_name.rb:157:in
`parse'
 from /var/onm/vendor/activeldap-trunk/lib/active_ldap/base.rb:1219:in
`update_dn'
 from /var/onm/vendor/activeldap-trunk/lib/active_ldap/base.rb:1268:in
`ensure_update_dn'
 from /var/onm/vendor/activeldap-trunk/lib/active_ldap/base.rb:1266:in
`synchronize'
 from /var/onm/vendor/activeldap-trunk/lib/active_ldap/base.rb:1266:in
`ensure_update_dn'
 from /var/onm/vendor/activeldap-trunk/lib/active_ldap/base.rb:710:in
`dn_attribute'
 from /var/onm/vendor/activeldap-trunk/lib/active_ldap/base.rb:695:in `id'
 from (irb):5

---

Original issue reported on code.google.com by Alexey.Chebotar@gmail.com on 4 Feb 2009 at 4:11

GoogleCodeExporter commented 9 years ago
Thanks for submitting new issue. :)
I've fixed it in trunk.

Original comment by kou...@gmail.com on 5 Feb 2009 at 12:36

GoogleCodeExporter commented 9 years ago
It Works! ) Thanks.
P.S. My new account - alexey.chebotar ;)

Original comment by danger1...@gmail.com on 9 Feb 2009 at 6:45