luad

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

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:
Mluac.c | 8+++++++-
Mluad.c | 7++++++-
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];