Hi all

I'm hoping someone will have come across this before, but we're getting 
problems with PDF files in our projects becoming truncated during download. 
They seem to upload fine to a wiki page or ticket, but on downloading 
larger ones ( 1Mb+) are becoming truncated, that is, with the 
raw-attachment link. Normally we run through SSL, and so I've tried it 
without but no luck. As a sanity check, I tried copying the file out of 
Trac and in to the Apache document root so it's outside the control of 
Trac, and it downloads fine. So I took a packet capture and caught the 
headers

_Apache directly_

Request :
GET /test1.pdf HTTP/1.1
Host: X
Connection: keep-alive
Authorization: Basic X
Accept: 
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 
(KHTML, like Gecko) Chrome/37.0.2028.0 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en;q=0.8,en-US;q=0.6
Cookie: X


HTTP/1.1 200 OK
Date: Mon, 04 Aug 2014 10:28:15 GMT
Server: Apache/2.2.21 (Win32) DAV/2 mod_ssl/2.2.21 OpenSSL/0.9.8r 
mod_python/3.3.1 Python/2.5.4 SVN/1.7.2 PHP/5.3.9 mod_wsgi/2.0 
mod_perl/2.0.4 Perl/v5.12.4
Last-Modified: Wed, 23 Jul 2014 13:47:29 GMT
ETag: "80000000064ac-12032e-4fedc94cdce7c"
Accept-Ranges: bytes
Content-Length: 1180462
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/pdf


_Via Trac_

GET 
/trac/RiskAssessments/raw-attachment/wiki/Warehouse/FoamPackingStation/SPlaner%20Sal13083012170.pdf
 
HTTP/1.1
Host: X:8010
Connection: keep-alive
Authorization: Basic X
Accept: 
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 
(KHTML, like Gecko) Chrome/37.0.2028.0 Safari/537.36
Referer: 
http://X/trac/RiskAssessments/attachment/wiki/Warehouse/FoamPackingStation/SPlaner%20Sal13083012170.pdf
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en;q=0.8,en-US;q=0.6
Cookie: trac_form_token=f0ec23254cc6bd00730ce86c; 


HTTP/1.1 200 Ok
Date: Mon, 04 Aug 2014 10:29:41 GMT
Server: Apache/2.2.21 (Win32) DAV/2 mod_ssl/2.2.21 OpenSSL/0.9.8r 
mod_python/3.3.1 Python/2.5.4 SVN/1.7.2 PHP/5.3.9 mod_wsgi/2.0 
mod_perl/2.0.4 Perl/v5.12.4
ETag: W/"sdelicata/Wed, 23 Jul 2014 13:47:29 GMT/False"
Content-Disposition: attachment
Content-Length: 1180462
Last-Modified: Wed, 23 Jul 2014 13:47:29 GMT
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/pdf; charset=iso-8859-15


Comparing the two, the only difference of significance I see is the 
"charset" appended to the content-type. So I removed the charset from 
trac.ini, but all it did was forcibly append "utf-8".  Turning on debugging 
for gave me


2014-08-04 15:28:30,776 Trac[env] INFO: -------------------------------- 
environment startup [Trac 1.0] --------------------------------
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading TracSubPages from 
d:\python25\lib\site-packages\tracsubpages-0.5-py2.5.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading TracXMLRPC from 
d:\python25\lib\site-packages\tracxmlrpc-1.1.2-py2.5.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading graphviz from 
d:\python25\lib\site-packages\graphviz-0.7.5dev-py2.5.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading plantuml.macro from 
d:\python25\lib\site-packages\plantuml-2.0dev-py2.5.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading ticketchangesets.admin 
from d:\python25\lib\site-packages\tracticketchangesets-1.0dev-py2.5.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading 
ticketchangesets.commit_updater from 
d:\python25\lib\site-packages\tracticketchangesets-1.0dev-py2.5.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading ticketchangesets.init 
from d:\python25\lib\site-packages\tracticketchangesets-1.0dev-py2.5.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading ticketchangesets.web_ui 
from d:\python25\lib\site-packages\tracticketchangesets-1.0dev-py2.5.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading 
timingandestimationplugin from 
d:\python25\lib\site-packages\timingandestimationplugin-1.2.8-py2.5.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading trac.about from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading trac.admin.console from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading trac.admin.web_ui from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading trac.attachment from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading trac.db.mysql from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading trac.db.postgres from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading trac.db.sqlite from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading trac.mimeview.patch 
from d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading trac.mimeview.pygments 
from d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,792 Trac[loader] DEBUG: Loading trac.mimeview.rst from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,822 Trac[loader] DEBUG: Skipping "trac.mimeview.rst = 
trac.mimeview.rst [rest]": ("DistributionNotFound: docutils>=0.3" not found)
2014-08-04 15:28:30,822 Trac[loader] DEBUG: Loading trac.mimeview.txtl from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,838 Trac[loader] DEBUG: Skipping "trac.mimeview.txtl = 
trac.mimeview.txtl [textile]": ("DistributionNotFound: textile>=2.0" not 
found)
2014-08-04 15:28:30,855 Trac[loader] DEBUG: Loading trac.prefs from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,855 Trac[loader] DEBUG: Loading trac.search from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,855 Trac[loader] DEBUG: Loading trac.ticket.admin from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,855 Trac[loader] DEBUG: Loading trac.ticket.batch from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,855 Trac[loader] DEBUG: Loading trac.ticket.query from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,855 Trac[loader] DEBUG: Loading trac.ticket.report from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,855 Trac[loader] DEBUG: Loading trac.ticket.roadmap 
from d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,855 Trac[loader] DEBUG: Loading trac.ticket.web_ui from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,855 Trac[loader] DEBUG: Loading trac.timeline from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,855 Trac[loader] DEBUG: Loading 
trac.versioncontrol.admin from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,855 Trac[loader] DEBUG: Loading 
trac.versioncontrol.svn_authz from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,855 Trac[loader] DEBUG: Loading 
trac.versioncontrol.web_ui from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,855 Trac[loader] DEBUG: Loading trac.web.auth from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,869 Trac[loader] DEBUG: Loading trac.web.session from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,869 Trac[loader] DEBUG: Loading trac.wiki.admin from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,869 Trac[loader] DEBUG: Loading trac.wiki.interwiki 
from d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,869 Trac[loader] DEBUG: Loading trac.wiki.macros from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,869 Trac[loader] DEBUG: Loading trac.wiki.web_api from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,869 Trac[loader] DEBUG: Loading trac.wiki.web_ui from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,869 Trac[loader] DEBUG: Loading 
tracopt.mimeview.enscript from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,869 Trac[loader] DEBUG: Loading tracopt.mimeview.php 
from d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,869 Trac[loader] DEBUG: Loading 
tracopt.mimeview.silvercity from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Skipping 
"tracopt.mimeview.silvercity = tracopt.mimeview.silvercity [silvercity]": 
("DistributionNotFound: SilverCity>=0.9.4" not found)
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading 
tracopt.perm.authz_policy from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading 
tracopt.perm.config_perm_provider from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading tracopt.ticket.clone 
from d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading 
tracopt.ticket.commit_updater from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading tracopt.ticket.deleter 
from d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading 
tracopt.versioncontrol.git.git_fs from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading 
tracopt.versioncontrol.svn.svn_fs from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading 
tracopt.versioncontrol.svn.svn_prop from 
d:\python25\lib\site-packages\trac-1.0-py2.5-win32.egg
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading wikiprint.formats from 
d:\python25\lib\site-packages\tracwikiprintplugin-1.9.2-py2.5.egg
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading wikiprint.web_ui from 
d:\python25\lib\site-packages\tracwikiprintplugin-1.9.2-py2.5.egg
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading wikiprint.wikiprint 
from d:\python25\lib\site-packages\tracwikiprintplugin-1.9.2-py2.5.egg
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading file plugin ProjectLoop 
from d:\svn_repo_2\trac_inherited\plugins\ProjectLoop.py
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading file plugin Stack2Uml 
from d:\svn_repo_2\trac_inherited\plugins\Stack2Uml.py
2014-08-04 15:28:30,885 Trac[loader] DEBUG: Loading file plugin 
testStack2Uml from d:\svn_repo_2\trac_inherited\plugins\testStack2Uml.py
2014-08-04 15:28:30,901 Trac[default_workflow] DEBUG: Workflow actions at 
initialization: {u'resolve': {u'operations': [u'set_resolution'], 'name': 
u'resolve', 'default': 0, 'newstate': u'closed', 'oldstates': [u'new', 
u'assigned', u'reopened'], u'permissions': [u'TICKET_MODIFY']}, 
u'testing_reassign': {u'operations': [u'set_owner'], u'name': u'Reassign 
testing', 'default': 0, 'newstate': u'testing', 'oldstates': [u'testing'], 
u'permissions': [u'TICKET_MODIFY']}, u'testing': {u'operations': 
[u'set_owner'], u'name': u'Set tester', 'default': 0, 'newstate': 
u'testing', 'oldstates': [u'new', u'accepted', u'needs_work', u'assigned', 
u'reopened', u'waiting'], u'permissions': [u'TICKET_MODIFY']}, u'accept': 
{u'operations': [u'set_owner_to_self'], 'name': u'accept', 'default': 0, 
'newstate': u'assigned', 'oldstates': [u'new'], u'permissions': 
[u'TICKET_MODIFY']}, u'leave': {u'operations': [u'leave_status'], 'name': 
u'leave', u'default': 1, 'newstate': u'*', 'oldstates': [u'*'], 
'permissions': []}, u'reopen': {u'operations': [u'del_resolution'], 'name': 
u'reopen', 'default': 0, 'newstate': u'reopened', 'oldstates': [u'closed'], 
u'permissions': [u'TICKET_CREATE']}, u'reject': {u'operations': 
[u'set_owner'], u'name': u'Failed testing. Return to developer', 'default': 
0, 'newstate': u'assigned', 'oldstates': [u'testing'], u'permissions': 
[u'TICKET_MODIFY']}, u'reassign': {u'operations': [u'set_owner'], 'name': 
u'reassign', 'default': 0, 'newstate': u'new', 'oldstates': [u'new', 
u'assigned', u'reopened', u'waiting'], u'permissions': [u'TICKET_MODIFY']}, 
u'pass': {u'operations': [u'set_resolution'], u'name': u'Passed testing. 
Mark', 'default': 0, 'newstate': u'closed', u'set-resolution': u'fixed', 
'oldstates': [u'testing'], u'permissions': [u'TICKET_MODIFY']}, '_reset': 
{'operations': ['reset_workflow'], 'name': 'reset', 'default': 0, 
'newstate': 'new', 'oldstates': [], 'permissions': []}, u'wait': 
{'operations': [], u'name': u'waiting (see depends on)', 'default': 0, 
'newstate': u'waiting', 'oldstates': [u'new', u'assigned', u'reopened', 
u'testing'], u'permissions': [u'TICKET_MODIFY']}}

2014-08-04 15:28:30,901 Trac[env] WARNING: base_url option not set in 
configuration, generated links may be incorrect
2014-08-04 15:28:30,901 Trac[main] DEBUG: Dispatching <RequestWithSession 
"GET '/attachment/wiki/AttachmentTest/test1.pdf'">
2014-08-04 15:28:30,901 Trac[graphviz] INFO: version: 0.7.5dev - id: $Id$
2014-08-04 15:28:30,917 Trac[svn_fs] DEBUG: Subversion bindings imported
2014-08-04 15:28:30,917 Trac[api] INFO: Synchronized '(default)' repository 
in 0.02 seconds
2014-08-04 15:28:30,917 Trac[api] DEBUG: action controllers for ticket 
workflow: ['ConfigurableTicketWorkflow']
2014-08-04 15:28:30,917 Trac[chrome] DEBUG: Prepare chrome data for request
2014-08-04 15:28:30,917 Trac[session] DEBUG: Retrieving session for ID 'X'
2014-08-04 15:28:30,933 Trac[perm] DEBUG: No policy allowed X performing 
TRAC_ADMIN on None
2014-08-04 15:28:30,933 Trac[perm] DEBUG: No policy allowed X performing 
PERMISSION_GRANT on None
2014-08-04 15:28:30,933 Trac[perm] DEBUG: No policy allowed X performing 
PERMISSION_REVOKE on None
2014-08-04 15:28:30,933 Trac[perm] DEBUG: No policy allowed X performing 
TICKET_ADMIN on None
2014-08-04 15:28:30,933 Trac[perm] DEBUG: No policy allowed X performing 
VERSIONCONTROL_ADMIN on None
2014-08-04 15:28:30,933 Trac[perm] DEBUG: No policy allowed X performing 
WIKIPRINT_ADMIN on None
2014-08-04 15:28:30,933 Trac[perm] DEBUG: No policy allowed X performing 
WIKIPRINT_BOOK on None
2014-08-04 15:28:30,947 Trac[perm] DEBUG: No policy allowed X performing 
WIKI_DELETE on <Resource u'wiki:AttachmentTest'>
2014-08-04 15:28:30,947 Trac[attachment] DEBUG: LegacyAttachmentPolicy 
denied X access to <Resource u'wiki:AttachmentTest, attachment:test1.pdf'>. 
User needs WIKI_DELETE
2014-08-04 15:28:30,947 Trac[perm] DEBUG: LegacyAttachmentPolicy denies X 
performing ATTACHMENT_DELETE on <Resource u'wiki:AttachmentTest, 
attachment:test1.pdf'>


I've also tried uploading the file as "file.pdf" and I get the same result. 
The A/v is disabled. The server & clients are on the same subnet, without a 
firewall in the way. Everything else is fine. If I put up a smaller PDF ( 
70k) it comes down no problem. We were running on 1.0.0, but when I got no 
joy trying other things to get it working, I upgraded to 1.0.1 and the zip 
downloader does get the whole thing correctly ( PDF encompassed with a ZIP 
).

Server is running Win 2003 32bit, Apache 2.2.21

System Information
PackageVersionTrac1.0Genshi0.6 (without speedups)Pygments1.5pysqlite2.3.2
Python2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)]
setuptools0.6c11SQLite3.3.4Subversion1.7.2 (r1207936)jQuery1.7.2
Installed PluginsNameVersionLocationgraphviz 
<http://trac-hacks.org/wiki/GraphvizPlugin>0.7.5dev
d:\python25\lib\site-packages\graphviz-0.7.5dev-py2.5.egg


ProjectLoopN/Ad:\svn_repo_2\trac_inherited\plugins\ProjectLoop.pycStack2Uml 
<https://development.planer.co.uk/trac/GuestTestSite/URL>Rev
d:\svn_repo_2\trac_inherited\plugins\Stack2Uml.pyctimingandestimationplugin 
<http://www.trac-hacks.org/wiki/TimingAndEstimationPlugin>1.2.8
d:\python25\lib\site-packages\timingandestimationplugin-1.2.8-py2.5.egg
tracsubpages <http://github.com/jetheis/TracSubPages>0.5
d:\python25\lib\site-packages\tracsubpages-0.5-py2.5.eggtracticketchangesets 
<http://trac-hacks.org/wiki/TracTicketChangesetsPlugin>1.0dev
d:\python25\lib\site-packages\tracticketchangesets-1.0dev-py2.5.egg
tracwikiprintplugin <http://trac-hacks.org/wiki/TracWikiPrintPlugin>1.9.2
d:\python25\lib\site-packages\tracwikiprintplugin-1.9.2-py2.5.eggtracxmlrpc 
<http://trac-hacks.org/wiki/XmlRpcPlugin>1.1.2
d:\python25\lib\site-packages\tracxmlrpc-1.1.2-py2.5.egg
>From trac.ini

[attachment]
max_size = 262144
render_unsafe_content = false


Does anyone have any suggestions as to where to look next ?

many thanks

Simon 

-- 
You received this message because you are subscribed to the Google Groups "Trac 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/trac-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to