Commit Graph

1094 Commits

Author SHA1 Message Date
Dirk-Jan C. Binnema 6ad5cccc53 store/index: and unit test for circular symlink
Check that we bail out early
2023-07-18 23:18:21 +03:00
Dirk-Jan C. Binnema 885903c496 index: limit length of maildir path to MaxTermLength
This limit was already in place, but now we detect it a bit earlier (in
the indexer). We _could_ increase it (by using hashes for dirstamps), but
right now it's a good catch for circular symlinks.
2023-07-18 23:18:21 +03:00
Dirk-Jan C. Binnema cf6c5a36d7 utils: rework running system commands
Use g_spawn and pass arguments, so we don't involve a shell that needs
escaping etc.

Improve error handling.
2023-07-18 20:19:27 +03:00
Dirk-Jan C. Binnema e8462e0204 lib/index: add rudimentary scanner test
Make the defunct existing one a working test.
2023-07-18 19:08:16 +03:00
Dirk-Jan C. Binnema 99a0eaaa76 lib/store: improve dirstamp / set_dirstamp code
Modernize.
2023-07-11 22:54:01 +03:00
Dirk-Jan C. Binnema 545494225a lib/contacts-cache: improve code 2023-07-11 22:54:01 +03:00
Dirk-Jan C. Binnema 6f69f5d482 utils/mu-regex: add move constructor 2023-07-11 22:54:01 +03:00
Dirk-Jan C. Binnema f3bfdf5add lib/maildir: use mv for moving to avoid warnings
using gio gives some (false, we assume) valgrind warnings, so for now
use 'mv' instead.

Also slightly update the code with some mu_format overtaking format.
2023-07-10 23:17:06 +03:00
Dirk-Jan C. Binnema 18490a818d store/server: centralize docids-for-msgid
No need for two near-identical impls

Remove some dead declarations.
2023-07-10 23:17:06 +03:00
Dirk-Jan C. Binnema 0b4f7c4cbe lib: xapian-db/store: simplify
No need for "pimpl" in xapian-db; keep it simple.
2023-07-10 23:15:40 +03:00
Dirk-Jan C. Binnema cc65b8b401 utils: add some more helpers for test code
Creating and removing (temp) dirs, running mu commands.
2023-07-10 23:15:40 +03:00
Dirk-Jan C. Binnema 904f64aa03 utils/result: add "unwrap" convenience function 2023-07-10 23:15:40 +03:00
Dirk-Jan C. Binnema 31f0c40893 migrate to fmt-based logging in some more places
and improve logging.
2023-07-08 10:30:36 +03:00
Dirk-Jan C. Binnema 4171fe14c3 store: removing trailing / for root_maildir
Other code depends on that.
2023-07-06 21:49:50 +03:00
Dirk-Jan C. Binnema 75a2cab3f1 message: don't check language without cld2 support
No point in checking if we do not have the support.
2023-07-06 21:49:50 +03:00
Dirk-Jan C. Binnema 82235b9d49 fmt: more update to use new fmt-based APIs 2023-07-06 21:49:50 +03:00
Dirk-Jan C. Binnema 91c5a9bac5 store: only write last-change _once_
xapian-db does it, no longer needed in store.cc
2023-07-06 21:49:50 +03:00
Dirk-Jan C. Binnema e48485cb58 sexp: use fmt for parsing_error
Should help with Apple clang build too.
2023-07-05 23:40:36 +03:00
Dirk-Jan C. Binnema aed1395c53 lib/utils: update library paths 2023-07-05 23:14:34 +03:00
Dirk-Jan C. Binnema 4920b56671 update to use fmt-based apis
Not complete, but a first big stab converting users of Mu::Error and
various g_warning & friends, format to the new libfmt-based APIs.
2023-07-05 23:10:13 +03:00
Dirk-Jan C. Binnema 742ca33740 utils: rework Mu::Error and g_ logging macros with fmt
A bit more C++ template magic to remove a lot of code.
2023-07-05 23:07:11 +03:00
Dirk-Jan C. Binnema e6ab61d233 thirdparty: add fmt
Add libfmt for formatting strings. With C++23, perhaps we can remove
this. Let's see.
2023-07-05 23:07:11 +03:00
Dirk-Jan C. Binnema 5c878558e0 thirdparty: move {optional,expected}.hpp to tl/
Follow upstream naming.
2023-07-05 23:07:11 +03:00
Dirk-Jan C. Binnema c5f3894374 message: double-check part-type in Multipart
Avoid exception for some messages (unsigned messages with signed
attachment).
2023-07-05 20:39:47 +03:00
Dirk-Jan C. Binnema 867f3205e2 lib/xapian-db: add missing include unordered_map 2023-07-02 10:08:58 +03:00
Dirk-Jan C. Binnema c4b5795328 cli: support --ignored-address for init command
Allow for skipping unwanted addresses (such as 'noreply') from the
contacts cache.
2023-07-02 10:00:40 +03:00
Dirk-Jan C. Binnema 5dc41ed811 lib: support ignoring addresses for contacts-cache
Skip annoying 'noreply' & friends.
2023-07-02 00:06:56 +03:00
Dirk-Jan C. Binnema c6fff6a281 all: update for API changes (config etc.)
Use the new & improved APIs.
2023-07-02 00:06:56 +03:00
Dirk-Jan C. Binnema 2acc1c2271 lib/contacts-cache: rework using config
Use the new config class to pass information and serialization.
2023-07-02 00:06:56 +03:00
Dirk-Jan C. Binnema 3791d0c375 lib/store: rework to use xapian-db / config
Simplifies the implementation.
2023-07-02 00:06:56 +03:00
Dirk-Jan C. Binnema c28fde9155 lib: create mu-xapian-db, mu-config
XapianDb is a fairly thing wrapper around Xapian, which handles locking,
exception handling and some tracking.

On top of that, Config add a configuration database for type /
introspectable configuration info.
2023-07-02 00:06:56 +03:00
Dirk-Jan C. Binnema 426c1d35d0 thirdparty: bump tl::expected version 2023-06-27 22:43:29 +03:00
Dirk-Jan C. Binnema fd7c011195 lib: update for api changes, update tests
With the new Sexp. And expand unit tests.
2023-06-27 00:53:23 +03:00
Dirk-Jan C. Binnema ae9607530f utils/sexp: extend and improve tests
Extend functionality for parsing; update documentation, tests.
2023-06-27 00:52:07 +03:00
Dirk-Jan C. Binnema 0bdab5ae06 contact/display-name: quote "names" with '@'
Apparently, some mail servers want this, and gnus doesn't handle it
automatically.
2023-06-12 23:37:39 +03:00
Dirk-Jan C. Binnema b9026c5042 message/fields: add some helpers for combination-fields
such as "recip" and "contacts".
2023-06-04 14:56:40 +03:00
Dirk-Jan C. Binnema 9bab2a4050 utils/sexp: add some convenience
Add some convenience function for dealing the head/tail
Some whitespace / cosmetics
Add operators ==
Add operator !=
Update command handler for this.
2023-06-04 14:56:40 +03:00
Dirk-Jan C. Binnema eafc81f168 utils: fix non-cld2 build 2023-05-12 21:52:32 +03:00
Dirk-Jan C. Binnema 7f2eeb1010 message: try to detect body text language
Try to detect the language of the e-mail body and make it searchable.
2023-05-11 23:23:52 +03:00
Dirk-Jan C. Binnema ad64093183 utils: implement language-detector
A thing wrapper around CLD2 with which we can detect the language of an
e-mail message.
2023-05-11 23:23:52 +03:00
Dirk-Jan C. Binnema 3a05dd8725 lib/utils: implement read_from_stdin 2023-04-29 23:01:12 +03:00
Dirk-Jan C. Binnema e4af910d04 utils: implement g_cancellable_new_with_timeout 2023-04-29 23:01:12 +03:00
Dirk-Jan C. Binnema 36d89f400f message: remove control characters from subject
And add a unit-test.

Fixes #2477
2023-04-24 21:52:13 +03:00
Dirk-Jan C. Binnema a3538e5ef1 store: small cleanups
Remove readonly/inmemory from properties. Add read_only() accessor.
2023-04-23 20:26:16 +03:00
Dirk-Jan C. Binnema 3c578d7a3b utils: add thread_dep for logger test
Needed on some systems

Fixes #2473
2023-04-14 12:48:03 +03:00
Dirk-Jan C. Binnema b41955b82a mu-server: improve error message 2023-04-11 21:31:13 +03:00
Dirk-Jan C. Binnema 8762ac27dc mu: improve error numbers
Ensure they match what mu expects.
2023-04-11 20:47:48 +03:00
Dirk-Jan C. Binnema ec942a988d tests: always log to file during tests
And set the cachedir (for logging and other things) to a random tmpdir.
2023-04-09 14:43:36 +03:00
Dirk-Jan C. Binnema 9b8a0146e0 logger: create logdir if non-existent 2023-04-09 14:43:17 +03:00
Dirk-Jan C. Binnema e43452fa18 test: don't "uniqify" link names during test 2023-04-09 11:02:58 +03:00