G Suite: Whoops! There was a problem loading more pages

Recently, a rash of users have received this error when trying to view more than the first page of a PDF in our corporate Gmail:

Error when viewing second page of PDF in Gmail

This problem started to appear toward the end of July 2019, and by mid-August it was company-wide. This timeline corresponds with the release of Chrome v76. Chome v76 introduces a change to Cross-Origin Requests, and while this change introduced some trouble for a number of Chrome Extensions, it can also negatively impact corporate G Suite environments who utilize certain restrictions in the Google Admin Console.

How to Fix this Error

First, verify that this is, indeed, the problem.

  • Open an email in Gmail with a multi-page PDF attachment, but do not click the attachment yet
  • Press CTRL+Shift+I to open the Developer console, and click to the Network tab
  • Click the PDF attachment and look at the results in the Network tab
  • One of the Red items that appear on the list should contain:
Access to XMLHttpRequest at 'https://drive.google.com/viewerng/upload?ds=docstring' from origin 'https://mail.google.com/ has been blocked by CORS policy: Request header field x-googapps-allowed-domains is not allowed by Access-Control-Allow-Headers in preflight response.

If you see the above, then this solution will work for you. To explain, settings exist in the G Suite Admin Console which can restrict the ability of a Chrome user, with Sync turned on, from logging into secondary accounts outside of an allowed set of domains. The requests to the Google Drive PDF viewer from Gmail come across as generic and not specific to your domain, and thus Chrome refuses to render the document. To solve the problem, this restriction in the Admin Console will need to be disabled by an administrator in your G Suite organization.

  • Open the Admin Console
  • Navigate to Devices – Chrome management – User and browser settings
  • Find Sign-in to secondary accounts and set it to Allow users to sign-in to any secondary Google Accounts
Allow users to sign-in to any secondary Google Accounts

Your organization more than likely utilizes a web filter, DLP platform, or firewall to restrict sign-in settings anyway, so this setting will do no harm.

How to block a DNF package update on Fedora

You know the new version of a package is a buggy mess and you don’t want to update, or you manually install an rpm that exists in the repos but you really want to keep the version you installed. There’s an easy way to do that!

Edit (as root) /etc/dnf/dnf.conf and add this line:

exclude = packagename1
exclude = packagename2

Save it. The next time DNF updates, your package won’t be updated! This will work with any distribution that uses DNF (Mageia, future versions of CentOS).

Android 9.0 Pie available for LG G7 ThinQ

Finally, Android 9.0, which was released a few months after the LG G7, is now available to download for the G7 – nearly a year later.

The update for the LM-G710ULM model (US Unlocked, used by Google Fi) can be obtained immediately through LG Bridge, or you can wait for the OTA update in the upcoming weeks.

“Android OS Upgrade” – great detail in those release notes, LG

Crouton broken by Chrome OS security update – here’s a fix

A security update in Chrome OS 73 patches a security hole used to run the Crouton script. Luckily, it’s easy to work-around with a simple permission change on the Crouton file.

  • Use CTRL+SHIFT+T to open the terminal window like normal.
  • Then type shell like you normally would.
  • Enter the following to alter the permissions in order to allow you to run the Crouton script:
sudo install -Dt /usr/local/bin -m 755 ~/Downloads/crouton

You’re done! Now you can update Crouton or install targets as you would normally.

My article on how to setup Crouton and Steam on a Chromebook has been updated to reflect this change.

February security update for LG G7

The US Unlocked LG G7 ThinQ has received the February security update for Android. G710ULM

I’m not optimistic that LG will get the Android 9.0 Pie update out before the end of Q1 like they promised, despite the fact that it was already released in South Korea in January. In fact, the Korean software has just received a feature update and bugfix release. LG treats the world outside South Korea as second class customers and then wonders why their mobile division operates at a loss.

Neverwinter Nights Enhanced Edition produces black screen on Linux

I decided I wanted to start playing the new release of the classic game Neverwinter Nights, on my Chromebook using my Ubuntu Linux chroot. My download comes from GOG. While my install worked great on my Windows desktop and Fedora laptop, the game isn’t starting on my Chromebook. It just produces a black screen instead of the game’s main menu.

Another Beamdog re-release, Baldur’s Gate, works great on here. The solution for NWN should be pretty simple: turn off full screen mode. But how can you do that without entering the game?!

Easy:

  • Navigate to /home/<your user>/.local/share/Neverwinter Nights
  • Edit nwn.ini
  • Change the following:
FullScreen=0
FullScreenDesktopMode=1
Borderless=1

You’re done! The game won’t run in true full screen, but it will be a full-screen borderless window.

Possible missing firmware for module tg3

When recently updating my Debian 9 Stretch’s boot image, it produced the following warning:

W: Possible missing firmware /lib/firmware/tigon/tg3_tso5.bin for module tg3
W: Possible missing firmware /lib/firmware/tigon/tg3_tso.bin for module tg3
W: Possible missing firmware /lib/firmware/tigon/tg3.bin for module tg3

That doesn’t look good! Without this module, I suspect my network card will not work after reboot. What’s needed is the package firmware-linux-nonfree but it’s not available in the standard Debian free repos – you need the nonfree repo.

Edit your /etc/apt/sources.list and add the following:

deb http://ftp.de.debian.org/debian stretch main non-free

You can install firmware-linux-nonfree with apt-get, which will allow your adapter requiring the tg3 module to continue working.

September security update and camera+performance patch for LG G7 ThinQ

The carrier-unlocked version of the LG G7 ThinQ (G710ULM) has just received a new patch from LG that promises performance improvements, bug fixes, 4K 60fps video recording, and the September security update for Android.

The new version is v10g

Pi-hole logrotate parent directory has insecure permissions

My Pi-hole was producing this error every day:

Cron test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )

/etc/cron.daily/logrotate: error: skipping “/var/log/lighttpd/access.log” because parent directory has insecure permissions (It’s world writable or writable by group which is not “root”) Set “su” directive in config file to tell logrotate which user/group should be used for rotation.
error: skipping “/var/log/lighttpd/error.log” because parent directory has insecure permissions (It’s world writable or writable by group which is not “root”) Set “su” directive in config file to tell logrotate which user/group should be used for rotation.
run-parts: /etc/cron.daily/logrotate exited with return code 1

The solution to this was pretty easy:

  • sudo vi /etc/logrotate.d/lighttpd
  • Under /var/log/lighttpd/*.log { add the following line:

su www-data www-data

That’s it! You may want to do sudo systemctl restart cron to make it reload, and now the error should not reoccur.

Have root send as a different address using postfix

If you have scripts or other services that run as root that need to send to outside email addresses, via postfix, without being root@hostname, this is what you need to do:

    1.  sudo vi /etc/postfix/generic

      root name@tld.com

    2. sudo vi /etc/postfix/main.cf

      smtp_generic_maps = hash:/etc/postfix/generic

    3. sudo postmap /etc/postfix/generic
    4. sudo systemctl restart postfix

Done! Now root will send as name@tld.com instead. Substitute whatever you want for name@tld.com