* enforce that maildir paths are absolute
This commit is contained in:
9
man/mu.1
9
man/mu.1
@ -144,12 +144,9 @@ more), \fBmu index\fR will terminate immediately.
|
|||||||
|
|
||||||
.TP
|
.TP
|
||||||
\fB\-m\fR, \fB\-\-maildir\fR=\fI<maildir>\fR
|
\fB\-m\fR, \fB\-\-maildir\fR=\fI<maildir>\fR
|
||||||
starts searching at \fI<maildir>\fR. By default,
|
starts searching at \fI<maildir>\fR. By default, \fBmu\fR uses whatever the
|
||||||
\fBmu\fR uses whatever the
|
\fBMAILDIR\fR environment variable is set to; if that is not set, it tries
|
||||||
.B MAILDIR
|
\fI~/Maildir\fR \. In either case, the path must be \fBabsolute\fR.
|
||||||
environment variable is set to; if that is not set, it tries
|
|
||||||
.B ~/Maildir
|
|
||||||
\.
|
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
\fB\-r\fR, \fB\-\-reindex\fR
|
\fB\-r\fR, \fB\-\-reindex\fR
|
||||||
|
|||||||
@ -36,17 +36,17 @@ static gboolean MU_CAUGHT_SIGNAL;
|
|||||||
static void
|
static void
|
||||||
update_warning (void)
|
update_warning (void)
|
||||||
{
|
{
|
||||||
g_warning ("the database needs to be updated to version %s",
|
g_warning ("Note: the database needs to be updated to version %s\n",
|
||||||
MU_XAPIAN_DB_VERSION);
|
MU_XAPIAN_DB_VERSION);
|
||||||
g_message ("please run 'mu index --empty' (see the manpage)");
|
g_warning ("please run 'mu index --empty' (see the manpage)\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sig_handler (int sig)
|
sig_handler (int sig)
|
||||||
{
|
{
|
||||||
if (!MU_CAUGHT_SIGNAL && sig == SIGINT) /* Ctrl-C */
|
if (!MU_CAUGHT_SIGNAL && sig == SIGINT) /* Ctrl-C */
|
||||||
g_message ("Shutting down gracefully, "
|
g_warning ("Shutting down gracefully, "
|
||||||
"press again to kill immediately");
|
"press again to kill immediately\n");
|
||||||
|
|
||||||
MU_CAUGHT_SIGNAL = TRUE;
|
MU_CAUGHT_SIGNAL = TRUE;
|
||||||
}
|
}
|
||||||
@ -74,12 +74,17 @@ static gboolean
|
|||||||
check_index_params (MuConfigOptions *opts)
|
check_index_params (MuConfigOptions *opts)
|
||||||
{
|
{
|
||||||
if (opts->linksdir || opts->xquery) {
|
if (opts->linksdir || opts->xquery) {
|
||||||
g_warning ("Invalid option(s) for command");
|
g_warning ("Error: Invalid option(s) for command\n");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!g_path_is_absolute (opts->maildir)) {
|
||||||
|
g_warning ("Error: maildir path must be absolute\n");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mu_util_check_dir (opts->maildir, TRUE, FALSE)) {
|
if (!mu_util_check_dir (opts->maildir, TRUE, FALSE)) {
|
||||||
g_message ("Please provide a valid Maildir");
|
g_warning ("Error: not a valid Maildir\n");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -222,6 +222,12 @@ static gboolean
|
|||||||
check_path (const char* path)
|
check_path (const char* path)
|
||||||
{
|
{
|
||||||
g_return_val_if_fail (path, FALSE);
|
g_return_val_if_fail (path, FALSE);
|
||||||
|
|
||||||
|
if (!g_path_is_absolute (path)) {
|
||||||
|
g_warning ("%s: not an absolute path: %s",
|
||||||
|
__FUNCTION__, path);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
if (access (path, R_OK) != 0) {
|
if (access (path, R_OK) != 0) {
|
||||||
g_warning ("%s: cannot open '%s': %s",
|
g_warning ("%s: cannot open '%s': %s",
|
||||||
|
|||||||
@ -90,7 +90,7 @@ typedef MuResult (*MuIndexDirCallback) (const char* path, gboolean enter,
|
|||||||
* start the indexing process
|
* start the indexing process
|
||||||
*
|
*
|
||||||
* @param index a valid MuIndex instance
|
* @param index a valid MuIndex instance
|
||||||
* @param path the path to index
|
* @param path the path to index. This must be an absolute path
|
||||||
* @param force if != 0, force re-indexing already index messages; this is
|
* @param force if != 0, force re-indexing already index messages; this is
|
||||||
* obviously a lot slower than only indexing new/changed messages
|
* obviously a lot slower than only indexing new/changed messages
|
||||||
* @param stats a structure with some statistics about the results;
|
* @param stats a structure with some statistics about the results;
|
||||||
@ -116,8 +116,8 @@ MuResult mu_index_run (MuIndex *index, const char* path, gboolean force,
|
|||||||
* mu_index_run sees, when there are updates in the Maildir
|
* mu_index_run sees, when there are updates in the Maildir
|
||||||
*
|
*
|
||||||
* @param index a valid MuIndex instance
|
* @param index a valid MuIndex instance
|
||||||
* @param path the path to get stats for
|
* @param path the path to get stats for; this must be an absolute path
|
||||||
* @param stats a structure with some statistics about the results;
|
* @param stats a structure with some statistics about the results;
|
||||||
* note that this function does *not* reset the struct values to allow
|
* note that this function does *not* reset the struct values to allow
|
||||||
* for cumulative stats from multiple calls. If needed, you can use
|
* for cumulative stats from multiple calls. If needed, you can use
|
||||||
* @mu_index_stats_clear before calling this function
|
* @mu_index_stats_clear before calling this function
|
||||||
|
|||||||
Reference in New Issue
Block a user