Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Send proper JSON POST data to /publicRooms #16185

Merged
merged 5 commits into from Aug 25, 2023
Merged

Conversation

clokep
Copy link
Contributor

@clokep clokep commented Aug 25, 2023

When using a search filter with include_all_networks, Synapse currently sends invalid data (strings instead of bools). It seems this was always this way from #5859, although a similar issue with limit was fixed in #12364.

Note that when parsing this Synapse doesn't attempt to convert the string, so both of these would be treated as True.

Also has some misc. clean-up.

@clokep
Copy link
Contributor Author

clokep commented Aug 25, 2023

I have a follow-up to this that will do input validation of this data, I guess we'll want to wait a bit before including that though.

@clokep
Copy link
Contributor Author

clokep commented Aug 25, 2023

I'm not really sure how to test this? I didn't see outgoing /publicRooms tests in sytest?

@clokep clokep marked this pull request as ready for review August 25, 2023 14:50
@clokep clokep requested a review from a team as a code owner August 25, 2023 14:50
@reivilibre
Copy link
Contributor

input validation of this data, I guess we'll want to wait a bit before including that though.

rats, this is why we should do input validation by default because it's a shame we have to live with this for a while now :(. It's my mistake as well, though when nowhere else does much validation it kind of rubs off on you to not do as much either, whereas if we had a proper framework for it that would have avoided this...

@clokep
Copy link
Contributor Author

clokep commented Aug 25, 2023

input validation of this data, I guess we'll want to wait a bit before including that though.

rats, this is why we should do input validation by default because it's a shame we have to live with this for a while now :(. It's my mistake as well, though when nowhere else does much validation it kind of rubs off on you to not do as much either, whereas if we had a proper framework for it that would have avoided this...

Yeah, it stinks. We can maybe special case the strings as a backwards-compat thing? 🤷 Thanks for the fast review!

@clokep clokep merged commit fcf7a57 into develop Aug 25, 2023
37 checks passed
@clokep clokep deleted the clokep/user-dir-data branch August 25, 2023 16:11
hughns pushed a commit that referenced this pull request Sep 4, 2023
The include_all_networks was previously sent in the JSON body as
string "true" and "false" instead of boolean true and false.
DMRobertson pushed a commit that referenced this pull request Sep 5, 2023
- Add configuration setting for CAS protocol version. Contributed by Aurélien Grimpard. ([\#15816](#15816))
- Suppress notifications from message edits per [MSC3958](matrix-org/matrix-spec-proposals#3958). ([\#16113](#16113))
- Return a `Retry-After` with `M_LIMIT_EXCEEDED` error responses. ([\#16136](#16136))
- Add `last_seen_ts` to the [admin users API](https://matrix-org.github.io/synapse/latest/admin_api/user_admin_api.html). ([\#16218](#16218))
- Improve resource usage when sending data to a large number of remote hosts that are marked as "down". ([\#16223](#16223))

- Fix IPv6-related bugs on SMTP settings, adding groundwork to fix similar issues. Contributed by @evilham and @telmich (ungleich.ch). ([\#16155](#16155))
- Fix a spec compliance issue where requests to the `/publicRooms` federation API would specify `include_all_networks` as a string. ([\#16185](#16185))
- Fix inaccurate error message while attempting to ban or unban a user with the same or higher PL by spliting the conditional statements. Contributed by @leviosacz. ([\#16205](#16205))
- Fix a rare bug that broke looping calls, which could lead to e.g. linearly increasing memory usage. Introduced in v1.90.0. ([\#16210](#16210))
- Fix a long-standing bug where uploading images would fail if we could not generate thumbnails for them. ([\#16211](#16211))
- Fix a long-standing bug where we did not correctly back off from servers that had "gone" if they returned 4xx series error codes. ([\#16221](#16221))

- Update links to the [matrix.org blog](https://matrix.org/blog/). ([\#16008](#16008))
- Document which [admin APIs](https://matrix-org.github.io/synapse/latest/usage/administration/admin_api/index.html) are disabled when experimental [MSC3861](matrix-org/matrix-spec-proposals#3861) support is enabled. ([\#16168](#16168))
- Document [`exclude_rooms_from_sync`](https://matrix-org.github.io/synapse/v1.92/usage/configuration/config_documentation.html#exclude_rooms_from_sync) configuration option. ([\#16178](#16178))

- Prepare unit tests for Python 3.12. ([\#16099](#16099))
- Fix nightly CI jobs. ([\#16121](#16121), [\#16213](#16213))
- Describe which rate limiter was hit in logs. ([\#16135](#16135))
- Simplify presence code when using workers. ([\#16170](#16170))
- Track per-device information in the presence code. ([\#16171](#16171), [\#16172](#16172))
- Stop using the `event_txn_id` table. ([\#16175](#16175))
- Use `AsyncMock` instead of custom code. ([\#16179](#16179), [\#16180](#16180))
- Improve error reporting of invalid data passed to `/_matrix/key/v2/query`. ([\#16183](#16183))
- Task scheduler: add replication notify for new task to launch ASAP. ([\#16184](#16184))
- Improve type hints. ([\#16186](#16186), [\#16188](#16188), [\#16201](#16201))
- Bump black version to 23.7.0. ([\#16187](#16187))
- Log the details of background update failures. ([\#16212](#16212))
- Cache device resync requests over replication. ([\#16241](#16241))

* Bump anyhow from 1.0.72 to 1.0.75. ([\#16141](#16141))
* Bump furo from 2023.7.26 to 2023.8.19. ([\#16238](#16238))
* Bump phonenumbers from 8.13.18 to 8.13.19. ([\#16237](#16237))
* Bump psycopg2 from 2.9.6 to 2.9.7. ([\#16196](#16196))
* Bump regex from 1.9.3 to 1.9.4. ([\#16195](#16195))
* Bump ruff from 0.0.277 to 0.0.286. ([\#16198](#16198))
* Bump sentry-sdk from 1.29.2 to 1.30.0. ([\#16236](#16236))
* Bump serde from 1.0.184 to 1.0.188. ([\#16194](#16194))
* Bump serde_json from 1.0.104 to 1.0.105. ([\#16140](#16140))
* Bump types-psycopg2 from 2.9.21.10 to 2.9.21.11. ([\#16200](#16200))
* Bump types-pyyaml from 6.0.12.10 to 6.0.12.11. ([\#16199](#16199))
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants