diff options
author | Fabian Vogt <fvogt@suse.de> | 2022-03-09 13:37:49 +0100 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2022-03-09 20:06:59 +0000 |
commit | 87e1aa8774dad3e6b504c641938e84490116088f (patch) | |
tree | 95f9f7b6c5aad0cbf469cd812d841079032fbd7b /data | |
parent | 349799ba1d026a18012520b9f2e1901a88ac467b (diff) | |
download | appstream-glib-87e1aa8774dad3e6b504c641938e84490116088f.tar.gz |
Fix extracting relative symlinks
ebdefa2745 tried to fix handling of relative symlinks in archives, but that
only addressed targets starting with ".."/. Fix it properly by using
asb_utils_sanitise_path only for absolute paths, keep relative paths as-is.
Simplify code for handling absolute symlinks by just prepending the root
instead of converting it to a relative link.
Hardlink targets are returned as paths relative to the archive root, so the
sanitization code is correct there.
Diffstat (limited to 'data')
-rw-r--r-- | data/tests/app-1-1.fc25.x86_64.rpm | bin | 14306 -> 16758 bytes | |||
-rw-r--r-- | data/tests/app.spec | 7 |
2 files changed, 5 insertions, 2 deletions
diff --git a/data/tests/app-1-1.fc25.x86_64.rpm b/data/tests/app-1-1.fc25.x86_64.rpm Binary files differindex ac601ce..b2d770c 100644 --- a/data/tests/app-1-1.fc25.x86_64.rpm +++ b/data/tests/app-1-1.fc25.x86_64.rpm diff --git a/data/tests/app.spec b/data/tests/app.spec index 26dbfb9..b40519a 100644 --- a/data/tests/app.spec +++ b/data/tests/app.spec @@ -53,11 +53,13 @@ cd $RPM_BUILD_ROOT ln -s %{_datadir}/app/app-48x48.png usr/share/icons/hicolor/48x48/apps/app.png cd - -# test decompressing a relative symlink destination +# test decompressing relative symlink destinations install -Dp %{SOURCE18} $RPM_BUILD_ROOT%{_datadir}/app/app-128x128.png mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps cd $RPM_BUILD_ROOT -ln -s ../../../../app/app-128x128.png usr/share/icons/hicolor/128x128/apps/app.png +# Test links in the same directory as well as outside +ln -s ../../../../app/app-128x128.png usr/share/icons/hicolor/128x128/apps/app-linked.png +ln -s app-linked.png usr/share/icons/hicolor/128x128/apps/app.png cd - install -Dp %{SOURCE3} $RPM_BUILD_ROOT/%{_datadir}/appdata/app.appdata.xml @@ -93,6 +95,7 @@ install -Dp %{SOURCE16} $RPM_BUILD_ROOT/%{_datadir}/applications/console2.deskto %{_datadir}/app/app-48x48.png %{_datadir}/app/app-128x128.png %{_datadir}/icons/hicolor/48x48/apps/app.png +%{_datadir}/icons/hicolor/128x128/apps/app-linked.png %{_datadir}/icons/hicolor/128x128/apps/app.png %files extra |