Get rid of all complaints from GCC 2.97
(except for two things which I do not want to change on my own)
This commit is contained in:
parent
727cb694ec
commit
00eb2b8fc0
8
acl.y
8
acl.y
@ -158,7 +158,7 @@ dofilter(const char * filter)
|
|||||||
|
|
||||||
fh = popen(filter, "w");
|
fh = popen(filter, "w");
|
||||||
if (fh == NULL) {
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
fprintf(fh, "%s\n", g_MailStruct->Header);
|
fprintf(fh, "%s\n", g_MailStruct->Header);
|
||||||
@ -263,7 +263,7 @@ int checkACL(struct Mail * MailStruct,
|
|||||||
/* no master acl file */
|
/* no master acl file */
|
||||||
goto check_local_acl_file;
|
goto check_local_acl_file;
|
||||||
default:
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -307,7 +307,7 @@ check_local_acl_file:
|
|||||||
/* no list acl file */
|
/* no list acl file */
|
||||||
goto finished;
|
goto finished;
|
||||||
default:
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -316,7 +316,7 @@ check_local_acl_file:
|
|||||||
fclose(yyin);
|
fclose(yyin);
|
||||||
yyin = NULL;
|
yyin = NULL;
|
||||||
if (rc != 0) {
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -69,7 +69,7 @@ int add_address(const char* file, const char* address)
|
|||||||
fh = fopen(file, "a");
|
fh = fopen(file, "a");
|
||||||
if (fh == NULL)
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
fprintf(fh, "%s\n", address);
|
fprintf(fh, "%s\n", address);
|
||||||
|
|||||||
@ -17,11 +17,14 @@
|
|||||||
General Public License for more details.
|
General Public License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "petidomo.h"
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <regex.h>
|
#include <regex.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
#include "petidomo.h"
|
||||||
|
|
||||||
int approve_main(char* mail)
|
int approve_main(char* mail)
|
||||||
{
|
{
|
||||||
@ -33,7 +36,7 @@ int approve_main(char* mail)
|
|||||||
|
|
||||||
if (chdir(MasterConfig->ack_queue_dir) == -1)
|
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);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,7 +76,7 @@ int approve_main(char* mail)
|
|||||||
sprintf(cmd, "/bin/sh %s && /bin/rm -f %s", buffer, buffer);
|
sprintf(cmd, "/bin/sh %s && /bin/rm -f %s", buffer, buffer);
|
||||||
if (((signed char)system(cmd)) == -1)
|
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);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
6
config.c
6
config.c
@ -154,7 +154,7 @@ const struct List_Config* getListConfig(const char * listname)
|
|||||||
int rc;
|
int rc;
|
||||||
char * buffer;
|
char * buffer;
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
char* list_dir;
|
char* this_list_dir;
|
||||||
|
|
||||||
/* Format description of our global config file. */
|
/* 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. */
|
/* No? Then read the config file. */
|
||||||
|
|
||||||
buffer = text_easy_sprintf("%s/%s/config", MasterConfig->list_dir, listname);
|
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)
|
if (stat(buffer, &sb) != 0)
|
||||||
{
|
{
|
||||||
free(buffer);
|
free(buffer);
|
||||||
@ -293,7 +293,7 @@ const struct List_Config* getListConfig(const char * listname)
|
|||||||
ListConfig->posting_password = posting_password;
|
ListConfig->posting_password = posting_password;
|
||||||
ListConfig->postingfilter = postingfilter;
|
ListConfig->postingfilter = postingfilter;
|
||||||
|
|
||||||
ListConfig->list_dir = list_dir;
|
ListConfig->list_dir = this_list_dir;
|
||||||
|
|
||||||
#define EXPAND(dst, src) \
|
#define EXPAND(dst, src) \
|
||||||
if (src == NULL || src[0] == '/') \
|
if (src == NULL || src[0] == '/') \
|
||||||
|
|||||||
25
filter.c
25
filter.c
@ -23,6 +23,7 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#include "petidomo.h"
|
#include "petidomo.h"
|
||||||
|
|
||||||
@ -61,11 +62,11 @@ MailFilter(struct Mail * MailStruct, const char * filter)
|
|||||||
/* Init pipes. */
|
/* Init pipes. */
|
||||||
|
|
||||||
if (pipe(child_in) == -1) {
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
if (pipe(child_out) == -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;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,11 +79,11 @@ MailFilter(struct Mail * MailStruct, const char * filter)
|
|||||||
close(child_in[WRITE]);
|
close(child_in[WRITE]);
|
||||||
close(child_out[READ]);
|
close(child_out[READ]);
|
||||||
if (dup2(child_in[READ], STDIN_FILENO) == -1) {
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
if (dup2(child_out[WRITE], STDOUT_FILENO) == -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;
|
return -1;
|
||||||
}
|
}
|
||||||
close(child_in[READ]);
|
close(child_in[READ]);
|
||||||
@ -95,7 +96,7 @@ MailFilter(struct Mail * MailStruct, const char * filter)
|
|||||||
close(child_in[WRITE]);
|
close(child_in[WRITE]);
|
||||||
close(child_out[READ]);
|
close(child_out[READ]);
|
||||||
close(child_out[WRITE]);
|
close(child_out[WRITE]);
|
||||||
syslog(LOG_ERR, "Couldn't fork: %m");
|
syslog(LOG_ERR, "Couldn't fork: %s", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
default:
|
default:
|
||||||
/* everything is fine */
|
/* everything is fine */
|
||||||
@ -107,24 +108,24 @@ MailFilter(struct Mail * MailStruct, const char * filter)
|
|||||||
|
|
||||||
rc = fcntl(child_in[WRITE], F_GETFL, 0);
|
rc = fcntl(child_in[WRITE], F_GETFL, 0);
|
||||||
if (rc == -1) {
|
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;
|
goto error_exit;
|
||||||
}
|
}
|
||||||
rc |= O_NONBLOCK;
|
rc |= O_NONBLOCK;
|
||||||
rc = fcntl(child_in[WRITE], F_SETFL, rc);
|
rc = fcntl(child_in[WRITE], F_SETFL, rc);
|
||||||
if (rc == -1) {
|
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;
|
goto error_exit;
|
||||||
}
|
}
|
||||||
rc = fcntl(child_out[READ], F_GETFL, 0);
|
rc = fcntl(child_out[READ], F_GETFL, 0);
|
||||||
if (rc == -1) {
|
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;
|
goto error_exit;
|
||||||
}
|
}
|
||||||
rc |= O_NONBLOCK;
|
rc |= O_NONBLOCK;
|
||||||
rc = fcntl(child_out[READ], F_SETFL, rc);
|
rc = fcntl(child_out[READ], F_SETFL, rc);
|
||||||
if (rc == -1) {
|
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;
|
goto error_exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -167,7 +168,7 @@ MailFilter(struct Mail * MailStruct, const char * filter)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (errno != EAGAIN) {
|
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;
|
goto error_exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -178,7 +179,7 @@ MailFilter(struct Mail * MailStruct, const char * filter)
|
|||||||
newmail_size += 10*1024;
|
newmail_size += 10*1024;
|
||||||
newmail = realloc(newmail, newmail_size);
|
newmail = realloc(newmail, newmail_size);
|
||||||
if (newmail == NULL) {
|
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;
|
goto error_exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -190,7 +191,7 @@ MailFilter(struct Mail * MailStruct, const char * filter)
|
|||||||
break; /* we are finished */
|
break; /* we are finished */
|
||||||
}
|
}
|
||||||
else if (errno != EAGAIN) {
|
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;
|
goto error_exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
4
hermes.c
4
hermes.c
@ -215,8 +215,6 @@ hermes_main(char * incoming_mail, const char * listname)
|
|||||||
|
|
||||||
if (g_is_approved)
|
if (g_is_approved)
|
||||||
{
|
{
|
||||||
int rc;
|
|
||||||
|
|
||||||
syslog(LOG_NOTICE, "\"%s\" acknowledged a former posting attempt on ack-once list \"%s\"; " \
|
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);
|
"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
|
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)
|
if (rc == 0)
|
||||||
rc = is_address_on_list(ListConfig->ack_file, MailStruct->Envelope);
|
rc = is_address_on_list(ListConfig->ack_file, MailStruct->Envelope);
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
|
|||||||
3
index.c
3
index.c
@ -21,6 +21,7 @@
|
|||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
#include "libtext/text.h"
|
#include "libtext/text.h"
|
||||||
#include "petidomo.h"
|
#include "petidomo.h"
|
||||||
@ -53,7 +54,7 @@ GenIndex(struct Mail * MailStruct,
|
|||||||
|
|
||||||
fh = vOpenMailer(envelope, address, NULL);
|
fh = vOpenMailer(envelope, address, NULL);
|
||||||
if (fh == 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;
|
return -1;
|
||||||
}
|
}
|
||||||
fprintf(fh, "From: %s (Petidomo Mailing List Server)\n", from);
|
fprintf(fh, "From: %s (Petidomo Mailing List Server)\n", from);
|
||||||
|
|||||||
15
io.c
15
io.c
@ -20,6 +20,7 @@
|
|||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#include "petidomo.h"
|
#include "petidomo.h"
|
||||||
|
|
||||||
@ -42,7 +43,7 @@ LoadFromDescriptor(int fd)
|
|||||||
for (;;) {
|
for (;;) {
|
||||||
rc = read(fd, (buffer+read_size), (buffer_size - read_size - 1));
|
rc = read(fd, (buffer+read_size), (buffer_size - read_size - 1));
|
||||||
if (rc == -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);
|
free(buffer);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -83,7 +84,7 @@ loadfile(const char * filename)
|
|||||||
assert(filename);
|
assert(filename);
|
||||||
|
|
||||||
if ((fd = open(filename, O_RDONLY, 0)) == -1) {
|
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;
|
return NULL;
|
||||||
}
|
}
|
||||||
lock.l_start = 0;
|
lock.l_start = 0;
|
||||||
@ -92,11 +93,11 @@ loadfile(const char * filename)
|
|||||||
lock.l_whence = SEEK_SET;
|
lock.l_whence = SEEK_SET;
|
||||||
fcntl(fd, F_SETLKW, &lock);
|
fcntl(fd, F_SETLKW, &lock);
|
||||||
if ((len = lseek(fd, 0, SEEK_END)) == -1) {
|
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;
|
return NULL;
|
||||||
}
|
}
|
||||||
if ((lseek(fd, 0, SEEK_SET) == -1)) {
|
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;
|
return NULL;
|
||||||
}
|
}
|
||||||
buffer = malloc(len+1);
|
buffer = malloc(len+1);
|
||||||
@ -106,7 +107,7 @@ loadfile(const char * filename)
|
|||||||
}
|
}
|
||||||
rc = read(fd, buffer, len);
|
rc = read(fd, buffer, len);
|
||||||
if (rc != 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;
|
return NULL;
|
||||||
}
|
}
|
||||||
buffer[len] = '\0';
|
buffer[len] = '\0';
|
||||||
@ -133,12 +134,12 @@ savefile(const char * filename, const char * buffer)
|
|||||||
lock.l_whence = SEEK_SET;
|
lock.l_whence = SEEK_SET;
|
||||||
fcntl(fd, F_SETLKW, &lock);
|
fcntl(fd, F_SETLKW, &lock);
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
syslog(LOG_ERR, "open(\"%s\"): %m", filename);
|
syslog(LOG_ERR, "open(\"%s\"): %s", filename, strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
rc = write(fd, buffer, len);
|
rc = write(fd, buffer, len);
|
||||||
if (rc == -1) {
|
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);
|
close(fd);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -106,7 +106,7 @@ static void argv_startup(void)
|
|||||||
|
|
||||||
/*** ET: BSD's strsep funktion. See their man-page... ***/
|
/*** ET: BSD's strsep funktion. See their man-page... ***/
|
||||||
|
|
||||||
char *
|
static char *
|
||||||
my_strsep(char **stringp, const char *delim)
|
my_strsep(char **stringp, const char *delim)
|
||||||
{
|
{
|
||||||
register char *s;
|
register char *s;
|
||||||
|
|||||||
@ -118,7 +118,7 @@ ReadConfig(const char * filename, /* path to the config file to parse */
|
|||||||
|
|
||||||
file_buf = loadfile(filename);
|
file_buf = loadfile(filename);
|
||||||
if (file_buf == NULL) {
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ ReadConfig(const char * filename, /* path to the config file to parse */
|
|||||||
|
|
||||||
filename = strdup(filename);
|
filename = strdup(filename);
|
||||||
if (filename == NULL) {
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
node = AppendNode(Files, filename, file_buf);
|
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.");
|
syslog(LOG_WARNING, "ReadConfig: Method not supported at the moment.");
|
||||||
break;
|
break;
|
||||||
default:
|
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);
|
file_buf = loadfile(filename);
|
||||||
if (file_buf == NULL) {
|
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;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -382,7 +382,7 @@ SetConfig(const char * filename,
|
|||||||
|
|
||||||
file_buf = loadfile(filename);
|
file_buf = loadfile(filename);
|
||||||
if (file_buf == NULL) {
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
file_len = errno;
|
file_len = errno;
|
||||||
@ -462,7 +462,7 @@ SetConfig(const char * filename,
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
io_error:
|
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);
|
free(file_buf);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
#define YYSTYPE char *
|
#define YYSTYPE char *
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#ifdef DEBUG_DMALLOC
|
#ifdef DEBUG_DMALLOC
|
||||||
# include <dmalloc.h>
|
# include <dmalloc.h>
|
||||||
|
|||||||
@ -21,6 +21,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#include <string.h>
|
||||||
#ifdef DEBUG_DMALLOC
|
#ifdef DEBUG_DMALLOC
|
||||||
# include <dmalloc.h>
|
# include <dmalloc.h>
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
12
mailer.c
12
mailer.c
@ -23,6 +23,8 @@
|
|||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
#include "libtext/text.h"
|
#include "libtext/text.h"
|
||||||
#include "petidomo.h"
|
#include "petidomo.h"
|
||||||
@ -112,7 +114,7 @@ vOpenMailer(const char * envelope, ...)
|
|||||||
|
|
||||||
fh = popen(cmdline, "w");
|
fh = popen(cmdline, "w");
|
||||||
if (fh == NULL)
|
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);
|
free(cmdline);
|
||||||
return fh;
|
return fh;
|
||||||
@ -218,7 +220,7 @@ ListMail(const char * envelope, const char * listname, const struct Mail * MailS
|
|||||||
arguments[counter++] = NULL;
|
arguments[counter++] = NULL;
|
||||||
if (pipe(fildes) == -1)
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
child_pid = fork();
|
child_pid = fork();
|
||||||
@ -229,16 +231,16 @@ ListMail(const char * envelope, const char * listname, const struct Mail * MailS
|
|||||||
close(MYPIPE_WRITE);
|
close(MYPIPE_WRITE);
|
||||||
if (dup2(MYPIPE_READ, STDIN_FILENO) == -1)
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
close(MYPIPE_READ);
|
close(MYPIPE_READ);
|
||||||
execv(MasterConfig->mta, arguments);
|
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;
|
return -1;
|
||||||
case -1:
|
case -1:
|
||||||
/* Error */
|
/* Error */
|
||||||
syslog(LOG_ERR, "Couldn't fork: %m");
|
syslog(LOG_ERR, "Couldn't fork: %s", strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
default:
|
default:
|
||||||
/* everything is fine */
|
/* everything is fine */
|
||||||
|
|||||||
@ -21,6 +21,7 @@
|
|||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#include "libtext/text.h"
|
#include "libtext/text.h"
|
||||||
#include "petidomo.h"
|
#include "petidomo.h"
|
||||||
|
|||||||
@ -18,6 +18,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
#include <string.h>
|
||||||
#include "petidomo.h"
|
#include "petidomo.h"
|
||||||
|
|
||||||
static const char * s_password = NULL;
|
static const char * s_password = NULL;
|
||||||
|
|||||||
@ -17,6 +17,8 @@
|
|||||||
General Public License for more details.
|
General Public License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
#include <errno.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include "libtext/text.h"
|
#include "libtext/text.h"
|
||||||
@ -34,7 +36,7 @@ char* queue_command(const struct Mail* mail, const char* command)
|
|||||||
fh = fopen(buffer, "w");
|
fh = fopen(buffer, "w");
|
||||||
if (fh == NULL)
|
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);
|
exit(1);
|
||||||
}
|
}
|
||||||
fprintf(fh, "#! /bin/sh\n");
|
fprintf(fh, "#! /bin/sh\n");
|
||||||
|
|||||||
@ -17,6 +17,8 @@
|
|||||||
General Public License for more details.
|
General Public License for more details.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
#include <errno.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include "libtext/text.h"
|
#include "libtext/text.h"
|
||||||
@ -34,7 +36,7 @@ char* queue_posting(const struct Mail* mail, const char* listname)
|
|||||||
fh = fopen(buffer, "w");
|
fh = fopen(buffer, "w");
|
||||||
if (fh == NULL)
|
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);
|
exit(1);
|
||||||
}
|
}
|
||||||
fprintf(fh, "#! /bin/sh\n");
|
fprintf(fh, "#! /bin/sh\n");
|
||||||
|
|||||||
@ -18,6 +18,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
#include "libtext/text.h"
|
#include "libtext/text.h"
|
||||||
#include "petidomo.h"
|
#include "petidomo.h"
|
||||||
|
|
||||||
@ -291,7 +293,7 @@ AddAddress(struct Mail * MailStruct,
|
|||||||
fh = fopen(ListConfig->address_file, "a");
|
fh = fopen(ListConfig->address_file, "a");
|
||||||
if (fh == NULL)
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
fprintf(fh, "%s\n", address);
|
fprintf(fh, "%s\n", address);
|
||||||
|
|||||||
@ -18,6 +18,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
#include "libtext/text.h"
|
#include "libtext/text.h"
|
||||||
#include "petidomo.h"
|
#include "petidomo.h"
|
||||||
|
|
||||||
@ -293,7 +295,7 @@ DeleteAddress(struct Mail * MailStruct,
|
|||||||
fh = fopen(ListConfig->address_file, "w");
|
fh = fopen(ListConfig->address_file, "w");
|
||||||
if (fh == NULL)
|
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;
|
return -1;
|
||||||
}
|
}
|
||||||
*p++ = '\0';
|
*p++ = '\0';
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user