[dokuwiki] Using mixed case users (was: Using uppercase filenames on Linux)

  • From: Kite <kite@xxxxxxxxxxxx>
  • To: dokuwiki@xxxxxxxxxxxxx
  • Date: Sat, 16 Dec 2006 16:28:21 -0800


I know Dokuwiki requires lowercase for both page names and user IDs, I really don't see a "why" discussed anywhere.

Is there a reason that lowercase is the requirement and mixed case is not an option? I can see how it is a distinct advantage with page names since it no longer matters how I address a page -- and I definitely don't have a reason for [[puzzles]], [[Puzzles]], and [[PUzzles]] to refer to three pages rather than one. And it is simpler to say everything is lower case than to look for a mixed case match and re-using the existing page. Besides, normally the page Title or a "reference text" is shown to users, not the ID, anyway so people care even less that its only lower case for pages files.

However, it appears to me that User IDs must be handled the same way //only// because one function is used to enforce validity -- cleanid(). Again, the possible problem could be the case of the users with the same ID in different cases which is a support headache. But, seen a different way, this is a security hole since you've just greatly reduced the combinations of characters to combine for a valid userID. As I recall, Windows was forced to change a similar behavior for WinXP.

My problem is that I have more than a decade of legacy users from a previous website to support. We had a system that allowed not only mixed case, but some odder characters, as well. Rather than change how several hundred users worked, I had to bend Dokuwiki: I created a copy of cleanid() //just// for user IDs that allows mixed case (and a couple odd characters). It wasn't bad; there are only three places my function is used instead of the original cleanid() which still cleans up page references. I'd like to see this more formally built in as an option into the lower workings of Dokuwiki. There are some things I could do, for example, the check for an existing user should be case insensitive, too, to prevent user IDs that are duplicates in everything but case. Just my opinion; if its just me, then I can alter thee function calls as part of my upgrade process. If its not just me, then maybe this should be a feature request.

Kite
webmaster@xxxxxxxxxxxx

Paul Webster wrote:
Hi List,
I just moved Dokuwiki (latest from darcs) from a Windows-Apache
environment to an Linux-Apache environment and noticed that files
using upper-chased chars are not recognized (pages, and media files).
If I copy a file with upper-case chars via samba for example into the
media directory I see the filename correct in the mediabrowser and the
Link (in the edit view) is correct as well, but as html the link is
converted to all lowercase and the file is not found when I click on
the link.

Is there anything I am doing wrong or can i change that behaviour?
Thanks in advance,
Thomas

The file and folder names in the data directory must all be lower
case. Dokuwiki converts all namespaces and pages to lower case. Short
of writing a script to recurse the data directory and rename
everything, I'm not sure how you would resolve this.

One other thing to check when copying files onto a Linux machine over
samba is the resulting permissions on the Linux system, which in turn,
depends on how you have samba set up. Make sure Apache on Linux has at
least read access to the files and folders. It is also entirely
possible that you may be able to configure samba to force lower case
names, or vice versa on windows, but I'm not sure.

Paul W


--
DokuWiki mailing list - more info at
http://wiki.splitbrain.org/wiki:mailinglist

Other related posts: