Bug 13815

Summary: Wrong url for http get
Product: swfdec Reporter: Riccardo Magliocchetti <riccardo.magliocchetti>
Component: libraryAssignee: swfdec ml <swfdec>
Status: RESOLVED FIXED QA Contact: swfdec ml <swfdec>
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
URL: http://www.betterworldbooks.com/Flash/output.swf
Whiteboard:
i915 platform: i915 features:

Description Riccardo Magliocchetti 2007-12-25 02:45:45 UTC
Version: git e53a7897c6361b974dd6a98d4960b8ff8c913ea2

I get a 404 while with adobe works fine.

rm@eurasia:~/swfdec/swfdec/player$ ./swfplay http://www.betterworldbooks.com/Flash/output.swf
SWFDEC: FIXME: swfdec_pattern.c(331): swfdec_pattern_do_parse: CAIRO_EXTEND_PAD is not yet implemented
SWFDEC: WARN : swfdec_as_interpret.c(920): swfdec_action_call_method: no function named "Cancel" on object unknown
SWFDEC: ERROR: swfdec_loader.c(335): swfdec_loader_error: error in loader 0x83fd458: 404 Not Found

I sniffed the traffic with ethereal on both a machine with the adobe flash player and mine with swfdec and see a difference in the requested url:

adobe
------
No.     Time        Source                Destination           Protocol Info
     46 75.912082   192.168.0.56          216.117.104.143       HTTP     GET /Flash/output.swf HTTP/1.1
     47 76.065640   216.117.104.143       192.168.0.56          HTTP     HTTP/1.1 304 Not Modified
     48 76.152994   192.168.0.56          209.85.161.103        HTTP     GET /urchin.js HTTP/1.1
     49 76.342510   209.85.161.103        192.168.0.56          HTTP     Continuation or non-HTTP traffic
     50 77.311017   192.168.0.56          209.85.161.103        HTTP     GET /__utm.gif?utmwv=1&utmn=90985750&utmcs=utf-8&utmsr=1024x768&utmsc=8-bit&utmul=en-us&utmje=1&utmfl=9.0&utmcn=1&utmdt=Better%20World%20Books&utmhn=betterworldbooks.com&utmr=-&utmp=/&utmac=UA-96636-2&utmcc=__utma%3D146742055.90985750.1198609931.1198609931.1198609931.1%3B%2B__utmb%3D146742055%3B%2B__utmc%3D146742055%3B%2B__utmz%3D146742055.1198609931.1.1.utmccn%3D(direct)%7Cutmcsr%3D(direct)%7Cutmcmd%3D(none)%3B%2B HTTP/1.1
     51 77.395803   209.85.161.103        192.168.0.56          HTTP     HTTP/1.1 200 OK (GIF89a)
     52 77.486833   192.168.0.56          216.117.104.143       HTTP     GET /assets/menu.xml HTTP/1.1

swfdec
------
No.     Time        Source                Destination           Protocol Info
     15 13.720192   192.168.10.25         216.117.104.143       HTTP     GET /Flash/output.swf HTTP/1.1
     66 14.490412   216.117.104.143       192.168.10.25         HTTP     HTTP/1.1 200 OK (application/x-shockwave-flash)
     68 15.036196   192.168.10.25         216.117.104.143       HTTP     GET /Flash/assets/menu.xml HTTP/1.1
     71 15.218783   216.117.104.143       192.168.10.25         HTTP     HTTP/1.1 404 Not Found (text/html)
Comment 1 Benjamin Otte 2008-01-03 01:49:03 UTC
What html page is that file loaded from?
I get the same bug in Adobe's standalone player when opening your URL, so I assume there's something in the Flash plugin or the HTML page that we need to do when opening URLs.
Comment 2 Benjamin Otte 2008-01-03 01:51:51 UTC
Ok, that was obvious - It's loaded from http://www.betterworldbooks.com/ :)
Comment 3 Riccardo Magliocchetti 2008-01-05 06:22:13 UTC
I see the same here and AFAIR this one worked fine some times ago:
http://www.smartjog.com/smartjog vs 
http://www.smartjog.com/smartjog/flash/box/vs-home6.swf

adobe
-------
GET /smartjog/flash/box/vs-home6.swf
GET /smartjog/flash/box/sj-videozone-menu2.swf
GET /smartjog/flash/struc/cadrestructure-BIG.swf
GET /smartjog/flash/struc/bgstructure-BIG.swf
GET /smartjog/flash/struc/decostructure-BIG.swf
GET /smartjog/flash/box/sj-content-home1.swf

swfdec
-------
GET /smartjog/flash/box/vs-home6.swf
GET /smartjog/flash/box/flash/box/sj-videozone-menu2.swf
GET /smartjog/flash/box/flash/struc/cadrestructure-BIG.swf
GET /smartjog/flash/box/flash/struc/bgstructure-BIG.swf
GET /smartjog/flash/box/flash/struc/decostructure-BIG.swf
GET /smartjog/flash/box/flash/box/sj-content-home1.swf

Looks like the referenced swf files should have document root instead of
the path of the parent swf as root dir.
Comment 4 Benjamin Otte 2008-01-05 06:51:10 UTC
Problematic websites seem to be those that load their Flash content with src="some/dir/file.swf" instead of just src="file.swf".

It looks like the easiest way to achieve the desired behavior in the mozilla plugin is to just pass the relative URL verbatim to the browser. Unfortunately I refactored the API to do relative path lookup inside Swfdec and this now causes failures. Yay, another refactoring required.
Comment 5 Benjamin Otte 2008-01-25 10:44:22 UTC
This should be fixed in git.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.