angela created OAK-4459:
---------------------------

             Summary: Duplicate and case sensitive comparison of lockowner with 
user id
                 Key: OAK-4459
                 URL: https://issues.apache.org/jira/browse/OAK-4459
             Project: Jackrabbit Oak
          Issue Type: Technical task
          Components: jcr
            Reporter: angela


the current lock implementation in oak-jcr contains multiple places where the 
user id stored with the editing session is compared to lock specific 
information (lock owner information).
IMO that should be streamlined to make sure the code works consistent across 
the various methods (which it currently doesn't see OAK-4458).

also it looks troublesome to me that the comparison is case sensitive as the 
login by default is not case sensitive... alternatively compare it to a value 
that is known to be immutable such as e.g. the user ID as stored in the user 
management (and only fall back to session id, which might be {{null}} btw) if 
no user exists or user management is not supported.

in general i find it quite problematic to base any kind of verification based 
on the {{jcr:lockOwner}} implementation, which is _NOT_ intended to be used for 
that purpose (see specification)... if the locking feature was properly 
implemented, we would not base the ability to unlock a given node based on 
information that can be application supplied such as the {{jcr:lockOwner}} 
property but rather make sure we have internal ways that allows for proper 
verification.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to