Closed (fixed)
Project:
Barracuda
Component:
Code
Priority:
Major
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
6 Aug 2012 at 23:19 UTC
Updated:
13 Oct 2012 at 11:51 UTC
Files are on a D6 site with private filesystem, the swf file downloaded via browser ends up different to the same file downloaded via sftp, confirmed with a merge tool.
Any suggestions as to why this may be happening?
Comments
Comment #1
realityloop commentedPossibly relevant is that we have the private directory outside the webroot, with the setting enforced via local.settings.php
Do we need to make some changes to the nginx config to account for this?
Comment #2
realityloop commentedHave tested this using the default private filesystem settings and locations of Barracuda/Aegir and swf files are still not getting sent properly
Diffed example in this image:
https://www.evernote.com/shard/s2/sh/59caa1d6-f32e-42cb-a21b-add74faba95...
Comment #3
omega8cc commentedPrivate files are handled via Drupal, so via PHP-FMP. However, not sure why it could make a difference or why you believe that it is BOA related? Have you tried the same on some non-BOA based site? Nginx sends the correct mime for Flash files, so I don't think it is Nginx related, it is Drupal and PHP what sends the file if it is private, also because we don't use any other method yet.
Comment #4
realityloop commentedThis appears to be caused by gzip compression on the swf files, if I comment out the following line in /var/aegir/config/server_master/nginx.conf then the swf files are served and display properly:
Tipped off via http://patrickmcd.com/2009/04/20/flash-preloading-errors-turn-off-gzip/
Is there a way we can only disable gzip on swf files?
Comment #5
omega8cc commentedThis is probably because your Drupal code/module doesn't send correct headers? What are the URLs which are gzipped? Note that we don't compress any binary files, like images, media etc. because only expected mime types are listed in the
gzip_types. At any rate, Drupal should not send this, even that pre-loader stuff as a text/plain, imo. This is the source of the problem.Comment #6
realityloop commentedThis is private filesystem on Drupal 6 so the files do get sent via Drupal.
We haven't created any module that does it.. just vanilla private filesystem in D6.
Interestingly, since disabling gzip, the files being received by FF, Chrome, and Safari are alll different sizes for the exact same file.
FF is the only browser displaying the file in full, Chrome and Safari downloads incomplete versions of the file.
output from Live HTTP extension shows that it is still being gzipped :/
Comment #7
omega8cc commentedThere are two weird details here:
X-Backend: E- this is a sign that it can't guess the version of Drupal used.Content-Encoding: gzip- this, along with correctContent-Type: application/x-shockwave-flashdoesn't make any sense.Is there some extra IP/proxy used for this site maybe?
Also, what version of BOA are you running?
Comment #8
realityloop commentedHad to change the following setting to "off" in /etc/php/fpm/php.ini to resolve this:
Comment #9
omega8cc commentedUh. It is a bug. We had it always disabled in php.ini for 5.2, and I have no idea why it was left enabled for 5.3, but it was totally unintended.
Thanks for the heads up!
Comment #10
omega8cc commentedFix committed in head: http://drupalcode.org/project/barracuda.git/commit/4886bc6
Comment #11
realityloop commentedhas this made it to stable yet?
Comment #12
omega8cc commentedNo, there is no new stable yet, but is expected shortly.
Comment #13
realityloop commentedis there any way to see when the last stable was pushed?
Or ideally something that we can subscribe to via RSS..?
Comment #14
omega8cc commentedYes: http://omega8.cc/updates and RSS: http://omega8.cc/taxonomy/term/26/0/feed
Comment #15
omega8cc commentedPlus, Barracuda monitor will send you e-mail notice (it will send it daily until you will upgrade) when it detects new release posted on d.o
Comment #16
realityloop commentedthanks