]> git.ipfire.org Git - pakfire.git/commitdiff
file: Do not check for SSP for runtime linkers
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 15 Mar 2023 16:33:18 +0000 (16:33 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 15 Mar 2023 16:39:38 +0000 (16:39 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/file.c
src/libpakfire/include/pakfire/file.h

index 99130a4b3ac86b577508328cb547cf836483a750..91f7a82fddd1f91fc5d9741aafd4cd99d786ef9a 100644 (file)
@@ -1160,6 +1160,7 @@ static const struct extension {
        { "*.pm", PAKFIRE_FILE_PERL },
        { "*.pc", PAKFIRE_FILE_PKGCONFIG },
        { "/usr/lib/firmware/*", PAKFIRE_FILE_FIRMWARE },
+       { "/usr/lib*/ld-*.so*", PAKFIRE_FILE_RUNTIME_LINKER },
        { NULL , 0 },
 };
 
@@ -1754,6 +1755,10 @@ static int __pakfire_file_hardening_check_ssp(
 }
 
 static int pakfire_file_hardening_check_ssp(struct pakfire_file* file) {
+       // Do not perform this check for runtime linkers
+       if (pakfire_file_matches_class(file, PAKFIRE_FILE_RUNTIME_LINKER))
+               return 0;
+
        return pakfire_file_open_elf(file, __pakfire_file_hardening_check_ssp, NULL);
 }
 
index d284fc82307d338f7379aa195256bb970fa0383f..4fc0b23619bb3f26aec3279a21439a824110ba0e 100644 (file)
@@ -120,6 +120,7 @@ enum pakfire_file_classes {
        PAKFIRE_FILE_STATIC_LIBRARY  = (1 << 11),
        PAKFIRE_FILE_LIBTOOL_ARCHIVE = (1 << 12),
        PAKFIRE_FILE_FIRMWARE        = (1 << 13),
+       PAKFIRE_FILE_RUNTIME_LINKER  = (1 << 14),
 };
 
 int pakfire_file_create_from_path(struct pakfire_file** file,