Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wrong Content-Type set on login request #5887

Closed
tbcs opened this issue Dec 27, 2017 · 4 comments
Closed

wrong Content-Type set on login request #5887

tbcs opened this issue Dec 27, 2017 · 4 comments
Labels
P1 S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect

Comments

@tbcs
Copy link

tbcs commented Dec 27, 2017

Description

Login request submits JSON in body but sets Content-Type to text/plain.

Steps to reproduce

  • extract release tarball of riot-web and open index.html in browser
  • (optional) on the login screen switch to custom server https://localhost
  • open the browser's web console to observe riot-web network traffic
  • enter any username and password
  • click on "Sign In" button to trigger login request
  • observe POST request to /_matrix/client/r0/login with JSON body being sent to home server with Content-Type text/plain

Expected behavior: login request is sent with Content-Type application/json.

Requests to other paths might suffer from the same issue; I have only tested the login URL.

This is a regression that was introduced somewhere between v0.11.4 and v0.12.0-rc.1.

Version information

  • Platform: web
  • Browser: Firefox v57.0.2
  • OS: Debian GNU/Linux 9.1
  • URL: localhost (loaded index.html straight from extracted release tarball)
  • Version (broken): 0.12.0-rc.1 and newer (latest verified 0.13.3)
  • Version (OK): 0.11.4 and older

Example login request with v0.12.0-rc.1

POST https://localhost/_matrix/client/r0/login?
Host: localhost
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Length: 202
Content-Type: text/plain;charset=UTF-8
Origin: null
Connection: keep-alive

{"type":"m.login.password","password":"f","identifier":{"type":"m.id.user","user":"f"},"initial_device_display_name":"file:///home/tibi/src/riot-v0.12.0-rc.1/index.html via Firefox on Linux","user":"f"}

Example login request with v0.11.4

POST https://localhost/_matrix/client/r0/login?
Host: localhost
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0
Accept: application/json
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
content-type: application/json
Content-Length: 197
Origin: null
Connection: keep-alive

{"type":"m.login.password","password":"f","identifier":{"type":"m.id.user","user":"f"},"initial_device_display_name":"file:///home/tibi/src/riot-v0.11.4/index.html via Firefox on Linux","user":"f"}
@tbcs
Copy link
Author

tbcs commented Jan 4, 2018

The offending commit seems to be cc85181, which updates the matrix-js-sdk dependency from v0.7.13 to v0.8.0. Should I close this issue and reopen it in the js-sdk project instead?

@lampholder
Copy link
Member

Here's probably a good place to track it - @lukebarnard1 any idea what's going on?

@lampholder lampholder added T-Defect P1 S-Minor Impairs non-critical functionality or suitable workarounds exist labels Jan 11, 2018
@lukebarnard1
Copy link
Contributor

lukebarnard1 commented Jan 15, 2018

It'd be worth checking the dependencies that changed in the new versions of js-sdk and react-sdk. It's possible that the HTTP request wrapper library we're using changed it's content-type.

Interestingly, the diff on package.json for matrix-js-sdk shows:

   "dependencies": {
     "another-json": "^0.2.0",
+    "bluebird": "^3.5.0",
     "browser-request": "^0.3.3",
-    "q": "^1.4.1",
+    "content-type": "^1.0.2",
     "request": "^2.53.0"
   },

and yet content-type doesn't appear to be used by the js-sdk.

I reckon matrix-org/matrix-js-sdk@5f6e4bd has something to do with this. Namely matrix-org/matrix-js-sdk@5f6e4bd#diff-35bdd14cceed0bc15886715116543778R691

Yep, looks like we deliberately do not send application/json content type so as to avoid spamming over any text/plain errors with a syntax error (matrix-org/matrix-js-sdk#479).

@t3chguy
Copy link
Member

t3chguy commented Jun 16, 2018

yup caused by that and fixed by matrix-org/matrix-js-sdk#643

image

Yep, looks like we deliberately do not send application/json content type so as to avoid spamming over any text/plain errors with a syntax error (matrix-org/matrix-js-sdk#479).

is not quite right, we don't ask the lib to infer and process the json for us to prevent that

@t3chguy t3chguy closed this as completed Jun 16, 2018
su-ex added a commit to SchildiChat/element-web that referenced this issue Jan 31, 2022
* Tweak room list header menu for when space is active ([\element-hq#7577](matrix-org/matrix-react-sdk#7577)). Fixes element-hq#20601.
* Tweak light hover & active color for bubble layout ([\element-hq#7626](matrix-org/matrix-react-sdk#7626)). Fixes element-hq#19475.
* De-labs Metaspaces ([\element-hq#7613](matrix-org/matrix-react-sdk#7613)).
* De-labs Message Bubbles layout ([\element-hq#7612](matrix-org/matrix-react-sdk#7612)).
* Add customisation point for mxid display ([\element-hq#7595](matrix-org/matrix-react-sdk#7595)).
* Add labs flag for default open right panel ([\element-hq#7618](matrix-org/matrix-react-sdk#7618)). Fixes element-hq#20666.
* Tweak copy for the Sidebar tab in User Settings ([\element-hq#7578](matrix-org/matrix-react-sdk#7578)). Fixes element-hq#20619.
* Make widgets not reload (persistent) between center and top container  ([\element-hq#7575](matrix-org/matrix-react-sdk#7575)). Fixes element-hq#20596. Contributed by @toger5.
* Don't render a bubble around emotes in bubble layout ([\element-hq#7573](matrix-org/matrix-react-sdk#7573)). Fixes element-hq#20617.
* Add ability to switch between voice & video in calls ([\element-hq#7155](matrix-org/matrix-react-sdk#7155)). Fixes element-hq#18619. Contributed by @SimonBrandner.
* Re-renable Share option for location messages ([\element-hq#7596](matrix-org/matrix-react-sdk#7596)).
* Make room ID copyable ([\element-hq#7600](matrix-org/matrix-react-sdk#7600)). Fixes element-hq#20675. Contributed by @SimonBrandner.
* Improve the look of the keyboard settings tab ([\element-hq#7562](matrix-org/matrix-react-sdk#7562)). Contributed by @SimonBrandner.
* Add tooltips to emoji in messages ([\element-hq#7592](matrix-org/matrix-react-sdk#7592)). Fixes element-hq#9911 and element-hq#20661. Contributed by @robintown.
* Improve redundant tooltip on send button in forward dialog ([\element-hq#7594](matrix-org/matrix-react-sdk#7594)). Contributed by @twigleingrid.
* Allow downloads from widgets. ([\element-hq#7502](matrix-org/matrix-react-sdk#7502)). Contributed by @Fox32.
* Parse matrix-schemed URIs ([\element-hq#7453](matrix-org/matrix-react-sdk#7453)).
* Show a tile at beginning of visible history ([\element-hq#5887](matrix-org/matrix-react-sdk#5887)). Fixes element-hq#16818 element-hq#16679 and element-hq#19888. Contributed by @robintown.
* Enable the polls feature ([\element-hq#7581](matrix-org/matrix-react-sdk#7581)).
* Display general marker on non-self location shares ([\element-hq#7574](matrix-org/matrix-react-sdk#7574)).
* Improve/add notifications for location and poll events ([\element-hq#7552](matrix-org/matrix-react-sdk#7552)). Fixes element-hq#20561. Contributed by @SimonBrandner.
* Upgrade linkify to v3.0 ([\element-hq#7282](matrix-org/matrix-react-sdk#7282)). Fixes element-hq#17133 element-hq#16825 and element-hq#5808. Contributed by @Palid.
* Update sidebar icon from Compound ([\element-hq#7572](matrix-org/matrix-react-sdk#7572)). Fixes element-hq#20615.
* Replace home icon with new one ([\element-hq#7571](matrix-org/matrix-react-sdk#7571)). Fixes element-hq#20606.
* Make the `Keyboard Shortcuts` dialog into a settings tab ([\element-hq#7198](matrix-org/matrix-react-sdk#7198)). Fixes element-hq#19866. Contributed by @SimonBrandner.
* Add setting for enabling location sharing ([\element-hq#7547](matrix-org/matrix-react-sdk#7547)).
* Add a developer mode 'view source' button to crashed event tiles ([\element-hq#7537](matrix-org/matrix-react-sdk#7537)).
* Replace `kick` terminology with `Remove from chat` ([\element-hq#7469](matrix-org/matrix-react-sdk#7469)). Fixes element-hq#9547.
* Render events as extensible events (behind labs) ([\element-hq#7462](matrix-org/matrix-react-sdk#7462)).
* Render Jitsi (and other sticky widgets) in PiP container, so it can be dragged and the "jump to room functionality" is provided ([\element-hq#7450](matrix-org/matrix-react-sdk#7450)). Fixes element-hq#15682. Contributed by @toger5.
* Allow bubble layout in Thread View ([\element-hq#7478](matrix-org/matrix-react-sdk#7478)). Fixes element-hq#20419.
* Make LocationPicker appearance cleaner ([\element-hq#7516](matrix-org/matrix-react-sdk#7516)).
* Limit max-width for bubble layout to 1200px ([\element-hq#7458](matrix-org/matrix-react-sdk#7458)). Fixes element-hq#18072.
* Improve look of call events in bubble layout ([\element-hq#7445](matrix-org/matrix-react-sdk#7445)). Fixes element-hq#20324. Contributed by @SimonBrandner.
* Make files & voice memos in bubble layout match colouring ([\element-hq#7457](matrix-org/matrix-react-sdk#7457)). Fixes element-hq#20326.
* Allow cancelling events whilst they are encrypting ([\element-hq#7483](matrix-org/matrix-react-sdk#7483)). Fixes element-hq#17726.
* [Release] Fix left panel widgets causing app-wide crash ([\element-hq#7660](matrix-org/matrix-react-sdk#7660)).
* Load light theme prior to HTML export to ensure it is present ([\element-hq#7643](matrix-org/matrix-react-sdk#7643)). Fixes element-hq#20276.
* Fix soft-crash when hanging up Jitsi via PIP ([\element-hq#7645](matrix-org/matrix-react-sdk#7645)). Fixes element-hq#20766.
* Fix RightPanelStore assuming isViewingRoom is false on load ([\element-hq#7642](matrix-org/matrix-react-sdk#7642)).
* Correctly handle Room.timeline events which have a nullable `Room` ([\element-hq#7635](matrix-org/matrix-react-sdk#7635)). Fixes matrix-org/element-web-rageshakes#9490.
* Translate keyboard shortcut alternate key names ([\element-hq#7633](matrix-org/matrix-react-sdk#7633)). Fixes element-hq#20739.
* Fix unfocused paste handling and focus return for file uploads ([\element-hq#7625](matrix-org/matrix-react-sdk#7625)).
* Changed MacOS hotkey for GoToHome view. ([\#7631](matrix-org/matrix-react-sdk#7631)). Contributed by @aj-ya.
* Fix issue with the new composer EmojiPart which caused infinite loops ([\element-hq#7629](matrix-org/matrix-react-sdk#7629)). Fixes element-hq#20746.
* Upgrade linkifyjs to fix schemes as domain prefixes ([\element-hq#7628](matrix-org/matrix-react-sdk#7628)). Fixes element-hq#20720.
* Show bubble tile timestamps for bubble layout inside the bubble ([\element-hq#7622](matrix-org/matrix-react-sdk#7622)). Fixes element-hq#20562.
*  Improve taken username warning in registration for when request fails ([\element-hq#7621](matrix-org/matrix-react-sdk#7621)).
* Avoid double dialog after clicking to remove a public room ([\element-hq#7604](matrix-org/matrix-react-sdk#7604)). Fixes element-hq#20681. Contributed by @c-cal.
* Fix space member list right panel state ([\element-hq#7617](matrix-org/matrix-react-sdk#7617)). Fixes element-hq#20716.
* Fall back to legacy analytics for guest users ([\#7616](matrix-org/matrix-react-sdk#7616)).
* Always emit a space filter update when the space is actually changed ([\element-hq#7611](matrix-org/matrix-react-sdk#7611)). Fixes element-hq#20664.
* Enlarge emoji in composer ([\element-hq#7602](matrix-org/matrix-react-sdk#7602)). Fixes element-hq#20665 element-hq#15635 and element-hq#20688. Contributed by @robintown.
* Disable location sharing button on Desktop ([\element-hq#7590](matrix-org/matrix-react-sdk#7590)).
* Make pills more natural to navigate around ([\element-hq#7607](matrix-org/matrix-react-sdk#7607)). Fixes element-hq#20678. Contributed by @robintown.
* Fix excessive padding on inline images ([\element-hq#7605](matrix-org/matrix-react-sdk#7605)). Contributed by @robintown.
* Prevent pills from being split by formatting actions ([\element-hq#7606](matrix-org/matrix-react-sdk#7606)). Contributed by @robintown.
* Fix translation of "powerText" ([\element-hq#7603](matrix-org/matrix-react-sdk#7603)). Contributed by @c-cal.
* Unhide display names when switching back to modern layout ([\element-hq#7601](matrix-org/matrix-react-sdk#7601)). Fixes element-hq#20676. Contributed by @robintown.
* Fix space member list not opening ([\element-hq#7609](matrix-org/matrix-react-sdk#7609)). Fixes element-hq#20679. Contributed by @SimonBrandner.
* Fix translation for the "Add room" tooltip ([\element-hq#7532](matrix-org/matrix-react-sdk#7532)). Contributed by @c-cal.
* Make the close button of the location share dialog visible in high-contrast theme ([\element-hq#7597](matrix-org/matrix-react-sdk#7597)).
* Cancel pending events in virtual room when call placed ([\element-hq#7583](matrix-org/matrix-react-sdk#7583)). Fixes element-hq#17594.
* Fix alignment of unread badge in thread list ([\element-hq#7582](matrix-org/matrix-react-sdk#7582)). Fixes element-hq#20643.
* Fix left positioned tooltips being wrong and offset by fixed value ([\element-hq#7551](matrix-org/matrix-react-sdk#7551)).
* Fix MAB overlapping or overflowing in bubbles layout and threads regressions ([\element-hq#7569](matrix-org/matrix-react-sdk#7569)). Fixes element-hq#20403 and element-hq#20404.
* Fix wrong icon being used for appearance tab in space preferences dialog ([\element-hq#7570](matrix-org/matrix-react-sdk#7570)). Fixes element-hq#20608.
* Fix `/jumptodate` using wrong MSC feature flag ([\element-hq#7563](matrix-org/matrix-react-sdk#7563)).
* Ensure maps show up in replies and threads, by creating unique IDs ([\element-hq#7568](matrix-org/matrix-react-sdk#7568)).
* Differentiate between hover and roving focus in spotlight dialog ([\element-hq#7564](matrix-org/matrix-react-sdk#7564)). Fixes element-hq#20597.
* Fix timeline jumping issues related to bubble layout ([\element-hq#7529](matrix-org/matrix-react-sdk#7529)). Fixes element-hq#20302.
* Start a conference in a room with 2 people + invitee rather than a 1:1 call ([\element-hq#7557](matrix-org/matrix-react-sdk#7557)). Fixes element-hq#1202. Contributed by @SimonBrandner.
* Wait for initial profile load before displaying widget ([\element-hq#7556](matrix-org/matrix-react-sdk#7556)).
* Make widgets and calls span across the whole room width when using bubble layout ([\element-hq#7553](matrix-org/matrix-react-sdk#7553)). Fixes element-hq#20560. Contributed by @SimonBrandner.
* Always show right panel after setting a card ([\element-hq#7544](matrix-org/matrix-react-sdk#7544)). Contributed by @toger5.
* Support deserialising HR tags for editing ([\element-hq#7543](matrix-org/matrix-react-sdk#7543)). Fixes element-hq#20553.
* Refresh ThreadView after React state has been updated ([\element-hq#7539](matrix-org/matrix-react-sdk#7539)). Fixes element-hq#20549.
* Set initial zoom level to 1 to make zooming to location faster ([\element-hq#7541](matrix-org/matrix-react-sdk#7541)).
* truncate room name on pip header ([\#7538](matrix-org/matrix-react-sdk#7538)).
* Prevent enter to send edit weirdness when no change has been made ([\element-hq#7522](matrix-org/matrix-react-sdk#7522)). Fixes element-hq#20507.
* Allow using room pills in slash commands ([\element-hq#7513](matrix-org/matrix-react-sdk#7513)). Fixes element-hq#20343.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 S-Minor Impairs non-critical functionality or suitable workarounds exist T-Defect
Projects
None yet
Development

No branches or pull requests

4 participants