f2fs-tools: replace noselinux patch with upstream version
Signed-off-by: Denis Osvald <denis.osvald@sartura.hr>
This commit is contained in:
parent
6789e872d9
commit
a6c1dba795
2 changed files with 100 additions and 55 deletions
|
@ -1,55 +0,0 @@
|
|||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -49,7 +49,7 @@ AC_PATH_PROG([LDCONFIG], [ldconfig],
|
||||
|
||||
# Checks for libraries.
|
||||
PKG_CHECK_MODULES([libuuid], [uuid])
|
||||
-PKG_CHECK_MODULES([libselinux], [libselinux])
|
||||
+# PKG_CHECK_MODULES([libselinux], [libselinux])
|
||||
|
||||
# Checks for header files.
|
||||
AC_CHECK_HEADERS([linux/fs.h fcntl.h mntent.h stdlib.h string.h \
|
||||
--- a/fsck/sload.c
|
||||
+++ b/fsck/sload.c
|
||||
@@ -16,10 +16,11 @@
|
||||
#include <libgen.h>
|
||||
#include <dirent.h>
|
||||
#include <mntent.h>
|
||||
+
|
||||
+#ifdef WITH_ANDROID
|
||||
#include <selinux/selinux.h>
|
||||
#include <selinux/label.h>
|
||||
|
||||
-#ifdef WITH_ANDROID
|
||||
#include <selinux/label.h>
|
||||
#include <private/android_filesystem_config.h>
|
||||
|
||||
@@ -110,10 +111,12 @@ static int build_directory(struct f2fs_s
|
||||
handle_selabel(dentries + i, S_ISDIR(stat.st_mode),
|
||||
target_out_dir);
|
||||
|
||||
+#ifdef WITH_ANDROID
|
||||
if (sehnd && selabel_lookup(sehnd, &dentries[i].secon,
|
||||
dentries[i].path, stat.st_mode) < 0)
|
||||
ERR_MSG("Cannot lookup security context for %s\n",
|
||||
dentries[i].path);
|
||||
+#endif
|
||||
|
||||
dentries[i].pino = dir_ino;
|
||||
|
||||
@@ -218,6 +221,7 @@ int f2fs_sload(struct f2fs_sb_info *sbi,
|
||||
return ret;
|
||||
}
|
||||
|
||||
+#ifdef WITH_ANDROID
|
||||
if (sehnd) {
|
||||
char *secontext = NULL;
|
||||
|
||||
@@ -233,6 +237,7 @@ int f2fs_sload(struct f2fs_sb_info *sbi,
|
||||
}
|
||||
free(secontext);
|
||||
}
|
||||
+#endif
|
||||
|
||||
/* update curseg info; can update sit->types */
|
||||
move_curseg_info(sbi, SM_I(sbi)->main_blkaddr);
|
|
@ -0,0 +1,100 @@
|
|||
From b0a2386089fd6efade6b89094325ed8a9f8c6fff Mon Sep 17 00:00:00 2001
|
||||
From: Christian Hesse <mail@eworm.de>
|
||||
Date: Sat, 22 Oct 2016 22:06:54 +0200
|
||||
Subject: [PATCH] sload.f2fs: allow to build without libselinux
|
||||
|
||||
Some systems do not have libselinux. Allow to build sload.f2fs without
|
||||
support for selinux.
|
||||
|
||||
Signed-off-by: Christian Hesse <mail@eworm.de>
|
||||
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
|
||||
---
|
||||
configure.ac | 4 +++-
|
||||
fsck/sload.c | 12 +++++++++++-
|
||||
2 files changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index f519790..7a62328 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -54,7 +54,9 @@ AC_PATH_PROG([LDCONFIG], [ldconfig],
|
||||
|
||||
# Checks for libraries.
|
||||
PKG_CHECK_MODULES([libuuid], [uuid])
|
||||
-PKG_CHECK_MODULES([libselinux], [libselinux])
|
||||
+PKG_CHECK_MODULES([libselinux], [libselinux],
|
||||
+ [AC_DEFINE([HAVE_LIBSELINUX], [1], [Use libselinux])],
|
||||
+ [AC_MSG_NOTICE([libselinux not found])])
|
||||
|
||||
# Checks for header files.
|
||||
AC_CHECK_HEADERS([linux/fs.h fcntl.h mntent.h stdlib.h string.h \
|
||||
diff --git a/fsck/sload.c b/fsck/sload.c
|
||||
index ea072d1..68799c1 100644
|
||||
--- a/fsck/sload.c
|
||||
+++ b/fsck/sload.c
|
||||
@@ -16,8 +16,11 @@
|
||||
#include <libgen.h>
|
||||
#include <dirent.h>
|
||||
#include <mntent.h>
|
||||
+
|
||||
+#ifdef HAVE_LIBSELINUX
|
||||
#include <selinux/selinux.h>
|
||||
#include <selinux/label.h>
|
||||
+#endif
|
||||
|
||||
#ifdef WITH_ANDROID
|
||||
#include <selinux/label.h>
|
||||
@@ -110,10 +113,12 @@ static int build_directory(struct f2fs_sb_info *sbi, const char *full_path,
|
||||
handle_selabel(dentries + i, S_ISDIR(stat.st_mode),
|
||||
target_out_dir);
|
||||
|
||||
+#ifdef HAVE_LIBSELINUX
|
||||
if (sehnd && selabel_lookup(sehnd, &dentries[i].secon,
|
||||
dentries[i].path, stat.st_mode) < 0)
|
||||
ERR_MSG("Cannot lookup security context for %s\n",
|
||||
dentries[i].path);
|
||||
+#endif
|
||||
|
||||
dentries[i].pino = dir_ino;
|
||||
|
||||
@@ -174,6 +179,7 @@ static int build_directory(struct f2fs_sb_info *sbi, const char *full_path,
|
||||
MSG(1, "Error unknown file type\n");
|
||||
}
|
||||
|
||||
+#ifdef HAVE_LIBSELINUX
|
||||
if (dentries[i].secon) {
|
||||
inode_set_selinux(sbi, dentries[i].ino, dentries[i].secon);
|
||||
MSG(1, "File = %s \n----->SELinux context = %s\n",
|
||||
@@ -184,10 +190,12 @@ static int build_directory(struct f2fs_sb_info *sbi, const char *full_path,
|
||||
dentries[i].gid, dentries[i].capabilities);
|
||||
}
|
||||
|
||||
+ free(dentries[i].secon);
|
||||
+#endif
|
||||
+
|
||||
free(dentries[i].path);
|
||||
free(dentries[i].full_path);
|
||||
free((void *)dentries[i].name);
|
||||
- free(dentries[i].secon);
|
||||
}
|
||||
|
||||
free(dentries);
|
||||
@@ -218,6 +226,7 @@ int f2fs_sload(struct f2fs_sb_info *sbi, const char *from_dir,
|
||||
return ret;
|
||||
}
|
||||
|
||||
+#ifdef HAVE_LIBSELINUX
|
||||
if (sehnd) {
|
||||
char *secontext = NULL;
|
||||
|
||||
@@ -233,6 +242,7 @@ int f2fs_sload(struct f2fs_sb_info *sbi, const char *from_dir,
|
||||
}
|
||||
free(secontext);
|
||||
}
|
||||
+#endif
|
||||
|
||||
/* update curseg info; can update sit->types */
|
||||
move_curseg_info(sbi, SM_I(sbi)->main_blkaddr);
|
||||
--
|
||||
2.10.0
|
||||
|
Loading…
Reference in a new issue