Closed Bug 535384 Opened 15 years ago Closed 14 years ago

PDF attachments are sent as Content-Type: application/force-download due to wrong content-type saved in mimetypes.rdf by user.

Categories

(SeaMonkey :: Preferences, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 462629

People

(Reporter: franta, Unassigned)

References

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; rv:1.9.1.7pre) Gecko/20091216 SeaMonkey/2.0.2pre
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; rv:1.9.1.7pre) Gecko/20091216 SeaMonkey/2.0.2pre

PDF attachments are sent with type as mentioned above, which is probably bad - right type maybe "application/pdf"


Reproducible: Always
Please look in tools/options/applications if you have a PDF entry which could contain the wrong mime-type.
Check mimeTypes.rdf content by text editor. Can you see entry for application/force-download?

If entry is found and if you can accept loss of contents in mimeTypes.rdf, delete mimeTypes.rdf and restart Sm2.
If you can't accept loss, do next please.
1. Download last Sm 1.x, 2. decompress it, 3. create new profile with Sm1, 4. copy Sm2's mimeTypes.rdf to Sm1's profile, 4. remove garbages via Preference/Browser/Helper Applications of Sm1, 5, copy back Sm1's mimeTypes.rdf to Sm2's profile.
Dupe of Bug 462629?
OS: Linux → All
Hardware: x86 → All
Version: unspecified → Trunk
(In reply to comment #3)

This bug is never Dupe of Bug 462629.
Why "Sm1's Helper Applications is required to recover" is that Bug 462629 is still open.
Hi Matthias, I have no "option" item under "Tools".
In Edit -> Preference -> Browser -> Helper Applications I have four (!?) items "Document PDF" - as "application/force-download", "application/octetstream", "application/pdf" and "application/x-pdf". This window seems slightly useles, as there is possible only define actions, but not edit MIME type nor remove bad entry.

WADA, as You hint, after I remove these two entries (and one RDF:li reference): 

<RDF:Description RDF:about="urn:mimetype:application/octetstream"
     NC:fileExtensions="pdf"
     NC:description="Dokument PDF"
     NC:value="application/octetstream"
     NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/octetstream"/>
</RDF:Description>

<RDF:Description RDF:about="urn:mimetype:application/force-download"
     NC:fileExtensions="pdf"
     NC:description="Dokument PDF"
     NC:value="application/force-download"
     NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/force-download"/>
</RDF:Description>

then PDF attachments are sent OK as "application/pdf" type. Thanks for suggestion. When I see at mentioned bug 462629, I have a impression, then progress is going back :). It is necessary wait for fix (maybe not too difficult, but I'm not programmer) until SM 2.2 line?
Franta, did you migrate your profile from an old SM1 installation?  To resolce this bug it is needed to knwo where the false entry in mimeTypes.rdf came from.

Can you verify this issue in a new profile?
Not know, when I can help You with it. This bugreport is on Fedora 12 distro. I periodically after six months upgrade to new Fedora Linux, and I copy my home directory to new installation. Original old system I keep for case that I need e.g. compile something on it. SM 2 I use several years, and I do not remember, when I at that time were beginning with new profile, or with SM 1 one.
After inspection of those old system I find that (/mnt/fX/ are mountpoints for
Fedora X installs):

SM versions:
# for F in /mnt/f{7,8,9,10,11}/usr/local/seamonkey/application.ini /usr/local/seamonkey/application.ini; do echo -e "\n* $(ls -l $F) :"; grep '^Version' $F; done

* -rw-r--r--. 1 root root 2040 17. lis  2007 /mnt/f7/usr/local/seamonkey/application.ini :
Version=2.0a1pre

* -rw-r--r--. 1 root root 2036  8. dub  2008 /mnt/f8/usr/local/seamonkey/application.ini :
Version=2.0a1pre

* -rw-r--r--. 1 root root 2048 23. říj  2008 /mnt/f9/usr/local/seamonkey/application.ini :
Version=2.0a2pre

* -rw-r--r--. 1 root root 2048 17. kvě  2009 /mnt/f10/usr/local/seamonkey/application.ini :
Version=2.0b1pre

* -rw-r--r--. 1 root root 2132 12. lis 10.03 /mnt/f11/usr/local/seamonkey/application.ini :
Version=2.0.1pre

* -rw-r--r--. 1 root root 2132 19. pro 10.06 /usr/local/seamonkey/application.ini :
Version=2.0.2pre



And their PDF sections in mimeTypes.rdf :
# for F in /mnt/f{7,8,9,10,11}/home/hanzlik/.mozilla/seamonkey/04sfghlb.default/mimeTypes.rdf /home/hanzlik/.mozilla/seamonkey/04sfghlb.default/mimeTypes.rdf; do echo -e "\n* $(ls -l $F) :"; sed -n -r -e '/<\/RDF:Desc|NC:/H;/<\/RDF:Desc/{x;/fileExtensions="pdf"/p;d}' -e '/<RDF:li.*pdf|<\/RDF:Seq/H;/<\/RDF:Seq/{x;/pdf"/p;d}'  -e '/<RDF:Descr/h' -e '/<RDF:Seq/h'  $F; done

* -rw-r--r--. 1 hanzlik hanzlik 32327 16. lis  2007 /mnt/f7/home/hanzlik/.mozilla/seamonkey/04sfghlb.default/mimeTypes.rdf :
  <RDF:Description RDF:about="urn:mimetype:application/pdf"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF"
                   NC:value="application/pdf"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/pdf"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/force-download"
                   NC:value="application/force-download"
                   NC:editable="true"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/force-download"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/x-pdf"
                   NC:value="application/x-pdf"
                   NC:editable="true"
                   NC:description="Dokument PDF"
                   NC:fileExtensions="pdf">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/x-pdf"/>
  </RDF:Description>
  <RDF:Seq RDF:about="urn:mimetypes:root">
    <RDF:li RDF:resource="urn:mimetype:application/x-pdf"/>
    <RDF:li RDF:resource="urn:mimetype:application/pdf"/>
  </RDF:Seq>

* -rw-r--r--. 1 hanzlik hanzlik 37321  7. bře  2009 /mnt/f8/home/hanzlik/.mozilla/seamonkey/04sfghlb.default/mimeTypes.rdf :
  <RDF:Seq RDF:about="urn:mimetypes:root">
    <RDF:li RDF:resource="urn:mimetype:application/x-pdf"/>
    <RDF:li RDF:resource="urn:mimetype:application/pdf"/>
  </RDF:Seq>
  <RDF:Description RDF:about="urn:mimetype:application/pdf"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF"
                   NC:value="application/pdf"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/pdf"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/x-pdf"
                   NC:value="application/x-pdf"
                   NC:editable="true"
                   NC:description="Dokument PDF"
                   NC:fileExtensions="pdf">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/x-pdf"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/force-download"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF"
                   NC:value="application/force-download"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/force-download"/>
  </RDF:Description>

* -rw-r--r--. 1 hanzlik hanzlik 48936 22. úno  2009 /mnt/f9/home/hanzlik/.mozilla/seamonkey/04sfghlb.default/mimeTypes.rdf :
  <RDF:Description RDF:about="urn:mimetype:application/force-download"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF"
                   NC:value="application/force-download"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/force-download"/>
  </RDF:Description>
  <RDF:Seq RDF:about="urn:mimetypes:root">
    <RDF:li RDF:resource="urn:mimetype:application/x-pdf"/>
    <RDF:li RDF:resource="urn:mimetype:application/pdf"/>
  </RDF:Seq>
  <RDF:Description RDF:about="urn:mimetype:application/pdf"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF"
                   NC:value="application/pdf"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/pdf"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/x-pdf"
                   NC:value="application/x-pdf"
                   NC:editable="true"
                   NC:description="Dokument PDF"
                   NC:fileExtensions="pdf">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/x-pdf"/>
  </RDF:Description>

* -rw-r--r--. 1 hanzlik hanzlik 58795 16. kvě  2009 /mnt/f10/home/hanzlik/.mozilla/seamonkey/04sfghlb.default/mimeTypes.rdf :
  <RDF:Description RDF:about="urn:mimetype:application/pdf"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF"
                   NC:value="application/pdf"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/pdf"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/x-pdf"
                   NC:value="application/x-pdf"
                   NC:editable="true"
                   NC:description="Dokument PDF"
                   NC:fileExtensions="pdf">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/x-pdf"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/octetstream"
                   NC:value="application/octetstream"
                   NC:editable="true"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/octetstream"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/force-download"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF"
                   NC:value="application/force-download"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/force-download"/>
  </RDF:Description>
  <RDF:Seq RDF:about="urn:mimetypes:root">
    <RDF:li RDF:resource="urn:mimetype:application/x-pdf"/>
    <RDF:li RDF:resource="urn:mimetype:application/pdf"/>
  </RDF:Seq>

* -rw-r--r--. 1 hanzlik hanzlik 65002 21. lis 03.50 /mnt/f11/home/hanzlik/.mozilla/seamonkey/04sfghlb.default/mimeTypes.rdf :
  <RDF:Seq RDF:about="urn:mimetypes:root">
    <RDF:li RDF:resource="urn:mimetype:application/x-pdf"/>
    <RDF:li RDF:resource="urn:mimetype:application/pdf"/>
  </RDF:Seq>
  <RDF:Description RDF:about="urn:mimetype:application/pdf"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF"
                   NC:value="application/pdf"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/pdf"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/x-pdf"
                   NC:value="application/x-pdf"
                   NC:editable="true"
                   NC:description="Dokument PDF"
                   NC:fileExtensions="pdf">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/x-pdf"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/force-download"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF"
                   NC:value="application/force-download"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/force-download"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/octetstream"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF"
                   NC:value="application/octetstream"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/octetstream"/>
  </RDF:Description>

* -rw-r--r--. 1 hanzlik hanzlik 65002  4. pro 22.11 /home/hanzlik/.mozilla/seamonkey/04sfghlb.default/mimeTypes.rdf :
  <RDF:Description RDF:about="urn:mimetype:application/pdf"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF"
                   NC:value="application/pdf"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/pdf"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/x-pdf"
                   NC:value="application/x-pdf"
                   NC:editable="true"
                   NC:description="Dokument PDF"
                   NC:fileExtensions="pdf">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/x-pdf"/>
  </RDF:Description>
  <RDF:Seq RDF:about="urn:mimetypes:root">
    <RDF:li RDF:resource="urn:mimetype:application/x-pdf"/>
    <RDF:li RDF:resource="urn:mimetype:application/pdf"/>
  </RDF:Seq>
  <RDF:Description RDF:about="urn:mimetype:application/octetstream"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF"
                   NC:value="application/octetstream"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/octetstream"/>
  </RDF:Description>
  <RDF:Description RDF:about="urn:mimetype:application/force-download"
                   NC:fileExtensions="pdf"
                   NC:description="Dokument PDF"
                   NC:value="application/force-download"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/force-download"/>
  </RDF:Description>


From above, paragraph with value="application/force-download" was in my mimeTypes.rdf from beginning, and paragraph with value="application/octetstream" appears sometime in Fedora 10 era, nearly year back.

Hb, You advise start with completely new profile, or only with empty mimeTypes.rdf ?  Because starting from zero will be for me a little difficult and I didn't want it just now.
> Advice to start with completely new profile ...

Sorry for being unclear. The New Profile Step is needed to check whether the bad mimeTypes entry shipped with Seamonkey or came in there because of user actions. This is a standard step for debugging purposes. 

If "application/force-download" is in your setting since years I don't see a way to find out where it came from. So all questions in this bug are answered. It can be resolved as duplicate or as invalid because the reason was bad user dada.
The application/force-download content-type is from a user action.
The user opened an URL that used this content-type to be sure that the browser displayed a file download dialog instead of displaying it inline with a PDF plugin. The user selected "save this decision" and the wrong content-type was saved in mimetypes.rdf.

The new crap toolkit UI doesn't let you fix this issue because it tries to hide the content-types from the user (a really stupid idea IMO) and the webpage shouldn't force a download with a wrong content-type, it should use a content-disposition:attachment header instead.
(In reply to comment #5)
> When I see at mentioned bug 462629, I have a impression, then progress is going back :).
> It is necessary wait for fix (maybe not too difficult, but I'm not programmer) until SM 2.2 line?

Even if bug 462629 will be fixed for Sm2, there may be problem if multiple mime-types are assciated to a file extension(your case) or multiple file extentions are associated to a mime-type, or if multiple applications are associated to a mime-type and/or file extension. These are already reported problem for Thunderbird(some are for Fx).
Simplest/easiest recovery procedure is "delete mimeTypes.rdf".

(In reply to comment #9)
> The new crap toolkit UI (snip) (a really stupid idea IMO)

1. This was implemented for Fx initially.
   As wrong mime-type is generated by wrong Content-Type: header of web site,
   frequency of wrong mime-type was/is low.
   I also think this is not sophisticated design/implementation.
2. "The new crap toolkit UI" was imported to Tb.
   As wrong mime-type is generated by Content-Type: header of mail attachment,
   frequency of wrong mime-type was/is high, and many problems due to wrong
   mime-type in mimeTypes.rdf were/are reported, but Tb has no way to check
   wrong mime-types exists or not.
3. "The new crap toolkit UI" was imported to Sm2.
   As Sm2 has Mail&News, same problem as Tb easily occurs.
   And, as Sm2 has Browser, same proble as Fx easily occurs too.
   But Sm2 already lost a way to check about wrong mime-type and to premove it.

There are three kind of issues around this bug.
(a) issue in mime-Types.rdf entry creation.
    Sm2 already lost add/edit/delete capability of Helper Application of Sm1. 
    Currently, "dialog upon open" only.
(b) issue in mime-Types.rdf use.
    Priority of relation of mime-type/file extention of system,
    predefined relation among mime-type, file extension, application,
    relations among mime-type, file extension, application in mimeTypes.
    Capability of user choice upon attach or upload. 
(c) issue in mime-Types.rdf management (bug 462629)
All of above should be improved to protect user from problem like this bug.
FYI.
See bug 471027 for critical situation(similar to infection of virus) of Tb2 at user's environment which was originally produced by Mail Core bug of bug 476400.
If Sm1, damage was small because checking/removing of wrong entory was easy, but if Sm2 without fix of bug 476400, same problem as Tb's bug 471027 would happened on Sm2 too.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Whiteboard: dupeme
Also have a look at MailNews Core bug 503309 to provide some safe-guard against wrong entries too easily picked up when opening an attachment. Along with the user-interface improvements suggested in bug 462629, this should solve the bulk of problems caused by wrong file-type associations.
Status: NEW → RESOLVED
Closed: 14 years ago
Component: MailNews: Backend → Preferences
QA Contact: mailnews-backend → preferences
Resolution: --- → DUPLICATE
Summary: PDF attachments are sent as Content-Type: application/force-download → PDF attachments are sent as Content-Type: application/force-download due to wrong content-type saved in mimetypes.rdf by user.
Whiteboard: dupeme
You need to log in before you can comment on or make changes to this bug.