pgrep: Port to LibMain

Use unveil to allow access only to required paths. 
Switch to new pledge format.
This commit is contained in:
Riccardo Arena 2022-02-08 23:22:52 +01:00 committed by Linus Groh
parent 5c63537ae9
commit a9b387a1bf
Notes: sideshowbarker 2024-07-17 19:03:00 +09:00
2 changed files with 9 additions and 7 deletions

View File

@ -146,7 +146,7 @@ target_link_libraries(open LibDesktop LibMain)
target_link_libraries(pape LibGUI LibMain)
target_link_libraries(passwd LibCrypt LibMain)
target_link_libraries(paste LibGUI)
target_link_libraries(pgrep LibRegex)
target_link_libraries(pgrep LibRegex LibMain)
target_link_libraries(pidof LibMain)
target_link_libraries(ping LibMain)
target_link_libraries(pls LibCrypt LibMain)

View File

@ -8,14 +8,16 @@
#include <AK/Vector.h>
#include <LibCore/ArgsParser.h>
#include <LibCore/ProcessStatisticsReader.h>
#include <LibCore/System.h>
#include <LibMain/Main.h>
#include <LibRegex/Regex.h>
int main(int argc, char** argv)
ErrorOr<int> serenity_main(Main::Arguments args)
{
if (pledge("stdio rpath", nullptr) < 0) {
perror("pledge");
return 1;
}
TRY(Core::System::pledge("stdio rpath"));
TRY(Core::System::unveil("/proc/all", "r"));
TRY(Core::System::unveil("/etc/passwd", "r"));
TRY(Core::System::unveil(nullptr, nullptr));
bool case_insensitive = false;
bool invert_match = false;
@ -25,7 +27,7 @@ int main(int argc, char** argv)
args_parser.add_option(case_insensitive, "Make matches case-insensitive", nullptr, 'i');
args_parser.add_option(invert_match, "Select non-matching lines", "invert-match", 'v');
args_parser.add_positional_argument(pattern, "Process name to search for", "process-name");
args_parser.parse(argc, argv);
args_parser.parse(args);
PosixOptions options {};
if (case_insensitive)