Philipp Takacs [Fri, 21 Aug 2020 15:42:07 +0000 (17:42 +0200)]
remove duplicate definition of tmp in uip/mhbuild.c
The tmp variable is already defined in uip/mhparse.c.
This fixes a build error on FreeBSD 13
Philipp Takacs [Wed, 13 May 2020 21:15:44 +0000 (23:15 +0200)]
add irc channel to README
Philipp Takacs [Sun, 29 Mar 2020 16:20:12 +0000 (18:20 +0200)]
clear msgflags in folder_delmsg
If a message is moved or deleted the msgflags are cleared now. Therefore
the .mh_sequences file will get updated on refile/rmm.
Philipp Takacs [Thu, 19 Mar 2020 01:50:51 +0000 (02:50 +0100)]
use scandir in folder_read
Philipp Takacs [Wed, 18 Mar 2020 20:46:30 +0000 (21:46 +0100)]
use memset to clear the msgstats in folder_realloc
Philipp Takacs [Wed, 18 Mar 2020 19:02:19 +0000 (20:02 +0100)]
don't manuall clear the message flags
because we use calloc the message flags are cleared
after the allocation.
Philipp Takacs [Wed, 18 Mar 2020 18:53:44 +0000 (19:53 +0100)]
set SEQMOD if clear_msg_flags change the flags
This fixes a bug in folder_addmsg. If the sequences file containes
the new msgnum, seq_save won't override this.
Philipp Takacs [Wed, 18 Mar 2020 18:53:25 +0000 (19:53 +0100)]
seq_read and seq_list also recognise msg which don't exist
This allows better handling of raceconditions, like a new mail gets
deliverd while a unreed mail is shown.
Philipp Takacs [Sun, 15 Dec 2019 13:44:57 +0000 (14:44 +0100)]
update unseen sequence after display
before this patch, if messages are displaied with a pager and during
that time a new message comes to the folder. The new message is added
to the unseen sequence. But after closing the pager the unseen sequence
gets overwritten and the new message is removed from the unseen
sequence.
Now the sequence file gets reread before remove the shown messages
from the unseen sequenece.
Philipp Takacs [Sun, 8 Dec 2019 16:54:29 +0000 (17:54 +0100)]
remove Previus-Sequence support
The Previus-Sequence was racy and introduce a lot of write accesses.
Also most use cases can solved better with shell history and command
line editing.
Philipp Takacs [Mon, 10 Jun 2019 11:55:02 +0000 (13:55 +0200)]
remove unused defines in uip/pick.c
These defines were used for the old pattern matching.
Since we use regex(3) they aren't used.
Philipp Takacs [Mon, 10 Jun 2019 11:42:53 +0000 (13:42 +0200)]
indentation fix in uip/pick.c
use tab instand of spaces
Philipp Takacs [Mon, 10 Jun 2019 01:17:36 +0000 (03:17 +0200)]
pick matching rework
the last rewrite of the matching implementation was a bit overcomplex.
Now the structures are better to read and without function pointers.
Also now the -not switch is working again.
The early return true in the last version causes this.
Now the leafs of the matching tree remeber, if the message has matched.
Paul Fox [Fri, 7 Dec 2012 15:27:52 +0000 (10:27 -0500)]
mhshow: properly treat unknown multipart subtypes as "mixed"
Use default method to display this multipart content. Even
unknown types are displayable, since they're treated as mixed
per RFC 2046.
Dmitry Bogatov [Sun, 5 May 2019 19:41:06 +0000 (19:41 +0000)]
Ensure that message boundaries generated by mhsign are ascii-only
mhsign sometimes generates boundary separators in multipart messages
with non-ascii symbols in it. Use the C locale while generating the
separator fix this bug.
Dmitry Bogatov [Thu, 15 Feb 2018 20:16:13 +0000 (23:16 +0300)]
man fix hyphen usage in repl(1)
the file etc/mhl.reply is included in repl(1).
Dmitry Bogatov [Thu, 31 Jan 2019 20:31:10 +0000 (21:31 +0100)]
Fix spelling errors in manpages
Philipp Takacs [Fri, 11 Jan 2019 01:28:29 +0000 (02:28 +0100)]
fix logic bug in getthreadid
getthreadid now early exit the m_getfld2 loop, if the message-id _and_
the references field is found. Without this the wrong thread-id may
found if the message-id field is before the references field.
Thanks c_14 for reporting
Philipp Takacs [Sun, 6 Jan 2019 11:21:08 +0000 (12:21 +0100)]
This is mmh-0.4
Philipp Takacs [Sun, 6 Jan 2019 17:31:19 +0000 (18:31 +0100)]
include libgen.h in pick.c
libgen.h provides basename(). basename() is used for
the error message introduced
ec2171174c019bdc83002cc29d06357e30b4b90d
Philipp Takacs [Sun, 6 Jan 2019 11:27:37 +0000 (12:27 +0100)]
remove dtimep.c only in distclean
this avoids flex dependency for the tarball
Philipp Takacs [Sun, 6 Jan 2019 02:13:04 +0000 (03:13 +0100)]
automitc set the owner/group in release tar
Philipp Takacs [Sat, 5 Jan 2019 19:35:50 +0000 (20:35 +0100)]
depricate whatnow
Now a depricated warning is printed at the usage of whatnow.
Also add a BUG section to the manpage.
Philipp Takacs [Sat, 5 Jan 2019 13:30:57 +0000 (14:30 +0100)]
fail in pick if a massage of -thread has no thread-id
If pick -thread is used with a message without a message-id
or a references header field pick now fails. This prevents
falling back to all messages as default.
Philipp Takacs [Wed, 2 Jan 2019 15:14:21 +0000 (16:14 +0100)]
pick fix segfault
pick now copy the static memory which is later freed.
Also fix the access to uninitialized variable in getthreadid().
Thanks c_14 for reporting.
Philipp Takacs [Mon, 31 Dec 2018 11:42:01 +0000 (12:42 +0100)]
rename whatnow2 tests
the testsystem require the format test-* for tests
Philipp Takacs [Mon, 31 Dec 2018 01:54:23 +0000 (02:54 +0100)]
whatnow2 save metainformation in the draft itself
by default meta information like last editor or altmsg is stored in
the draft ifself. This can be overritten by the profile entry
Metafile-Extension.
Philipp Takacs [Sun, 30 Dec 2018 02:11:53 +0000 (03:11 +0100)]
h/mh.h remove comma at the end of enum state
This is a C99 feature and mmh stick to C98.
Just to stop the noise from the compiler ;-)
Philipp Takacs [Sun, 30 Dec 2018 01:37:25 +0000 (02:37 +0100)]
Merge branch 'pick' into master
scan and pick is merged and pick matching is streamlined
Philipp Takacs [Sun, 30 Dec 2018 00:51:06 +0000 (01:51 +0100)]
merge pick and scan manpage
Now only one manpage for scan and pick is dokumentating
the usage of pick/scan.
Philipp Takacs [Mon, 26 Nov 2018 00:02:53 +0000 (01:02 +0100)]
add raw option to mhl
raw allows to output a header as in the input, no changes are done
by mhl. This is written for whatnow2. whatnow2 shall safe some data
in the draft and use mhl with ignore to remove this data. Also other tools can
use mhl to filter some header fields out of a message without changing the
message itself.
Philipp Takacs [Wed, 21 Nov 2018 01:34:56 +0000 (02:34 +0100)]
whatnow2 handle mhuse
If mhuse is set don't write new envirement to the metafile. mhuse
is set, when comp -use is used.
Philipp Takacs [Wed, 21 Nov 2018 01:26:49 +0000 (02:26 +0100)]
strict use "" in whatnow2
Philipp Takacs [Mon, 10 Jul 2017 14:34:45 +0000 (16:34 +0200)]
mhl implement simple globbing
ignores now supports simple globbing
Philipp Takacs [Fri, 23 Nov 2018 00:41:06 +0000 (01:41 +0100)]
fix indention in uip/mhl.c
Philipp Takacs [Mon, 19 Nov 2018 02:04:12 +0000 (03:04 +0100)]
Trailing withspace handling in mhl
If a component has trailing whitespace, e.g., body:component="> ", mhl
now trims that whitespace off when filtering blank text lines. Also add
a rtrim flag to mhl. This flag removes trailing whitespace in filtert text.
The implementation was done by David Levine <levinedl@acm.org> for nmh
commit
ea0a6d8112a918809bd03d8126411040d22f2bb8
commit
1aa8f3e11e6d83ee4806abaa132ab9466f02ca5f
Philipp Takacs [Fri, 26 Oct 2018 19:53:36 +0000 (21:53 +0200)]
read the defaultfolder from the profile
context_read now creates the inbox specified in the profile,
instand of create the compiletime default.
Philipp Takacs [Wed, 21 Nov 2018 22:25:54 +0000 (23:25 +0100)]
pick implement rfc2047
Philipp Takacs [Wed, 21 Nov 2018 22:23:10 +0000 (23:23 +0100)]
fix logic bug in pick GREPaction
GREPaction now check the header field correct
Philipp Takacs [Wed, 21 Nov 2018 21:06:22 +0000 (22:06 +0100)]
remove free of static memory
David Levine [Mon, 15 Oct 2012 00:27:17 +0000 (19:27 -0500)]
Fix blind list alias expansion
The first alias contained in a blind list is now expanded. The
mh-alias(5) man page was updated to show that blind lists must not be
terminated with, or contain, a trailing semicolon [Bug #15604].
markus schnalke [Sun, 4 Nov 2018 13:11:01 +0000 (14:11 +0100)]
Fix test/tests/show/test-longlines
Although it worked correct on the server, it did not in terminals
which have a number of columns set, like those connected to a screen.
The test now sets `-width 2000' for mhl(1) via the test config.
markus schnalke [Sun, 4 Nov 2018 13:07:43 +0000 (14:07 +0100)]
Fix test/tests/send/test-mimeify
The size differences came from generated values of the Content-ID
headers. They depend on the hostname and thus vary in length. leading
to different MIME part sizes. The solution is replacing all
Content-IDs with static values. The helper function replace_contentid()
is added to commons.sh.
markus schnalke [Wed, 31 Oct 2018 10:32:39 +0000 (11:32 +0100)]
Add test for empty sequence patch by c_14
i.e. for commit
850190587ff71010fc63e44ca01a93a44c96f58e
c_14 [Mon, 1 Oct 2018 14:01:52 +0000 (16:01 +0200)]
Ignore folders with an empty sequence in new
This solves the issue where `new' lists folders that have an empty
sequence (e.g. the unseen sequence), this also prevents `fnext' and
`fprev' from navigating to such folders.
Vasilii Kolobkov [Thu, 19 Jul 2018 16:55:57 +0000 (18:55 +0200)]
Use the same mh_hostname() function from test/common.h in mhsign(1)
Vasilii Kolobkov [Thu, 19 Jul 2018 16:54:07 +0000 (18:54 +0200)]
Fix tests to run on OpenBSD
Use a hardcoded sequence for there's no seq(1) in OpenBSD.
awk(1) doesn't support interval regular expression syntax ({n,m})
on some BSDs.
hostname(1) has no -f flag on OpenBSD and. Try it first and
fallback to `uname -n`.
Omit explicit template in mktemp(1) call.
Vasilii Kolobkov [Thu, 19 Jul 2018 09:56:11 +0000 (11:56 +0200)]
Remove tests/inc/test-eom-align
Reimplemented m_getfld2() makes it obsolete.
markus schnalke [Sun, 15 Jul 2018 11:41:17 +0000 (13:41 +0200)]
Extend test for long lines with CRLF
Philipp Takacs [Sat, 14 Jul 2018 11:41:09 +0000 (13:41 +0200)]
spost accept body lines with 998 characters
Philipp Takacs [Sat, 14 Jul 2018 09:24:36 +0000 (11:24 +0200)]
check for crlf in m_getfld2
now header fields witch lines 998 chars and crlf
are accepted.
markus schnalke [Sun, 15 Jul 2018 11:28:13 +0000 (13:28 +0200)]
Add test to check for correct handling of long lines
Vasilii Kolobkov [Wed, 11 Jul 2018 11:21:16 +0000 (13:21 +0200)]
Accept header lines of exactly 998 characters
c_14 [Mon, 7 May 2018 16:48:33 +0000 (18:48 +0200)]
Fix parallel `make install'
Prior to this commit, running make install with -j > 1 caused an (easily
reproducible) race condition where make tried linking commands that
hadn't been installed yet.
markus schnalke [Sun, 18 Feb 2018 09:33:02 +0000 (10:33 +0100)]
Better wording in README concerning compatibility
Philipp Takacs [Sat, 22 Jul 2017 19:35:44 +0000 (21:35 +0200)]
fix install of scan
now scan is removed bevore it is linked
found by Jan <jan@subpath.de>
markus schnalke [Sat, 8 Jul 2017 12:34:04 +0000 (14:34 +0200)]
Add example to pick.1 for handling empty result set in the shell
This commit bases on a patch provided by Vasily Kolobkov
<polezaivsani@openmailbox.org>. Actually, he also brought the
topic up on the mailing list. Thanks!
Also adjust the man page from nmh's special sequence name `all'
to mmh's name `a' for it.
Philipp Takacs [Fri, 16 Jun 2017 12:12:24 +0000 (14:12 +0200)]
fix undefined behavior in fmt_trim()
It now writes the output in the input char *. This is only a temporaly
fix.
c_14 [Tue, 16 May 2017 16:13:52 +0000 (18:13 +0200)]
cpstripped: Add braces to make code more legible.
c_14 [Mon, 22 May 2017 21:56:12 +0000 (23:56 +0200)]
add a test to test-scan-multibyte
Tests for splitting within a multibyte character.
c_14 [Tue, 16 May 2017 16:13:27 +0000 (18:13 +0200)]
fmt_scan: support multibyte characters in putstr decoding
Fixes an issue where the string output by scan with a putstr format is
truncated within a multibyte character causing terminal corruption
Philipp Takacs [Sun, 28 May 2017 12:58:38 +0000 (14:58 +0200)]
replace scan with pick
Philipp Takacs [Sun, 28 May 2017 12:49:52 +0000 (14:49 +0200)]
port -file switch to pick
now scan can full replaced by pick
Philipp Takacs [Sun, 26 Feb 2017 19:28:06 +0000 (20:28 +0100)]
pick option -thread
The -thread option allows to pick mails of a specific thread. The
thread is choosen by a mail in the option argument.
Philipp Takacs [Sun, 2 Apr 2017 21:15:19 +0000 (23:15 +0200)]
complete rewrite of pick
this make the code cleaner and removes the
regex implementation. The mail itself is now read
by pick and the match functions only check if the
field match.
Philipp Takacs [Sun, 2 Apr 2017 21:13:42 +0000 (23:13 +0200)]
mh_xstrdup arguments now const
this is better to avoid errors and required
by my pick rewrite
Philipp Takacs [Fri, 9 Sep 2016 21:06:37 +0000 (23:06 +0200)]
add -format to pick
this leads to remove scan
Philipp Takacs [Mon, 19 Sep 2016 16:23:39 +0000 (18:23 +0200)]
decode rfc2047 header in mhparse
attachment filenames are mostly rfc2047 encoded. Now all
mime header are decoded to avoid problems.
markus schnalke [Mon, 17 Apr 2017 21:52:26 +0000 (23:52 +0200)]
mhpgp: use trusted header field copies to replace original header fields
Enigmail provides so called ``protected-headers'', which are copies
of some main mail header fields to protect them from forgery.
Mhpgp(1) works in a rough way and simply adds this MIME part
to the main header, and this resulted in a doubling of those header
fields.
Now those original headers are removed if trusted copies are
provided within the encrpyted MIME part.
markus schnalke [Mon, 17 Apr 2017 21:41:55 +0000 (23:41 +0200)]
Fix `anno -delete': preserve newline in folded header fields
markus schnalke [Mon, 17 Apr 2017 17:35:21 +0000 (19:35 +0200)]
Fix mhsign for gpg2: Expiry date format
Gnupg2 uses --fixed-list-mode by default for --with-colons.
Gnupg1 needs this option explicitly to generate the same output
format (timestamps) for expiry dates.
Thanks to Jan Unterbrink for reporting the bug.
Philipp Takacs [Wed, 8 Mar 2017 14:31:37 +0000 (15:31 +0100)]
fix oldstyle whom
Check if msg struct have selected messages before
accessing a message.
markus schnalke [Wed, 8 Mar 2017 12:44:12 +0000 (13:44 +0100)]
Fix uip/whom.c for C89 compatibility
markus schnalke [Wed, 8 Mar 2017 12:31:31 +0000 (13:31 +0100)]
Fix sbr/parse_msgs.c for C89 compatibility
Philipp Takacs [Sun, 5 Mar 2017 16:55:31 +0000 (17:55 +0100)]
add() first parameter (s2) is now const
Philipp Takacs [Sun, 5 Mar 2017 16:55:00 +0000 (17:55 +0100)]
allow msgs as parameters for whom
now you can write ``whom c'' instand of ``whom `mhpath c`''
Philipp Takacs [Fri, 17 Feb 2017 15:05:57 +0000 (16:05 +0100)]
quote path variables in whatnow2.sh
without qoutes this causes error with spaces or other
special charecter in the path or filename.
Philipp Takacs [Sun, 1 Jan 2017 20:57:07 +0000 (21:57 +0100)]
make dateparsing case insensitive
Acourding to RFC 5322 and 5234 the date field
is case insenitive
Philipp Takacs [Fri, 25 Nov 2016 12:38:04 +0000 (13:38 +0100)]
mhparse add support for CRLF
multipart mime content wasn't able to parse, if the
mail use CRLF line endings.
Philipp Takacs [Tue, 22 Nov 2016 16:15:58 +0000 (17:15 +0100)]
Accept binary encoding for messages/*
Acording to RFC 2046 binary encoding is allowed for messages/*.
Also ignore other encodings.
mor0ious@gmail.com [Thu, 5 Jan 2017 15:35:22 +0000 (08:35 -0700)]
mhsign manpage: mention hostname bug
Dmitry Bogatov [Fri, 16 Sep 2016 12:22:28 +0000 (15:22 +0300)]
whatnow2: remove get_attachmentheader()
Dmitry Bogatov [Thu, 8 Sep 2016 10:03:52 +0000 (13:03 +0300)]
Remove unused code
The unsude code is: struct zone, macro strbase64, macro isatom,
function unset_unseen(), function pref_encoding(), function cpydgst(),
macro base64len
Larry Hynes [Tue, 13 Dec 2016 20:14:12 +0000 (20:14 +0000)]
Grammer and layout fixes anno.man1
Larry Hynes [Tue, 13 Dec 2016 20:14:12 +0000 (20:14 +0000)]
Grammer and layout fixes in ali.man1
Philipp Takacs [Sun, 25 Sep 2016 20:40:46 +0000 (22:40 +0200)]
fix bug in whatnow2 attach
Philipp Takacs [Sun, 4 Sep 2016 12:12:00 +0000 (14:12 +0200)]
redesign version string
Now we have two version nummbers one for the tool
and one for the lib. Also the version number is changed
everytime the object is rebuild.
markus schnalke [Mon, 12 Sep 2016 12:54:17 +0000 (14:54 +0200)]
Fix segfault in mhstore
The bug was introduced by
6306992cd580d47c217edb1ae98d58b24d5be8c9
It didn't handle MIME parts without Content-Disposition headers.
markus schnalke [Thu, 8 Sep 2016 06:54:52 +0000 (08:54 +0200)]
Fix repllistcomps: use the correct header
markus schnalke [Wed, 7 Sep 2016 20:59:21 +0000 (22:59 +0200)]
No need to define the month and day names a second time
... just use the definition that already is available.
markus schnalke [Wed, 7 Sep 2016 20:41:06 +0000 (22:41 +0200)]
Add support for simplified ISO 8601/RFC 3339 dates
It is now possible to use:
pick -after 2016-02-15 -and -before 2016-08-31T16:30:00+02:00
At the same time drop support for the highly ambiguous date format
XX-XX-YY.
markus schnalke [Wed, 7 Sep 2016 14:31:58 +0000 (16:31 +0200)]
Replace lookup tables for obscure hashes with more readable code
Time-performance doesn't matter here. If you think differently,
demonstrate it convincingly!
markus schnalke [Wed, 7 Sep 2016 05:52:38 +0000 (07:52 +0200)]
Remove not used code (JLR define)
I don't yet understand what the code does but we've never used
it and didn't miss it, thus it appears to be a good decision to
just remove it.
Philipp Takacs [Tue, 6 Sep 2016 23:14:42 +0000 (01:14 +0200)]
fix build in a diffrent folder
Build in diffrent folder is a feature required by
the test suite.
This is a fixup for commit 94ac6bb
markus schnalke [Tue, 6 Sep 2016 18:10:28 +0000 (20:10 +0200)]
Factor trim format function out
Also clarify that it trims both, leading and trailing whitespace.
(Note that it is a special trim function. We cannot simply replace
it with sbr/trim.c. Nonetheless, its readability is somehow bad.)
markus schnalke [Tue, 6 Sep 2016 17:53:20 +0000 (19:53 +0200)]
Add %(unmailto) format function for List-Post headers
With the unmailto format function it is possible to extract
the address from a List-Post header, which e.g. is:
List-Post: <mailto:mmh@marmaro.de>
Applying %(unmailto{list-post}) extracts: ``mmh@marmaro.de'',
which then can be used as recipient address for list replies.
A format file (to be used with ``repl -form repllistcomps'')
is included.
markus schnalke [Tue, 6 Sep 2016 05:58:17 +0000 (07:58 +0200)]
Generate the command list in mmh-intro(7)
This implementation does handle the aliases of folder(1) and
flist(1), but not the ones of show(1) and new(1). Hence the
commands next(1), prev(1), fnext(1), fprev(1) and unseen(1)
don't appear on the list.
Adjusted some of the short descriptions based on the version
in the manual command list.
markus schnalke [Mon, 5 Sep 2016 09:51:00 +0000 (11:51 +0200)]
Make mhstore(1) use "filename" attr of Content-Disposition
Before, only the "name" attr of Content-Type was used as the filename
to store attachments. The "filename" attr of Content-Disposition
(which is the much more appropriate value) was ignored, thus often
resulting in the attachment being stored with a default name like
20.2.pdf, for instance.
Philipp Takacs [Wed, 31 Aug 2016 15:21:15 +0000 (17:21 +0200)]
remove msg-hook config option
This is removed, because I don't see this is necesarry and it's
not a good idea to pass a user provided string direct in a
format string.
Dmitry Bogatov [Mon, 29 Aug 2016 23:35:43 +0000 (02:35 +0300)]
Fix unreproducible build
Hostname and date of compilation are no longer embeded in version
string. See https://reproducible-builds.org