diff --git a/acl.y b/acl.y index 38e9324..7de977b 100644 --- a/acl.y +++ b/acl.y @@ -158,7 +158,7 @@ dofilter(const char * filter) fh = popen(filter, "w"); if (fh == NULL) { - syslog(LOG_ERR, "Failed to open ACL-filter \"%s\": %m", filter); + syslog(LOG_ERR, "Failed to open ACL-filter \"%s\": %s", filter, strerror(errno)); return -1; } fprintf(fh, "%s\n", g_MailStruct->Header); @@ -263,7 +263,7 @@ int checkACL(struct Mail * MailStruct, /* no master acl file */ goto check_local_acl_file; default: - syslog(LOG_ERR, "Couldn't open \"%s\" acl file.: %m", MasterConfig->acl_file); + syslog(LOG_ERR, "Couldn't open \"%s\" acl file: %s", MasterConfig->acl_file, strerror(errno)); return -1; } } @@ -307,7 +307,7 @@ check_local_acl_file: /* no list acl file */ goto finished; default: - syslog(LOG_ERR, "Couldn't open acl file \"%s\": %m", ListConfig->acl_file); + syslog(LOG_ERR, "Couldn't open acl file \"%s\": %s", ListConfig->acl_file, strerror(errno)); return -1; } } @@ -316,7 +316,7 @@ check_local_acl_file: fclose(yyin); yyin = NULL; if (rc != 0) { - syslog(LOG_ERR, "Parsing \"~petidomo/etc/acl\" file returned with an error."); + syslog(LOG_ERR, "Parsing \"%s\" file returned with an error.", ListConfig->acl_file); return -1; } diff --git a/address-db.c b/address-db.c index 3be804e..a5f1da5 100644 --- a/address-db.c +++ b/address-db.c @@ -69,7 +69,7 @@ int add_address(const char* file, const char* address) fh = fopen(file, "a"); if (fh == NULL) { - syslog(LOG_ERR, "Failed to open file \"%s\" for writing: %m", file); + syslog(LOG_ERR, "Failed to open file \"%s\" for writing: %s", file, strerror(errno)); return -1; } fprintf(fh, "%s\n", address); diff --git a/approve.c b/approve.c index 42063b4..a3a62e8 100644 --- a/approve.c +++ b/approve.c @@ -17,11 +17,14 @@ General Public License for more details. */ -#include "petidomo.h" #include #include #include #include +#include +#include + +#include "petidomo.h" int approve_main(char* mail) { @@ -33,7 +36,7 @@ int approve_main(char* mail) if (chdir(MasterConfig->ack_queue_dir) == -1) { - syslog(LOG_ERR, "Can't change directory to \"%s\": %m", MasterConfig->ack_queue_dir); + syslog(LOG_ERR, "Can't change directory to \"%s\": %s", MasterConfig->ack_queue_dir, strerror(errno)); exit(1); } @@ -73,7 +76,7 @@ int approve_main(char* mail) sprintf(cmd, "/bin/sh %s && /bin/rm -f %s", buffer, buffer); if (((signed char)system(cmd)) == -1) { - syslog(LOG_ERR, "system() failed: %m", MasterConfig->ack_queue_dir); + syslog(LOG_ERR, "system() failed for \"%s\": %s", buffer, strerror(errno)); exit(1); } } diff --git a/config.c b/config.c index e9d1e82..bab9679 100644 --- a/config.c +++ b/config.c @@ -154,7 +154,7 @@ const struct List_Config* getListConfig(const char * listname) int rc; char * buffer; struct stat sb; - char* list_dir; + char* this_list_dir; /* Format description of our global config file. */ @@ -211,7 +211,7 @@ const struct List_Config* getListConfig(const char * listname) /* No? Then read the config file. */ buffer = text_easy_sprintf("%s/%s/config", MasterConfig->list_dir, listname); - list_dir = text_easy_sprintf("%s/%s", MasterConfig->list_dir, listname); + this_list_dir = text_easy_sprintf("%s/%s", MasterConfig->list_dir, listname); if (stat(buffer, &sb) != 0) { free(buffer); @@ -293,7 +293,7 @@ const struct List_Config* getListConfig(const char * listname) ListConfig->posting_password = posting_password; ListConfig->postingfilter = postingfilter; - ListConfig->list_dir = list_dir; + ListConfig->list_dir = this_list_dir; #define EXPAND(dst, src) \ if (src == NULL || src[0] == '/') \ diff --git a/filter.c b/filter.c index 3d623b7..510274a 100644 --- a/filter.c +++ b/filter.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "petidomo.h" @@ -61,11 +62,11 @@ MailFilter(struct Mail * MailStruct, const char * filter) /* Init pipes. */ if (pipe(child_in) == -1) { - syslog(LOG_ERR, "Couldn't open a writing-pipe to my child process: %m"); + syslog(LOG_ERR, "Couldn't open a writing-pipe to my child process: %s", strerror(errno)); return -1; } if (pipe(child_out) == -1) { - syslog(LOG_ERR, "Couldn't open a read-pipe from my child process: %m"); + syslog(LOG_ERR, "Couldn't open a read-pipe from my child process: %s", strerror(errno)); return -1; } @@ -78,11 +79,11 @@ MailFilter(struct Mail * MailStruct, const char * filter) close(child_in[WRITE]); close(child_out[READ]); if (dup2(child_in[READ], STDIN_FILENO) == -1) { - syslog(LOG_ERR, "Child process couldn't read from pipe: %m"); + syslog(LOG_ERR, "Child process couldn't read from pipe: %s", strerror(errno)); return -1; } if (dup2(child_out[WRITE], STDOUT_FILENO) == -1) { - syslog(LOG_ERR, "Child process couldn't read from pipe: %m"); + syslog(LOG_ERR, "Child process couldn't read from pipe: %s", strerror(errno)); return -1; } close(child_in[READ]); @@ -95,7 +96,7 @@ MailFilter(struct Mail * MailStruct, const char * filter) close(child_in[WRITE]); close(child_out[READ]); close(child_out[WRITE]); - syslog(LOG_ERR, "Couldn't fork: %m"); + syslog(LOG_ERR, "Couldn't fork: %s", strerror(errno)); return -1; default: /* everything is fine */ @@ -107,24 +108,24 @@ MailFilter(struct Mail * MailStruct, const char * filter) rc = fcntl(child_in[WRITE], F_GETFL, 0); if (rc == -1) { - syslog(LOG_ERR, "Couldn't get flags from write-pipe descriptor: %m"); + syslog(LOG_ERR, "Couldn't get flags from write-pipe descriptor: %s", strerror(errno)); goto error_exit; } rc |= O_NONBLOCK; rc = fcntl(child_in[WRITE], F_SETFL, rc); if (rc == -1) { - syslog(LOG_ERR, "Couldn't set flags for write-pipe descriptor: %m"); + syslog(LOG_ERR, "Couldn't set flags for write-pipe descriptor: %s", strerror(errno)); goto error_exit; } rc = fcntl(child_out[READ], F_GETFL, 0); if (rc == -1) { - syslog(LOG_ERR, "Couldn't get flags from write-pipe descriptor: %m"); + syslog(LOG_ERR, "Couldn't get flags from write-pipe descriptor: %s", strerror(errno)); goto error_exit; } rc |= O_NONBLOCK; rc = fcntl(child_out[READ], F_SETFL, rc); if (rc == -1) { - syslog(LOG_ERR, "Couldn't set flags for write-pipe descriptor: %m"); + syslog(LOG_ERR, "Couldn't set flags for write-pipe descriptor: %s", strerror(errno)); goto error_exit; } @@ -167,7 +168,7 @@ MailFilter(struct Mail * MailStruct, const char * filter) } } else if (errno != EAGAIN) { - syslog(LOG_ERR, "Writing to the filter process failed: %m"); + syslog(LOG_ERR, "Writing to the filter process failed: %s", strerror(errno)); goto error_exit; } } @@ -178,7 +179,7 @@ MailFilter(struct Mail * MailStruct, const char * filter) newmail_size += 10*1024; newmail = realloc(newmail, newmail_size); if (newmail == NULL) { - syslog(LOG_ERR, "Failed to allocate %d byte of memory: %m", newmail_size); + syslog(LOG_ERR, "Failed to allocate %d byte of memory: %s", newmail_size, strerror(errno)); goto error_exit; } } @@ -190,7 +191,7 @@ MailFilter(struct Mail * MailStruct, const char * filter) break; /* we are finished */ } else if (errno != EAGAIN) { - syslog(LOG_ERR, "Reading from filter process failed: %m"); + syslog(LOG_ERR, "Reading from filter process failed: %s", strerror(errno)); goto error_exit; } } diff --git a/hermes.c b/hermes.c index 90645a9..5220bf1 100644 --- a/hermes.c +++ b/hermes.c @@ -215,8 +215,6 @@ hermes_main(char * incoming_mail, const char * listname) if (g_is_approved) { - int rc; - syslog(LOG_NOTICE, "\"%s\" acknowledged a former posting attempt on ack-once list \"%s\"; " \ "add him to the ack file and let the posting pass.", MailStruct->From, listname); @@ -229,7 +227,7 @@ hermes_main(char * incoming_mail, const char * listname) } else { - int rc = is_address_on_list(ListConfig->ack_file, MailStruct->From); + rc = is_address_on_list(ListConfig->ack_file, MailStruct->From); if (rc == 0) rc = is_address_on_list(ListConfig->ack_file, MailStruct->Envelope); if (rc < 0) diff --git a/index.c b/index.c index 01225b2..91cecd6 100644 --- a/index.c +++ b/index.c @@ -21,6 +21,7 @@ #include #include #include +#include #include "libtext/text.h" #include "petidomo.h" @@ -53,7 +54,7 @@ GenIndex(struct Mail * MailStruct, fh = vOpenMailer(envelope, address, NULL); if (fh == NULL) { - syslog(LOG_ERR, "Failed to send mail to \"%s\": %m", address); + syslog(LOG_ERR, "Failed to send mail to \"%s\": %s", address, strerror(errno)); return -1; } fprintf(fh, "From: %s (Petidomo Mailing List Server)\n", from); diff --git a/io.c b/io.c index d8363e2..fdb2ad3 100644 --- a/io.c +++ b/io.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "petidomo.h" @@ -42,7 +43,7 @@ LoadFromDescriptor(int fd) for (;;) { rc = read(fd, (buffer+read_size), (buffer_size - read_size - 1)); if (rc == -1) { - syslog(LOG_ERR, "Error occured while reading file: %m"); + syslog(LOG_ERR, "Error occured while reading file: %s", strerror(errno)); free(buffer); return NULL; } @@ -83,7 +84,7 @@ loadfile(const char * filename) assert(filename); if ((fd = open(filename, O_RDONLY, 0)) == -1) { - syslog(LOG_WARNING, "open(\"%s\", O_RDONLY): %m", filename); + syslog(LOG_WARNING, "open(\"%s\", O_RDONLY): %s", filename, strerror(errno)); return NULL; } lock.l_start = 0; @@ -92,11 +93,11 @@ loadfile(const char * filename) lock.l_whence = SEEK_SET; fcntl(fd, F_SETLKW, &lock); if ((len = lseek(fd, 0, SEEK_END)) == -1) { - syslog(LOG_WARNING, "lseek(\"%s\", SEEK_END): %m", filename); + syslog(LOG_WARNING, "lseek(\"%s\", SEEK_END): %s", filename, strerror(errno)); return NULL; } if ((lseek(fd, 0, SEEK_SET) == -1)) { - syslog(LOG_WARNING, "lseek(\"%s\", SEEK_SET): %m", filename); + syslog(LOG_WARNING, "lseek(\"%s\", SEEK_SET): %s", filename, strerror(errno)); return NULL; } buffer = malloc(len+1); @@ -106,7 +107,7 @@ loadfile(const char * filename) } rc = read(fd, buffer, len); if (rc != len) { - syslog(LOG_WARNING, "read(\"%s\", %d) read %d byte: %m", filename, len, rc); + syslog(LOG_WARNING, "read(\"%s\", %d) read %d byte: %s", filename, len, rc, strerror(errno)); return NULL; } buffer[len] = '\0'; @@ -133,12 +134,12 @@ savefile(const char * filename, const char * buffer) lock.l_whence = SEEK_SET; fcntl(fd, F_SETLKW, &lock); if (fd == -1) { - syslog(LOG_ERR, "open(\"%s\"): %m", filename); + syslog(LOG_ERR, "open(\"%s\"): %s", filename, strerror(errno)); return -1; } rc = write(fd, buffer, len); if (rc == -1) { - syslog(LOG_ERR, "Error occured while writing to file \"%s\": %m", filename); + syslog(LOG_ERR, "Error occured while writing to file \"%s\": %s", filename, strerror(errno)); close(fd); return -1; } diff --git a/libargv/argv.c b/libargv/argv.c index ced409b..bf190aa 100644 --- a/libargv/argv.c +++ b/libargv/argv.c @@ -106,7 +106,7 @@ static void argv_startup(void) /*** ET: BSD's strsep funktion. See their man-page... ***/ -char * +static char * my_strsep(char **stringp, const char *delim) { register char *s; diff --git a/libconfigfile/config.c b/libconfigfile/config.c index 4057411..e2b5b15 100644 --- a/libconfigfile/config.c +++ b/libconfigfile/config.c @@ -118,7 +118,7 @@ ReadConfig(const char * filename, /* path to the config file to parse */ file_buf = loadfile(filename); if (file_buf == NULL) { - syslog(LOG_WARNING, "ReadConfig: Failed to load config file \"%s\": %m", filename); + syslog(LOG_WARNING, "ReadConfig: Failed to load config file \"%s\": %s", filename, strerror(errno)); return -1; } @@ -126,7 +126,7 @@ ReadConfig(const char * filename, /* path to the config file to parse */ filename = strdup(filename); if (filename == NULL) { - syslog(LOG_ERR, "ReadConfig: Failed to load config file \"%s\": %m", filename); + syslog(LOG_ERR, "ReadConfig: Failed to load config file \"%s\": %s", filename, strerror(errno)); return -1; } node = AppendNode(Files, filename, file_buf); @@ -227,7 +227,7 @@ ReadConfig(const char * filename, /* path to the config file to parse */ syslog(LOG_WARNING, "ReadConfig: Method not supported at the moment."); break; default: - syslog(LOG_ERR, "ReadConfig internal error: ConfigFile structure element %d has unknown type %d.", i++, (&(cf[i]))->type); + syslog(LOG_ERR, "ReadConfig internal error: ConfigFile structure element %d has unknown type %d.", i, (&(cf[i]))->type); } } @@ -305,7 +305,7 @@ GetConfig(const char * filename, char * keyword) file_buf = loadfile(filename); if (file_buf == NULL) { - syslog(LOG_ERR, "GetConfig: Failed to load config file \"%s\". %m", filename); + syslog(LOG_ERR, "GetConfig: Failed to load config file \"%s\": %s", filename, strerror(errno)); return NULL; } @@ -382,7 +382,7 @@ SetConfig(const char * filename, file_buf = loadfile(filename); if (file_buf == NULL) { - syslog(LOG_ERR, "SetConfig: Failed to load config file \"%s\": %m", filename); + syslog(LOG_ERR, "SetConfig: Failed to load config file \"%s\": %s", filename, strerror(errno)); return -1; } file_len = errno; @@ -462,7 +462,7 @@ SetConfig(const char * filename, return 0; io_error: - syslog(LOG_ERR, "SetConfig: Failed to write to file \"%s\": %m", filename); + syslog(LOG_ERR, "SetConfig: Failed to write to file \"%s\": %s", filename, strerror(errno)); free(file_buf); return -1; } diff --git a/librfc822/address.y b/librfc822/address.y index 4436b84..ec3e3c4 100644 --- a/librfc822/address.y +++ b/librfc822/address.y @@ -22,6 +22,7 @@ #define YYSTYPE char * +#include #include #ifdef DEBUG_DMALLOC # include diff --git a/librfc822/decomment.c b/librfc822/decomment.c index 68f096d..1f6a744 100644 --- a/librfc822/decomment.c +++ b/librfc822/decomment.c @@ -21,6 +21,7 @@ #include #include #include +#include #ifdef DEBUG_DMALLOC # include #endif diff --git a/mailer.c b/mailer.c index 189b68d..9a7bcec 100644 --- a/mailer.c +++ b/mailer.c @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include "libtext/text.h" #include "petidomo.h" @@ -112,7 +114,7 @@ vOpenMailer(const char * envelope, ...) fh = popen(cmdline, "w"); if (fh == NULL) - syslog(LOG_ERR, "Failed opening pipe to \"%s\": %m", cmdline); + syslog(LOG_ERR, "Failed opening pipe to \"%s\": %s", cmdline, strerror(errno)); free(cmdline); return fh; @@ -218,7 +220,7 @@ ListMail(const char * envelope, const char * listname, const struct Mail * MailS arguments[counter++] = NULL; if (pipe(fildes) == -1) { - syslog(LOG_ERR, "Couldn't open a pipe to my child process: %m"); + syslog(LOG_ERR, "Couldn't open a pipe to my child process: %s", strerror(errno)); return -1; } child_pid = fork(); @@ -229,16 +231,16 @@ ListMail(const char * envelope, const char * listname, const struct Mail * MailS close(MYPIPE_WRITE); if (dup2(MYPIPE_READ, STDIN_FILENO) == -1) { - syslog(LOG_ERR, "Child process couldn't read from pipe: %m"); + syslog(LOG_ERR, "Child process couldn't read from pipe: %s", strerror(errno)); return -1; } close(MYPIPE_READ); execv(MasterConfig->mta, arguments); - syslog(LOG_ERR, "Couldn't exec(\"%s\"): %m", MasterConfig->mta); + syslog(LOG_ERR, "Couldn't exec(\"%s\"): %s", MasterConfig->mta, strerror(errno)); return -1; case -1: /* Error */ - syslog(LOG_ERR, "Couldn't fork: %m"); + syslog(LOG_ERR, "Couldn't fork: %s", strerror(errno)); return -1; default: /* everything is fine */ diff --git a/members.c b/members.c index bbb6f34..d0cc6f4 100644 --- a/members.c +++ b/members.c @@ -21,6 +21,7 @@ #include #include #include +#include #include "libtext/text.h" #include "petidomo.h" diff --git a/password.c b/password.c index 8748316..c652917 100644 --- a/password.c +++ b/password.c @@ -18,6 +18,7 @@ */ #include +#include #include "petidomo.h" static const char * s_password = NULL; diff --git a/queue_command.c b/queue_command.c index 380036a..7580a88 100644 --- a/queue_command.c +++ b/queue_command.c @@ -17,6 +17,8 @@ General Public License for more details. */ +#include +#include #include #include #include "libtext/text.h" @@ -34,7 +36,7 @@ char* queue_command(const struct Mail* mail, const char* command) fh = fopen(buffer, "w"); if (fh == NULL) { - syslog(LOG_ERR, "Opening ack spool file \"%s\" failed: %m", buffer); + syslog(LOG_ERR, "Opening ack spool file \"%s\" failed: %s", buffer, strerror(errno)); exit(1); } fprintf(fh, "#! /bin/sh\n"); diff --git a/queue_posting.c b/queue_posting.c index a96c177..db4ed6b 100644 --- a/queue_posting.c +++ b/queue_posting.c @@ -17,6 +17,8 @@ General Public License for more details. */ +#include +#include #include #include #include "libtext/text.h" @@ -34,7 +36,7 @@ char* queue_posting(const struct Mail* mail, const char* listname) fh = fopen(buffer, "w"); if (fh == NULL) { - syslog(LOG_ERR, "Opening ack spool file \"%s\" failed: %m", buffer); + syslog(LOG_ERR, "Opening ack spool file \"%s\" failed: %s", buffer, strerror(errno)); exit(1); } fprintf(fh, "#! /bin/sh\n"); diff --git a/subscribe.c b/subscribe.c index f03aba0..f40741b 100644 --- a/subscribe.c +++ b/subscribe.c @@ -18,6 +18,8 @@ */ #include +#include + #include "libtext/text.h" #include "petidomo.h" @@ -291,7 +293,7 @@ AddAddress(struct Mail * MailStruct, fh = fopen(ListConfig->address_file, "a"); if (fh == NULL) { - syslog(LOG_ERR, "Failed to open file \"%s\" for writing: %m", ListConfig->address_file); + syslog(LOG_ERR, "Failed to open file \"%s\" for writing: %s", ListConfig->address_file, strerror(errno)); return -1; } fprintf(fh, "%s\n", address); diff --git a/unsubscribe.c b/unsubscribe.c index 594d830..e1b3977 100644 --- a/unsubscribe.c +++ b/unsubscribe.c @@ -18,6 +18,8 @@ */ #include +#include + #include "libtext/text.h" #include "petidomo.h" @@ -293,7 +295,7 @@ DeleteAddress(struct Mail * MailStruct, fh = fopen(ListConfig->address_file, "w"); if (fh == NULL) { - syslog(LOG_ERR, "Failed to open file \"%s\" for writing: %m", ListConfig->address_file); + syslog(LOG_ERR, "Failed to open file \"%s\" for writing: %s", ListConfig->address_file, strerror(errno)); return -1; } *p++ = '\0';