- 11 Feb, 2022 2 commits
-
-
Ondrej Holy authored
-
Ondrej Holy authored
This is followup of the commit 72372764. The extraction to root can still lead to crashes because the `parent` variable is `NULL` and is consequently passed into the `g_object_unref` function. Let's finally fix this corner case properly.
-
- 07 Feb, 2022 4 commits
-
-
Ondrej Holy authored
Almost all error messages are currently prefixed by an archive basename. This is redundant. The caller knows what file is being extracted. Let's drop the basename from all the error messages... GNOME/gnome-autoar!34
-
Ondrej Holy authored
Add comment explaining why password is requested for ZIP only to make that obvious. GNOME/gnome-autoar!34
-
Currently, when trying to extract password protected 7z archives that don't have encrypted file lists, password prompt will be shown, even though the extraction itself will fail. To fix this situation, ensure that the archive format is supported ZIP before showing the password prompt.
-
Currently, when trying to extract password protected 7z/RAR archives that don't have encrypted file lists, no error will be reported, even though the extraction itself fails creating empty files. To fix this situation, propagate libarchive errors by checking if archive_read_data_block return value is different from ARCHIVE_OK.
-
- 28 Jan, 2022 1 commit
-
-
Ignacy Kuchciński authored
Currently, when trying to extract password protected 7z/RAR archives with encrypted file lists, the reported error message is "empty archive". This message is not helpful and may be confusing for users. To fix this situation, propagate libarchive errors by swapping the "empty archive" and "autoar_common_g_error_new_a" statements. Fixes GNOME/gnome-autoar#26
-
- 07 Jan, 2022 1 commit
-
-
Ondrej Holy authored
-
- 07 Dec, 2021 4 commits
-
-
Ondrej Holy authored
When building Fedora package, I see many "may be used uninitialzed" warnings. I am not sure why but I don't see those warnings locally even when `-Wmaybe-uninitialized` is used. Anyway, this is because the `g_autofree` and `g_autoptr` variables are not explicitely initialized as mentioned in the documentation. Let's initialize them to get rid of those warnings.
-
Ondrej Holy authored
The raw format archives are not tested currently. Let's two test cass to reduce change that their support will be broken again. Relates: GNOME/gnome-autoar#38
-
Ondrej Holy authored
An extraction to the root of an archive which contains the "/" path leads to crashes. Let's handle this rare corner case. Relates: GNOME/gnome-autoar#38
-
Ondrej Holy authored
An extraction of raw format archives leads to crashes currently. This is because the generic "data" string is returned from libarchive instead of the real pathname, which is not expected currently. Let's handle this case properly and fallback to the source basename. Fixes: GNOME/gnome-autoar#38
-
- 30 Nov, 2021 1 commit
-
-
Ondrej Holy authored
Currently, various tools fail to remove the read-only directory, which is created as an output from the test suite. This for example breaks package building when tests are enabled. Let's make it writable again when test is done to fix the issue. Fixes: GNOME/gnome-autoar#34
-
- 30 Oct, 2021 1 commit
-
-
Ondrej Holy authored
-
- 08 Oct, 2021 1 commit
-
-
Ondrej Holy authored
The "The file is not a directory" error is returned in case the archive has common prefix, which have not been changed over the `decide-destination` signal and the destination is a symlink. This is regression caused by the commit b9590ab7. It causes that the security checks, which was added by the commit 8109c368, verifies also the destination directory by mistake. Let's partially rework the problematic commit to avoid this regression. Fixes: GNOME/gnome-autoar#36
-
- 13 Sep, 2021 1 commit
-
-
Ondrej Holy authored
Currently, a misleading error appears when the passphrase prompt in Nautilus is cancelled. This is because the `scanned` signal is emitted regardless the `cancellable` state. This happens only for archives with one file. Let's return immediately to prevent this problematic behavior. Fixes: GNOME/gnome-autoar#35
-
- 11 Aug, 2021 3 commits
-
-
Ondrej Holy authored
This is follow up for commit ac21bd0c as not all the build.meson files was actually rewritten.
-
Felipe Borges authored
Format strings got added in meson 0.58. This allows the meson dependency to be downgraded to 0.56. See https://mesonbuild.com/Syntax.html#string-formatting
-
Felipe Borges authored
In commit bcf17c9f the schema got removed because it wasn't used. The meson.build file was still referencing it.
-
- 10 Aug, 2021 1 commit
-
-
Ondrej Holy authored
-
- 09 Aug, 2021 9 commits
-
-
Iñigo Martínez authored
-
Iñigo Martínez authored
The `filename` tag in enum files shows the whole file path. This has been replaced with the `basename` tag just to show the file name.
-
The `test-extract-unit` suite expects that the source directory is the same as the build directory. Consequently, it fails over `ninja test` as it doesn't see the test files. Let's adapt the codes to use the `G_TEST_SRCDIR` so it can be used from the build dir.
-
Iñigo Martínez authored
The gschema file is not used so it has been removed.
-
Iñigo Martínez authored
To avoid the burden of maintaining multiple build systems, autotools support has been removed.
-
Iñigo Martínez authored
-
Iñigo Martínez authored
meson is a build system focused on speed an ease of use, which helps speeding up the software development. Co-authored-by:
Peter Keresztes Schmidt <carbenium@outlook.com>
-
Ondrej Holy authored
The test utils doesn't support encrypted archives as it is not possible to specify password currently. Let's simply add an password argument to have a simple way to test this feature.
-
Ondrej Holy authored
`AutoarExtractor` supports extraction of encrypted archives. It would be nice to have support for encrypted archives also in `AutoarCompressor`. Though the libarchive library doesn't provide a much. It supports encryption only for the ZIP format. There is a choice between `zipcrypt`, `aes128` and `aes256`. Given the phact that `zipcrypt` is insecure and not recommended, I think it is fine to hardcode `aes256`. It is probably a bit slower then `aes128`, but more secure. So the only thing which needs to be set is a passphrase. Let's add `autoar_compressor_set_passphrase` to allow creating encrypted archives. Relates: GNOME/nautilus#822
-
- 06 Aug, 2021 1 commit
-
-
Ondrej Holy authored
Let's add a check for potential ABI breaks to not break ABI by mistake, or to not forget to update the library version.
-
- 05 Aug, 2021 1 commit
-
-
Ondrej Holy authored
There are various problems with the rawhide image currently and I don't know how to workaround them. Let's use fedora:latest (temporarily) to fix our pipeline.
-
- 04 Aug, 2021 1 commit
-
-
Ondrej Holy authored
The meson package is not part of the CI image as Autotools are used currently. Let's add meson as a preparation for the upcoming meson port.
-
- 19 Jul, 2021 1 commit
-
-
The AutoarCompressor object returns the format when asked for a filter. Fix the obvious oversight from commit 2901c81d.
-
- 08 Jul, 2021 1 commit
-
-
Ondrej Holy authored
Currently, archive entries with absolute paths lose their paths when extracting, or even cause crashes. The code expects that the `autoar_extractor_do_sanitize_pathname` function will always return paths inside, or equal to the destination directory, but this is not true. The problem is that the `g_file_get_child` resp. `g_file_resolve_relative_path` functions expect relative paths, but are used with absolute paths also. Let's convert absolute paths to relative ones to ensure that they will be exctracted as relative to the destination dir. Also, update the corresponding test case to confirm this. Fixes: GNOME/gnome-autoar#32
-
- 14 Jun, 2021 1 commit
-
-
Valgrind complained that the g_list_copy_deep call here leaks memory. In fact, the set_property implementation already takes care of copying the list and reffing the objects, so don't do it here. https://bugzilla.gnome.org/show_bug.cgi?id=778804
-
- 04 Jun, 2021 1 commit
-
-
Ondrej Holy authored
-
- 25 May, 2021 4 commits
-
-
Ondrej Holy authored
By default, the conflicting files are skipped and this default behavior is also used by Nautilus and other clients. However, the `test-extract` util overwrites the files instead. Let's honor the default behavior here as well to make debugging easier.
-
Ondrej Holy authored
The debug output doesn't contain info when conflict happens. This makes hard to debug issues which are caused by them. Let's print one when a conflict happens to make it obvious.
-
Ondrej Holy authored
Currently, redundant path name handling happens when archive files have a common prefix and an equal destination is returned from the `decide-destination` signal. In this case, the old prefix is removed and the new one (the equal one) is added again. Let's detect this case and prevent the redundancy.
-
Ondrej Holy authored
Currently, an empty folder is created when extracting an archive over Nautilus which contains one file with the same name as the archive. This is because gnome-autoar always creates the top-level folder, but the one file archive with the same name should be extracted directly without creating additional folders. Otherwise the `conflict` signal is emitted and Nautilus by default skips conflicting files, so only empty folder remains after extraction. This problem have not been unfortunately noticed by the `test-one-file-same-name` unit test due to differences in the `decide-destination` signal handling. Let's do not create the top-level folder at all as `g_file_make_directory_with_parents` is used later anyway. Fixes: GNOME/gnome-autoar#28
-