bug-mailutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug-mailutils] Mimeview is unable to parse mime.types file


From: Pierre-Jean
Subject: [bug-mailutils] Mimeview is unable to parse mime.types file
Date: Tue, 30 May 2017 13:29:23 +0200

Hello alls,

Mimeview is unable to parse my current mime.types file:
  mimeview -t /usr/share/cups/mime/mime.types file
  Invalid character '^', state 1
  Aborted (core dump)

Mimeview seems to be unable to parse the regex rule of the
file mime.types. Apparently, that regex rule was introduced
for the sole pdf detection, and is not documented in man 5
mime.types. I found the commit which adds that rule on the
cups repository:
https://github.com/apple/cups/commit/6ee54c072996fd4cde3d5a53e80918e90f8e29c5

But, even with that rule commented, mimeview is still unable
to parse the file:
  mimeview -t /usr/share/cups/mime/mime.types file
  mimeview: /usr/share/cups/mime/mime.types:86: syntax error
  mimeview: /usr/share/cups/mime/mime.types:94: syntax error
  mimeview: /usr/share/cups/mime/mime.types:125: syntax error
  mimeview: /usr/share/cups/mime/mime.types:148: syntax error
  mimeview: /usr/share/cups/mime/mime.types:156: syntax error
  mimeview: /usr/share/cups/mime/mime.types:177: syntax error


Cups 2.2.3
mailutils (GNU Mailutils) 3.2.91-15 [release-3.2-40-gd2952d1c8-dirty]
my /usr/share/cups/mime/mime.types is joined.

Kind regards,
Pierre-Jean.

#
# Base MIME types file for CUPS.
#
# DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW
# VERSIONS OF CUPS.  Instead, create a "local.types" file that
# reflects your local configuration changes.
#
# Copyright 2007-2016 by Apple Inc.
# Copyright 1997-2007 by Easy Software Products.
#
# These coded instructions, statements, and computer programs are the
# property of Apple Inc. and are protected by Federal copyright
# law.  Distribution and use rights are outlined in the file "LICENSE.txt"
# which should have been included with this file.  If this file is
# file is missing or damaged, see the license at "http://www.cups.org/";.
#

########################################################################
#
# Format of Lines:
#
#   super/type rules
#
# "rules" can be any combination of:
#
#   ( expr )                            Parenthesis for expression grouping
#   +                                   Logical AND
#   , or whitespace                     Logical OR
#   !                                   Logical NOT
#   match("pattern")                    Pattern match on filename
#   extension                           Pattern match on "*.extension"
#   ascii(offset,length)                True if bytes are valid printable ASCII
#                                       (CR, NL, TAB, BS, 32-126)
#   priority(number)                    Sets priority of type (0=lowest,
#                                       100=default, 200=highest)
#   printable(offset,length)            True if bytes are printable 8-bit chars
#                                       (CR, NL, TAB, BS, 32-126, 128-254)
#   regex(offset,"regex")               True if bytes match regular expression
#   string(offset,"string")             True if bytes are identical to string
#   istring(offset,"string")            True if bytes are identical to
#                                       case-insensitive string
#   char(offset,value)                  True if byte is identical
#   short(offset,value)                 True if 16-bit integer is identical
#   int(offset,value)                   True if 32-bit integer is identical
#   locale("string")                    True if current locale matches string
#   contains(offset,range,"string")     True if the range contains the string
#
# General Notes:
#
#   MIME type names are case-insensitive.  Internally they are converted
#   to lowercase.  Multiple occurrences of a type will cause the provided
#   rules to be appended to the existing definition.  If two types use the same
#   rules to resolve a type and have the same priority, e.g. "doc" extension for
#   "text/bar" and "text/foo", the returned type will be the first type as
#   sorted in alphanumerically ascending order without regard to case.  Thus,
#   the "text/bar" type will match the "doc" extension first unless the
#   "text/foo" type has specified a higher priority.
#
#   The "printable" rule differs from the "ascii" rule in that it also
#   accepts 8-bit characters in the range 128-255.
#
#   String constants must be surrounded by "" if they contain whitespace.
#   To insert binary data into a string, use the <hex> notation.
#

########################################################################
#
# Application-generated files...
#

#application/msword             doc string(0,<D0CF11E0A1B11AE1>)
application/pdf                 pdf regex(0,^[\n\r]*%PDF)
application/postscript          ai eps ps string(0,%!) string(0,<04>%!) \
                                contains(0,128,<1B>%-12345X) + \
                                (contains(0,4096,"LANGUAGE=POSTSCRIPT") \
                                 contains(0,4096,"LANGUAGE = Postscript") \
                                 contains(0,4096,"LANGUAGE = PostScript") \
                                 contains(0,4096,"LANGUAGE = POSTSCRIPT") \
                                 (contains(0,4096,<0a>%!) + \
                                  !contains(0,4096,"ENTER LANGUAGE")))

application/g-code              gcode
application/sla                 stl string(0,"solid ") + 
contains(0,4096,"facet") + contains(0,4096,"vertex")
application/vnd.makerbot-s3g    x3g
model/amf                       amf
model/vnd.collada+xml           dae


########################################################################
#
# Image files...
#

image/gif                       gif string(0,GIF87a) string(0,GIF89a)
image/png                       png string(0,<89>PNG)
image/jpeg                      jpeg jpg jpe string(0,<FFD8FF>) +\
                                (char(3,0xe0) char(3,0xe1) char(3,0xe2) 
char(3,0xe3)\
                                 char(3,0xe4) char(3,0xe5) char(3,0xe6) 
char(3,0xe7)\
                                 char(3,0xe8) char(3,0xe9) char(3,0xea) 
char(3,0xeb)\
                                 char(3,0xec) char(3,0xed) char(3,0xee) 
char(3,0xef))
image/pwg-raster                string(0,"RaS2") + string(4,PwgRaster<00>) 
priority(150)
image/tiff                      tiff tif string(0,MM<002A>) string(0,II<2A00>)
image/x-photocd                 pcd string(2048,PCD_IPI)
image/x-portable-anymap         pnm
image/x-portable-bitmap         pbm string(0,P1) string(0,P4)
image/x-portable-graymap        pgm string(0,P2) string(0,P5)
image/x-portable-pixmap         ppm string(0,P3) string(0,P6)
image/x-sgi-rgb                 rgb sgi bw icon short(0,474)
image/x-xbitmap                 xbm
image/x-xpixmap                 xpm ascii(0,1024) + string(3,"XPM")
#image/x-xwindowdump            xwd string(4,<00000007>)
image/x-sun-raster              ras string(0,<59a66a95>)

#image/fpx                      fpx
image/urf                       urf string(0,UNIRAST<00>)
image/x-alias                   pix short(8,8) short(8,24)
image/x-bitmap                  bmp string(0,BM) + !printable(2,14)
image/x-icon                    ico

########################################################################
#
# Text files...
#

application/x-cshell            csh printable(0,1024) + string(0,#!) +\
                                (contains(2,80,/csh) contains(2,80,/tcsh))
application/x-perl              pl printable(0,1024) + string(0,#!) +\
                                contains(2,80,/perl)
application/x-shell             sh printable(0,1024) + string(0,#!) +\
                                (contains(2,80,/bash) contains(2,80,/ksh)\
                                 contains(2,80,/sh) contains(2,80,/zsh))
application/x-csource           c cxx cpp cc C h hpp \
                                printable(0,1024) + ! css + \
                                (string(0,/*) string(0,//)
                                 string(0,#include) 
contains(0,1024,<0a>#include) \
                                 string(0,#define) contains(0,1024,<0a>#define))
text/html                       html htm printable(0,1024) +\
                                (istring(0,"<HTML>") istring(0,"<!DOCTYPE"))
text/plain                      txt printable(0,1024)
text/css                        css


########################################################################
#
# RSS feed type...
#

application/rss+xml             rss


########################################################################
#
# CUPS-specific types...
#

application/vnd.cups-banner     string(0,'#CUPS-BANNER')
application/vnd.cups-command    string(0,'#CUPS-COMMAND')
application/vnd.cups-pdf
application/vnd.cups-postscript
application/vnd.cups-ppd        ppd string(0,"*PPD-Adobe:")
application/vnd.cups-raster     string(0,"RaSt") string(0,"tSaR") \
                                (string(0,"RaS2") + !string(4,PwgRaster<00>)) 
string(0,"2SaR") \
                                string(0,"RaS3") string(0,"3SaR")
application/vnd.cups-raw        (string(0,<1B>E) + !string(2,<1B>%0B)) \
                                string(0,<1B>@) \
                                (contains(0,128,<1B>%-12345X) + \
                                 (contains(0,4096,"LANGUAGE=PCL") \
                                  contains(0,4096,"LANGUAGE = PCL")))

########################################################################
#
# Raw print file support...
#
# Comment the following type to prevent raw file printing.
#

application/octet-stream

reply via email to

[Prev in Thread] Current Thread [Next in Thread]