X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;ds=sidebyside;f=citadel%2Futils%2Fcitmail.c;h=777edb701f662e3999765ed87fa92e6022ae5b68;hb=736906e1b8fb937c5aa0e2311b80473304fa407a;hp=a53655bad81131c3433e0f8f0cd69e1228c5c2fa;hpb=d72427333e5ff60bab91622d393cc09882e36389;p=citadel.git diff --git a/citadel/utils/citmail.c b/citadel/utils/citmail.c index a53655bad..777edb701 100644 --- a/citadel/utils/citmail.c +++ b/citadel/utils/citmail.c @@ -3,7 +3,7 @@ * some other non-Citadel MTA. It basically just contacts the Citadel LMTP * listener on a unix domain socket and transmits the message. * - * Copyright (c) 1987-2021by the citadel.org team + * Copyright (c) 1987-2021 by the citadel.org team * * This program is open source software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 3. @@ -176,9 +176,6 @@ int main(int argc, char **argv) { struct passwd *pw; int from_header = 0; int in_body = 0; - int relh=0; - int home=0; - char relhome[PATH_MAX]=""; char ctdldir[PATH_MAX]=CTDLDIR; char *sp, *ep; char hostname[256]; @@ -195,12 +192,20 @@ int main(int argc, char **argv) { else if (!strcmp(argv[i], "-t")) { read_recipients_from_headers = 1; } + else if (!strncmp(argv[i], "-h", 2)) { + safestrncpy(ctdldir, &argv[i][2], sizeof ctdldir); + } else if (argv[i][0] != '-') { ++num_recipients; recipients = realloc(recipients, (num_recipients * sizeof (char *))); recipients[num_recipients - 1] = strdup(argv[i]); } } + + if (chdir(ctdldir) != 0) { + fprintf(stderr, "sendcommand: %s: %s\n", ctdldir, strerror(errno)); + exit(errno); + } pw = getpwuid(getuid());