Issue Details (XML | Word | Printable)

Key: MBS-3995
Type: Bug Bug
Status: Open Open
Priority: Normal Normal
Assignee: Unassigned
Reporter: Lukáลก Lalinský
Votes: 1
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
MusicBrainz Server

Username with an exclamation mark returns HTTP 400

Created: 13/Dec/11 02:41 PM   Updated: 15/Aug/12 01:40 PM  Due: 03/Jul/13
Component/s: Web service
Affects Version/s: None
Fix Version/s: Within 12 months


 Description  « Hide

When using http://musicbrainz.org/ws/1/user with username that contains the exclamation mark, no matter what password you enter, you get a HTTP 400 error.

$ curl --digest --user 'test!:test' -v 'http://musicbrainz.org/ws/1/user?type=xml&name=test%21'

  • About to connect() to musicbrainz.org port 80 (#0)
  • Trying 72.29.166.157... connected
  • Connected to musicbrainz.org (72.29.166.157) port 80 (#0)
  • Server auth using Digest with user 'test!'
    > GET /ws/1/user?type=xml&name=test%21 HTTP/1.1
    > User-Agent: curl/7.21.3 (i686-pc-linux-gnu) libcurl/7.21.3 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
    > Host: musicbrainz.org
    > Accept: /
    >
    < HTTP/1.1 401
    < Date: Tue, 13 Dec 2011 14:37:59 GMT
    < Content-Type: text/plain; charset=UTF-8
    < Connection: keep-alive
    < Keep-Alive: timeout=20
    < Server: nginx/0.7.65
    < WWW-Authenticate: Digest realm="musicbrainz.org", qop="auth,auth-int", nonce="0I9vlagoSES0sssMJJy4dQ==", opaque="C/vJ9jIQQQSy0t1QHkgsxA==", algorithm="MD5"
    < Content-Length: 23
    < Access-Control-Allow-Origin: *
    <
  • Ignoring the response-body
  • Connection #0 to host musicbrainz.org left intact
  • Issue another request to this URL: 'http://musicbrainz.org/ws/1/user?type=xml&name=test%21'
  • Re-using existing connection! (#0) with host musicbrainz.org
  • Connected to musicbrainz.org (72.29.166.157) port 80 (#0)
  • Server auth using Digest with user 'test!'
    > GET /ws/1/user?type=xml&name=test%21 HTTP/1.1
    > Authorization: Digest username="test!", realm="musicbrainz.org", nonce="0I9vlagoSES0sssMJJy4dQ==", uri="/ws/1/user?type=xml&name=test%21", cnonce="MDIyMDAx", nc=00000001, qop="auth", response="cbbd17c36b5157cc857fdc1eaa9318ad", opaque="C/vJ9jIQQQSy0t1QHkgsxA==", algorithm="MD5"
    > User-Agent: curl/7.21.3 (i686-pc-linux-gnu) libcurl/7.21.3 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
    > Host: musicbrainz.org
    > Accept: /
    >
    < HTTP/1.1 400
    < Date: Tue, 13 Dec 2011 14:37:59 GMT
    < Transfer-Encoding: chunked
    < Connection: keep-alive
    < Keep-Alive: timeout=20
    < Server: nginx/0.7.65
    < Access-Control-Allow-Origin: *
    <
  • Connection #0 to host musicbrainz.org left intact
  • Closing connection #0


Sort Order: Ascending order - Click to sort in descending order
Oliver Charles added a comment - 10/Jul/12 07:03 AM

Due to be fixed within the next 12 months. Decided by the scheduling game and http://chatlogs.musicbrainz.org/musicbrainz-devel/2012/2012-07/2012-07-03.html#T19-01-57-842265


Oliver Charles added a comment - 16/Jul/12 01:39 PM

The bug here is because you are passing encoded query parameters. If you use /ws/1/user?type=xml&name=test! it works fine. I have submitted a bug upstream https://rt.cpan.org/Ticket/Display.html?id=78404.


Oliver Charles added a comment - 15/Aug/12 01:40 PM

I can't really work on this, so I'm unassigning myself.