aboutsummaryrefslogtreecommitdiff
path: root/snag/src/build_db.c
diff options
context:
space:
mode:
authorJack Jamison <jackqjamison@gmail.com>2026-09-17 17:50:23 +0200
committerJack Jamison <jackqjamison@gmail.com>2026-09-17 17:50:23 +0200
commit396ab55d6e07f6bd031087005216d3e49d3c2ad1 (patch)
treecc4da05e6cb6792c5c75e17f2a77142f283fd000 /snag/src/build_db.c
parent011cd7ffdb48b1cf66c7c9e250e7cd134d38c764 (diff)
packaged xdemineur (and added desc dir to api (and fiddled with snadboxing))
Diffstat (limited to 'snag/src/build_db.c')
-rw-r--r--snag/src/build_db.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/snag/src/build_db.c b/snag/src/build_db.c
index ad68be5..06099f6 100644
--- a/snag/src/build_db.c
+++ b/snag/src/build_db.c
@@ -86,7 +86,7 @@ bool set_child_sandbox(const package_build_t* build) {
if (!landlock_add_path_rule(landlock_fd, &ruleset_attr, cfg.build_package_script, &path_beneath)) {
return false;
}
- if (!landlock_add_path_rule(landlock_fd, &ruleset_attr, build->package->script_path, &path_beneath)) {
+ if (!landlock_add_path_rule(landlock_fd, &ruleset_attr, build->package->desc_dir, &path_beneath)) {
return false;
}
path_beneath.allowed_access =
@@ -139,7 +139,8 @@ bool set_child_sandbox(const package_build_t* build) {
LANDLOCK_ACCESS_FS_MAKE_FIFO |
LANDLOCK_ACCESS_FS_MAKE_BLOCK |
LANDLOCK_ACCESS_FS_MAKE_SYM |
- LANDLOCK_ACCESS_FS_TRUNCATE;
+ LANDLOCK_ACCESS_FS_TRUNCATE |
+ LANDLOCK_ACCESS_FS_EXECUTE;
if (!landlock_add_path_rule(landlock_fd, &ruleset_attr, "/tmp", &path_beneath)) {
return false;
}
@@ -281,6 +282,12 @@ void build_run(const package_build_t* build) {
write(api_to_sh[1], tmp, strlen(tmp));
free(tmp);
}
+ if (strncmp(buf, "descdir", sizeof("descdir") - 1) == 0) {
+ char* tmp = vastrcat(build->package->desc_dir, "\n");
+ write(api_to_sh[1], tmp, strlen(tmp));
+ free(tmp);
+ }
+ // failure, failed to work (asked for bad var)
break;
case API_MESSAGE_NONE:
break;