matrix-org / matrix-bifrost

General purpose bridging with a variety of backends including libpurple and xmpp.js
Apache License 2.0
164 stars 31 forks source link

the scheme and host of the uri to join a MUC should be case insensitive according to standards #249

Open albjeremias opened 3 years ago

albjeremias commented 3 years ago

the scheme and host are case-insensitive and therefore should be normalized to lowercase

Describe the bug

To Reproduce Steps to reproduce the behavior:

  1. Add a new room on conversations xmpp client using: #Nextcloud#matrix.org@matrix.org
  2. check room details and see i join #nextcloud#matrix.org@matrix.org
  3. it's a different room with a mixid in lowercase

Expected behavior I expect to see the room i want to join which should be #Nextcloud#matrix.org@matrix.org

Smartphone (please complete the following information):

Additional context

RFC 3986 states:

    the scheme and host are case-insensitive and therefore should be normalized to lowercase. For example, the URI <HTTP://www.EXAMPLE.com/> is equivalent to <http://www.example.com/>. The other generic syntax components are assumed to be case-sensitive unless specifically defined otherwise by the scheme

RFC 2616 defines the following comparison rule for the HTTP scheme:

    When comparing two URIs to decide if they match or not, a client SHOULD use a case-sensitive octet-by-octet comparison of the entire URIs, with these exceptions:

However, RFC 7230 locks it down further by stating:

    The scheme and host are case-insensitive and normally provided in lowercase; all other components are compared in a case-sensitive manner.

Those rules typically apply to client side comparisons. There are no rules specifically geared for server side comparisons. Once a server breaks up a URI into its components, it should treat them according to the same rules, but I don't see that enforced in the RFCs. Some web servers, like Apache, do follow the rules. IIS doesn't, for compatibility with Windows' case-insensitive file system.

https://stackoverflow.com/a/26196170

albjeremias commented 3 years ago

i can understand this issue is really polemic. but... is it possible to find another symbol like # to put before a Caps string for now? would reallly helpful.