Bug 310230

Summary: Applying filters while ignoring their options blocks too many legitimate webpages.
Product: [Frameworks and Libraries] kwebkitpart Reporter: Nikita Skovoroda <chalkerx>
Component: generalAssignee: webkit-devel
Status: RESOLVED FIXED    
Severity: normal CC: adawit, thomas
Priority: NOR    
Version: 1.3.0   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
URL: http://ckeditor.com
Latest Commit: Version Fixed In: 1.3-git
Sentry Crash Report:

Description Nikita Skovoroda 2012-11-16 21:12:28 UTC
See https://projects.kde.org/projects/extragear/base/kwebkitpart/repository/revisions/master/entry/src/settings/webkit_filter.cpp#L241

This behaviour is very bad for rules such as «.com/s$script,domain=example.org», and rules like that are included in automatic filter subscriptions.

This rule is meant to block all urls matching «.com/s», when called from a «<script>» tag from only the «example.org» domain.
But as it is now, it just blocks all urls matching «.com/s», which is just too many.

Enabling automatic filters with kwebkitpart almost bricks konqueror as a browser.

A possible solution would be to ignore all rules with options (that have a «$» sign in it) untill they are propertly handled.

It's better to have some rules not working at all (and letting some ads through the filter) than breaking even a minor part of legitimate pages.

Reproducible: Always

Steps to Reproduce:
1. Open Konqueror, configure it to use kwebkitpart.
2. Enable Adblock, add Morpeh Rus List + EasyList.
2. Open http://ckeditor.com/
Actual Results:  
No styles are applied to the page (the *.css isn't loaded).

Expected Results:  
The page should be rendered with all it's styles, stylesheet files should not be blocked.

It's triggered by this rule:

> .com/s$script,domain=24warez.ru|cmexota.ru|demotivators.to|dir300.ru|eroox.ru|fivemusic.ru|imageban.ru|last.by|mp3prima.com|oplayer.org|plus100500.ru|privsex.ru|ru-admin.net|softsnew.ru|uptube.su|vodkov.net|vodvore.net|vseblidynas.ru|xxxlili.ru|xxx-story.ru|x-zona.org
Comment 1 Dawit Alemayehu 2013-02-10 04:57:19 UTC
*** Bug 314707 has been marked as a duplicate of this bug. ***
Comment 2 Dawit Alemayehu 2013-02-10 05:24:55 UTC
Git commit 040905ba853ce1707f8f794babc45f0d0e702f73 by Dawit Alemayehu.
Committed on 10/02/2013 at 06:17.
Pushed by adawit into branch '1.3'.

For now let us disable filters with options since we can't correctly support them.
FIXED-IN: 1.3-git

M  +2    -4    src/settings/webkit_filter.cpp

http://commits.kde.org/kwebkitpart/040905ba853ce1707f8f794babc45f0d0e702f73
Comment 3 Thomas Tanghus 2013-02-10 14:34:38 UTC
(In reply to comment #2)
> FIXED-IN: 1.3-git

Cool, thanks. Is it possible to white-list a domain because as stated in Bug #314707 this renders webkit unusable for ownCloud 5+ and packagers (Ubuntu) are very slow in updating webkitpart.

Sorry btw, I didn't realize this was about the same issue.
Comment 4 Dawit Alemayehu 2013-02-12 00:58:32 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > FIXED-IN: 1.3-git
> 
> Cool, thanks. Is it possible to white-list a domain because as stated in Bug
> #314707 this renders webkit unusable for ownCloud 5+ and packagers (Ubuntu)
> are very slow in updating webkitpart.
> 
> Sorry btw, I didn't realize this was about the same issue.

The white listing is not something that can be done since we do not control the ad block rules.
The best I probably can do is tag 1.3.2 and make an announcement. That should prompt packagers to update their packages.
Comment 5 Thomas Tanghus 2013-02-12 01:08:57 UTC
(In reply to comment #4)
> The best I probably can do is tag 1.3.2 and make an announcement. That
> should prompt packagers to update their packages.

That would be great. Thanks :-)