elementary / notifications

Gtk Notifications Server
https://elementary.io
GNU General Public License v3.0
38 stars 6 forks source link

Add a notification rate limiter. #187

Open tseli0s opened 1 year ago

tseli0s commented 1 year ago

Prerequisites

Feature

Is your feature request related to a problem? Please describe. Technically, yes. The problem is that a malicious application can crash the entire system by spamming notifications. Just had this with a Wine program happen.

Describe the solution you'd like A rate limiter can do the job. The server will refuse to handle any new notifications from a process for some time, if that process already sent over for example 20 notifications within a minute. Every minute that counter resets and the process can start sending notifications again.

The only problem is how would a developer would handle such an error. Afaik libnotify at least would have to be modified, I don't know if DBus would too.

Existing work Maybe, but I don't know.

Describe alternatives you've considered None apart from just letting someone's OS to crash.

Additional context -

janxkoci commented 1 year ago

Interesting - I recall @jeremypw once generated 2000 notifications to test a bug and he didn't mention any crash.

Also, you said crash - do you have a backtrace?