diff --git Makefile Makefile index c3679df..dda83ca 100644 --- Makefile +++ Makefile @@ -1514,11 +1514,11 @@ tcpto.h readwrite.h timeoutconn.h timeoutread.h timeoutwrite.h qmail-rspawn: \ load qmail-rspawn.o spawn.o tcpto_clean.o now.o coe.o sig.a open.a \ -seek.a lock.a wait.a fd.a stralloc.a alloc.a substdio.a error.a str.a \ +seek.a lock.a wait.a fd.a stralloc.a alloc.a substdio.a error.a env.a str.a \ auto_qmail.o uid.o auto_userq.o auto_spawn.o ./load qmail-rspawn spawn.o tcpto_clean.o now.o coe.o \ sig.a open.a seek.a lock.a wait.a fd.a stralloc.a alloc.a \ - auto_qmail.o uid.o auto_userq.o substdio.a error.a str.a \ + auto_qmail.o uid.o auto_userq.o substdio.a error.a env.a str.a \ auto_spawn.o qmail-rspawn.0: \ @@ -1526,7 +1526,7 @@ qmail-rspawn.8 nroff -man qmail-rspawn.8 > qmail-rspawn.0 qmail-rspawn.o: \ -compile qmail-rspawn.c fd.h wait.h substdio.h exit.h fork.h error.h \ +compile qmail-rspawn.c fd.h wait.h substdio.h exit.h fork.h error.h env.h \ tcpto.h ./compile qmail-rspawn.c diff --git qmail-rspawn.c qmail-rspawn.c index a9d042a..aeab4dc 100644 --- qmail-rspawn.c +++ qmail-rspawn.c @@ -8,6 +8,17 @@ #include "uidgid.h" #include "auto_uids.h" #include "auto_users.h" +#include "env.h" + +static char *qrargs[1] = { 0 }; + +static void setup_qrargs() +{ + if (!qrargs[0]) + qrargs[0] = env_get("QMAILREMOTE"); + if (!qrargs[0]) + qrargs[0] = "qmail-remote"; +} int auto_uidq; @@ -90,7 +101,9 @@ char *s; char *r; int at; int f; char *(args[5]); - args[0] = "qmail-remote"; + setup_qrargs(); + + args[0] = qrargs[0]; args[1] = r + at + 1; args[2] = s; args[3] = r;