Added --approved command line parameter, which is treated as a
boolean. Whether it is set or not will be passed through to listserv_main() and to hermes_main(). The parameter will be used by the spooling mechanism.
This commit is contained in:
parent
8625cea8e4
commit
40c7ea336b
2
hermes.c
2
hermes.c
@ -25,7 +25,7 @@
|
||||
#include "petidomo.h"
|
||||
|
||||
int
|
||||
hermes_main(char * incoming_mail, const char * listname)
|
||||
hermes_main(char * incoming_mail, const char * listname, char is_approved)
|
||||
{
|
||||
const struct PD_Config * MasterConfig;
|
||||
const struct List_Config * ListConfig;
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
char * g_currLine; /* pointer to the line currently parsed */
|
||||
|
||||
int
|
||||
listserv_main(char * incoming_mail, char * default_list)
|
||||
listserv_main(char * incoming_mail, char * default_list, char is_approved)
|
||||
{
|
||||
const struct List_Config * ListConfig;
|
||||
struct Mail * MailStruct;
|
||||
|
||||
10
main.c
10
main.c
@ -33,6 +33,7 @@
|
||||
static char* listname = NULL;
|
||||
static char* mode = NULL;
|
||||
static char* masterconfig_path = SYSCONFDIR "/petidomo.conf";
|
||||
static char is_approved = ARGV_FALSE;
|
||||
|
||||
int
|
||||
main(int argc, char * argv[])
|
||||
@ -44,6 +45,7 @@ main(int argc, char * argv[])
|
||||
{ARGV_MAND, "mode", ARGV_CHAR_P, &mode, "mode", "listserv, deliver, or approve."},
|
||||
{ARGV_MAYBE, "listname", ARGV_CHAR_P, &listname, "listname", "Default mailing list."},
|
||||
{ARGV_MAYBE, "masterconf", ARGV_CHAR_P, &masterconfig_path, "masterconf", "Path to petidomo.conf."},
|
||||
{ARGV_MAYBE, "approved", ARGV_BOOL, &is_approved, "approved", "approved flag."},
|
||||
{ARGV_LAST}
|
||||
};
|
||||
|
||||
@ -78,21 +80,17 @@ main(int argc, char * argv[])
|
||||
/* Now decide what we actually do with the mail. */
|
||||
|
||||
if (strcasecmp("listserv", mode) == 0)
|
||||
listserv_main(incoming_mail, listname);
|
||||
listserv_main(incoming_mail, listname, is_approved);
|
||||
else if (strcasecmp("deliver", mode) == 0)
|
||||
{
|
||||
if (listname != NULL)
|
||||
hermes_main(incoming_mail, listname);
|
||||
hermes_main(incoming_mail, listname, is_approved);
|
||||
else
|
||||
{
|
||||
syslog(LOG_ERR, "Wrong command line syntax; deliver mode requires a parameter.");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
else if (strcasecmp("petidomo", mode) == 0)
|
||||
{
|
||||
/* do nothing */
|
||||
}
|
||||
else
|
||||
{
|
||||
syslog(LOG_ERR, "I don't know anything about mode \"%s\".", mode);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user