Regenerate libgpgme bindings for 32bit and 64bit targets separately.
This fixes the gpgme bindings tests failing for 32bit targets (which
prior to this commit where cfg'd to run only on x86-64 with #[cfg(target_arch = "x86_64")]
Tests confirm passing with:
cross test --target i686-unknown-linux-gnu --all-targets --all -- --skip test_cli_subcommands
Note: We don't currently test on 32bit arches on CI, failure was spotted
on downstream Debian's build servers
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
There was no point in using SmallVec with this large a size; it was
32768 bytes, or 32KiB. Let's allocate that to the heap instead.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
base64 is used in melib::backends::utf7 without any sort of conditional
compilation. Make base64 a mandatory dependency.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Allow mbox to be built without the `notify` dependency. Add feature
`mbox-notify` to provide that instead.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
When printing multipart boundaries, e.g.
`--bzz_bzz__bzz__xxxxxxxxxxxxxxxxxxxxxxxxxxx` after ending a sub-part,
ensure there's a CRLF already at the end of the accumulator string
before adding the `--...` boundary tag.
Fixes#503 ("Sending attachments does not work properly")
Resolves: <https://git.meli-email.org/meli/meli/issues/503>
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
The generated bindgen layout tests make hard-coded assumptions about
target specific sizes like pointers, let's disable them for now before
we figure out a better long-term solution for gpgme compatibility.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Meli previously returned only subscribed mailboxes for IMAP. This was
erroneous behavior for two reasons:
- the front end should be able to see all mailboxes because the user is
allowed to change subscription settings for remote mailboxes from the
manage-mailboxes interface
- special usage mailboxes, e.g. a Trash folder, would not be visible to
meli if it was not subscribed
Fixes#508.
Resolves: <https://git.meli-email.org/meli/meli/issues/508>
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Ugh, annoying. It doesn't take the fact that markdown links do not
appear long when rendered. Anyway, fix them errors.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Attempt to parse u64 hash from Blob column type. This is to fix a
regression from the frontend storing envelope hashes as big endian byte
blobs instead of an i64.
Fixes#504
Resolves: https://git.meli-email.org/meli/meli/issues/504
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Crate fails to build when dynamically linked.
The feature is implicitly enabled when statically linked,
as part of feature bundled-full.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Previously only mailboxes specified in the configuration were fetched.
Now, all groups returned by `LIST ACTIVE` are examined with the
`is_subscribed` function.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Despite having the IsSubscribedFn struct wrapper for closures that check
if a mailbox is subscribed or not, backend methods were still using
Box<dyn Fn(... types. Switch to using the wrapper newtype everywhere.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
Add infrastructure for custom logic migration support between versions,
allowing breaking changes in for example configuration to be handled by
the application instead of the user.
The current version will be stored in ${XDG_DATA_HOME}/meli/.version
If at launch the versions do not match, the application will examine
whether there are any migrations in the range
previous_version..=current_version, and if they are applicable to the
user's case, it will ask the user to perform them interactively.
Support for reverting migrations is also added.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>
gpgme's sign and encrypt API doesn't seem to work properly; it only
encrypts for some reason. Do it manually which according to RFC 3156 -
MIME Security with OpenPGP is to sign first then encrypt the whole
thing.
Signed-off-by: Manos Pitsidianakis <manos@pitsidianak.is>