]> granicus.if.org Git - neomutt/log
neomutt
6 years agoDelete Attachments upon OP_QUIT 1372/head
ryt [Sat, 27 Oct 2018 00:01:30 +0000 (02:01 +0200)]
Delete Attachments upon OP_QUIT

6 years agouse 'enum MailboxType magic' consistently
Richard Russon [Fri, 26 Oct 2018 23:43:43 +0000 (00:43 +0100)]
use 'enum MailboxType magic' consistently

6 years agopop: tidy
Richard Russon [Fri, 26 Oct 2018 11:53:55 +0000 (12:53 +0100)]
pop: tidy

6 years agoDo not use disconnected socket.
Tobias Stoeckmann [Fri, 26 Oct 2018 17:37:31 +0000 (19:37 +0200)]
Do not use disconnected socket.

If an IMAP connection was never set up, do not try to write a LOGOUT
command through that connection or to close that socket.

Both results in segmentation faults.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
6 years agombox: recognise empty file
Richard Russon [Fri, 26 Oct 2018 15:35:40 +0000 (16:35 +0100)]
mbox: recognise empty file

6 years agopath: fix expansion of bare + and =
Richard Russon [Fri, 26 Oct 2018 15:32:00 +0000 (16:32 +0100)]
path: fix expansion of bare + and =

6 years agoimap: home is now '+'
Pietro Cerutti [Fri, 26 Oct 2018 15:04:38 +0000 (15:04 +0000)]
imap: home is now '+'

6 years agoimap: check for null connection
Pietro Cerutti [Fri, 26 Oct 2018 15:04:21 +0000 (15:04 +0000)]
imap: check for null connection

6 years agoimap: fix subscription list
Richard Russon [Fri, 26 Oct 2018 13:09:27 +0000 (14:09 +0100)]
imap: fix subscription list

6 years agotrans: fix source list
Richard Russon [Thu, 25 Oct 2018 22:13:35 +0000 (23:13 +0100)]
trans: fix source list

6 years agomove notmuch test macro
Richard Russon [Thu, 25 Oct 2018 21:42:56 +0000 (22:42 +0100)]
move notmuch test macro

6 years agomerge: refactor backends to use Account object
Richard Russon [Thu, 25 Oct 2018 20:51:09 +0000 (21:51 +0100)]
merge: refactor backends to use Account object

 * clang-format
 * rename Email private data
 * rename Mailbox private data
 * misc
 * add Account
 * mxapi: unify naming
 * mxapi: add Account
 * mxapi: add Mailbox to mbox_open
 * mxapi: refactoring
 * Notmuch: add Account
 * Notmuch: move private data
 * Notmuch: unify naming
 * Notmuch: move db to Account
 * Notmuch: separate db functions
 * Maildir: add Account
 * Maildir: unify naming
 * Maildir: move private data
 * Pop: add Account
 * Pop: unify naming
 * Pop: move data to Account
 * Compress: unify naming
 * Compress: add Account
 * Nntp: add Account
 * Nntp: unify naming
 * Nntp: add new/free/get functions
 * Mbox: add Account
 * Mbox: unify naming
 * Mbox: move data to Account
 * Imap: tidy
 * Imap: add Account
 * Imap: use Mailbox ptr
 * Imap: unify naming
 * Imap: refactor current message
 * Imap: move Account data

6 years agoImap: move Account data
Richard Russon [Fri, 19 Oct 2018 20:15:03 +0000 (21:15 +0100)]
Imap: move Account data

6 years agoImap: refactor current message
Richard Russon [Wed, 24 Oct 2018 13:08:58 +0000 (14:08 +0100)]
Imap: refactor current message

6 years agoImap: unify naming
Richard Russon [Tue, 23 Oct 2018 22:58:19 +0000 (23:58 +0100)]
Imap: unify naming

6 years agoImap: use Mailbox ptr
Richard Russon [Tue, 23 Oct 2018 22:17:26 +0000 (23:17 +0100)]
Imap: use Mailbox ptr

6 years agoImap: add Account
Richard Russon [Tue, 23 Oct 2018 22:06:27 +0000 (23:06 +0100)]
Imap: add Account

6 years agoImap: tidy
Richard Russon [Tue, 23 Oct 2018 22:25:15 +0000 (23:25 +0100)]
Imap: tidy

6 years agoMbox: move data to Account
Richard Russon [Sat, 20 Oct 2018 14:55:16 +0000 (15:55 +0100)]
Mbox: move data to Account

6 years agoMbox: unify naming
Richard Russon [Sat, 20 Oct 2018 14:49:20 +0000 (15:49 +0100)]
Mbox: unify naming

6 years agoMbox: add Account
Richard Russon [Sat, 20 Oct 2018 14:33:52 +0000 (15:33 +0100)]
Mbox: add Account

6 years agoNntp: add new/free/get functions
Richard Russon [Sun, 21 Oct 2018 19:12:58 +0000 (20:12 +0100)]
Nntp: add new/free/get functions

6 years agoNntp: unify naming
Richard Russon [Sat, 20 Oct 2018 18:12:53 +0000 (19:12 +0100)]
Nntp: unify naming

6 years agoNntp: add Account
Richard Russon [Sat, 20 Oct 2018 18:02:19 +0000 (19:02 +0100)]
Nntp: add Account

6 years agoCompress: add Account
Richard Russon [Thu, 18 Oct 2018 20:46:08 +0000 (21:46 +0100)]
Compress: add Account

6 years agoCompress: unify naming
Richard Russon [Wed, 24 Oct 2018 00:03:19 +0000 (01:03 +0100)]
Compress: unify naming

6 years agoPop: move data to Account
Richard Russon [Sat, 20 Oct 2018 13:39:29 +0000 (14:39 +0100)]
Pop: move data to Account

6 years agoPop: unify naming
Richard Russon [Sat, 20 Oct 2018 13:20:45 +0000 (14:20 +0100)]
Pop: unify naming

6 years agoPop: add Account
Richard Russon [Sat, 20 Oct 2018 13:28:36 +0000 (14:28 +0100)]
Pop: add Account

6 years agoMaildir: move private data
Richard Russon [Sat, 20 Oct 2018 12:46:47 +0000 (13:46 +0100)]
Maildir: move private data

6 years agoMaildir: unify naming
Richard Russon [Sat, 20 Oct 2018 12:38:41 +0000 (13:38 +0100)]
Maildir: unify naming

6 years agoMaildir: add Account
Richard Russon [Fri, 19 Oct 2018 20:59:14 +0000 (21:59 +0100)]
Maildir: add Account

6 years agoNotmuch: separate db functions
Richard Russon [Fri, 19 Oct 2018 18:12:51 +0000 (19:12 +0100)]
Notmuch: separate db functions

6 years agoNotmuch: move db to Account
Richard Russon [Fri, 19 Oct 2018 11:41:27 +0000 (12:41 +0100)]
Notmuch: move db to Account

6 years agoNotmuch: unify naming
Richard Russon [Fri, 19 Oct 2018 12:10:36 +0000 (13:10 +0100)]
Notmuch: unify naming

6 years agoNotmuch: move private data
Richard Russon [Fri, 19 Oct 2018 10:29:34 +0000 (11:29 +0100)]
Notmuch: move private data

6 years agoNotmuch: add Account
Richard Russon [Fri, 19 Oct 2018 10:19:12 +0000 (11:19 +0100)]
Notmuch: add Account

6 years agomxapi: refactoring
Richard Russon [Fri, 28 Sep 2018 15:50:12 +0000 (16:50 +0100)]
mxapi: refactoring

6 years agomxapi: add Mailbox to mbox_open
Richard Russon [Sat, 20 Oct 2018 00:00:44 +0000 (01:00 +0100)]
mxapi: add Mailbox to mbox_open

6 years agomxapi: add Account
Richard Russon [Thu, 18 Oct 2018 20:45:09 +0000 (21:45 +0100)]
mxapi: add Account

6 years agomxapi: unify naming
Richard Russon [Mon, 22 Oct 2018 08:57:47 +0000 (09:57 +0100)]
mxapi: unify naming

6 years agoadd Account
Richard Russon [Thu, 18 Oct 2018 20:20:20 +0000 (21:20 +0100)]
add Account

6 years agomisc
Richard Russon [Thu, 18 Oct 2018 19:54:23 +0000 (20:54 +0100)]
misc

6 years agorename Mailbox private data
Richard Russon [Thu, 18 Oct 2018 20:13:37 +0000 (21:13 +0100)]
rename Mailbox private data

6 years agorename Email private data
Richard Russon [Thu, 18 Oct 2018 20:09:58 +0000 (21:09 +0100)]
rename Email private data

6 years agoclang-format
Richard Russon [Thu, 25 Oct 2018 17:26:15 +0000 (18:26 +0100)]
clang-format

6 years agoRevert "notmuch: count messages in queried threads"
Richard Russon [Sat, 20 Oct 2018 10:38:48 +0000 (11:38 +0100)]
Revert "notmuch: count messages in queried threads"

The change was causing severe performance problems with large mailboxes.

This reverts commit b71ac2bae5d471b2a32452d9103d4164f27f729f.

Issue #1359

6 years agorename nntp structs
Richard Russon [Wed, 17 Oct 2018 12:40:25 +0000 (13:40 +0100)]
rename nntp structs

6 years agoTry adding status indicator R for my address in Reply-To
Ian Zimmerman [Thu, 18 Oct 2018 09:14:21 +0000 (02:14 -0700)]
Try adding status indicator R for my address in Reply-To

It adds a new "R" flag for the 3rd position of the index %Z field, for when user's own address is in the Reply-To header unless none of the other flags for that field is applicable.

Some mailing lists now do the following transformation of the headers: rewrite the From header to the list address, and add a Reply-To header with the poster address.  This feature helps highlight my own posts in folders dedicated to such lists.  Of course if you are _subscribed_ to the list (in the Mutt sense) you'll get the "L" flag instead, but in that case you don't care about hightlighting your posts anyway.

6 years agorename mbox_get_mdata
Richard Russon [Tue, 16 Oct 2018 22:23:07 +0000 (23:23 +0100)]
rename mbox_get_mdata

6 years agoadd pop_get_mdata
Richard Russon [Tue, 16 Oct 2018 14:41:40 +0000 (15:41 +0100)]
add pop_get_mdata

6 years agomanual: document `named-mailboxes` for neomuttrc
Austin Ray [Mon, 15 Oct 2018 20:25:14 +0000 (16:25 -0400)]
manual: document `named-mailboxes` for neomuttrc

6 years agoadd MaildirMboxData
Richard Russon [Mon, 15 Oct 2018 15:04:56 +0000 (16:04 +0100)]
add MaildirMboxData

6 years agofix some mailbox logic
Richard Russon [Mon, 15 Oct 2018 15:21:51 +0000 (16:21 +0100)]
fix some mailbox logic

6 years agomerge: add <named-mailboxes> command
Richard Russon [Sat, 13 Oct 2018 23:06:07 +0000 (00:06 +0100)]
merge: add <named-mailboxes> command

 * mailbox: try to find existing description
 * format: add `%D` - mailbox description
 * Add `named-mailboxes` command
 * browser: `%i` - folder_format description expando

6 years agobrowser: `%i` - folder_format description expando 1358/head
Austin Ray [Fri, 12 Oct 2018 16:15:22 +0000 (12:15 -0400)]
browser: `%i` - folder_format description expando

`%i` will display the description for a folder and fallback to the
folder's name if a description does not exist.

6 years agoAdd `named-mailboxes` command
Austin Ray [Thu, 11 Oct 2018 22:54:36 +0000 (18:54 -0400)]
Add `named-mailboxes` command

No additional work is necessary since this command reuses the same code
as `mailboxes` and `virtual-mailboxes`. This was surprisingly simple.

6 years agoformat: add `%D` - mailbox description
Austin Ray [Thu, 11 Oct 2018 20:16:02 +0000 (16:16 -0400)]
format: add `%D` - mailbox description

Added the `%D` expando, which displays the mailbox's description, to
sidebar_format and status_format. If the mailbox does not have a
description, fallback to the path.

This behavior is same as `%f` and `%B` for `virtual-mailboxes`. This
was done to prevent breaking existing configurations as `notmuch`
queries have unsightly paths.

This lays the ground work for introducing `named-mailboxes`.

6 years agomailbox: try to find existing description
Austin Ray [Thu, 11 Oct 2018 18:18:40 +0000 (14:18 -0400)]
mailbox: try to find existing description

`mx_mbox_open(...)` creates a new `Context`, which requires creating new
`Mailbox` instances. Modified `mailbox_new(...)` to try and find an
existing description that matches the mailbox `path`.

6 years agofix mailbox crashes
Richard Russon [Sat, 13 Oct 2018 11:09:00 +0000 (12:09 +0100)]
fix mailbox crashes

Fixes #1360
Fixes #1361

Thanks to Sergey Alirzaev (@l29ah)

6 years agodoxy: fix docs
Richard Russon [Fri, 12 Oct 2018 23:15:37 +0000 (00:15 +0100)]
doxy: fix docs

[ci skip]

6 years agorename config Account
Richard Russon [Thu, 11 Oct 2018 12:59:48 +0000 (13:59 +0100)]
rename config Account

6 years agotest: drop duplicate account code
Richard Russon [Thu, 11 Oct 2018 12:43:51 +0000 (13:43 +0100)]
test: drop duplicate account code

6 years agouse mutt_buffer_strcpy
Richard Russon [Tue, 2 Oct 2018 02:00:45 +0000 (03:00 +0100)]
use mutt_buffer_strcpy

6 years agonotmuch: count messages in queried threads
Austin Ray [Thu, 11 Oct 2018 15:38:50 +0000 (11:38 -0400)]
notmuch: count messages in queried threads

`count_query` did not handle counting all messages in `type=threads`
queries. It returned the number of messages matching the `query=`
qualifier. Refactored `count_query` into two methods handling
`type=threads` and `type=messages`, respectively.

This makes `sidebar_format`'s `%S` display the same value as
`pager_format`'s `%m`.

6 years agoimap: factor out get_adata
Richard Russon [Wed, 10 Oct 2018 15:00:28 +0000 (16:00 +0100)]
imap: factor out get_adata

6 years agofix imap log - buffer_add_printf
Richard Russon [Tue, 9 Oct 2018 23:52:37 +0000 (00:52 +0100)]
fix imap log - buffer_add_printf

6 years agotidy code
Richard Russon [Wed, 10 Oct 2018 22:06:03 +0000 (23:06 +0100)]
tidy code

6 years agorename things
Richard Russon [Wed, 10 Oct 2018 22:04:24 +0000 (23:04 +0100)]
rename things

6 years agofix comments
Richard Russon [Wed, 10 Oct 2018 21:57:10 +0000 (22:57 +0100)]
fix comments

6 years agomerge: upstream fixes
Richard Russon [Wed, 10 Oct 2018 22:10:59 +0000 (23:10 +0100)]
merge: upstream fixes

 * Fix gnutls (a)lways to properly save for all certerr values.
 * Change gnutls certificate_file processing and interactive prompts.
 * Add a comment about gnutls date bits in certstat.

6 years agoAdd a comment about gnutls date bits in certstat.
Kevin McCarthy [Wed, 10 Oct 2018 19:50:15 +0000 (12:50 -0700)]
Add a comment about gnutls date bits in certstat.

It's easy to miss the call disabling date checking and wonder why the
certstat bits are not set.

6 years agoFix IMAP auth w/o IR to not hang on failed authentication
Pietro Cerutti [Wed, 10 Oct 2018 14:13:23 +0000 (14:13 +0000)]
Fix IMAP auth w/o IR to not hang on failed authentication

6 years agoChange gnutls certificate_file processing and interactive prompts.
Kevin McCarthy [Tue, 9 Oct 2018 21:39:09 +0000 (14:39 -0700)]
Change gnutls certificate_file processing and interactive prompts.

Accept a saved cert at any point in the chain, except for those
revoked or with invalid dates.

The INSECUREALG processing was a bit goofed up.  It was skipping the
prompt for every chain except the host, and was only displaying an
error for entry 1 (the host being 0, root being len-1).  Instead
prompt at any point, and display a warning as with the other errors.

Add a CERTERR_OTHER type to capture other bits.  Recently GnuTLS has
added additional certificate_status_t types.  We may want to improve
the prompts in the future for those, but for now at least make sure
it's recorded in certerr.

6 years agoFix gnutls (a)lways to properly save for all certerr values.
Kevin McCarthy [Tue, 9 Oct 2018 20:28:15 +0000 (13:28 -0700)]
Fix gnutls (a)lways to properly save for all certerr values.

For the case of SIGNERNOTCA, INSECUREALG, or a newer unhandled value,
the "(a)ccept always" prompt was allowed, but the cert saving was
prevented by a check only against NOTTRUSTED.  This ended up giving a
strange error message saying the cert was not saved.

Fix to save the cert for all errors except HOSTNAME (which is handled
separately).

6 years agomerge: upstream refactoring
Richard Russon [Tue, 9 Oct 2018 14:32:46 +0000 (15:32 +0100)]
merge: upstream refactoring

 * Add buffer pool functions.
 * Convert imap_rename and pgp_invoke_list_keys to use buffer pool.
 * Create mutt_buffer_add_printf().
 * Convert mix_send_message to use buffer pool.
 * Convert buffy_maildir_check_dir to use struct Buffer.
 * Convert maildir_parse_dir to use struct Buffer.
 * Convert _maildir_commit_message to use struct Buffer.
 * Convert maildir_sync_message to use BUFFERs.
 * Convert maildir_canon_filename() and callers to use struct Buffer.

6 years agoFix segfault when checking a mailbox after a disconnect (III)
Pietro Cerutti [Tue, 9 Oct 2018 12:33:31 +0000 (12:33 +0000)]
Fix segfault when checking a mailbox after a disconnect (III)

Issue #1349

6 years agotidy
Richard Russon [Tue, 9 Oct 2018 01:26:06 +0000 (02:26 +0100)]
tidy

6 years agoConvert maildir_canon_filename() and callers to use struct Buffer.
Kevin McCarthy [Mon, 8 Oct 2018 02:08:42 +0000 (19:08 -0700)]
Convert maildir_canon_filename() and callers to use struct Buffer.

Callers are maildir_check_mailbox(), _maildir_open_find_message(), and
maildir_open_find_message().

6 years agoConvert maildir_sync_message to use BUFFERs.
Kevin McCarthy [Sun, 7 Oct 2018 23:17:36 +0000 (16:17 -0700)]
Convert maildir_sync_message to use BUFFERs.

6 years agoConvert _maildir_commit_message to use struct Buffer.
Kevin McCarthy [Sun, 7 Oct 2018 22:48:17 +0000 (15:48 -0700)]
Convert _maildir_commit_message to use struct Buffer.

6 years agoConvert maildir_parse_dir to use struct Buffer.
Kevin McCarthy [Sun, 7 Oct 2018 22:31:40 +0000 (15:31 -0700)]
Convert maildir_parse_dir to use struct Buffer.

Note: the uses of buf and tmp don't overlap, so we only use a single
struct Buffer.

6 years agoConvert buffy_maildir_check_dir to use struct Buffer.
Kevin McCarthy [Sun, 7 Oct 2018 22:18:34 +0000 (15:18 -0700)]
Convert buffy_maildir_check_dir to use struct Buffer.

6 years agoConvert mix_send_message to use buffer pool.
Kevin McCarthy [Mon, 8 Oct 2018 17:36:13 +0000 (10:36 -0700)]
Convert mix_send_message to use buffer pool.

6 years agoCreate mutt_buffer_add_printf().
Kevin McCarthy [Mon, 8 Oct 2018 17:48:29 +0000 (10:48 -0700)]
Create mutt_buffer_add_printf().

Change mutt_buffer_printf() to overwrite the buffer contents, like
mutt_buffer_strcpy().

mutt_buffer_add*() functions append to the buffer contents.

6 years agoConvert imap_rename and pgp_invoke_list_keys to use buffer pool.
Kevin McCarthy [Sat, 6 Oct 2018 22:07:27 +0000 (15:07 -0700)]
Convert imap_rename and pgp_invoke_list_keys to use buffer pool.

6 years agoAdd buffer pool functions.
Kevin McCarthy [Sat, 6 Oct 2018 20:53:33 +0000 (13:53 -0700)]
Add buffer pool functions.

Also add a few helper functions: mutt_buffer_clear(),
mutt_buffer_strcpy(), and a macro mutt_b2s to grab the buffer data as
a const char *.

6 years agoImapAccountData
Richard Russon [Fri, 28 Sep 2018 15:16:39 +0000 (16:16 +0100)]
ImapAccountData

Even though it's attached to a Mailbox, this is Account data.

6 years agonotmuch: use global settings for vfolder-from-query
Richard Russon [Mon, 8 Oct 2018 16:20:17 +0000 (17:20 +0100)]
notmuch: use global settings for vfolder-from-query

6 years agonotmuch: simplify uri creation logic 1241/head
Austin Ray [Sat, 6 Oct 2018 19:55:26 +0000 (15:55 -0400)]
notmuch: simplify uri creation logic

If `mdata` does not exist in `mailbox`, try to create a default instance
of `NmMboxData`. Using a default instance removes two conditionals from
`nm_uri_from_query(...)`, moving them to `nm_get_default_data(...)`.
This reduces the number of `snprintf(...)` to maintain, and allows query
parsing for type meta-data.

An extra variable keeps track of default data usage for freeing
allocated memory.

6 years agonotmuch: use global settings for vfolder-from-query
Josh Poimboeuf [Thu, 31 May 2018 21:58:02 +0000 (16:58 -0500)]
notmuch: use global settings for vfolder-from-query

When the <vfolder-from-query> command is run while already in a vfolder,
it takes the current vfolder as context.  That means the global settings
(nm_query_type, nm_db_limit, nm_default_uri) are ignored in favor of the
current vfolder's settings.  This is confusing behavior because the new
vfolder is otherwise independent from the old one.

Set the nm_uri_from_query() context to NULL so that it uses the global
settings instead.

6 years agofix index allocation
Richard Russon [Mon, 8 Oct 2018 12:11:08 +0000 (13:11 +0100)]
fix index allocation

The `vcount` wasn't being reset, so the index overflowed later.

6 years agonotmuch: fix variable used after its scope
Richard Russon [Sun, 7 Oct 2018 14:46:25 +0000 (15:46 +0100)]
notmuch: fix variable used after its scope

The progress bar keeps a reference to `msgbuf`.

6 years agonotmuch: reconstruct thread on-the-fly upon entire-thread and no vfolder 1346/head
Stefano Zacchiroli [Sun, 23 Sep 2018 07:48:52 +0000 (09:48 +0200)]
notmuch: reconstruct thread on-the-fly upon entire-thread and no vfolder

Before this change <entire-thread> worked only if invoked from a virtual
folder.

Now <entire-thread> works also from regular folders, with the following
semantics:

- a notmuch search is done on the fly using as query the message-id of the
  currently selected message

- mutt switches to the query result (a vfolder)

- <entire-thread> is invoked as before, expanding the thread of the original
  message

Closes #1345

6 years agomerge: trivial fixes
Richard Russon [Sat, 6 Oct 2018 10:57:15 +0000 (11:57 +0100)]
merge: trivial fixes

 * clang-format
 * cppcheck: reduce variable scope
 * scan-build: fix errors
 * replace strncpy with strfcpy

6 years agoreplace strncpy with strfcpy
Richard Russon [Fri, 5 Oct 2018 22:04:14 +0000 (23:04 +0100)]
replace strncpy with strfcpy

strncpy isn't guaranteed to NUL-terminate strings

6 years agoscan-build: fix errors
Richard Russon [Fri, 5 Oct 2018 17:14:09 +0000 (18:14 +0100)]
scan-build: fix errors

6 years agocppcheck: reduce variable scope
Richard Russon [Fri, 5 Oct 2018 16:17:42 +0000 (17:17 +0100)]
cppcheck: reduce variable scope

6 years agomerge: notmuch: Allow type= statements in vfolder-from-query
Richard Russon [Thu, 4 Oct 2018 14:56:10 +0000 (15:56 +0100)]
merge: notmuch: Allow type= statements in vfolder-from-query

 * Implement case-insensitive substring search
 * Implement substring removal function
 * Testing: mutt_str_strcasestr
 * Notmuch: Parse `type=` statements from query

Closes #1214
Closes #1319

6 years agoNotmuch: Parse `type=` statements from query 1319/head
Austin Ray [Sat, 18 Aug 2018 22:15:38 +0000 (18:15 -0400)]
Notmuch: Parse `type=` statements from query

Implemented a function that will parse `type=` statements from a notmuch
query and set the appropriate query type in `NmCtxData`.

This change allows a user to change the query type for a single query
without affecting other queries. The primary use is for executing
`vfolder-from-query`.

This commit ensures notmuch integration behavior conforms to NeoMutt's
notmuch documentation.