Remove unused exec labeling code 54/318854/14
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Mon, 27 Jan 2025 15:00:44 +0000 (16:00 +0100)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Wed, 5 Feb 2025 09:56:21 +0000 (10:56 +0100)
Change-Id: I1047cccca03e686eef003da63410be3290c1ce01

src/common/smack-labels.cpp

index b410557d0a2e37c4acbb58959c6887f299a2e0d0..3410748790e0606c0c8deef64067c90428ba3570 100644 (file)
@@ -72,13 +72,6 @@ static bool labelDirs(const FTSENT *ftsent)
     return (S_ISDIR(ftsent->fts_statp->st_mode));
 }
 
-static bool labelExecs(const FTSENT *ftsent)
-{
-    // LogDebug("Mode = " << ftsent->fts_statp->st_mode); // this could be helpfull in debugging
-    // label only regular executable files
-    return (S_ISREG(ftsent->fts_statp->st_mode) && (ftsent->fts_statp->st_mode & S_IXUSR));
-}
-
 static inline void pathSetSmack(const char *path, const Smack::Label &label,
         const char *xattr_name)
 {
@@ -122,7 +115,7 @@ static void dirSetSmack(const std::string &path, const Smack::Label &label,
 }
 
 static void labelDir(const std::string &path, const Smack::Label &label,
-        bool set_transmutable, bool set_executables)
+        bool set_transmutable)
 {
     // setting access label on everything in given directory and below
     dirSetSmack(path, label, XATTR_NAME_SMACK, labelAll);
@@ -130,10 +123,6 @@ static void labelDir(const std::string &path, const Smack::Label &label,
     // setting transmute on dirs
     if (set_transmutable)
         dirSetSmack(path, "TRUE", XATTR_NAME_SMACKTRANSMUTE, labelDirs);
-
-    // setting SMACK64EXEC labels
-    if (set_executables)
-        dirSetSmack(path, label, XATTR_NAME_SMACKEXEC, &labelExecs);
 }
 
 void setupPath(
@@ -143,27 +132,23 @@ void setupPath(
         const std::string &authorHash)
 {
     std::string label;
-    bool label_executables, label_transmute, follow_symlink = false;
+    bool label_transmute, follow_symlink = false;
 
     switch (pathType) {
     case SECURITY_MANAGER_PATH_RW:
         label = generatePathRWLabel(pkgName);
-        label_executables = false;
         label_transmute = true;
         break;
     case SECURITY_MANAGER_PATH_RO:
         label = generatePathROLabel(pkgName);
-        label_executables = false;
         label_transmute = false;
         break;
     case SECURITY_MANAGER_PATH_PUBLIC_RO:
         label.assign(LABEL_FOR_APP_PUBLIC_RO_PATH);
-        label_executables = false;
         label_transmute = true;
         break;
     case SECURITY_MANAGER_PATH_OWNER_RW_OTHER_RO:
         label = generatePathSharedROLabel();
-        label_executables = false;
         label_transmute = true;
         follow_symlink = true;
         break;
@@ -171,7 +156,6 @@ void setupPath(
         if (authorHash.empty())
             ThrowMsg(SmackException::InvalidParam, "You must define author to use PATH_TRUSED_RW");
         label = generatePathTrustedLabel(authorHash);
-        label_executables = false;
         label_transmute = true;
         break;
     default:
@@ -179,9 +163,9 @@ void setupPath(
         Throw(SmackException::InvalidPathType);
     }
     if (follow_symlink) {
-        labelDir(realPath(path), label, label_transmute, label_executables);
+        labelDir(realPath(path), label, label_transmute);
     }
-    return labelDir(path, label, label_transmute, label_executables);
+    return labelDir(path, label, label_transmute);
 }
 
 void setupPkgBasePath(const std::string &basePath)