Project

General

Profile

Actions

Bug #1324

closed

authorization blocks OPTIONS

Added by HenrikHolst over 16 years ago. Updated about 16 years ago.

Status:
Fixed
Priority:
Normal
Category:
core
Target version:
ASK QUESTIONS IN Forums:

Description

If a client sends a OPTIONS method for a resource that is under authorization, then mod_auth blocks the other modules from inserting their options since it breaks the calling chain. To make matters worse, the lighttpd core sends a 200 for all OPTIONS requests.

One case where this fails miserably is webdav, the Windows Web Folders client and the davfs2 (neon based) filesystem checks for DAV compliance with OPTIONS before allowing a server. Since mod_auth blocks mod_webdav from inserting it's options and the reply is a 200 (so that the client does not know that it has to send it's credentials) the connection is refused by the client.

I have included a small patch which changes this last behaviour into replying with 401 if authorization is required. I have tested this against both neon and the Windows Web Folders Client and they both work properly now.

Debate is whether this is the correct fix or not. One other fix would be to let mod_auth skip it's checks if HTTP_METHOD_OPTIONS but then I cannot find support in the RFCs for such behaviour so I think that my patch is the correct one :)


Files

connections.patch (519 Bytes) connections.patch patch for connections.c HenrikHolst, 2007-08-24 09:04
Actions #1

Updated by simmel over 16 years ago

I can confirm that this patch works with 1.4.18.

Using WebDAV with auth does NOT work WITHOUT this patch.

Actions #2

Updated by stbuehler about 16 years ago

  • Status changed from New to Fixed
  • Resolution set to fixed

Fixed in r2086

Actions

Also available in: Atom