X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/dc8091e7b9eb80b77699ac59de3f39eedef65c04..d9acfc1ce677f0bfd16f1555f3762af13b8e5a7b:/src/src/dcc.c diff --git a/src/src/dcc.c b/src/src/dcc.c index 60615ec3e..5aa2b17aa 100644 --- a/src/src/dcc.c +++ b/src/src/dcc.c @@ -6,6 +6,8 @@ * Vienna University Computer Center * wbreyha@gmx.net * See the file NOTICE for conditions of use and distribution. + * + * Copyright (c) The Exim Maintainers 2015 - 2018 */ /* This patch is based on code from Tom Kistners exiscan (ACL integration) and @@ -70,7 +72,6 @@ dcc_process(uschar **listptr) uschar sendbuf[4096]; uschar recvbuf[4096]; uschar dcc_return_text[1024]; - uschar mbox_path[1024]; uschar message_subdir[2]; struct header_line *dcchdr; uschar *dcc_acl_options; @@ -100,14 +101,15 @@ dcc_process(uschar **listptr) message_subdir[1] = '\0'; for (i = 0; i < 2; i++) { - message_subdir[0] = (split_spool_directory == (i == 0))? message_id[5] : 0; - sprintf(CS mbox_path, "%s/input/%s/%s-D", spool_directory, message_subdir, message_id); - data_file = Ufopen(mbox_path,"rb"); - if (data_file != NULL) + message_subdir[0] = split_spool_directory == (i == 0) ? message_id[5] : 0; + + if ((data_file = Ufopen( + spool_fname(US"input", message_subdir, message_id, US"-D"), + "rb"))) break; } - if (data_file == NULL) + if (!data_file) { /* error while spooling */ log_write(0, LOG_MAIN|LOG_PANIC, @@ -183,10 +185,10 @@ dcc_process(uschar **listptr) /* If sockip contains an ip, we use a tcp socket, otherwise a UNIX socket */ if(Ustrcmp(sockip, "")){ - ipaddress = gethostbyname((char *)sockip); - bzero((char *) &serv_addr_in, sizeof(serv_addr_in)); + ipaddress = gethostbyname(CS sockip); + bzero(CS &serv_addr_in, sizeof(serv_addr_in)); serv_addr_in.sin_family = AF_INET; - bcopy((char *)ipaddress->h_addr, (char *)&serv_addr_in.sin_addr.s_addr, ipaddress->h_length); + bcopy(CS ipaddress->h_addr, CS &serv_addr_in.sin_addr.s_addr, ipaddress->h_length); serv_addr_in.sin_port = htons(portnr); if ((sockfd = socket(AF_INET, SOCK_STREAM,0)) < 0){ DEBUG(D_acl) @@ -295,7 +297,7 @@ dcc_process(uschar **listptr) } } - /* a blank line seperates header from body */ + /* a blank line separates header from body */ Ustrncat(sendbuf, "\n", sizeof(sendbuf)-Ustrlen(sendbuf)-1); flushbuffer(sockfd, sendbuf); DEBUG(D_acl)