Coder Social home page Coder Social logo

Comments (3)

dgraziotin avatar dgraziotin commented on August 19, 2024

@rozhuk-im are you the author of http://netlab.dhis.org/wiki/ru:software:nginx:webdav?

If yes, this bug might affect you, too.

If you have

    location / {
     
      auth_basic "Restricted";
      auth_basic_user_file htpasswd;
[...]
      if ($request_method = DELETE) {
        return 598;
      }
[...]
}
[...]
location @delete_handler {
      internal;
      open_file_cache	off;
      
      if ($destination ~ ^https?://(.*)$) {
        set $new_path $1;
        more_set_input_headers "Destination: http://$new_path";
      }
      
      if (-d $webdav_root/$uri) { # Microsoft specific handle: Add trailing slash to dirs.
        more_set_input_headers "Destination: http://$new_path/";
        rewrite ^(.*[^/])$ $1/ break;
      }
      
      root			$webdav_root;
      dav_methods		DELETE;
    }
[...]

The authentication mechanisms auth_basic and auth_basic_user_file must be repeated in the location @delete_handler, too:

    location / {
     
      auth_basic "Restricted";
      auth_basic_user_file htpasswd;
[...]
      if ($request_method = DELETE) {
        return 598;
      }
[...]
}
[...]
location @delete_handler {
      auth_basic "Restricted";
      auth_basic_user_file htpasswd;
      internal;
      open_file_cache	off;
      
      if ($destination ~ ^https?://(.*)$) {
        set $new_path $1;
        more_set_input_headers "Destination: http://$new_path";
      }
      
      if (-d $webdav_root/$uri) { # Microsoft specific handle: Add trailing slash to dirs.
        more_set_input_headers "Destination: http://$new_path/";
        rewrite ^(.*[^/])$ $1/ break;
      }
      
      root			$webdav_root;
      dav_methods		DELETE;
    }
[...]

Otherwise, nginx will return 403 but delete the files.
Let me know if this issue applies to you, too 👍

Edit: same for @copy_move_handler

from docker-nginx-webdav-nononsense.

rozhuk-im avatar rozhuk-im commented on August 19, 2024

Yes, netlab is mine.
Thanks for pointing that, never think that auth apply only in location that generates reply.

I can not check this, I do not use WebDAV for r/w operations any more, only for share content for kodi with simple minimal DAV config.

May be this will also relevant to you:
arut/nginx-dav-ext-module#55
arut/nginx-dav-ext-module#56

from docker-nginx-webdav-nononsense.

dgraziotin avatar dgraziotin commented on August 19, 2024

@rozhuk-im all good. Thank you for the Wiki article, it has helped a lot! I can credit you properly in the README now.

from docker-nginx-webdav-nononsense.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.