BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(iniparser)
BuildRequires: pkgconfig(libxml-2.0)
+BuildRequires: pkgconfig(libsmack)
Requires(post): /sbin/ldconfig
Requires(post): /usr/bin/systemctl
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/smack.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <time.h>
int index;
};
+static int __set_smack_label(const char *path, const char *label)
+{
+ int ret;
+
+ ret = smack_setlabel(path, label, SMACK_LABEL_ACCESS);
+ if (ret != 0) {
+ ret = -errno;
+ _E("smack_setlabel() is failed. path(%s), label(%s), errno(%d)",
+ path, label, errno);
+ return ret;
+ }
+
+ return 0;
+}
+
static int __create_directory(const char *path)
{
mode_t mode;
if (ret < 0)
return ret;
+ ret = __set_smack_label(LAUNCHPAD_LOG_APPFW_PATH, "_");
+ if (ret < 0)
+ return ret;
+
ret = __create_directory(LAUNCHPAD_LOG_PATH);
if (ret < 0)
return ret;
+ ret = __set_smack_label(LAUNCHPAD_LOG_PATH, "User");
+ if (ret < 0)
+ return ret;
+
return 0;
}
return ret;
}
+ ret = __set_smack_label(path, "User");
+ if (ret < 0) {
+ _logger_destroy(logger);
+ return ret;
+ }
+
offset = lseek(logger->fd, 0, SEEK_END);
if (offset != 0) {
logger->index = (int)(offset / LAUNCHPAD_LOG_MAX_STRING_SIZE);