Problem |
When Microsoft Windows XP attempts to connect to a webdav server, it insanely refuses to just send the user name and password. It insists that it send either "url\username" or "username@domain". This is listed in the Microsoft Knowledge Base as a problem affecting XP and 2000. They recommend as a 'workaround' that you use the NETBIOS name for the server or enter the username in the format of 'url\username'. Most authentication/authorization modules that come with Apache don't want this extra information. It would be handy to strip it off - conditionally. This helps to keep the Apache authentication processes available to even problematic clients. NOTE: This problem does not affect Macromedia Dreamweaver MX. That product works like a charm with Apache WebDAV. This problem affects MS IE and MS WebFolders |
|
Solution |
This module will re-write the Basic authorization header that comes
from Microsoft's Webdav clients'. It has only been tested with Windows
XP, but sufficient flexibility is available to make it work with most
systems. f the header record from the client matches the pattern(s) it will iterates through a list of solutions until it finds a matching one. If none are found it will ignore the request and let it pass through unaltered. This module corrects the fact that MS won't fix a big ol' bug in their WEBDAV support. It took about 3 hours to write/test (but another 1.5 days to write it all up and test over and over.)
|
|
Configuration |
Version 0.2.0 only has four configuration commands: | |
AuthMSFix On/Off |
||
|
||
AuthMSFixDebug On/Off |
||
|
||
|
||
|
||
AuthMSFixMatch USER-PATTERN SUBSTITUTION-PATTERN |
||
|
||
Examples |
||
(1) Get rid of local domains in usernames, but let others pass through: | ||
AuthMSFix ON |
||
(2) Just check for the usual MS XP stuff: | ||
|
||
Contents |
README - this file in text format |
|
Distribution |
This software is distributed under the GNU License (GPL). You may redistribute or modify it under the terms of this license. (Just remember to include my name and copyright.) No warranty is implied or expressed. If this module makes your life hell and eats your children, you waive your right to legal action, spamming, threats, and overall unpleasant behaviour. If you find this helpful -- good. If you find it a godsend you need to get out more. Perhaps to buy me a beer. |
|
Testing Notes |
Macromedia Dreamweaver MX works like a charm and does NOT need this module. Good work to Macromedia. You can safely bypass Macromedia's client (Dreamweaver). It will be bypassed if you setup the 'OnHeader' patterns to only affect MS. MS IE 6.0 and MS XP "Network Places" may or may not allow 'user@location', doesn't always try to authorize, doesn't always send passwords, doesn't seem to remember passwords, and may not work the first time. In all tested cases I just ... retried. Over and over. Eventually it worked. Well...usually. I found that 'server\username' works the best. In order to find this out
- since I thought it was THIS module screwing up - I created and used
the Also, while the Dreamweaver product connects and updates web pages fairly quick the Microsoft XP WebDAV clients are s..l..o..w. This is not the fault of using this module; it has very little overhead and is really very fast. (I tried it with Dreamweaver and had it change the username to username.) Perhaps the MS Clients may be trying other protocols first in hopes of chatting up the MS IIS product? Microsoft - What an XPerience. |