autopush-rs
autopush-rs copied to clipboard
Push Server in Rust
The python code may have been lenient about accepting not strictly formattted JSON arguments. We should enforce JSON compliance with compound args like, Auth Keys, Bridge configuration arguments, etc. We...
Because we can't have nice things, we get stuff like: https://krebsonsecurity.com/2020/11/be-very-sparing-in-allowing-site-notifications/ Google already requires VAPID headers for subscription updates. This would help us isolate potentially abusive providers who may be...
Per https://github.com/mozilla-services/autopush/issues/1443, we should ensure that the correct status is returned.
`settings include_port` creates a standardized host & port. It should be made `pub(crate)` and used whenever we need to construct a host & port (e.g. when checking VAPID `aud` fields)
see [this comment](https://github.com/mozilla-services/autopush-rs/blob/9b93817776bb7c8f27383185a1b5ce08607a6b35/autoendpoint/src/middleware/sentry.rs#L83-L84) for details.
Inactive entries in the router table should be removed. An entry should be considered inactive if: * router_type == "webpush" & last_connect < current date - 60 days Once #222...
Mobile devices generally only connect once. We already drop records for devices that are reported as "Unregistered" by the bridge system. We can therefore apply similar logic to the inbound...
Logging this separately from #132 as it'll be its own chunk of work. This is the most recent hyper released a couple months ago, switching everything to `std::future::Future` (and associated...
Per https://sentry.prod.mozaws.net/operations/autopush-prod/issues/7863037/ We should include the actual error's message that caused these.
Notifications include a created at time (the `timestamp` field). Assuming the endpoint and connection nodes clocks are accurate/in sync, we should be able to track the total time taken from...