1. 21 Jul, 2017 2 commits
    • Bastien Nocera's avatar
      thumbnail: Sandbox thumbnailers on Linux · 8b1db18a
      Bastien Nocera authored
      On Linux systems, bubblewrap is now required to launch thumbnailers in a
      restricted environment.
      - Only /usr and the compilation ${prefix} of the gnome-desktop library
        will be available to the thumbnailer as read-only
      - The network is disabled
      - The filename of the file to thumbnail is hidden
      - Bubblewrap is not used if the application is already sandboxed in
        Flatpak as all privileges to create a new namespace are dropped when
        the initial one is created.
    • Bastien Nocera's avatar
      thumbnail: Split off running the script · c1956f35
      Bastien Nocera authored
      Move most of the script command generation to a separate file, making
      the function return a GBytes from a successful thumbnailer run, so as to
      avoid having to clean up temporary files from the thumbnailer run.
      Note that it changes a few subtle things which shouldn't be a problem in
      practice, but, as a corner case, might have been used by applications:
      - Thumbnailers must output PNG images. pixbuf_new_from_bytes() could
      have been made more complicated to handle all images, and then we would
      restrict the thumbnailer output format separately, but it makes no sense
      to write complicated code to remove it in the next commit.
      - URIs which have no backing path are not supported. This will likely
      cause problems for thumbnailing remote shares on OSes which lack
      gvfsd-fuse. Support could be re-added in the future.
  2. 20 Jul, 2017 13 commits
  3. 17 Jul, 2017 1 commit
    • Bastien Nocera's avatar
      thumbnail: Fix use of uninitialised value · 911091d7
      Bastien Nocera authored
      The pixbuf to be written as a placeholder thumbnail was never
      initialised to be empty, so might contain random data from the stack.
      Use gdk_pixbuf_fill() to solve this problem.
      Use of uninitialised value of size 8
         at 0x9A8ED44: crc32_little (crc32.c:287)
         by 0x9A8ED44: crc32_z (crc32.c:220)
         by 0x8A617FB: png_calculate_crc (png.c:153)
         by 0x8A7FACF: png_write_complete_chunk (pngwutil.c:187)
         by 0x8A801B1: png_compress_IDAT (pngwutil.c:1047)
         by 0x8A81F8E: png_write_filtered_row (pngwutil.c:2743)
         by 0x8A81F8E: png_write_find_filter (pngwutil.c:2713)
         by 0x8A7CF21: png_write_row (pngwrite.c:888)
         by 0x8A7D20E: png_write_rows (pngwrite.c:582)
         by 0x8263A08: real_save_png (io-png.c:1139)
         by 0x8263B0A: gdk_pixbuf__png_image_save (io-png.c:1166)
         by 0x8250FF8: gdk_pixbuf_real_save (gdk-pixbuf-io.c:2180)
         by 0x8251820: gdk_pixbuf_savev (gdk-pixbuf-io.c:2479)
         by 0x8251534: gdk_pixbuf_save (gdk-pixbuf-io.c:2418)
         by 0x5342324: save_thumbnail (gnome-desktop-thumbnail.c:1224)
         by 0x53424DD: gnome_desktop_thumbnail_factory_create_failed_thumbnail (gnome-desktop-thumbnail.c:1313)
         by 0x4E89B6A: eog_thumbnail_load (eog-thumbnail.c:518)
         by 0x4E6BA39: eog_job_thumbnail_run (eog-jobs.c:1270)
         by 0x4E69796: eog_job_run (eog-jobs.c:271)
         by 0x4E689A2: eog_job_process (eog-job-scheduler.c:153)
         by 0x4E688AA: eog_job_scheduler (eog-job-scheduler.c:128)
         by 0x97E4004: g_thread_proxy (gthread.c:784)
         by 0x9CAA36C: start_thread (in /usr/lib64/libpthread-2.25.so)
         by 0x9FD2E9E: clone (in /usr/lib64/libc-2.25.so)
      Uninitialised value was created by a stack allocation
         at 0x8262D5E: real_save_png (io-png.c:871)
  4. 07 Jul, 2017 1 commit
  5. 20 Jun, 2017 1 commit
  6. 11 Jun, 2017 1 commit
  7. 30 May, 2017 1 commit
  8. 28 May, 2017 1 commit
  9. 22 May, 2017 1 commit
  10. 30 Apr, 2017 1 commit
  11. 25 Apr, 2017 1 commit
  12. 21 Apr, 2017 2 commits
  13. 05 Apr, 2017 1 commit
  14. 03 Apr, 2017 3 commits
  15. 27 Mar, 2017 1 commit
  16. 25 Mar, 2017 1 commit
  17. 21 Mar, 2017 1 commit
  18. 14 Mar, 2017 1 commit
  19. 27 Feb, 2017 1 commit
  20. 13 Feb, 2017 1 commit
  21. 03 Feb, 2017 1 commit
  22. 19 Jan, 2017 1 commit
  23. 13 Dec, 2016 2 commits