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"
|
#include "petidomo.h"
|
||||||
|
|
||||||
int
|
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 PD_Config * MasterConfig;
|
||||||
const struct List_Config * ListConfig;
|
const struct List_Config * ListConfig;
|
||||||
|
|||||||
@ -26,7 +26,7 @@
|
|||||||
char * g_currLine; /* pointer to the line currently parsed */
|
char * g_currLine; /* pointer to the line currently parsed */
|
||||||
|
|
||||||
int
|
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;
|
const struct List_Config * ListConfig;
|
||||||
struct Mail * MailStruct;
|
struct Mail * MailStruct;
|
||||||
|
|||||||
10
main.c
10
main.c
@ -33,6 +33,7 @@
|
|||||||
static char* listname = NULL;
|
static char* listname = NULL;
|
||||||
static char* mode = NULL;
|
static char* mode = NULL;
|
||||||
static char* masterconfig_path = SYSCONFDIR "/petidomo.conf";
|
static char* masterconfig_path = SYSCONFDIR "/petidomo.conf";
|
||||||
|
static char is_approved = ARGV_FALSE;
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char * argv[])
|
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_MAND, "mode", ARGV_CHAR_P, &mode, "mode", "listserv, deliver, or approve."},
|
||||||
{ARGV_MAYBE, "listname", ARGV_CHAR_P, &listname, "listname", "Default mailing list."},
|
{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, "masterconf", ARGV_CHAR_P, &masterconfig_path, "masterconf", "Path to petidomo.conf."},
|
||||||
|
{ARGV_MAYBE, "approved", ARGV_BOOL, &is_approved, "approved", "approved flag."},
|
||||||
{ARGV_LAST}
|
{ARGV_LAST}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -78,21 +80,17 @@ main(int argc, char * argv[])
|
|||||||
/* Now decide what we actually do with the mail. */
|
/* Now decide what we actually do with the mail. */
|
||||||
|
|
||||||
if (strcasecmp("listserv", mode) == 0)
|
if (strcasecmp("listserv", mode) == 0)
|
||||||
listserv_main(incoming_mail, listname);
|
listserv_main(incoming_mail, listname, is_approved);
|
||||||
else if (strcasecmp("deliver", mode) == 0)
|
else if (strcasecmp("deliver", mode) == 0)
|
||||||
{
|
{
|
||||||
if (listname != NULL)
|
if (listname != NULL)
|
||||||
hermes_main(incoming_mail, listname);
|
hermes_main(incoming_mail, listname, is_approved);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
syslog(LOG_ERR, "Wrong command line syntax; deliver mode requires a parameter.");
|
syslog(LOG_ERR, "Wrong command line syntax; deliver mode requires a parameter.");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (strcasecmp("petidomo", mode) == 0)
|
|
||||||
{
|
|
||||||
/* do nothing */
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
syslog(LOG_ERR, "I don't know anything about mode \"%s\".", mode);
|
syslog(LOG_ERR, "I don't know anything about mode \"%s\".", mode);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user