Jörg Hoh created SLING-4749:
-------------------------------

             Summary: Request using "sling:bg=true" causes StackOverflow when 
no read access to /var
                 Key: SLING-4749
                 URL: https://issues.apache.org/jira/browse/SLING-4749
             Project: Sling
          Issue Type: Bug
          Components: Extensions
    Affects Versions: Background Servlet 1.0.0
            Reporter: Jörg Hoh


I have a system, where the anonymous user does not have read access to /var/bg. 
When I do a call to it (for example: http://localhost:4503/?sling:bg=true";, it 
returns with a internal server error. The log shows a stackoverflow exception, 
caused by

{code}
...
at 
org.apache.sling.bgservlets.impl.DeepNodeCreator.deepCreateNode(DeepNodeCreator.java:54)
at 
org.apache.sling.bgservlets.impl.DeepNodeCreator.deepCreateNode(DeepNodeCreator.java:54)
...
{code}

Looking at this line in the code I see a recursive call of deepCreateNode, 
which is executed, when the item itself does not exist. Which is true from the 
view of an anonymous session, which doesn't have read access to nodes beneath 
/var.

The code should be improved, so it does either check with an admin session that 
the path exists, but is simply not readable, or preferably add some detection, 
that it has already reached "/" and that it doesn't make sense to continue 
then. 






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

Reply via email to