mirror of
https://github.com/systemd/systemd
synced 2024-07-21 10:17:21 +00:00
tmpfile-util-label: Add fopen_temporary_at_label()
This commit is contained in:
parent
d9daf0d144
commit
e8729892e8
|
@ -6,7 +6,8 @@
|
|||
#include "tmpfile-util-label.h"
|
||||
#include "tmpfile-util.h"
|
||||
|
||||
int fopen_temporary_label(
|
||||
int fopen_temporary_at_label(
|
||||
int dir_fd,
|
||||
const char *target,
|
||||
const char *path,
|
||||
FILE **f,
|
||||
|
@ -14,13 +15,14 @@ int fopen_temporary_label(
|
|||
|
||||
int r;
|
||||
|
||||
assert(dir_fd >= 0 || dir_fd == AT_FDCWD);
|
||||
assert(path);
|
||||
|
||||
r = mac_selinux_create_file_prepare(target, S_IFREG);
|
||||
r = mac_selinux_create_file_prepare_at(dir_fd, target, S_IFREG);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = fopen_temporary(path, f, temp_path);
|
||||
r = fopen_temporary_at(dir_fd, path, f, temp_path);
|
||||
|
||||
mac_selinux_create_file_clear();
|
||||
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
#pragma once
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/* These functions are split out of tmpfile-util.h (and not for example just flags to the functions they
|
||||
* wrap) in order to optimize linking: this way, -lselinux is needed only for the callers of these functions
|
||||
* that need selinux, but not for all. */
|
||||
|
||||
int fopen_temporary_label(const char *target, const char *path, FILE **f, char **temp_path);
|
||||
int fopen_temporary_at_label(int dir_fd, const char *target, const char *path, FILE **f, char **temp_path);
|
||||
static inline int fopen_temporary_label(const char *target, const char *path, FILE **f, char **temp_path) {
|
||||
return fopen_temporary_at_label(AT_FDCWD, target, path, f, temp_path);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue