From 2dabafe69153724d986fc570970d4d54acd03fae Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Thu, 1 Jun 2023 08:40:01 +0100 Subject: util/nvmutil: move xpledge/xunveil to nvmutil.h They don't precisely *pertain* to nvmutil, but they are useful helper functions for calling pledge/unveil in OpenBSD. Ideally, the main file should only contain core logic pertaining to the execution of *nvmutil*. Put xpledge() and xunveil() in nvmutil.h. Signed-off-by: Leah Rowe --- util/nvmutil/nvmutil.c | 20 -------------------- util/nvmutil/nvmutil.h | 21 +++++++++++++++++++-- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c index 0f97404..6b3020d 100644 --- a/util/nvmutil/nvmutil.c +++ b/util/nvmutil/nvmutil.c @@ -292,23 +292,3 @@ next_part: err(ERR(), "%s", filename); xpledge("stdio", NULL); } - -void -xpledge(const char *promises, const char *execpromises) -{ - (void)promises; (void)execpromises; -#ifdef __OpenBSD__ - if (pledge(promises, execpromises) == -1) - err(ERR(), "pledge"); -#endif -} - -void -xunveil(const char *path, const char *permissions) -{ - (void)path; (void)permissions; -#ifdef __OpenBSD__ - if (unveil(path, permissions) == -1) - err(ERR(), "unveil"); -#endif -} diff --git a/util/nvmutil/nvmutil.h b/util/nvmutil/nvmutil.h index 90834dc..ec52020 100644 --- a/util/nvmutil/nvmutil.h +++ b/util/nvmutil/nvmutil.h @@ -18,8 +18,6 @@ int validChecksum(int partnum); void setWord(int pos16, int partnum, uint16_t val16); void xorswap_buf(int n, int partnum); void writeGbeFile(int *fd, const char *filename, size_t nw); -void xpledge(const char *promises, const char *execpromises); -void xunveil(const char *path, const char *permissions); #define FILENAME argv[1] #define COMMAND argv[2] @@ -45,3 +43,22 @@ uint8_t big_endian; #define xopen(fd, loc, p) if ((fd = open(loc, p)) == -1) err(ERR(), "%s", loc) #define err_if(x) if (x) err(ERR(), NULL) +void +xpledge(const char *promises, const char *execpromises) +{ + (void)promises; (void)execpromises; +#ifdef __OpenBSD__ + if (pledge(promises, execpromises) == -1) + err(ERR(), "pledge"); +#endif +} + +void +xunveil(const char *path, const char *permissions) +{ + (void)path; (void)permissions; +#ifdef __OpenBSD__ + if (unveil(path, permissions) == -1) + err(ERR(), "unveil"); +#endif +} -- cgit v1.2.1