Onion-Grater deb package contains compressed 40_onionshare.yml

Is the latest onion-grater deb package, 10.1-1 all, meant to contain 40_onionshare.yml.gz in place of 40_onionshare.yml? At the time of writing this, running upgrade-nonroot followed by sudo onion-grater-add 40_onionshare on a fresh KVM Whonix-Gateway (16.0.3.1 and 16.0.3.7) results in the following output: ERROR: profile_file_source '' does not exist! – No errors are found in the upgrade log.

Compressed file appears after upgrade-nonroot on Gateway VM:

user@host:~$ ls /usr/share/doc/onion-grater-merger/examples
40_bisq.yml      40_onion_authentication.yml  40_ricochet.yml  40_zeronet.yml
40_bitcoind.yml  40_onionshare.yml.gz        40_wahay.yml

This is an even greater issue on my personal ISO (live-)build of Whonix-Host, which runs Whonix 16.0.3.1 KVM. The Workstation VM is upgraded up to January 03 and contains additional packages, scripts and configurations, including OnionShare; the Gateway VM is default, with no selections made in the connection Wizard, no system upgrades and no configuration changes, except for the addition of OnionShare to the onion-grater whitelist via sudo onion-grater-add 40_onionshare.

You may see where this is going. Every time I boot my Whonix-Host ISO, I upgrade and reboot the Gateway which, as of onion-grater version 10.1-1, causes a failure to start the service and prevents the Workstation from reaching Tor’s Control Port.

Gateway journal:

user@host:~$ sudo journalctl -f -u onion-grater
Jan 05 host systemd[1]: Stopped Tor control port filter proxy.
Jan 05 host systemd[1]: Starting Tor control port filter proxy...
Jan 05 host onion-grater-merger[5010]: Traceback (most recent call last):
Jan 05 host onion-grater-merger[5010]:   File "/usr/lib/onion-grater-merger", line 132, in <module>
Jan 05 host onion-grater-merger[5010]:     main()
Jan 05 host onion-grater-merger[5010]:   File "/usr/lib/onion-grater-merger", line 87, in main
Jan 05 host onion-grater-merger[5010]:     with open(filter_file, "rb") as fh:
Jan 05 host onion-grater-merger[5010]: FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/etc/onion-grater-merger.d/40_onionshare.yml'
Jan 05 host systemd[1]: onion-grater.service: Control process exited, code=exited, status=1/FAILURE
Jan 05 host systemd[1]: onion-grater.service: Failed with result 'exit-code'.
Jan 05 host systemd[1]: Failed to start Tor control port filter proxy.

System-Check suggests that I either:
A) Restart the onion-grater service
B) Skip the ‘check_control_port_filter_running’ function

Option A obviously does not work and option B is undesired. I see no new mention of an appropriate method for adding OnionShare to the whitelist in the wiki, nor have I found mention of this compressed yml file in any changelog; neither in the GitLab or GitHub pages. Am I missing something?

The only solution I’ve found thus far is to decompress 40_onionshare.yml.gz followed by restarting the onion-grater service. Is this safe? Is the current intention to have a yml file instead of a compressed gz file, or is there a new method for adding OnionShare to the whitelist?

I’ve spent way too many hours searching for an official reason/solution, and I can’t wait to hear the answer was right in front of my eyeballs this whole time. (first post, hello!)

Why wouldn’t that be safe?

Having a compressed gz file is a packaging bug. I wonder why that is happening.

Due to the recently increased file size of the OnionShare onion-grater profile, Debian packaging (dh_compress) automatically compressed the file.

https://manpages.debian.org/bullseye/debhelper/dh_compress.1.en.html

Will soon be fixed in all Whonix repositories.

1 Like

Fix available in all Whonix repositories.

I simply needed confirmation. Unknown intention and relying on assumption don’t always mix well.

Beautiful! Thank you, and additional thanks for the clarification regarding dh_compress.