Re: lynx and brotly

"Alan Ianson" ([email protected] via blfs-support Mailing List) <[email protected]> Mon, 20 Oct 2025 10:30:50 -0700
Newsgroups gmane.linux.lfs.beyond.support
Message-ID <[email protected]>
On Mon, 20 Oct 2025 21:02:38 +0800
"Xi Ruoyao" ([email protected] via blfs-support Mailing List)
<[email protected]> wrote:

> On Sun, 2025-10-19 at 12:34 -0700, Alan Ianson wrote:
> > On Sun, 19 Oct 2025 11:42:55 -0500
> > "\"Douglas R. Reno\"" ([email protected] via blfs-support
> > Mailing List) <[email protected]> wrote:
> >   
> > > On 10/18/25 7:49 PM, Bruce Dubbs ([email protected] via
> > > blfs-support Mailing List) wrote:  
> > > > On 10/18/25 6:27 PM, "Rob E" ([email protected] via blfs-support
> > > > Mailing List) wrote:    
> > > > > You may want to look at 
> > > > > https://lynx.invisible-island.net/current/CHANGES.html
> > > > > first.  If I'm not mistaken they hacked the brotli changes
> > > > > into the gzip support.  Meaning if Lynx has gzip compiled in
> > > > > it behaves as though brotli is
> > > > > also present. This causes issues with sites that default to
> > > > > brotli, such as
> > > > > the Lynx home page. I suggest either reverting back to
> > > > > Lynx-2.9.1 or making
> > > > > brotli a dependency.    
> > > > 
> > > > We've already added brotli as an optional dependency for lynx.
> > > > 
> > > >   -- Bruce
> > > >    
> > > I think we need to do more here. The Lynx website itself doesn't
> > > load in Lynx without Brotli installed, which is the default
> > > homepage set when you just run "lynx".
> > > 
> > > We should probably follow the advice of upstream and put it as
> > > either recommended or required. I'd like to point out that Thomas
> > > Dickey, the maintainer of Lynx, said in 
> > > https://lists.nongnu.org/archive/html/lynx-dev/2025-10/msg00034.html 
> > > that "It needs the brotli package installed (both at package build
> > > time and runtime)." in reference to this exact problem that
> > > cropped up a few days ago upstream.
> > > 
> > > - Doug
> > >   
> > 
> > The lynx website shouldn't force brotli, or anything else.
> > 
> > I always thought that browsers and servers would negotiate and
> > agree on a way to communicate supported at both ends and then carry
> > on.  
> 
> The lynx browser sends the Accept-Encoding header correctly to
> indicate it does not support brotli (if brotli wasn't installed when
> we built it).  The table it used to generate the Accept-Encoding
> header is:
> 
> /* the names in this table are used as lowercase in HTTP.c */
> Config_Enum tbl_preferred_encoding[] = {
>     { "none",       encodingNONE },
> #if defined(USE_ZLIB) || defined(GZIP_PATH)
>     { "gzip",       encodingGZIP },
>     { "deflate",    encodingDEFLATE },
> #endif
> #if defined(USE_ZLIB) || defined(COMPRESS_PATH)
>     { "compress",   encodingCOMPRESS },
> #endif
> #if defined(USE_BZLIB) || defined(BZIP2_PATH)
>     { "bzip2",      encodingBZIP2 },
> #endif
> #if defined(USE_BROTLI) || defined(BROTLI_PATH)
>     { "br",     encodingBROTLI },
> #endif
>     { "all",        encodingALL },
>     { NULL,     -1 } 
> };
> 
> And it's obvious if brotli isn't available at build time, "br" won't
> be in Accept-Encoding.  But the lynx website just ignores that and
> insists to send brotli-encoded data.

It's too bad and I would call it a failure of the lynx website that it
uses brotli encoded data when we don't support it.

We do support other compression methods if it's really needed.

> I'm unsure if doing so is allowed by RFC9110, but IMO they should at
> least return HTTP 406 if they mustn't send the plain data for some
> reason.

I'm not sure either. It might not be against the RFC but it is a bad
idea.

-- 
http://lists.linuxfromscratch.org/sympa/info/blfs-support
Unsubscribe: See the above information page