Bug #1324

authorization blocks OPTIONS

Added by HenrikHolst almost 7 years ago. Updated over 6 years ago.

Status:FixedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:core
Target version:1.4.19
Missing in 1.5.x:

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

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

History

#1 Updated by simmel almost 7 years ago

I can confirm that this patch works with 1.4.18.

Using WebDAV with auth does NOT work WITHOUT this patch.

#2 Updated by stbuehler over 6 years ago

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

Fixed in r2086

Also available in: Atom