You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by "Antonio Fiol (JIRA)" <ji...@apache.org> on 2006/02/15 10:18:11 UTC

[jira] Created: (COCOON-1775) LdapTransformer: LDAP attributes may not contain ";"

LdapTransformer: LDAP attributes may not contain ";"
----------------------------------------------------

         Key: COCOON-1775
         URL: http://issues.apache.org/jira/browse/COCOON-1775
     Project: Cocoon
        Type: Bug
  Components: Blocks: Naming  
    Versions: 2.1.8    
    Reporter: Antonio Fiol


I found a case where the LDAP attribute name is:
description;lang-en
LDAPTransformer tries to create an element such as:
<ldap:description;lang-en>something</ldap:description;lang-en>
This is not valid XML and causes an exception.

In fact, this attribute naming scheme complies both with RFC 2596 [1] and RFC 2252 [2], so the behaviour of LDAPTransformer is somehow wrong.

Three possible approaches:
- Investigate further on the meaning of name;something other than name;lang-something and try to map that into meaningful XML attributes.
    e.g. description;lang-en --> <ldap:description xml:lang="en">
- Split the attribute name at the first ";" and put the rest as an attribute. For example, the attribute could be called "attrs".
    e.g. description;lang-en --> <ldap:description attrs="lang-en">
- Remove the ";" character or change it into something else.
    e.g. description;lang-en --> <ldap:description_lang-en>

IMHO the third approach is the worst because it defeats the LDAP purpose of ";" which is to specify a characteristic of what is specified before. And I don't have a strong opinion whether the first approach is better than the second or vice-versa.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Re: [jira] Created: (COCOON-1775) LdapTransformer: LDAP attributes may not contain ";"

Posted by Vadim Gritsenko <va...@reverycodes.com>.
Jean-Baptiste Quenot wrote:
> * Antonio Fiol (JIRA):
> 
>> Three possible approaches:
>> - Investigate further on the meaning of name;something other than name;lang-something and try to map that into meaningful XML attributes.
>>     e.g. description;lang-en --> <ldap:description xml:lang="en">
>> - Split the attribute name at the first ";" and put the rest as an attribute. For example, the attribute could be called "attrs".
>>     e.g. description;lang-en --> <ldap:description attrs="lang-en">
> 
> This second approach is the best, unless the mentioned RFCs
> mentions that the hyphen "lang-en" is a name-value delimiter.

According to [1], there might be multiple options separated by ';'. So LDAP 
transformer should at least parse all options and output them, probably as space 
separated list:

   description;foo;bar;lang-en --> <ldap:description options="foo bar lang-en">

In addition it's probably good idea to parse well known options, so result can be:

   description;foo;bar;lang-en --> <ldap:description xml:lang="en" options="foo 
bar">


Vadim

[1] http://www.ietf.org/rfc/rfc2251.txt, Chapter 4.1.5

Re: [jira] Created: (COCOON-1775) LdapTransformer: LDAP attributes may not contain ";"

Posted by Jean-Baptiste Quenot <jb...@apache.org>.
* Antonio Fiol (JIRA):

> Three possible approaches:
> - Investigate further on the meaning of name;something other than name;lang-something and try to map that into meaningful XML attributes.
>     e.g. description;lang-en --> <ldap:description xml:lang="en">
> - Split the attribute name at the first ";" and put the rest as an attribute. For example, the attribute could be called "attrs".
>     e.g. description;lang-en --> <ldap:description attrs="lang-en">

This second approach is the best, unless the mentioned RFCs
mentions that the hyphen "lang-en" is a name-value delimiter.
-- 
Jean-Baptiste Quenot
http://caraldi.com/jbq/

[jira] Updated: (COCOON-1775) LdapTransformer: LDAP attributes may not contain ";"

Posted by "Jean-Baptiste Quenot (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/COCOON-1775?page=all ]

Jean-Baptiste Quenot updated COCOON-1775:
-----------------------------------------


Could you please provide a patch?

> LdapTransformer: LDAP attributes may not contain ";"
> ----------------------------------------------------
>
>          Key: COCOON-1775
>          URL: http://issues.apache.org/jira/browse/COCOON-1775
>      Project: Cocoon
>         Type: Bug
>   Components: Blocks: Naming
>     Versions: 2.1.8
>     Reporter: Antonio Fiol

>
> I found a case where the LDAP attribute name is:
> description;lang-en
> LDAPTransformer tries to create an element such as:
> <ldap:description;lang-en>something</ldap:description;lang-en>
> This is not valid XML and causes an exception.
> In fact, this attribute naming scheme complies both with RFC 2596 [1] and RFC 2252 [2], so the behaviour of LDAPTransformer is somehow wrong.
> Three possible approaches:
> - Investigate further on the meaning of name;something other than name;lang-something and try to map that into meaningful XML attributes.
>     e.g. description;lang-en --> <ldap:description xml:lang="en">
> - Split the attribute name at the first ";" and put the rest as an attribute. For example, the attribute could be called "attrs".
>     e.g. description;lang-en --> <ldap:description attrs="lang-en">
> - Remove the ";" character or change it into something else.
>     e.g. description;lang-en --> <ldap:description_lang-en>
> IMHO the third approach is the worst because it defeats the LDAP purpose of ";" which is to specify a characteristic of what is specified before. And I don't have a strong opinion whether the first approach is better than the second or vice-versa.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (COCOON-1775) LdapTransformer: LDAP attributes may not contain ";"

Posted by "Antonio Fiol (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/COCOON-1775?page=comments#action_12366456 ] 

Antonio Fiol commented on COCOON-1775:
--------------------------------------

[1] http://www.ietf.org/rfc/rfc2596.txt - Use of Language Codes in LDAP
[2] http://www.ietf.org/rfc/rfc2252.txt - Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions

> LdapTransformer: LDAP attributes may not contain ";"
> ----------------------------------------------------
>
>          Key: COCOON-1775
>          URL: http://issues.apache.org/jira/browse/COCOON-1775
>      Project: Cocoon
>         Type: Bug
>   Components: Blocks: Naming
>     Versions: 2.1.8
>     Reporter: Antonio Fiol

>
> I found a case where the LDAP attribute name is:
> description;lang-en
> LDAPTransformer tries to create an element such as:
> <ldap:description;lang-en>something</ldap:description;lang-en>
> This is not valid XML and causes an exception.
> In fact, this attribute naming scheme complies both with RFC 2596 [1] and RFC 2252 [2], so the behaviour of LDAPTransformer is somehow wrong.
> Three possible approaches:
> - Investigate further on the meaning of name;something other than name;lang-something and try to map that into meaningful XML attributes.
>     e.g. description;lang-en --> <ldap:description xml:lang="en">
> - Split the attribute name at the first ";" and put the rest as an attribute. For example, the attribute could be called "attrs".
>     e.g. description;lang-en --> <ldap:description attrs="lang-en">
> - Remove the ";" character or change it into something else.
>     e.g. description;lang-en --> <ldap:description_lang-en>
> IMHO the third approach is the worst because it defeats the LDAP purpose of ";" which is to specify a characteristic of what is specified before. And I don't have a strong opinion whether the first approach is better than the second or vice-versa.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Assigned: (COCOON-1775) LdapTransformer: LDAP attributes may not contain ";"

Posted by "Jean-Baptiste Quenot (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/COCOON-1775?page=all ]

Jean-Baptiste Quenot reassigned COCOON-1775:
--------------------------------------------

    Assign To: Jean-Baptiste Quenot

> LdapTransformer: LDAP attributes may not contain ";"
> ----------------------------------------------------
>
>          Key: COCOON-1775
>          URL: http://issues.apache.org/jira/browse/COCOON-1775
>      Project: Cocoon
>         Type: Bug
>   Components: Blocks: Naming
>     Versions: 2.1.8
>     Reporter: Antonio Fiol
>     Assignee: Jean-Baptiste Quenot

>
> I found a case where the LDAP attribute name is:
> description;lang-en
> LDAPTransformer tries to create an element such as:
> <ldap:description;lang-en>something</ldap:description;lang-en>
> This is not valid XML and causes an exception.
> In fact, this attribute naming scheme complies both with RFC 2596 [1] and RFC 2252 [2], so the behaviour of LDAPTransformer is somehow wrong.
> Three possible approaches:
> - Investigate further on the meaning of name;something other than name;lang-something and try to map that into meaningful XML attributes.
>     e.g. description;lang-en --> <ldap:description xml:lang="en">
> - Split the attribute name at the first ";" and put the rest as an attribute. For example, the attribute could be called "attrs".
>     e.g. description;lang-en --> <ldap:description attrs="lang-en">
> - Remove the ";" character or change it into something else.
>     e.g. description;lang-en --> <ldap:description_lang-en>
> IMHO the third approach is the worst because it defeats the LDAP purpose of ";" which is to specify a characteristic of what is specified before. And I don't have a strong opinion whether the first approach is better than the second or vice-versa.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Closed: (COCOON-1775) LdapTransformer: LDAP attributes may not contain ";"

Posted by "Jean-Baptiste Quenot (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/COCOON-1775?page=all ]

Jean-Baptiste Quenot closed COCOON-1775.
----------------------------------------

    Resolution: Won't Fix

Please reopen the issue if you can come up with a patch.  Thanks!

> LdapTransformer: LDAP attributes may not contain ";"
> ----------------------------------------------------
>
>                 Key: COCOON-1775
>                 URL: http://issues.apache.org/jira/browse/COCOON-1775
>             Project: Cocoon
>          Issue Type: Bug
>          Components: Blocks: Naming
>    Affects Versions: 2.1.8
>            Reporter: Antonio Fiol
>
> I found a case where the LDAP attribute name is:
> description;lang-en
> LDAPTransformer tries to create an element such as:
> <ldap:description;lang-en>something</ldap:description;lang-en>
> This is not valid XML and causes an exception.
> In fact, this attribute naming scheme complies both with RFC 2596 [1] and RFC 2252 [2], so the behaviour of LDAPTransformer is somehow wrong.
> Three possible approaches:
> - Investigate further on the meaning of name;something other than name;lang-something and try to map that into meaningful XML attributes.
>     e.g. description;lang-en --> <ldap:description xml:lang="en">
> - Split the attribute name at the first ";" and put the rest as an attribute. For example, the attribute could be called "attrs".
>     e.g. description;lang-en --> <ldap:description attrs="lang-en">
> - Remove the ";" character or change it into something else.
>     e.g. description;lang-en --> <ldap:description_lang-en>
> IMHO the third approach is the worst because it defeats the LDAP purpose of ";" which is to specify a characteristic of what is specified before. And I don't have a strong opinion whether the first approach is better than the second or vice-versa.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Assigned: (COCOON-1775) LdapTransformer: LDAP attributes may not contain ";"

Posted by "Jean-Baptiste Quenot (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/COCOON-1775?page=all ]

Jean-Baptiste Quenot reassigned COCOON-1775:
--------------------------------------------

    Assignee:     (was: Jean-Baptiste Quenot)

> LdapTransformer: LDAP attributes may not contain ";"
> ----------------------------------------------------
>
>                 Key: COCOON-1775
>                 URL: http://issues.apache.org/jira/browse/COCOON-1775
>             Project: Cocoon
>          Issue Type: Bug
>          Components: Blocks: Naming
>    Affects Versions: 2.1.8
>            Reporter: Antonio Fiol
>
> I found a case where the LDAP attribute name is:
> description;lang-en
> LDAPTransformer tries to create an element such as:
> <ldap:description;lang-en>something</ldap:description;lang-en>
> This is not valid XML and causes an exception.
> In fact, this attribute naming scheme complies both with RFC 2596 [1] and RFC 2252 [2], so the behaviour of LDAPTransformer is somehow wrong.
> Three possible approaches:
> - Investigate further on the meaning of name;something other than name;lang-something and try to map that into meaningful XML attributes.
>     e.g. description;lang-en --> <ldap:description xml:lang="en">
> - Split the attribute name at the first ";" and put the rest as an attribute. For example, the attribute could be called "attrs".
>     e.g. description;lang-en --> <ldap:description attrs="lang-en">
> - Remove the ";" character or change it into something else.
>     e.g. description;lang-en --> <ldap:description_lang-en>
> IMHO the third approach is the worst because it defeats the LDAP purpose of ";" which is to specify a characteristic of what is specified before. And I don't have a strong opinion whether the first approach is better than the second or vice-versa.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] Commented: (COCOON-1775) LdapTransformer: LDAP attributes may not contain ";"

Posted by "Antonio Fiol (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/COCOON-1775?page=comments#action_12367762 ] 

Antonio Fiol commented on COCOON-1775:
--------------------------------------

I will try, but don't expect it in less than one week. I'm overloaded at the moment. I'll take the second approach if nobody asks otherwise.

> LdapTransformer: LDAP attributes may not contain ";"
> ----------------------------------------------------
>
>          Key: COCOON-1775
>          URL: http://issues.apache.org/jira/browse/COCOON-1775
>      Project: Cocoon
>         Type: Bug
>   Components: Blocks: Naming
>     Versions: 2.1.8
>     Reporter: Antonio Fiol
>     Assignee: Jean-Baptiste Quenot

>
> I found a case where the LDAP attribute name is:
> description;lang-en
> LDAPTransformer tries to create an element such as:
> <ldap:description;lang-en>something</ldap:description;lang-en>
> This is not valid XML and causes an exception.
> In fact, this attribute naming scheme complies both with RFC 2596 [1] and RFC 2252 [2], so the behaviour of LDAPTransformer is somehow wrong.
> Three possible approaches:
> - Investigate further on the meaning of name;something other than name;lang-something and try to map that into meaningful XML attributes.
>     e.g. description;lang-en --> <ldap:description xml:lang="en">
> - Split the attribute name at the first ";" and put the rest as an attribute. For example, the attribute could be called "attrs".
>     e.g. description;lang-en --> <ldap:description attrs="lang-en">
> - Remove the ";" character or change it into something else.
>     e.g. description;lang-en --> <ldap:description_lang-en>
> IMHO the third approach is the worst because it defeats the LDAP purpose of ";" which is to specify a characteristic of what is specified before. And I don't have a strong opinion whether the first approach is better than the second or vice-versa.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira