summaryrefslogtreecommitdiffstats
path: root/src/shared/env-file-label.c
blob: 5917b6377f320cc0757b6a04303e641cfc80a6d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* SPDX-License-Identifier: LGPL-2.1-or-later */

#include <sys/stat.h>

#include "env-file-label.h"
#include "env-file.h"
#include "selinux-util.h"

int write_env_file_label(int dir_fd, const char *fname, char **headers, char **l) {
        int r;

        r = mac_selinux_create_file_prepare(fname, S_IFREG);
        if (r < 0)
                return r;

        r = write_env_file(dir_fd, fname, headers, l);

        mac_selinux_create_file_clear();

        return r;
}

int write_vconsole_conf_label(char **l) {
        int r;

        r = mac_selinux_create_file_prepare("/etc/vconsole.conf", S_IFREG);
        if (r < 0)
                return r;

        r = write_vconsole_conf(AT_FDCWD, "/etc/vconsole.conf", l);

        mac_selinux_create_file_clear();

        return r;
}