Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
John McEleney
/
mailutils
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
ad98cad1
...
ad98cad1ba758ed988a39f763ecc2ecda4eedb20
authored
2002-10-29 12:44:54 +0000
by
Sergey Poznyakoff
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Option -M none disables creating the mailer.
1 parent
28a860df
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
30 deletions
sieve/sieve.c
sieve/sieve.c
View file @
ad98cad
...
...
@@ -49,7 +49,7 @@ sieve script interpreter.
#include <mailutils/registrar.h>
#include <mailutils/stream.h>
void
mutil_register_all_mbox_formats
(
void
);
void
mutil_register_all_mbox_formats
(
void
);
const
char
*
argp_program_version
=
"sieve ("
PACKAGE_STRING
")"
;
...
...
@@ -63,8 +63,7 @@ static char doc[] =
" P - network protocols (MU_DEBUG_PROT)
\n
"
" t - sieve trace (SV_DEBUG_TRACE)
\n
"
" h - sieve header filling (SV_DEBUG_HDR_FILL)
\n
"
" q - sieve message queries (SV_DEBUG_MSG_QUERY)
\n
"
;
" q - sieve message queries (SV_DEBUG_MSG_QUERY)
\n
"
;
#define D_DEFAULT "TPt"
...
...
@@ -85,7 +84,7 @@ static struct argp_option options[] = {
"Ticket file for mailbox authentication"
,
0
},
{
"mailer-url"
,
'M'
,
"MAILER"
,
0
,
"Mailer URL (defaults to
\"
sendmail:
\"
)"
,
0
},
"Mailer URL (defaults to
\"
sendmail:
\"
)
. Use `--mailer-url none' to disable creating the mailer (it will disable reject and redirect actions as well)
"
,
0
},
{
"debug"
,
'd'
,
"FLAGS"
,
OPTION_ARG_OPTIONAL
,
"Debug flags (defaults to
\"
"
D_DEFAULT
"
\"
)"
,
0
},
...
...
@@ -215,17 +214,17 @@ static const char *sieve_argp_capa[] = {
};
char
*
sieve_license_text
=
" Copyright 1999 by Carnegie Mellon University
\n
"
" Copyright 1999,2001,2002 by Free Software Foundation
\n
"
"
\n
"
" Permission to use, copy, modify, and distribute this software and its
\n
"
" documentation for any purpose and without fee is hereby granted,
\n
"
" provided that the above copyright notice appear in all copies and that
\n
"
" both that copyright notice and this permission notice appear in
\n
"
" supporting documentation, and that the name of Carnegie Mellon
\n
"
" University not be used in advertising or publicity pertaining to
\n
"
" distribution of the software without specific, written prior
\n
"
" permission.
\n
"
;
" Copyright 1999 by Carnegie Mellon University
\n
"
" Copyright 1999,2001,2002 by Free Software Foundation
\n
"
"
\n
"
" Permission to use, copy, modify, and distribute this software and its
\n
"
" documentation for any purpose and without fee is hereby granted,
\n
"
" provided that the above copyright notice appear in all copies and that
\n
"
" both that copyright notice and this permission notice appear in
\n
"
" supporting documentation, and that the name of Carnegie Mellon
\n
"
" University not be used in advertising or publicity pertaining to
\n
"
" distribution of the software without specific, written prior
\n
"
" permission.
\n
"
;
static
void
...
...
@@ -292,10 +291,11 @@ main (int argc, char *argv[])
/* Override license text: */
mu_license_text
=
sieve_license_text
;
rc
=
mu_argp_parse
(
&
argp
,
&
argc
,
&
argv
,
ARGP_IN_ORDER
,
sieve_argp_capa
,
rc
=
mu_argp_parse
(
&
argp
,
&
argc
,
&
argv
,
ARGP_IN_ORDER
,
sieve_argp_capa
,
0
,
&
opts
);
if
(
rc
)
{
if
(
rc
)
{
fprintf
(
stderr
,
"arg parsing failed: %s
\n
"
,
sv_strerror
(
rc
));
return
1
;
}
...
...
@@ -353,18 +353,22 @@ main (int argc, char *argv[])
}
if
((
rc
=
mu_debug_set_level
(
debug
,
opts
.
debug_level
)))
{
fprintf
(
stderr
,
"mu_debug_set_level failed: %s
\n
"
,
mu_errstring
(
rc
));
fprintf
(
stderr
,
"mu_debug_set_level failed: %s
\n
"
,
mu_errstring
(
rc
));
goto
cleanup
;
}
if
((
rc
=
mu_debug_set_print
(
debug
,
debug_print
,
interp
)))
{
fprintf
(
stderr
,
"mu_debug_set_print failed: %s
\n
"
,
mu_errstring
(
rc
));
fprintf
(
stderr
,
"mu_debug_set_print failed: %s
\n
"
,
mu_errstring
(
rc
));
goto
cleanup
;
}
}
/* Create a mailer. */
if
((
rc
=
mailer_create
(
&
mailer
,
opts
.
mailer
)))
if
(
strcmp
(
opts
.
mailer
,
"none"
))
{
if
((
rc
=
mailer_create
(
&
mailer
,
opts
.
mailer
)))
{
fprintf
(
stderr
,
"mailer create <%s> failed: %s
\n
"
,
opts
.
mailer
,
mu_errstring
(
rc
));
...
...
@@ -372,10 +376,11 @@ main (int argc, char *argv[])
}
if
(
debug
&&
(
rc
=
mailer_set_debug
(
mailer
,
debug
)))
{
fprintf
(
stderr
,
"mailer_set_debug failed: %s
\n
"
,
mu_errstring
(
rc
));
fprintf
(
stderr
,
"mailer_set_debug failed: %s
\n
"
,
mu_errstring
(
rc
));
goto
cleanup
;
}
}
/* Create, give a ticket to, and open the mailbox. */
if
((
rc
=
mailbox_create_default
(
&
mbox
,
opts
.
mbox
))
!=
0
)
{
...
...
@@ -397,20 +402,23 @@ main (int argc, char *argv[])
if
((
rc
=
mailbox_get_folder
(
mbox
,
&
folder
)))
{
fprintf
(
stderr
,
"mailbox_get_folder failed: %s"
,
mu_errstring
(
rc
));
fprintf
(
stderr
,
"mailbox_get_folder failed: %s"
,
mu_errstring
(
rc
));
goto
cleanup
;
}
if
((
rc
=
folder_get_authority
(
folder
,
&
auth
)))
{
fprintf
(
stderr
,
"folder_get_authority failed: %s"
,
mu_errstring
(
rc
));
fprintf
(
stderr
,
"folder_get_authority failed: %s"
,
mu_errstring
(
rc
));
goto
cleanup
;
}
/* Authentication-less folders don't have authorities. */
if
(
auth
&&
(
rc
=
authority_set_ticket
(
auth
,
ticket
)))
{
fprintf
(
stderr
,
"authority_set_ticket failed: %s"
,
mu_errstring
(
rc
));
fprintf
(
stderr
,
"authority_set_ticket failed: %s"
,
mu_errstring
(
rc
));
goto
cleanup
;
}
}
...
...
@@ -445,11 +453,14 @@ main (int argc, char *argv[])
if
((
rc
=
mailbox_get_message
(
mbox
,
msgno
,
&
msg
))
!=
0
)
{
fprintf
(
stderr
,
"get message on %s (msg %d) failed: %s
\n
"
,
opts
.
mbox
?
opts
.
mbox
:
"default"
,
msgno
,
mu_errstring
(
rc
));
opts
.
mbox
?
opts
.
mbox
:
"default"
,
msgno
,
mu_errstring
(
rc
));
goto
cleanup
;
}
rc
=
sv_script_execute
(
script
,
msg
,
ticket
,
debug
,
mailer
,
opts
.
no_actions
);
rc
=
sv_script_execute
(
script
,
msg
,
ticket
,
debug
,
mailer
,
opts
.
no_actions
);
if
(
rc
)
{
...
...
@@ -476,13 +487,13 @@ cleanup:
fprintf
(
stderr
,
"expunge on %s failed: %s
\n
"
,
opts
.
mbox
?
opts
.
mbox
:
"default"
,
mu_errstring
(
e
));
if
(
e
&&
!
rc
)
if
(
e
&&
!
rc
)
rc
=
e
;
}
mailbox_close
(
mbox
);
mailbox_destroy
(
&
mbox
);
mu_debug_destroy
(
&
debug
,
interp
);
mu_debug_destroy
(
&
debug
,
interp
);
sv_script_free
(
&
script
);
sv_interp_free
(
&
interp
);
...
...
@@ -503,4 +514,3 @@ mutil_register_all_mbox_formats (void)
list_append
(
bookie
,
sendmail_record
);
list_append
(
bookie
,
smtp_record
);
}
...
...
Please
register
or
sign in
to post a comment