1. 12 Dec, 2018 1 commit
    • António Fernandes's avatar
      query: Port MIME type filter to GPtrArray · ddded19a
      António Fernandes authored
      We have been using doubly-linked lists to store MIME type names strings.
      
      But this is not a great container for strings, and we are copying the
      lists multiple times.
      
      So, use GPtrArray instead. This avoids copies thanks to reference
      counting, and enables autocleanup thanks to built-in data freeing.
      ddded19a
  2. 30 Oct, 2018 1 commit
  3. 27 Oct, 2018 1 commit
    • George Mocanu's avatar
      general: Fix the error dialog not showing · 569c1ace
      George Mocanu authored
      Since commit c1bb594d, a dialog error wouldn't be shown if
      there was an error when renaming a file or setting permissions
      to a file.
      
      The user should be informed through a error dialog if something
      went wrong in the above-mentioned use-cases.
      
      This patch solves the issue by using the parent, instead of NULL.
      
      Closes #705
      569c1ace
  4. 26 Sep, 2018 1 commit
  5. 21 Sep, 2018 1 commit
  6. 20 Sep, 2018 1 commit
  7. 20 Jul, 2018 1 commit
  8. 14 Jun, 2018 1 commit
    • Carlos Soriano's avatar
      mime-actions: Add activated files to recent · 000c3300
      Carlos Soriano authored
      Until now we left applications to add the files to recent if they did
      modify them. This usually works, specially for gtk applications, but it
      doesn't work for applications using other toolkits.
      
      Recently, as we move towards a more containerized Nautilus with Flatpak
      the recent files set by other apps are not accessible, so we need to
      add them ourselves when opening in Nautilus.
      
      This work adds every file activated by other app from Nautilus be added
      as recent.
      000c3300
  9. 28 May, 2018 1 commit
  10. 21 May, 2018 1 commit
    • Carlos Soriano's avatar
      general: Revert to allow running binaries and scripts · ac886102
      Carlos Soriano authored
      Recently we removed the ability to launch binaries and scripts in
      commit 3a22ed5b.
      
      A few cases appeared that we need to support, specially for enterprise
      and content creators. Specifically, cases similar to #434
      
      This also shows that is hard to predict cases like these, as some
      complex setups might be needed for specific workflows.
      
      This commits allow to run binaries and scripts as before, and further
      investigation in these cases need to be done if we ever want to tweak
      the workflow of running binaries.
      
      More discussion about improving binaries/script handling is being
      proposed and discussed in #443
      ac886102
  11. 18 May, 2018 1 commit
    • Ernestas Kulik's avatar
      general: Clean up headers and their inclusions · e686c297
      Ernestas Kulik authored
      This commit removes redundant header inclusions and tries to optimize
      headers by using forward declarations of types in headers. Such
      optimization should generally make builds speedier in that changes in
      certain headers will not cause unrelated sources to be rebuilt.
      e686c297
  12. 13 May, 2018 1 commit
  13. 09 May, 2018 2 commits
    • Carlos Soriano Sánchez's avatar
      general: Don't allow launching binaries or programs in general · 3a22ed5b
      Carlos Soriano Sánchez authored
      For long we used to support that since the desktop was part of Nautilus.
      Also, back then we didn't have a Software app where you are expected to
      installs apps. Back then it was common for apps to be delivered in
      a tarball, nowadays that's out of question.
      
      Now that the desktop is long gone, launching binaries and desktop files
      from within Nautilus is not as useful. Not only that, but we are moving
      towards a more sandboxed system, and we should use the standard and
      system wide support for launching apps based on users choices.
      
      We also are not able to be secure enough to handle this, as we saw in
      the past we allowed untrusted binaries to be launched, and therefore
      we had a CVE (CVE-2017-14604) for Nautilus. We are not being audited
      (afaik) and we are not in a position that we can let this issues slip.
      
      With that altogether, this prevents launching binaries or programs from
      Nautilus.
      
      Closes: #184
      3a22ed5b
    • Carlos Soriano Sánchez's avatar
      83483358
  14. 23 Apr, 2018 3 commits
  15. 31 Mar, 2018 1 commit
  16. 01 Mar, 2018 1 commit
    • Ernestas Kulik's avatar
      general: don’t shadow variables · 6286e0a0
      Ernestas Kulik authored
      Shadowing variables is error-prone, since one might mean to refer to a
      variable that was declared earlier, but has the same name. Additionally,
      being more strict about variable scoping can help make the code more
      readable.
      6286e0a0
  17. 13 Feb, 2018 1 commit
  18. 21 Nov, 2017 2 commits
  19. 11 Aug, 2017 1 commit
  20. 09 Aug, 2017 1 commit
    • Carlos Soriano Sánchez's avatar
      general: Add mime type support for archives · 1bdc4042
      Carlos Soriano Sánchez authored
      Until now archives were managed only if activated from Nautilus itself
      and if a setting was set.
      
      There are two main problems with this.
      1- Archives opened in other apps cannot be handled by Nautilus
      2- Users cannot use the regular mime type handling for setting Nautilus
      as the app handling archives, or unsetting it.
      
      This patch add support for archives mime types handled by gnome-autoar
      and removes the UI and setting used in the previous version.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=771424
      1bdc4042
  21. 13 May, 2017 2 commits
  22. 06 Feb, 2017 1 commit
    • Carlos Soriano Sánchez's avatar
      mime-actions: use file metadata for trusting desktop files · 1630f534
      Carlos Soriano Sánchez authored
      Currently we only trust desktop files that have the executable bit
      set, and don't replace the displayed icon or the displayed name until
      it's trusted, which prevents for running random programs by a malicious
      desktop file.
      
      However, the executable permission is preserved if the desktop file
      comes from a compressed file.
      
      To prevent this, add a metadata::trusted metadata to the file once the
      user acknowledges the file as trusted. This adds metadata to the file,
      which cannot be added unless it has access to the computer.
      
      Also remove the SHEBANG "trusted" content we were putting inside the
      desktop file, since that doesn't add more security since it can come
      with the file itself.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=777991
      1630f534
  23. 30 Nov, 2016 1 commit
  24. 22 Nov, 2016 1 commit
  25. 21 Nov, 2016 2 commits
    • Carlos Soriano Sánchez's avatar
    • Carlos Soriano Sánchez's avatar
      mime-actions: support admin backend · 5db7a295
      Carlos Soriano Sánchez authored
      Until now Nautilus was not able to handle files where the user had
      no permissions. An error was reported.
      The only way for a user to handle those files were to start Nautilus
      with sudo, which is something that shoudl be avoided for security
      reasons.
      
      On Wayland, is not even possible to launch an application with sudo,
      so this is no longer available and therefor no way to handle files
      with no permissions.
      
      On 3.22 gvfs added an admin backend with integration with Polkit,
      so a file withouth permissions can be accessed using this backend
      if the user has the root password.
      
      Add support for the admin backend in Nautilus, where a file will
      be opened using it if cannot be read.
      
      There still work to do, basically implement the operations with
      this backend too and refactor the code to be able to open from
      nautilus application command line also a file withouth permissions.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=773937
      5db7a295
  26. 12 Nov, 2016 1 commit
  27. 02 Sep, 2016 1 commit
    • Alexandru Pandelea's avatar
      mime-actions: Fix shift+control+down seg fault on a folder · 5815ba1c
      Alexandru Pandelea authored
      Using this shortcut on one or more folders causes segmentation fault.
      
      In order to solve this, if there is a directory that needs to be
      activated, the NEW_WINDOW flag is set, so that the initial window will
      be closed and a new one will be created. After a new window is created,
      the CLOSE_BEHIND flag is disabled,so that the window will not be closed.
      The flags NEW_TAB is also set there(unless we want all directories
      opened in new windows), in order for new tabs to open in the newly
      created window.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=755711
      5815ba1c
  28. 29 Aug, 2016 1 commit
  29. 22 Aug, 2016 1 commit
  30. 04 May, 2016 1 commit
  31. 26 Apr, 2016 1 commit
  32. 25 Apr, 2016 1 commit
    • Carlos Soriano Sánchez's avatar
      general: merge libnautilus-private to src · 7e24f1b2
      Carlos Soriano Sánchez authored
      And fix make distcheck.
      
      Although libnautilus-private seem self contained, it was actually
      depending on the files on src/ for dnd.
      Not only that, but files in libnautilus-private also were depending on
      dnd files, which you can guess it's wrong.
      
      Before the desktop split, this was working because the files were
      distributed, but now was a problem since we reestructured the code, and
      now nautilus being a library make distcheck stop working.
      
      First solution was try to fix this inter dependency of files, but at
      some point I realized that there was no real point on splitting some of
      those files, because for example, is perfectly fine for dnd to need to
      access the window functions, and it's perfectly fine for the widgets
      in the private library to need to access to all dnd functions.
      
      So seems to me the private library of nautilus is somehow an artificial
      split, which provides more problems than solutions.
      
      We needed libnautilus-private to have a private library that we could
      isolate from extensions, but I don't think it worth given the problems
      it provides, and also, this not so good logical split.
      Right now, since with the desktop split we created a libnautilus to be
      used by the desktop part of nautilus, extensions have access to all
      the API of nautilus. We will think in future how this can be handled if
      we want.
      
      So for now, merge the libnautilus-private into src, and let's rethink
      a better logic to split the code and the private parts of nautilus than
      what we had.
      
      Thanks a lot to Rafael Fonseca for helping in get this done.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=765543
      7e24f1b2
  33. 14 Apr, 2016 2 commits