On Thu, Sep 10, 2026 at 01:46:59PM +0200, Ruediger Pluem wrote:
> 
> 
> On 9/10/26 12:15 PM, Joe Orton wrote:
> > The magic file parsing code in mod_mime_magic is 30 years old and hasn't 
> > been maintained much in that time. The code has the same heritage as the 
> > "file" package widely available on Linux and BSD systems [1], which is 
> > actively maintained and exposes it via a "libmagic" API. It is quite 
> > simple to rebuild mod_mime_magic around that API - proof of concept 
> > here: https://github.com/apache/httpd/pull/752
> > 
> > There is a performance trade-off: the old code parses the text-format 
> > magic file at startup, the new code will mmap() the pre-compiled binary 
> > magic file per request. I don't see this as a big deal, if you are 
> > dependent on mod_mime_magic that's a fallback option anyway.
> > 
> > In that PR I've added a mod_mime_libmagic based on the library - 335 
> > lines vs the 2.5K lines of mod_mime_magic. An alternative would be to 
> > make most of mod_mime_magic #ifdef'ed out and embed the API use there 
> > directly? Kind of prefer starting fresh, any other opinions or 
> > objections to doing this?
> 
> I would be in favor of a fresh start. At least in the beginning this
> should ease choosing between the two.

Makes sense... also helpful to distinguish any bug reports.

> How do we deal with OSes (e.g. probably Solaris and AIX) where it is not part 
> of
> the standard setup?
> Just another external dependency?
> Or do we want to keep offering the current mod_mime_magic there longterm?

We can keep mod_mime_magic to support platforms without the library 
available. I guess Windows is also on that list too?

Regards, Joe

Reply via email to