Getting frontend and backend to play nice
This commit is contained in:
parent
2a591072fe
commit
adab34e63a
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
umask 077
|
||||||
|
|
||||||
while read -t2 -r cmdline; do
|
while read -t2 -r cmdline; do
|
||||||
cmd=(${cmdline})
|
cmd=(${cmdline})
|
||||||
for (( i=0; i<${#cmd[@]}; i++ )); do
|
for (( i=0; i<${#cmd[@]}; i++ )); do
|
||||||
|
@ -34,7 +36,7 @@ while read -t2 -r cmdline; do
|
||||||
mkfifo "${input}" "${output}" "${status}"
|
mkfifo "${input}" "${output}" "${status}"
|
||||||
(
|
(
|
||||||
set +e
|
set +e
|
||||||
${maybe_pty:-} runuser -u riju -- bash -c 'exec "$@"' sentinel "${args[@]}" < "${input}" &> "${output}"
|
runuser -u riju -- bash -c "exec ${maybe_pty:-} \"\$@\"" -- "${args[@]}" < "${input}" &> "${output}"
|
||||||
echo "$?" > "${status}"
|
echo "$?" > "${status}"
|
||||||
) &
|
) &
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -139,7 +139,7 @@ void session(char *uuid, char *lang, char *imageHash)
|
||||||
int rv = mkdir("/var/cache/riju/shares", 0700);
|
int rv = mkdir("/var/cache/riju/shares", 0700);
|
||||||
if (rv < 0 && errno != EEXIST)
|
if (rv < 0 && errno != EEXIST)
|
||||||
die("mkdir failed");
|
die("mkdir failed");
|
||||||
rv = mkdir(share, 0700);
|
rv = mkdir(share, 0755);
|
||||||
if (rv < 0)
|
if (rv < 0)
|
||||||
die("mkdir failed");
|
die("mkdir failed");
|
||||||
if (asprintf(&rijuPtyPath, "%s/riju-pty", share) < 0)
|
if (asprintf(&rijuPtyPath, "%s/riju-pty", share) < 0)
|
||||||
|
@ -147,7 +147,7 @@ void session(char *uuid, char *lang, char *imageHash)
|
||||||
int fdFrom = open("/src/system/out/riju-pty", O_RDONLY);
|
int fdFrom = open("/src/system/out/riju-pty", O_RDONLY);
|
||||||
if (fdFrom < 0)
|
if (fdFrom < 0)
|
||||||
die("open failed");
|
die("open failed");
|
||||||
int fdTo = open(rijuPtyPath, O_WRONLY | O_CREAT | O_EXCL, 0700);
|
int fdTo = open(rijuPtyPath, O_WRONLY | O_CREAT | O_EXCL, 0755);
|
||||||
if (fdTo < 0)
|
if (fdTo < 0)
|
||||||
die("open failed");
|
die("open failed");
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
|
@ -172,7 +172,7 @@ void session(char *uuid, char *lang, char *imageHash)
|
||||||
die("asprintf failed");
|
die("asprintf failed");
|
||||||
if (asprintf(&fifo, "%s/control", share) < 0)
|
if (asprintf(&fifo, "%s/control", share) < 0)
|
||||||
die("asprintf failed");
|
die("asprintf failed");
|
||||||
if (mknod(fifo, 0700 | S_IFIFO, 0) < 0)
|
if (mknod(fifo, 0600 | S_IFIFO, 0) < 0)
|
||||||
die("mknod failed");
|
die("mknod failed");
|
||||||
pid_t pid = fork();
|
pid_t pid = fork();
|
||||||
if (pid < 0)
|
if (pid < 0)
|
||||||
|
|
Loading…
Reference in New Issue