commit 79313f1d5565009a608160e0aa830fa12be97c73
parent a0e760884db30436f22323e87ec858db8d3df284
Author: Daniel Barlow <dan@telent.net>
Date: Mon, 18 May 2026 23:04:38 +0100
consult env var to find socket path
Diffstat:
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/luac.c b/luac.c
@@ -103,6 +103,11 @@ int main(int argc, char **argv)
exit(1);
}
+ char * socket_path = getenv("LUAD_SOCKET_PATH");
+ if(! socket_path) {
+ error(1, 0, "Missing required environment variable LUAD_SOCKET_PATH");
+ }
+
char * iobuf = (char *) calloc(1024, sizeof(char));
if(!iobuf) return 1;
int iobuf_len = encode_args(iobuf, 1024, argc, argv);
@@ -118,7 +123,8 @@ int main(int argc, char **argv)
memcpy(my_addr.sun_path + 1, (void *) &mypid, sizeof mypid);
memcpy(my_addr.sun_path + 1 + sizeof mypid, iobuf, maxnamelen - sizeof mypid - 1);
- struct sockaddr_un peer_addr = { AF_UNIX, "/tmp/mysock" };
+ struct sockaddr_un peer_addr = { AF_UNIX };
+ strlcpy(peer_addr.sun_path, socket_path, sizeof peer_addr.sun_path);
int socket = open_socket(&my_addr, &peer_addr);
struct cmsghdr *cmsg;
diff --git a/luad.c b/luad.c
@@ -147,6 +147,11 @@ int main(int argc, char **argv)
struct peer_entry * peer_table = calloc(501, sizeof (struct peer_entry));
peer_table[500].pid = -1;
+ char * socket_path = getenv("LUAD_SOCKET_PATH");
+ if(! socket_path) {
+ error(1, 0, "Missing required environment variable LUAD_SOCKET_PATH");
+ }
+
if(pipe(sigpipe_fds) < 0) {
die("can't create pipe");
}
@@ -161,7 +166,7 @@ int main(int argc, char **argv)
}
}
- int socket = open_socket("/tmp/mysock"); /* FIXME hardcoded */
+ int socket = open_socket(socket_path);
struct sockaddr_un peer_addr;
socklen_t peer_addr_len;
char buf[1025];