Package: cppreference-doc-en-html
Version: 20170409-2

For some time now, I've been unable to use the offline package of
cppreference with Firefox, because when I try to access the URL

  file:///usr/share/cppreference/doc/html/en/Main_Page.html

Firefox reports

  Firefox can’t find the file at
  /usr/share/cppreference/doc/html/en/Main_Page.html.

Of course, this is a lie: the file is there, and everything else on the
system can find it just fine via that pathname! It appears that what's
really going on is not that Firefox can't _find_ it, but that it's
deliberately refusing to load it, because of some kind of security
policy rejecting file: URLs pointing at locations in /usr/share.

However, I've just discovered that /usr/share/doc is exempt from this
rule. If I manually copy the whole docs tree of cppreference into
/usr/share/doc, e.g. via

  sudo cp -r /usr/share/cppreference/doc/html 
/usr/share/doc/cppreference-doc-en-html/html

then suddenly Firefox is happy to view the files via URLs such as

  file:///usr/share/doc/cppreference-doc-en-html/html/en/Main_Page.html

So, would you consider changing the structure of the cppreference
package so that it installs in /usr/share/doc rather than
/usr/share/cppreference? Perhaps some symlinks might be enough to
arrange that the old pathnames still work too.

Other documentation packages that already do install in /usr/share/doc
avoid this problem, such as rust-doc (which is how I noticed that it was
possible to evade Firefox's block at all).

Cheers,
Simon

-- 
for k in [pow(x,37,0x1a1298d262b49c895d47f) for x in [0x50deb914257022de7fff,
0x213558f2215127d5a2d1, 0x90c99e86d08b91218630, 0x109f3d0cfbf640c0beee7,
0xc83e01379a5fbec5fdd1, 0x19d3d70a8d567e388600e, 0x534e2f6e8a4a33155123]]:
 print("".join([chr(32+3*((k>>x)&1))for x in range(79)])) # <ana...@pobox.com>

Reply via email to