Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
There are cases when using the 'authcode' grant where the authorization
request will succeed but the access token request will fail (for
example: if the user's web browser and terminal use different proxy
settings). The current implementation of the script does not inform
the user that the authorization token is being exchanged for an access
code, with the result that it can appear that a request has both
succeeded (according to the browser) and failed (according to the
terminal output) simultaneously. Add a message to inform the user that
a second request is being made so there is less potential for confusion.
|
|
I think it probably makes more sense to be inside the (if) function
documentation than (equal).
|
|
The maildir_check_mailbox() code was not updating the context deleted
and trashed counts in those cases. This could lead to messages marked
as deleted, but no action being taken on a mailbox sync/close.
wip: fix ctx counts for maildir 'T' flags updates.
|
|
There doesn't appear to be any relationship between $mark_old and "new
mail" status any more.
Commit c26c2531 (from 2002) is the most recent commit that talked
about reducing the meaning of $mark_old, and may have been the commit
to make that separation.
|
|
They evaluate to "yes" and "no", and so need an explicit comparison to
those values when using the equal function.
|
|
I partially changed this to lazily update after a thread update in
commit c9fa0414, but unfortunately didn't investigate the reason for
the color update while setting a flag. Since it was that way, I
assumed it was for a purpose.
However, it turns out there is no need to actively set the header
color in that function. Many places in Mutt already simply reset the
color values to 0 to invalidate and cause a recheck later.
Setting the color there so can even be detrimental, if the user has
slow 'color index' lines. For example doing a <tag-pattern>~A will
cause the color to be computed for the *entire* mailbox. Now, the
user ought to not have a slow color index line, but if they do, this
causes unnecessary pain.
Note that the header->color doesn't have an actual "unset" value,
which could also help performance. Maybe in the future in master
branch.
|
|
"U+200C ZERO WIDTH NON-JOINER" is generating '?' on some systems.
|
|
|
|
|
|
This is useful for octal values of greater (or less) than three
digits.
|
|
The IsPrint() was grabbing values outside the range of a char.
Instead, restrict the range and fall back to the <octal> syntax, which
the muttrc actually accepts.
|
|
The former sets $GPGRT_CONFIG which the latter needs to find and use
gpgrt-config instead of gpgme-config.
|
|
GPGME is transitioning away from gpgme-config, to gpgrt-config, and
the new autoconf files are required to make the transition.
Thanks to Vincent Lefèvre for reporting the problem and helping test
the required fixes.
|
|
Remove the sentence saying it isn't supported from the Batch
Composition Flow section of the manual.
|
|
|
|
|
|
These are the errors output with:
-Werror=implicit-int -Werror=implicit-function-declaration
-Werror=int-conversion -Werror=strict-prototypes
-Werror=old-style-definition
|
|
Indicate more clearly it is talking about "delivered" messages that
arrive in a thread, not about the unread-status of those messages.
|
|
For gpgme < 1.11.0, it used this function to create the encryption key
list. The '!' was interpreted differently back then, and it
apparently didn't check if the returned key had any uids before
referencing it. Add a check to prevent a segv as in the public key
block fix.
|
|
Commit 382355a5 accidentally removed the data import for legacy mode,
which would cause it to produce empty output.
|
|
The gpgme code handling classic application/pgp assumed each key would
have a uid. Change it to check for a missing uid list.
Also change it to list every uid (instead of only the first), and to
put each one on a "uid" line in the output.
The output is only for display, so the format change won't affect
other parts of the code.
Thanks to Mikko Lehto for the high quality bug report, detailing the
exact place of the crash with a reproducing example and a workaround
patch.
|
|
There are some prompts that can cause it to abruptly fail, but it
turns out SMTP has some of those too.
For now, abort if $confirmcreate is set.
Certificate prompts were fixed in commit c46db2be for 2.2.7.
|
|
If $fcc_before_send is set, then abort with an error message.
If it's not set (the default), then continue on, as the message is
already sent.
|
|
The index had some (very very old) code which reset the scroll top
during SIGWINCH handling. This caused a recomputation of the top,
which caused the index to jumble around randomly during resizing.
The last few commits added SigWinch flag setting whenever
mutt_endwin() was called, which meant this jumbling would occur much
more often. (For example when piping a message.)
After looking more closely, this top reset seems to be unnecessary. A
full redraw needs to properly handle the case where "current" is
outside the visible range, because a resize could occur in a called
menu. Additionally, the menu.c code does just fine without this, and
is used for all the other standard menus in Mutt.
Thanks to Vincent Lefèvre for helping test the SigWinch changes, and
reporting this regression.
|
|
|
|
mutt_resize_screen() calls mutt_reflow_windows(), which records window
sizes in those data structures. After a endwin(), curses will also
check the terminal size, but it if uses a different policy than Mutt,
the screen will be drawn incorrectly.
I looked into adding a config option to change this, but ran into a
chicken-egg problem. initscr() must be called before the config is
processed, to allow for color setting. However, use_env() must be
called before initscr(). So for now, just set to policy to ignore the
env vars, except as a fallback.
|
|
The mutt_resize_screen() is no longer needed now that mutt_endwin()
sets SigWinch.
The keypad() and clearok() calls are generally only needed if a
program takes over the screen unexpectedly (without Mutt having run
endwin()).
|
|
The remaining cases in the Mutt code are special cases, but these two
should be fixed. This ensures SigWinch is set.
|
|
Since mutt_reflow_window() needs to be called on a resize, and it's
possible for programs to block SIGWINCH being sent to Mutt, this is a
fail-safe to ensure it's run.
The previous commit moved SigWinch handling before refresh() in the
menus, which should prevent double-refresh issues.
|
|
This will prevent an unneeded double-refresh after an endwin() when we
set SigWinch in the next commit.
In the pager, change RETWINCH handling to account for a sigwinch while
in the handler. Previously a redraw would occur and use/free the
Resize data, but since the SigWinch check now occurs before the
redraw, keep existing data.
|
|
<fetch-mail> was only free'ing the container and not the auth_list or
timestamp used in authentication.
Mailbox usage was never free'ing the pop_data object.
Create a pop_free_pop_data() helper and use that in <fetch-mail>
usage where the pop_data was being free'd before.
Since the pop code always allocates and assigns a new pop_data object
after each mutt_conn_find(), add a call to pop_close_mailbox() too.
Just to make sure, reset connection->data before free'ing the pop_data
in each case.
|
|
It looks like there are no batch mode checks before trying to throw up
a curses menu for certificate prompts.
This currently affects SMTP, and I guess either hasn't been an issue
or people just learned to work around it.
Mutt has no great way to deal with this, so at least for now display
an error and abort verification gracefully as opposed to whatever was
happening before (which could not have been pretty).
Alas, this breaks my rule of adding translation strings in stable, but
I couldn't find another appropriate string.
|
|
|
|
|
|
|
|
ISSPACE() uses isspace() which is locale-dependent. On some
platforms, unexpected 8-bit chars, such as 0xa0 or 0x85 return true.
When using $edit_headers, this can result in Subject: lines being
truncated if a multi-byte character ending in one of these values is
at the end of a line.
There are probably other bugs that could be triggered by this, such as
in IMAP parsing. However, I need more time to investigate before
making large-scale changes that could introduce new bugs.
|
|
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
(cherry picked from commit 0d03501ac9ddd1a4a62a7274651d64da0c4c3865)
|
|
Other places in the code all use mutt_do_pager(), which uses
mutt_expand_file_fmt().
The use of %s was not documented (and likely not used since it's
broken when displaying messages), so add documentation to the $pager
option.
|
|
Newer versions of OpenSSL disable old (insecure) protocols by default.
Reset the allowed versions, so that Mutt's configuration variables
enabling old protocols actually work if needed.
Thanks to Matthias Andree for the patch, which this commit is based
upon.
|
|
The documentation writes the output should be "each line containing a
tab separated address then name then some other optional information".
The wiki page at
<https://gitlab.com/muttmua/mutt/-/wikis/MuttGuide/Aliases> also
implies a single tab between each field.
Since the function used strtok, consecutive tab delimeters were
treated as a single delimiter. This caused a missing name field to
use the comment field as the name.
Change the function to use strchr instead. This is not without risk,
as the functionality is old. Who knows what all programs have been
written that might assume initial, or multiple delimiters are
acceptable...
Thanks to Magnus Groß for reporting the problem along with a patch,
which this commit is derived from.
|
|
for instance, with untrusted directory under sudo.
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
|
|
Remove the full-stop to ensure reader will continue reading rather
than mistake this as a conclusion.
Also, from: to: here translate to von: bis: (not an: which would be
spatial not temporal).
Finally, fix a mistranslation where SHA256 was translated as SHA1
Reviewed by: Helge Kreutzmann <debian@helgefjell.de>
Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
|
|
Some distributions, such as Debian, use the contrib/smime.rc as a
default system configuration file (under /etc/Muttrc.d). However
settings such as $smime_is_default and $crypt_autosign should not be
enabled by default for everyone.
Debian previously maintained a patch against the file, commenting out
those settings, but the patch somehow got dropped and is causing
confusion for Debian users.
Since the settings aren't necessarily desirable for anyone who wants
to use S/MIME, comment them out in the contrib file.
|
|
The code was performing a decode for S/MIME, but this had the effect
of running attachments through the autoview routines.
Change so it only performs a decrypt. This is also how copying is
handled in set_copy_flags(), so I believe the decode was just a
mistake.
|
|
|
|
|
|
Both gpgme and pgpkey used nonsensical comparison return values, for
example: "return r > 0".
Adjust numeric comparisons to use mutt_numeric_cmp() and have the
comparator return the result of the actual comparison.
Adjust the "trust" sorting of gpgme to be the same as classic-pgp:
putting restrictions at the bottom, but reverse sorting validity,
length and timestamp values so they come first in the list.
|