Rewriting failure: some URLs in CSS aren't rewritten

Bug #457471 reported by root
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
psiphon
Confirmed
High
Unassigned

Bug Description

Problem:

On IE, requests for some pages cause the browser to make un-proxied requests. Breaks anonymity and site compatibility (if truly blocked)

Examples:

http://i.cdn.turner.com/cnn/.element/css/2.0/common.css

html .cnnMoPoBoxContent
{background:transparent;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://i.cdn.turner.com/cnn/.element/img/2.0/global/dropdowns/shdw_center.png', sizingMethod='scale');}

Other sites that gave the same IE mixed sources (HTTPS -- from Psiphon, and HTTP -- un-proxied): http://www.slashdot.org

This seems very common.

Proposed solutions: Design and develop a SAC (simple API for CSS) based CSS rewriting module for Psiphon

Current Psiphon CSS rewriting module(mod_psiphon_proxy_css) is loosely based on mod_line_edit(http://apache.webthing.com/mod_line_edit/) and is using a simple Flex(http://flex.sourceforge.net/) generated scanner for searching URLs in CSS.

We'd like to replace existing scanner with a robust event-based CSS parser in order to gain better control over CSS filtering such as allow/disallow custom CSS extensions like Microsoft AlphaImageLoader, behavioral extensions to CSS(http://www.w3.org/TR/1999/WD-becss-19990804#scriptblock), etc.

The new CSS rewriting module is expected to behave in the same fashion as mod_psiphon_proxy_html which is utilizing SAX interface of libxml2.

Good candidates for the parser itself might be
1. SAC 1.3 (http://www.w3.org/Style/CSS/SAC/, C implementation)
2. libcroco 6.x(http://www.freespiders.org/projects/libcroco/) *I think this one is the most promising out of the 2
3. ...or you do your own research for the one that suits you the best.

One of the important things to keep in mind is that the parser should be able to work seemlesly with chunked input(or buffers) and should not try to fetch the whole document prior to parsing. (See mod_psiphon_proxy_html implementation)

Adam P (adam+)
Changed in psiphon:
status: New → Confirmed
Rod (rod-psiphon)
visibility: private → public
e.fryntov (e-fryntov)
tags: added: category2
Revision history for this message
Adam P (adam+) wrote :

Probably related: bug #457460

Adam P (adam+)
tags: added: category2.2
Rod (rod-psiphon)
description: updated
description: updated
tags: added: sprint3
Changed in psiphon:
importance: Unknown → High
Rod (rod-psiphon)
description: updated
description: updated
Adam P (adam+)
tags: removed: sprint3
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.