Am Mittwoch, den 19.09.2007, 22:15 +0200 schrieb David Faure:
> On Tuesday 18 September 2007, Daniel Leidert wrote:
> > But I would like to raise a different issue: Let's take the above
> > example and let's say, that I define a very specific MIME type 
> > 
> >   <mime-type type="text/x-mytest-one">
> >     <comment>My test case one</comment>
> >     <glob pattern="README.txt"/>
> >     <sub-class-of type="text/plain"/>
> >     <magic priority="100">
> >       <match value="mystring" type="string" offset="0"/>
> >     </magic>
> >   </mime-type>
> > 
> > which MUST have the string "mystring" at offset 0.
> "MUST" is wrong. magic is about having "hints" about what the file might be,
> there is never a strong rule that the file MUST have this magic.

The libmagic implementation is based on the fact, that something MUST be
found, to be of a special type. I know several file-types, that MUST
have a special string/pattern. I don't understand your point.

> > Now I create a 
> > README.txt file with the content "blah" - definitely not of type
> > text/x-mytest-one then. But gnomefs-info reports in both modes, that the
> > file is of type text/x-mytest-one (because I don't have a KDE4
> > installed, I cannot test your solution David). So: Is it possible to
> > assign an extra mode, if the priority is 100 or very high, so only if
> > the magic pattern matches (too), the MIME type can be of this type -
> > maybe only do this in slow mode - or change the checking order in slow
> > mode to follow the spec, which IMHO would fix this problem too.
> It sounds like you're asking again for the "high priority sniffing" which we
> just decided against for performance reasons.

I understand the perfomance issues when doing a fast check, like when
opening a directory in nautilus.

> We don't want to open up
> all the files when the glob gives us enough information anyway.

But that's the point. glob doesn't give you enough information. I will
create a avery simple example at the end of this mail to demonstrate the
problem.

> OK in your case only README.txt files would be opened, but as soon as
> there is such a mechanism people will obviously abuse it, so we better
> make sure there is really a need for it first.
> Is there a real world use case for this? README.txt and "mystring" is hardly 
> one :-)

Yes, I found several mis-detections caused by this issue. I just used
the above example to simply show the problem. Here one you should eb
able to reproduce (at leats I can with gnome-vfs 2.20.0:

$ touch example.nb
$ gnomevfs-info -s example.nb 
Name              : example.nb
Type              : Regular
MIME type         : application/mathematica
[snip]

This is never-ever a Mathemica file. It's simply an empty text/plain
file. I can prepare much more examples - you also can. I originally
discovered this issue when I added support for a file-type, that was
using the .ent extension. Unfortunately .ent extensions are also often
used for entity collections (instead of .dtd). Nautilus/gnome-vfs
thought, that the entity collections files were of the chemical file
type that used the .ent extension too. The problem always appears for
file-types not found in the database, but using an extension found in
the database (and of course being of the same generic type).

Regards, Daniel

_______________________________________________
xdg mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/xdg

Reply via email to