File indexing completed on 2024-04-28 05:45:58

0001 /*
0002     SPDX-FileCopyrightText: 2018-2020 Andrius Štikonas <andrius@stikonas.eu>
0003     SPDX-FileCopyrightText: 2019 Shubham Jangra <aryan100jangid@gmail.com>
0004 
0005     SPDX-License-Identifier: GPL-3.0-or-later
0006 */
0007 
0008 #ifndef KPMCORE_EXTERNALCOMMAND_WHITELIST_H
0009 #define KPMCORE_EXTERNALCOMMAND_WHITELIST_H
0010 
0011 #include <unordered_set>
0012 #include "util/externalcommand_trustedprefixes.h"
0013 
0014 const std::unordered_set<QString> allowedCommands {
0015 // TODO no root needed
0016 QStringLiteral("lsblk"),
0017 QStringLiteral("udevadm"),
0018 
0019 //Core programs
0020 QStringLiteral("blockdev"),
0021 QStringLiteral("blkid"),
0022 QStringLiteral("chmod"),
0023 QStringLiteral("partx"),
0024 QStringLiteral("sfdisk"),
0025 QStringLiteral("wipefs"),
0026 QStringLiteral("lvm"),
0027 QStringLiteral("mdadm"),
0028 QStringLiteral("mount"),
0029 QStringLiteral("umount"),
0030 QStringLiteral("smartctl"),
0031 
0032 // FileSystem utilties
0033 QStringLiteral("btrfs"),
0034 QStringLiteral("mkfs.btrfs"),
0035 QStringLiteral("btrfstune"),
0036 QStringLiteral("fsck.exfat"),
0037 QStringLiteral("mkexfatfs"),
0038 QStringLiteral("mkfs.exfat"),
0039 QStringLiteral("exfatlabel"),
0040 QStringLiteral("tune.exfat"),
0041 QStringLiteral("dumpe2fs"),
0042 QStringLiteral("e2fsck"),
0043 QStringLiteral("mkfs.ext2"),
0044 QStringLiteral("resize2fs"),
0045 QStringLiteral("e2label"),
0046 QStringLiteral("tune2fs"),
0047 QStringLiteral("mkfs.ext3"),
0048 QStringLiteral("mkfs.ext4"),
0049 QStringLiteral("f2fslabel"),
0050 QStringLiteral("mkfs.f2fs"),
0051 QStringLiteral("fsck.f2fs"),
0052 QStringLiteral("resize.f2fs"),
0053 QStringLiteral("fsck.fat"),
0054 QStringLiteral("fatlabel"),
0055 QStringLiteral("mkfs.fat"),
0056 QStringLiteral("fatresize"),
0057 QStringLiteral("hfsck"),
0058 QStringLiteral("hformat"),
0059 QStringLiteral("fsck.hfsplus"),
0060 QStringLiteral("mkfs.hfsplus"),
0061 QStringLiteral("jfs_debugfs"),
0062 QStringLiteral("jfs_tune"),
0063 QStringLiteral("fsck.jfs"),
0064 QStringLiteral("mkfs.jfs"),
0065 QStringLiteral("mkswap"),
0066 QStringLiteral("swaplabel"),
0067 QStringLiteral("swapon"),
0068 QStringLiteral("swapoff"),
0069 QStringLiteral("cryptsetup"),
0070 QStringLiteral("dmsetup"),
0071 QStringLiteral("fsck.minix"),
0072 QStringLiteral("mkfs.minix"),
0073 QStringLiteral("fsck.nilfs2"),
0074 QStringLiteral("mkfs.nilfs2"),
0075 QStringLiteral("nilfs-tune"),
0076 QStringLiteral("nilfs-resize"),
0077 QStringLiteral("ntfsresize"),
0078 QStringLiteral("mkfs.ntfs"),
0079 QStringLiteral("ntfsclone"),
0080 QStringLiteral("ntfsinfo"),
0081 QStringLiteral("ntfslabel"),
0082 QStringLiteral("fsck.ocfs2"),
0083 QStringLiteral("mkfs.ocfs2"),
0084 QStringLiteral("debugfs.ocfs2"),
0085 QStringLiteral("tunefs.ocfs2"),
0086 QStringLiteral("debugfs.reiser4"),
0087 QStringLiteral("fsck.reiser4"),
0088 QStringLiteral("mkfs.reiser4"),
0089 QStringLiteral("debugreiserfs"),
0090 QStringLiteral("reiserfstune"),
0091 QStringLiteral("fsck.reiserfs"),
0092 QStringLiteral("mkfs.reiserfs"),
0093 QStringLiteral("resize_reiserfs"),
0094 QStringLiteral("mkudffs"),
0095 QStringLiteral("udfinfo"),
0096 QStringLiteral("udflabel"),
0097 QStringLiteral("xfs_db"),
0098 QStringLiteral("xfs_repair"),
0099 QStringLiteral("mkfs.xfs"),
0100 QStringLiteral("xfs_copy"),
0101 QStringLiteral("xfs_growfs"),
0102 QStringLiteral("zpool")
0103 };
0104 
0105 #endif