You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Julian Reschke (JIRA)" <ji...@apache.org> on 2006/04/10 11:57:00 UTC

[jira] Created: (JCR-391) WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist

WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist
--------------------------------------------------------------------------------------------------------------------------

         Key: JCR-391
         URL: http://issues.apache.org/jira/browse/JCR-391
     Project: Jackrabbit
        Type: Bug

  Components: webdav  
    Reporter: Julian Reschke
    Priority: Minor


This is Litmus test case copy_nodestcoll. An attempt is made to COPY an existing resource to a new location, where the parent collection of the resource-to-be-created does not exist. RFC2518 asks for status code 409 (Conflict) instead of 403 (Forbidden) in this case.


-- 
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: (JCR-391) WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist

Posted by Angela Schreiber <an...@day.com>.
hi julian

i tried to comment on the jira issue, but i cannot access it
again. *hm*.

so:

"if i remember correctly the reason for this is, that JSR170
  does not support the 'shallow' copy.
  the conflict would be detected property by the javax.jcr.Workspace#copy
  if the copy was requested as deep copy.
  therefore i left the extra check.

  if you think the conflict has priority over the non-processable
  header, i'd suggest to add the extra check to AbstractWebdavServlet
  where some basic validation for the destination is performed."

regards
angela



Julian Reschke (JIRA) wrote:
> WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist
> --------------------------------------------------------------------------------------------------------------------------
> 
>          Key: JCR-391
>          URL: http://issues.apache.org/jira/browse/JCR-391
>      Project: Jackrabbit
>         Type: Bug
> 
>   Components: webdav  
>     Reporter: Julian Reschke
>     Priority: Minor
> 
> 
> This is Litmus test case copy_nodestcoll. An attempt is made to COPY an existing resource to a new location, where the parent collection of the resource-to-be-created does not exist. RFC2518 asks for status code 409 (Conflict) instead of 403 (Forbidden) in this case.
> 
> 


[jira] Resolved: (JCR-391) WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-391?page=all ]
     
angela resolved JCR-391:
------------------------

    Fix Version: 1.0.1
     Resolution: Fixed

applied patch as is (rev. 393731)

thanks for your effort


> WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist
> --------------------------------------------------------------------------------------------------------------------------
>
>          Key: JCR-391
>          URL: http://issues.apache.org/jira/browse/JCR-391
>      Project: Jackrabbit
>         Type: Bug

>   Components: webdav
>     Versions: 1.0
>     Reporter: Julian Reschke
>     Assignee: angela
>     Priority: Minor
>      Fix For: 1.0.1
>  Attachments: diff.txt
>
> This is Litmus test case copy_nodestcoll. An attempt is made to COPY an existing resource to a new location, where the parent collection of the resource-to-be-created does not exist. RFC2518 asks for status code 409 (Conflict) instead of 403 (Forbidden) in this case.

-- 
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] Closed: (JCR-391) WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist

Posted by Angela Schreiber <an...@day.com>.
Julian Reschke wrote:
> thanks for applying the patch.

you are welcome

kind regards
angela





Re: [jira] Closed: (JCR-391) WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist

Posted by Julian Reschke <ju...@gmx.de>.
Angela,

thanks for applying the patch.

In the meantime I've submitted a new test case for Litmus that checks 
shallow copy functionality in particular 
(<http://mailman.webdav.org/pipermail/litmus/2006-April/000194.html>).

Best regards, Julian

[jira] Closed: (JCR-391) WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-391?page=all ]
     
angela closed JCR-391:
----------------------


> WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist
> --------------------------------------------------------------------------------------------------------------------------
>
>          Key: JCR-391
>          URL: http://issues.apache.org/jira/browse/JCR-391
>      Project: Jackrabbit
>         Type: Bug

>   Components: webdav
>     Versions: 1.0
>     Reporter: Julian Reschke
>     Assignee: angela
>     Priority: Minor
>      Fix For: 1.0.1
>  Attachments: diff.txt
>
> This is Litmus test case copy_nodestcoll. An attempt is made to COPY an existing resource to a new location, where the parent collection of the resource-to-be-created does not exist. RFC2518 asks for status code 409 (Conflict) instead of 403 (Forbidden) in this case.

-- 
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] Updated: (JCR-391) WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-391?page=all ]

angela updated JCR-391:
-----------------------

    Version: 1.0

> WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist
> --------------------------------------------------------------------------------------------------------------------------
>
>          Key: JCR-391
>          URL: http://issues.apache.org/jira/browse/JCR-391
>      Project: Jackrabbit
>         Type: Bug

>   Components: webdav
>     Versions: 1.0
>     Reporter: Julian Reschke
>     Assignee: angela
>     Priority: Minor
>      Fix For: 1.0.1
>  Attachments: diff.txt
>
> This is Litmus test case copy_nodestcoll. An attempt is made to COPY an existing resource to a new location, where the parent collection of the resource-to-be-created does not exist. RFC2518 asks for status code 409 (Conflict) instead of 403 (Forbidden) in this case.

-- 
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] Updated: (JCR-391) WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist

Posted by "Julian Reschke (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-391?page=all ]

Julian Reschke updated JCR-391:
-------------------------------

    Attachment: diff.txt

OK, as Angela pointed out, this is because Litmus is trying a shallow copy, which currently isn't implemented. Returning 403 in this case is correct.

However, there seems to be a very simple workaround which does not only make Litmus happy, but may also help in some real-world cases: only reject the request here if the source resource indeed is a collection (otherwise WebDAV semantics for Depth: 0 and Depth: Infinity are identical).

(attached)

> WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist
> --------------------------------------------------------------------------------------------------------------------------
>
>          Key: JCR-391
>          URL: http://issues.apache.org/jira/browse/JCR-391
>      Project: Jackrabbit
>         Type: Bug

>   Components: webdav
>     Reporter: Julian Reschke
>     Priority: Minor
>  Attachments: diff.txt
>
> This is Litmus test case copy_nodestcoll. An attempt is made to COPY an existing resource to a new location, where the parent collection of the resource-to-be-created does not exist. RFC2518 asks for status code 409 (Conflict) instead of 403 (Forbidden) in this case.

-- 
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: (JCR-391) WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist

Posted by "angela (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/JCR-391?page=all ]

angela reassigned JCR-391:
--------------------------

    Assign To: angela

> WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist
> --------------------------------------------------------------------------------------------------------------------------
>
>          Key: JCR-391
>          URL: http://issues.apache.org/jira/browse/JCR-391
>      Project: Jackrabbit
>         Type: Bug

>   Components: webdav
>     Reporter: Julian Reschke
>     Assignee: angela
>     Priority: Minor
>  Attachments: diff.txt
>
> This is Litmus test case copy_nodestcoll. An attempt is made to COPY an existing resource to a new location, where the parent collection of the resource-to-be-created does not exist. RFC2518 asks for status code 409 (Conflict) instead of 403 (Forbidden) in this case.

-- 
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: (JCR-391) WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist

Posted by "Julian Reschke (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/JCR-391?page=comments#action_12373842 ] 

Julian Reschke commented on JCR-391:
------------------------------------

Angela,

confirmed: modifying the Litmus test case to use Depth: Infinity shows that in this case the correct response code is returned. Will investigate further.

Best regards, 

Julian 

> WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist
> --------------------------------------------------------------------------------------------------------------------------
>
>          Key: JCR-391
>          URL: http://issues.apache.org/jira/browse/JCR-391
>      Project: Jackrabbit
>         Type: Bug

>   Components: webdav
>     Reporter: Julian Reschke
>     Priority: Minor

>
> This is Litmus test case copy_nodestcoll. An attempt is made to COPY an existing resource to a new location, where the parent collection of the resource-to-be-created does not exist. RFC2518 asks for status code 409 (Conflict) instead of 403 (Forbidden) in this case.

-- 
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: (JCR-391) WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist

Posted by "angela (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/JCR-391?page=comments#action_12373837 ] 

angela commented on JCR-391:
----------------------------

hi julian

if i remember correctly, the reason for this is that JSR170 does not allow to perform a 'shallow' copy.
the conflict would be detected by the javax.jcr.Workspace#copy therefore no additional check for existing parent is performed.

If you think this is worth an extra check, i would add it to the AbstractWebdavServlet, where some basic validation of the destination is done.

regards
angela

> WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist
> --------------------------------------------------------------------------------------------------------------------------
>
>          Key: JCR-391
>          URL: http://issues.apache.org/jira/browse/JCR-391
>      Project: Jackrabbit
>         Type: Bug

>   Components: webdav
>     Reporter: Julian Reschke
>     Priority: Minor

>
> This is Litmus test case copy_nodestcoll. An attempt is made to COPY an existing resource to a new location, where the parent collection of the resource-to-be-created does not exist. RFC2518 asks for status code 409 (Conflict) instead of 403 (Forbidden) in this case.

-- 
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: (JCR-391) WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist

Posted by "Jukka Zitting (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/JCR-391?page=comments#action_12413337 ] 

Jukka Zitting commented on JCR-391:
-----------------------------------

Merged for 1.0.1 in revision 409539.

> WebDAV method invocation trying to create a new resource should fail with 409 (Conflict) if parent resource does not exist
> --------------------------------------------------------------------------------------------------------------------------
>
>          Key: JCR-391
>          URL: http://issues.apache.org/jira/browse/JCR-391
>      Project: Jackrabbit
>         Type: Bug

>   Components: webdav
>     Versions: 1.0
>     Reporter: Julian Reschke
>     Assignee: angela
>     Priority: Minor
>      Fix For: 1.0.1
>  Attachments: diff.txt
>
> This is Litmus test case copy_nodestcoll. An attempt is made to COPY an existing resource to a new location, where the parent collection of the resource-to-be-created does not exist. RFC2518 asks for status code 409 (Conflict) instead of 403 (Forbidden) in this case.

-- 
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