diff options
Diffstat (limited to 'mtasim/mtasim.c')
-rw-r--r-- | mtasim/mtasim.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/mtasim/mtasim.c b/mtasim/mtasim.c index c7b09ad8..ee910e71 100644 --- a/mtasim/mtasim.c +++ b/mtasim/mtasim.c @@ -874,9 +874,8 @@ start_mailfromd (int argc, char **argv) exit (EX_OSERR); } atexit (stop_mailfromd); - - milter_port = mu_strdup ("unix:/tmp/mtasim-XXXXXX/socket"); - memcpy (milter_port + 5, tmpdir, strlen (tmpdir)); + + mu_asprintf (&milter_port, "unix://%s/milter", tmpdir); signal (SIGCHLD, sig_child); @@ -890,9 +889,12 @@ start_mailfromd (int argc, char **argv) if (child_pid == 0) { - int xargc = argc + 5 + (statedir_option ? 2 : 0); + int xargc = argc + 7 + (statedir_option ? 2 : 0); char **xargv = mu_alloc ((xargc + 1) * sizeof xargv[0]); int i; + char *callout_port = NULL; + + mu_asprintf (&callout_port, "unix://%s/callout", tmpdir); xargv[0] = "mailfromd"; for (i = 1; i <= argc; i++) @@ -900,6 +902,8 @@ start_mailfromd (int argc, char **argv) xargv[i++] = "--mtasim"; xargv[i++] = "--port"; xargv[i++] = milter_port; + xargv[i++] = "--callout-socket"; + xargv[i++] = callout_port; if (statedir_option) { xargv[i++] = "--state-directory"; |