Changeset View
Changeset View
Standalone View
Standalone View
tests/sys/audit/file-create.c
Show All 31 Lines | |||||
#include <fcntl.h> | #include <fcntl.h> | ||||
#include <stdlib.h> | #include <stdlib.h> | ||||
#include <unistd.h> | #include <unistd.h> | ||||
#include "utils.h" | #include "utils.h" | ||||
static struct pollfd fds[1]; | static struct pollfd fds[1]; | ||||
static mode_t mode = 0777; | static mode_t mode = 0777; | ||||
static int filedesc; | |||||
static dev_t dev = 0; | static dev_t dev = 0; | ||||
static const char *auclass = "fc"; | static const char *auclass = "fc"; | ||||
static const char *path = "fileforaudit"; | static const char *path = "fileforaudit"; | ||||
static const char *successreg = "fileforaudit.*return,success"; | static const char *successreg = "fileforaudit.*return,success"; | ||||
static const char *failurereg = "fileforaudit.*return,failure"; | static const char *failurereg = "fileforaudit.*return,failure"; | ||||
ATF_TC_WITH_CLEANUP(mkdir_success); | ATF_TC_WITH_CLEANUP(mkdir_success); | ||||
▲ Show 20 Lines • Show All 252 Lines • ▼ Show 20 Lines | |||||
ATF_TC_HEAD(rename_success, tc) | ATF_TC_HEAD(rename_success, tc) | ||||
{ | { | ||||
atf_tc_set_md_var(tc, "descr", "Tests the audit of a successful " | atf_tc_set_md_var(tc, "descr", "Tests the audit of a successful " | ||||
"rename(2) call"); | "rename(2) call"); | ||||
} | } | ||||
ATF_TC_BODY(rename_success, tc) | ATF_TC_BODY(rename_success, tc) | ||||
{ | { | ||||
ATF_REQUIRE(open(path, O_CREAT, mode) != -1); | ATF_REQUIRE((filedesc = open(path, O_CREAT, mode)) != -1); | ||||
FILE *pipefd = setup(fds, auclass); | FILE *pipefd = setup(fds, auclass); | ||||
ATF_REQUIRE_EQ(0, rename(path, "renamed")); | ATF_REQUIRE_EQ(0, rename(path, "renamed")); | ||||
check_audit(fds, successreg, pipefd); | check_audit(fds, successreg, pipefd); | ||||
close(filedesc); | |||||
} | } | ||||
ATF_TC_CLEANUP(rename_success, tc) | ATF_TC_CLEANUP(rename_success, tc) | ||||
{ | { | ||||
cleanup(); | cleanup(); | ||||
} | } | ||||
Show All 22 Lines | |||||
ATF_TC_HEAD(renameat_success, tc) | ATF_TC_HEAD(renameat_success, tc) | ||||
{ | { | ||||
atf_tc_set_md_var(tc, "descr", "Tests the audit of a successful " | atf_tc_set_md_var(tc, "descr", "Tests the audit of a successful " | ||||
"renameat(2) call"); | "renameat(2) call"); | ||||
} | } | ||||
ATF_TC_BODY(renameat_success, tc) | ATF_TC_BODY(renameat_success, tc) | ||||
{ | { | ||||
ATF_REQUIRE(open(path, O_CREAT, mode) != -1); | ATF_REQUIRE((filedesc = open(path, O_CREAT, mode)) != -1); | ||||
FILE *pipefd = setup(fds, auclass); | FILE *pipefd = setup(fds, auclass); | ||||
ATF_REQUIRE_EQ(0, renameat(AT_FDCWD, path, AT_FDCWD, "renamed")); | ATF_REQUIRE_EQ(0, renameat(AT_FDCWD, path, AT_FDCWD, "renamed")); | ||||
check_audit(fds, successreg, pipefd); | check_audit(fds, successreg, pipefd); | ||||
close(filedesc); | |||||
} | } | ||||
ATF_TC_CLEANUP(renameat_success, tc) | ATF_TC_CLEANUP(renameat_success, tc) | ||||
{ | { | ||||
cleanup(); | cleanup(); | ||||
} | } | ||||
Show All 22 Lines | |||||
ATF_TC_HEAD(link_success, tc) | ATF_TC_HEAD(link_success, tc) | ||||
{ | { | ||||
atf_tc_set_md_var(tc, "descr", "Tests the audit of a successful " | atf_tc_set_md_var(tc, "descr", "Tests the audit of a successful " | ||||
"link(2) call"); | "link(2) call"); | ||||
} | } | ||||
ATF_TC_BODY(link_success, tc) | ATF_TC_BODY(link_success, tc) | ||||
{ | { | ||||
ATF_REQUIRE(open(path, O_CREAT, mode) != -1); | ATF_REQUIRE((filedesc = open(path, O_CREAT, mode)) != -1); | ||||
FILE *pipefd = setup(fds, auclass); | FILE *pipefd = setup(fds, auclass); | ||||
ATF_REQUIRE_EQ(0, link(path, "hardlink")); | ATF_REQUIRE_EQ(0, link(path, "hardlink")); | ||||
check_audit(fds, successreg, pipefd); | check_audit(fds, successreg, pipefd); | ||||
close(filedesc); | |||||
} | } | ||||
ATF_TC_CLEANUP(link_success, tc) | ATF_TC_CLEANUP(link_success, tc) | ||||
{ | { | ||||
cleanup(); | cleanup(); | ||||
} | } | ||||
Show All 22 Lines | |||||
ATF_TC_HEAD(linkat_success, tc) | ATF_TC_HEAD(linkat_success, tc) | ||||
{ | { | ||||
atf_tc_set_md_var(tc, "descr", "Tests the audit of a successful " | atf_tc_set_md_var(tc, "descr", "Tests the audit of a successful " | ||||
"linkat(2) call"); | "linkat(2) call"); | ||||
} | } | ||||
ATF_TC_BODY(linkat_success, tc) | ATF_TC_BODY(linkat_success, tc) | ||||
{ | { | ||||
ATF_REQUIRE(open(path, O_CREAT, mode) != -1); | ATF_REQUIRE((filedesc = open(path, O_CREAT, mode)) != -1); | ||||
FILE *pipefd = setup(fds, auclass); | FILE *pipefd = setup(fds, auclass); | ||||
ATF_REQUIRE_EQ(0, linkat(AT_FDCWD, path, AT_FDCWD, "hardlink", 0)); | ATF_REQUIRE_EQ(0, linkat(AT_FDCWD, path, AT_FDCWD, "hardlink", 0)); | ||||
check_audit(fds, successreg, pipefd); | check_audit(fds, successreg, pipefd); | ||||
close(filedesc); | |||||
} | } | ||||
ATF_TC_CLEANUP(linkat_success, tc) | ATF_TC_CLEANUP(linkat_success, tc) | ||||
{ | { | ||||
cleanup(); | cleanup(); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 139 Lines • Show Last 20 Lines |