I use Exodus to login to the server. I can create users without problems, but when Exodus login the user the server will return a 401 and 403. I fould out that user name with cap letter will always fail to login. For example, user “UPPER” will fail to login, while user “lower” will succeed. Why is cpatial letter username forbidden?
Can you log into the web admin UI and see how the user accounts were created (e.g. if the user was created but with a different name or wasn’'t created at all)?
My pleasure. I have the issue fixed and I’‘m looking into getting another patch in before making the 1.0.7 release (depends on if I can get someone’‘s time to add the other patch quickly). If we can’‘t get the other patch in, we’'ll just release 1.0.7 with this one patch and worry about the other issue in a future release.
For better or worse, they both are the correct behavior according to the protocol specification. Servers have the option of preserving an address or converting it to a ‘‘stringprep’’ version (for most latin languages this means essentially lowercase, for asian languages it can be a bit more complex). Clients can’‘t and shouldn’'t rely on the addresses to maintain their case (just as domain names are not case sensitive).
Messenger plays it safe and always sends the stringprep’‘d version. I can understand the desire to preserve case and will add it to the wish list. I think some client developers may find it better that the addresses are stringprep’‘d so that they can do a simple binary comparison of addresses to check for equality without having to worry about stringprep’‘ing (it can be an intensive operation). As a client developer though, you need to be prepared for stringprep’'d addresses since messages pass from server to server, and there is no way to guarantee the addresses will maintain their case in transit.