| Commit message (Collapse) | Author | Age | Files |
| |
|
|
|
|
|
|
|
| |
Also, introduce new option 'logger-prefix' to determine the prefix of
each log line.
Closes: #942725.
|
|
|
|
|
| |
Cf. Compress::Raw::Zlib's documentation. Z_STREAM_END denotes a
successful state.
|
|
|
|
|
|
|
|
| |
(We don't need the function anymore once the handshake is established).
Otherwise the reference count of that IMAP client never gets to 0 before
the global destruction phase. For interimap, this causes traffic stats
to be printed not by the cleanup() function as intended, but just before
the program exits.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
RFC 2222 sec. 3 says that values are “from 1 to 20 characters in length,
consisting of upper-case letters, digits, hyphens, and/or underscores”
so we always upper-case the value.
|
|
|
|
|
|
| |
In --debug mode in order to avoid inadvertently receiving credentials in
bug reports. --debug can be set twice to spell out these commands in
full.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously getpwuid() was called to determine the user's home directory,
while the XDG specification explicitely mentions $HOME.
Conveniently our docs always mentioned ~/, which on POSIX-compliant
systems expands to the value of the variable HOME (and the result is
unspecified when the variable is unset). Cf. Shell and Utilities volume
of POSIX.1-2017, sec. 2.6.1:
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_01
|
| |
|
|
|
|
|
|
|
| |
That is, without leading reference, and where the hierarchy delimiter is
replaced with null characters.
/!\ This changes breaks backward compatibility!
|
|
|
|
| |
Also, set tab size to 4 spaces in the HTML for consistency.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
In particular, move manpages to the 'doc' directory, and generate HTML
documentation with `make html`.
|
| |
|
|
|
|
|
| |
Explaining how to setup a test environment for interimap(1) and
pullimap(1).
|
|
|
|
|
| |
The dumping quoting style differ between sqlite versions. Compensate
with re-dumping also the reference file
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
`shuf -n1 -i1-99` produces a number between 1 and 99, hence `sleep
"0.$(shuf -n1 -i1-99)"` pauses for some time between 100ms and 990ms.
Moreover it's not uniformly distributed as multiples of 100ms (0.100,
0.200, …, 0.900) have twice the probability of other numbers.
|
| |
|
|
|
|
|
|
| |
A random 128-bit UUID obtained from /proc/sys/kernel/random/uuid works
too but is Linux-specific and requires the proc(5) pseudo-filesystem to
be mounted at /proc.
|
| |
|
|
|
|
|
|
| |
Since we now use socketpair(2) for type=tunnel (instead of a pair of
unnamed pipes) we can unify communication endpoints creation and
teardown.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
LAYOUT=index requires mailbox_list_index = yes. It's the default since
dovecot 2.3, but we set it explicitly to support older versions.
|
|
|
|
| |
(Usually on ESRCH.)
|
| |
|
|
|
|
| |
Otherwise use /dev/shm.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
semantics.
It is passed to `/bin/sh -c` when it contains shell metacharacters; and
split into words and passed to execvp(3) otherwise.
https://perldoc.perl.org/functions/exec.html
(Since c8fb54897f046a5a3fb4c1d45dc21fd8bcd882e3 the value no longer
needs to stard with a forward slash.)
|
| |
|
|
|
|
|
|
|
|
| |
This is useful for synchronizing multiple remote servers against
different namespaces belonging to the same local IMAP server (using a
different InterIMAP instance for each local namespace ↔ remote
synchronization, for instance with the newy provided systemd template
unit file).
|
|
|
|
|
|
| |
Rather than two pipe(2). Also, use SOCK_CLOEXEC to save a fcntl() call
when setting the close-on-exec flag on the socket (even though Perl will
likely call fcntl() anyway).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SQLite processes every INTEGER values as a 8-byte signed integer, so we
need to manually do the conversion from/to uint64_t client-side if we
don't want to overflow or receive floats.
https://www.sqlite.org/datatype3.html#storage_classes_and_datatypes
http://jakegoulding.com/blog/2011/02/06/sqlite-64-bit-integers/
We could also do the same trick for local/remote UIDs, UIDVALITY and
UIDNEXT values to slim the database down at the expense of pre/post-
processing. (Values of SQLite's INTEGER class are 1, 2, 3, 4, 6, or 8
bytes signed integers depending on the manitudes, so we could save some
space for values ≥2³¹.) But that seems a little overkill.
|
|
|
|
|
|
|
|
| |
Setting the 'foreign_keys' PRAGMA during a multi-statement transaction
(when SQLite is not in autocommit mode) is a no-op.
https://www.sqlite.org/pragma.html#pragma_foreign_keys
https://www.sqlite.org/foreignkeys.html#fk_enable
|