Skip to content

cfg, frontpage: Ignore errors while reading config and shortcuts

  • Ignore errors while trying to expand a file path list into its .d components path list.

  • Ignore errors when reading shortcuts fails a file for any reason.

  • Errors when reading configuration file already ignored. os.path.isfile() and configparser.Configparser.read() do not raise an exception under any circumstances.

Analysis:

Regression in 20.12 reported at https://discuss.freedombox.org/t/fb-20-12-solved-plinth-fails-to-start-due-to-new-frontpage-py-shortcuts-and-filesystem-permissions/994/4

  • freedom-maker creates /var/lib/freedombox/ with mode 755 as root but this only applies for disk images.

  • freedombox.postinst, networks, apache check for the existence of /var/lib/freedombox/is-freedombox-disk-image .

  • Samba creates /var/lib/freedombox with mode 755 as root.

  • Backups creates /var/lib/freedombox/borgbackup but not the parent directory?

  • Shortcuts are now read from /var/lib/freedombox/.

Tests performed:

  • Create directories /var/lib/freedombox and /etc/freedombox with permission set to 750. In case of configuration, an early warning message is printed and in case of shortcuts warnings are printed but service starts properly. Changing the permission to 755 removes the warnings.

  • Ensure 755 permission on above two directories. Create non-empty files custom-shortcuts.json and freedombox.config with permissions 640. In case of config no warning is printed (silently ignored) and in case of shortcuts, warning is printed that file could not be read but service starts properly. Changing the permission to 644, no warnings are printed.

Signed-off-by: Sunil Mohan Adapa sunil@medhas.org

Merge request reports

Loading