aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--lib/mf-dbm.c6
-rw-r--r--src/builtin/burst.bi2
-rw-r--r--src/mfdbtool.c12
4 files changed, 14 insertions, 8 deletions
diff --git a/configure.ac b/configure.ac
index 6bff0484..0e975fc6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -105,13 +105,13 @@ gl_INIT
AH_BOTTOM([
/* program_name is used by lib/error.c */
#define program_name program_invocation_name
])
# Check for GNU Mailutils
-AM_GNU_MAILUTILS([2.9.93], [all auth sieve cfg argp], [:])
+AM_GNU_MAILUTILS([2.99.94], [all auth sieve cfg argp], [:])
AC_CHECK_TYPES([struct mu_argp_node_list],,,[#include <mailutils/libargp.h>])
### Check for Emacs site-lisp directory
AM_PATH_LISPDIR
if test "$EMACS" != "no"; then
diff --git a/lib/mf-dbm.c b/lib/mf-dbm.c
index 87080b7d..a42c96ff 100644
--- a/lib/mf-dbm.c
+++ b/lib/mf-dbm.c
@@ -58,13 +58,13 @@ mf_fcheck_perm(int fd, int mode)
if (errno == ENOENT)
return ENOENT;
else
return MU_ERR_FAILURE;
}
if ((st.st_mode & 0777) != mode)
- return errno = MU_ERR_UNSAFE_PERMS;
+ return errno = EACCES;
return 0;
}
int
mf_check_perm(const char *name, int mode)
{
@@ -76,13 +76,13 @@ mf_check_perm(const char *name, int mode)
if (errno == ENOENT)
return ENOENT;
else
return MU_ERR_FAILURE;
}
if ((st.st_mode & 0777) != mode)
- return errno = MU_ERR_UNSAFE_PERMS;
+ return errno = EACCES;
return 0;
}
#if defined(WITH_GDBM)
@@ -390,13 +390,13 @@ mf_dbm_open(char *name, MF_DBM_FILE *dbm, int flags, int mode, int *ro)
# define LKTYPE(o) (((o) & O_RDWR) ? F_WRLCK : F_RDLCK)
mu_debug(debug_handle, MU_DEBUG_TRACE2, ("opening database %s", name));
mf_dbm_errno = mf_check_perm(name, mode);
if (mf_dbm_errno && mf_dbm_errno != ENOENT)
- return MU_ERR_UNSAFE_PERMS;
+ return EACCES;
if (ro)
*ro = 0;
switch (flags) {
case MU_STREAM_CREAT:
diff --git a/src/builtin/burst.bi b/src/builtin/burst.bi
index 2691889b..f8ddeefc 100644
--- a/src/builtin/burst.bi
+++ b/src/builtin/burst.bi
@@ -298,13 +298,13 @@ finish_stream(eval_environ_t env, struct burst_stream *bs)
int rc;
mu_message_t msg;
bs->flags &= ~F_FIRST;
mu_stream_seek(bs->stream, 0, SEEK_SET, NULL);
rc = mu_stream_to_message(bs->stream, &msg);
- if (rc == MU_ERR_BAD_822_FORMAT) {
+ if (rc == MU_ERR_INVALID_EMAIL) {
switch (bs->burst_ctl & _MFL_BURST_ERR_MASK) {
case _MFL_BURST_ERR_FAIL:
MF_THROW(mfe_failure,
"mu_stream_to_message: %s",
mu_strerror (rc));
diff --git a/src/mfdbtool.c b/src/mfdbtool.c
index 5bb230fc..991bbdfc 100644
--- a/src/mfdbtool.c
+++ b/src/mfdbtool.c
@@ -463,21 +463,27 @@ main(int argc, char **argv)
mu_site_rcfile = SYSCONFDIR "/mfdbtool.conf";
rc = mu_app_init(&argp, capa, mfdbtool_cfg_param, argc, argv,
0, &index, NULL);
if (rc)
exit(EX_CONFIG);
- if (!run)
+ if (!run) {
mu_error(_("you must specify one of --list, --delete,"
" --expire or --compat"));
+ exit(EX_USAGE);
+ }
if (all_option &&
- !(run == mfdbtool_compact || run == mfdbtool_expire))
+ !(run == mfdbtool_compact || run == mfdbtool_expire)) {
mu_error(_("--all is meaningful only with "
"--expire or --compact option"));
- if (all_option && format_option)
+ exit(EX_USAGE);
+ }
+ if (all_option && format_option) {
mu_error(_("--format is incompatible with --all"));
+ exit(EX_USAGE);
+ }
if (!format_option)
format_option = db_format_lookup("cache");
if (!format_option) {
mu_error("INTERNAL ERROR: cache database not defined");
exit(EX_SOFTWARE);
}

Return to:

Send suggestions and report system problems to the System administrator.