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

Re: Fake PDF


On 2/24/26 3:21 PM, Benoît Minisini wrote:
Le 24/02/2026 à 21:03, gbWilly a écrit :

On Tuesday, February 24th, 2026 at 18:59, Lee <t.lee.davidson@xxxxxxxxx> wrote:

[snip]

Simplified, DesktopMime.FromFile() looks up the file extension in "/usr/share/mime/globs2", finds that it is of type
"application/pdf", and returns that text. BTW, the Stat object created by the Stat() function will also falsely return
"application/pdf" for that fake PDF file.

What are you talking about? The 'Stat' class never returns a file type.

I was talking rubbish. You are correct. I had added code to Gianluigi's project to print the Stat.Type of the file but failed to distinguish his output from mine.


[snip]
Maybe the core Gambas should have a function to return the TRUE MIME type of a file instead of relying on the gb.desktop component
I wonder what Benoit has to say about this matter on 'TRUE' and 'FAKE' MIME type and a proper MIME type function?


What's the problem with using the 'file' command? I don't see the need of reimplementing the wheel if that command exists, unless there is a library that implements the same algorithm than 'file'. In that case it could be used through a Gambas API. Otherwise, just use the 'file' command directly.

The MicroHttpd project I created some time ago uses "libmagic" (see `man 3 libmagic`) to get the real mime-type of a file. I extracted the implementing code from that project and added it to Gianluigi's FakePDF project. Demo attached.


--
Lee

--- Gambas User List Netiquette [https://gambaswiki.org/wiki/doc/netiquette] ----
--- Gambas User List Archive [https://lists.gambas-basic.org/archive/user] ----
<salt FCKGM-0001-7035-795E-CBCF>
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
</salt>

Follow-Ups:
Re: Fake PDFGianluigi <gradobag@xxxxxxxxxxx>
References:
Fake PDFGianluigi <gradobag@xxxxxxxxxxx>
Re: Fake PDFLee <t.lee.davidson@xxxxxxxxx>
Re: Fake PDFGianluigi <gradobag@xxxxxxxxxxx>
Re: Fake PDFLee <t.lee.davidson@xxxxxxxxx>
Re: Fake PDFgbWilly <gbWilly@xxxxxxxxxxxxxx>
Re: Fake PDFBenoît Minisini <benoit.minisini@xxxxxxxxxxxxxxxx>