]> git.g-eek.se Git - interimap.git/log
interimap.git
5 years agoBump copyright years.
Guilhem Moulin [Sun, 20 Jan 2019 19:42:56 +0000 (20:42 +0100)]
Bump copyright years.

5 years agoBump version number.
Guilhem Moulin [Sun, 20 Jan 2019 19:29:58 +0000 (20:29 +0100)]
Bump version number.

5 years agoChange e-mail address.
Guilhem Moulin [Sun, 20 Jan 2019 19:26:01 +0000 (20:26 +0100)]
Change e-mail address.

5 years agoNet::IMAP::InterIMAP: add support for TLSv1.3 (on recent enough Net::SSLeay).
Guilhem Moulin [Mon, 21 Jan 2019 22:59:55 +0000 (23:59 +0100)]
Net::IMAP::InterIMAP: add support for TLSv1.3 (on recent enough Net::SSLeay).

Also, change "SSL_protocols" default value from "!SSLv2 !SSLv3" to
"!SSLv2 !SSLv3 !TLSv1 !TLSv1.1".  I.e., only enable TLSv1.2 and later,
which is the default in Debian's OpenSSL as of 1.1.1-2, cf.
https://tracker.debian.org/news/998835/accepted-openssl-111-2-source-into-unstable/ .

5 years agopullimap, interimap: don't autocreate statefile or database in long-lived mode.
Guilhem Moulin [Mon, 21 Jan 2019 16:54:53 +0000 (17:54 +0100)]
pullimap, interimap: don't autocreate statefile or database in long-lived mode.

5 years agointerimap.service: use --watch=60 rather than --notify.
Guilhem Moulin [Sun, 20 Jan 2019 19:23:20 +0000 (20:23 +0100)]
interimap.service: use --watch=60 rather than --notify.

5 years agoNote on migrations.
Guilhem Moulin [Sun, 20 Jan 2019 19:16:53 +0000 (20:16 +0100)]
Note on migrations.

5 years agoSpecify minimum Perl and Net::SSLeay versions.
Guilhem Moulin [Sun, 20 Jan 2019 18:55:58 +0000 (19:55 +0100)]
Specify minimum Perl and Net::SSLeay versions.

5 years agopullimap, interimap: Use $XDG_CONFIG_HOME/$NAME/config as config file.
Guilhem Moulin [Sun, 20 Jan 2019 18:55:33 +0000 (19:55 +0100)]
pullimap, interimap: Use $XDG_CONFIG_HOME/$NAME/config as config file.

6 years agotypofix
Guilhem Moulin [Thu, 10 May 2018 21:54:01 +0000 (23:54 +0200)]
typofix

6 years agopullimap: use extended SEARCH (RFC 4731) when available
Guilhem Moulin [Thu, 10 May 2018 15:56:45 +0000 (17:56 +0200)]
pullimap: use extended SEARCH (RFC 4731) when available

6 years agoImprove ESEARCH response parsing for full RFC 4466 compatibility.
Guilhem Moulin [Thu, 10 May 2018 01:35:13 +0000 (03:35 +0200)]
Improve ESEARCH response parsing for full RFC 4466 compatibility.

6 years agoImprove wording.
Guilhem Moulin [Wed, 9 May 2018 01:38:07 +0000 (03:38 +0200)]
Improve wording.

6 years agotypofix
Guilhem Moulin [Tue, 8 May 2018 23:49:37 +0000 (01:49 +0200)]
typofix

6 years agoFix uninitialized value $set in quotemeta
Guilhem Moulin [Tue, 8 May 2018 23:22:32 +0000 (01:22 +0200)]
Fix uninitialized value $set in quotemeta

6 years agoAdd support for untagged ESEARCH responses from RFC 4731.
Guilhem Moulin [Tue, 8 May 2018 23:11:55 +0000 (01:11 +0200)]
Add support for untagged ESEARCH responses from RFC 4731.

6 years agoLibrary: new API idle_start() and idle_stop().
Guilhem Moulin [Tue, 8 May 2018 23:03:28 +0000 (01:03 +0200)]
Library: new API idle_start() and idle_stop().

6 years agoFix manpage generation with pandoc >=2.1
Guilhem Moulin [Thu, 26 Apr 2018 14:51:23 +0000 (16:51 +0200)]
Fix manpage generation with pandoc >=2.1

7 years agoAdd missing changelog entry.
Guilhem Moulin [Sat, 29 Jul 2017 11:38:46 +0000 (13:38 +0200)]
Add missing changelog entry.

7 years agoFix manpage generation with pandoc >=1.18.
Guilhem Moulin [Sat, 29 Jul 2017 11:36:29 +0000 (13:36 +0200)]
Fix manpage generation with pandoc >=1.18.

7 years agoEnsure the lower bound of UID ranges is at least 1.
Guilhem Moulin [Mon, 29 May 2017 16:04:19 +0000 (18:04 +0200)]
Ensure the lower bound of UID ranges is at least 1.

7 years agoMinor manpage fixes.
Guilhem Moulin [Tue, 6 Dec 2016 16:51:04 +0000 (17:51 +0100)]
Minor manpage fixes.

7 years agopullimap: replace non RFC 5321-compliant envelope sender addresses by <>.
Guilhem Moulin [Tue, 6 Dec 2016 15:40:40 +0000 (16:40 +0100)]
pullimap: replace non RFC 5321-compliant envelope sender addresses by <>.

8 years agointerimap.service: s/--watch/--notify/.
Guilhem Moulin [Thu, 1 Dec 2016 14:35:39 +0000 (15:35 +0100)]
interimap.service: s/--watch/--notify/.

8 years agoUpdate changelog.
Guilhem Moulin [Thu, 1 Dec 2016 13:39:29 +0000 (14:39 +0100)]
Update changelog.

8 years agowibble
Guilhem Moulin [Thu, 1 Dec 2016 13:28:29 +0000 (14:28 +0100)]
wibble

8 years ago"fingerprint" now only pins the cert's SPKI, not the cert itself.
Guilhem Moulin [Thu, 1 Dec 2016 13:26:37 +0000 (14:26 +0100)]
"fingerprint" now only pins the cert's SPKI, not the cert itself.

8 years agobugfix: when resuming a sync, only consider UIDs greater than a known UIDNEXT.
Guilhem Moulin [Tue, 22 Nov 2016 18:41:46 +0000 (19:41 +0100)]
bugfix: when resuming a sync, only consider UIDs greater than a known UIDNEXT.

8 years agowibble
Guilhem Moulin [Tue, 22 Nov 2016 18:38:36 +0000 (19:38 +0100)]
wibble

8 years agowibble
Guilhem Moulin [Sat, 25 Jun 2016 19:28:32 +0000 (21:28 +0200)]
wibble

8 years agopullimap: quote the local part if need be (cf. RFC 5321).
Guilhem Moulin [Sat, 25 Jun 2016 16:34:58 +0000 (18:34 +0200)]
pullimap: quote the local part if need be (cf. RFC 5321).

8 years agowibble
Guilhem Moulin [Mon, 13 Jun 2016 20:34:56 +0000 (22:34 +0200)]
wibble

8 years agopullimap: enable locally unsetting the 'purge-after' option.
Guilhem Moulin [Sun, 12 Jun 2016 20:18:43 +0000 (22:18 +0200)]
pullimap: enable locally unsetting the 'purge-after' option.

8 years agopullimap: Clean up PATH.
Guilhem Moulin [Sun, 12 Jun 2016 20:17:44 +0000 (22:17 +0200)]
pullimap: Clean up PATH.

8 years agopullimap: precise that the mailbox needs to be UTF-7 encoded and unquoted.
Guilhem Moulin [Sun, 13 Mar 2016 17:44:24 +0000 (18:44 +0100)]
pullimap: precise that the mailbox needs to be UTF-7 encoded and unquoted.

8 years agopullimap: fix struct flock packing
Guilhem Moulin [Sun, 13 Mar 2016 15:23:26 +0000 (16:23 +0100)]
pullimap: fix struct flock packing

8 years agointerimap: reformulation in manpage
Guilhem Moulin [Sun, 13 Mar 2016 03:02:27 +0000 (04:02 +0100)]
interimap: reformulation in manpage

8 years agointerimap: Fix watch value when --watch is not set.
Guilhem Moulin [Sat, 12 Mar 2016 23:01:27 +0000 (00:01 +0100)]
interimap: Fix watch value when --watch is not set.

8 years agotypo
Guilhem Moulin [Sat, 12 Mar 2016 22:47:39 +0000 (23:47 +0100)]
typo

8 years agopullimap: use fcntl(2) not flock(2) to lock the statefile.
Guilhem Moulin [Sat, 12 Mar 2016 22:38:53 +0000 (23:38 +0100)]
pullimap: use fcntl(2) not flock(2) to lock the statefile.

8 years agointerimap: use SQLite's own locking mechanism to lock down the database.
Guilhem Moulin [Sat, 12 Mar 2016 22:35:59 +0000 (23:35 +0100)]
interimap: use SQLite's own locking mechanism to lock down the database.

(instead of rolling our own)

8 years agopunct
Guilhem Moulin [Sat, 12 Mar 2016 21:46:46 +0000 (22:46 +0100)]
punct

8 years agoUse a monotype font for IMAP extensions.
Guilhem Moulin [Sat, 12 Mar 2016 21:43:14 +0000 (22:43 +0100)]
Use a monotype font for IMAP extensions.

8 years agoNet::IMAP::InterIMAP, interimap: Add support for IMAP NOTIFY [RFC 5465].
Guilhem Moulin [Sat, 12 Mar 2016 21:14:39 +0000 (22:14 +0100)]
Net::IMAP::InterIMAP, interimap: Add support for IMAP NOTIFY [RFC 5465].

Unsollicited LIST responses are currently ignored, hence interimap won't
detect mailbox creation/deletion/subcription/unsubscription.

8 years agointerimap: fix memory leak.
Guilhem Moulin [Sat, 12 Mar 2016 02:32:27 +0000 (03:32 +0100)]
interimap: fix memory leak.

8 years agoNet::IMAP::InterIMAP: quit idling when a time jump of at least 30s is detected
Guilhem Moulin [Sat, 12 Mar 2016 00:10:30 +0000 (01:10 +0100)]
Net::IMAP::InterIMAP: quit idling when a time jump of at least 30s is detected

This forces a write, so we can better detect detect dead peers after
hibernation for instance.

8 years agoNet::IMAP::InterIMAP: set SO_{RCV,SND}TIMEO on the socket so we can detect dead peers
Guilhem Moulin [Fri, 11 Mar 2016 23:52:42 +0000 (00:52 +0100)]
Net::IMAP::InterIMAP: set SO_{RCV,SND}TIMEO on the socket so we can detect dead peers

8 years agoNet::IMAP::InterIMAP: set binmode on the socket (and our pipe ends)
Guilhem Moulin [Fri, 11 Mar 2016 23:52:04 +0000 (00:52 +0100)]
Net::IMAP::InterIMAP: set binmode on the socket (and our pipe ends)

8 years agoNet::IMAP::InterIMAP optimisation: ignore a new message that's immediately expunged
Guilhem Moulin [Fri, 11 Mar 2016 23:50:26 +0000 (00:50 +0100)]
Net::IMAP::InterIMAP optimisation: ignore a new message that's immediately expunged

(before we had a chance to sync it)

8 years agoNet::IMAP::InterIMAP: Don't increase UIDNEXT when receiving EXISTS responses.
Guilhem Moulin [Fri, 11 Mar 2016 21:04:17 +0000 (22:04 +0100)]
Net::IMAP::InterIMAP: Don't increase UIDNEXT when receiving EXISTS responses.

Indeed, if the server sends

    * n EXISTS
    * n EXPUNGE

meaning a new message is received, and is immediately removed
afterwards, the server might have allocated a new UID for the removed
message.

8 years agowibble
Guilhem Moulin [Fri, 11 Mar 2016 19:57:24 +0000 (20:57 +0100)]
wibble

8 years agoExplicitly specify inner links for older pandoc.
Guilhem Moulin [Fri, 11 Mar 2016 18:41:13 +0000 (19:41 +0100)]
Explicitly specify inner links for older pandoc.

8 years agointerimap: convert manpage to markdown.
Guilhem Moulin [Fri, 11 Mar 2016 18:32:05 +0000 (19:32 +0100)]
interimap: convert manpage to markdown.

8 years agopullimap: honor the the four-space rule in the markdown.
Guilhem Moulin [Fri, 11 Mar 2016 13:29:52 +0000 (14:29 +0100)]
pullimap: honor the the four-space rule in the markdown.

8 years agopullimap: improve manpage.
Guilhem Moulin [Fri, 11 Mar 2016 13:11:14 +0000 (14:11 +0100)]
pullimap: improve manpage.

8 years agowibble
Guilhem Moulin [Fri, 11 Mar 2016 03:09:53 +0000 (04:09 +0100)]
wibble

8 years agopullimap.md: Fix pandoc syntax.
Guilhem Moulin [Fri, 11 Mar 2016 02:47:11 +0000 (03:47 +0100)]
pullimap.md: Fix pandoc syntax.

8 years agoConvert pullimap's manpage to pandoc.
Guilhem Moulin [Fri, 11 Mar 2016 02:08:21 +0000 (03:08 +0100)]
Convert pullimap's manpage to pandoc.

8 years agoIDLE: fix race condition when an untagged response is received after the DONE
Guilhem Moulin [Thu, 10 Mar 2016 22:46:50 +0000 (23:46 +0100)]
IDLE: fix race condition when an untagged response is received after the DONE

8 years agoNet::IMAP::InterIMAP: change argument order in slurp and _resp.
Guilhem Moulin [Thu, 10 Mar 2016 22:38:33 +0000 (23:38 +0100)]
Net::IMAP::InterIMAP: change argument order in slurp and _resp.

8 years agopullimap: check all print statements to the SMTP socket.
Guilhem Moulin [Thu, 10 Mar 2016 00:34:13 +0000 (01:34 +0100)]
pullimap: check all print statements to the SMTP socket.

8 years agoNet::IMAP::InterIMAP: don't print undefined cache values in debug messages.
Guilhem Moulin [Wed, 9 Mar 2016 20:14:40 +0000 (21:14 +0100)]
Net::IMAP::InterIMAP: don't print undefined cache values in debug messages.

8 years agopullimap: keep trying to pull new messages after issuing any IMAP command.
Guilhem Moulin [Wed, 9 Mar 2016 19:59:14 +0000 (20:59 +0100)]
pullimap: keep trying to pull new messages after issuing any IMAP command.

Indeed we might get an untagged EXISTS response, meaning that a new
message has been received meanwhile.

8 years agopullimap.1: Work around groff_www rendering bug with nested lists.
Guilhem Moulin [Wed, 9 Mar 2016 19:28:31 +0000 (20:28 +0100)]
pullimap.1: Work around groff_www rendering bug with nested lists.

8 years agoImprove mailto: link for groff_www.
Guilhem Moulin [Wed, 9 Mar 2016 19:12:03 +0000 (20:12 +0100)]
Improve mailto: link for groff_www.

8 years agopullimap: add control flow details in the manpage.
Guilhem Moulin [Wed, 9 Mar 2016 16:18:07 +0000 (17:18 +0100)]
pullimap: add control flow details in the manpage.

8 years agowibble
Guilhem Moulin [Wed, 9 Mar 2016 15:02:29 +0000 (16:02 +0100)]
wibble

8 years agotypo: F_[GS]ETFL → F_[GS]ETFD
Guilhem Moulin [Wed, 9 Mar 2016 14:34:39 +0000 (15:34 +0100)]
typo: F_[GS]ETFL → F_[GS]ETFD

8 years agopullimap: purge old messages every 12h.
Guilhem Moulin [Wed, 9 Mar 2016 14:04:20 +0000 (15:04 +0100)]
pullimap: purge old messages every 12h.

8 years agointerimap: improve manpage.
Guilhem Moulin [Tue, 8 Mar 2016 21:56:53 +0000 (22:56 +0100)]
interimap: improve manpage.

8 years agopullimap: add systemd service unit file.
Guilhem Moulin [Tue, 8 Mar 2016 17:03:08 +0000 (18:03 +0100)]
pullimap: add systemd service unit file.

8 years agopullimap: Don't rely on the last purged timestamp when purge-after=0.
Guilhem Moulin [Tue, 8 Mar 2016 17:02:10 +0000 (18:02 +0100)]
pullimap: Don't rely on the last purged timestamp when purge-after=0.

8 years agopullimap: don't FETCH messages BODY if --no-delivery is set.
Guilhem Moulin [Tue, 8 Mar 2016 16:49:47 +0000 (17:49 +0100)]
pullimap: don't FETCH messages BODY if --no-delivery is set.

8 years agopullimap: improve doc.
Guilhem Moulin [Tue, 8 Mar 2016 16:43:14 +0000 (17:43 +0100)]
pullimap: improve doc.

8 years agoNet::IMAP::InterIMAP: try again if connect(2) was interrupted.
Guilhem Moulin [Tue, 8 Mar 2016 16:30:48 +0000 (17:30 +0100)]
Net::IMAP::InterIMAP: try again if connect(2) was interrupted.

8 years agopullimap: set keepalive options on socket.
Guilhem Moulin [Mon, 7 Mar 2016 23:01:02 +0000 (00:01 +0100)]
pullimap: set keepalive options on socket.

8 years agopullimap: add section name in debug messages.
Guilhem Moulin [Mon, 7 Mar 2016 22:34:08 +0000 (23:34 +0100)]
pullimap: add section name in debug messages.

8 years agopullimap: typo
Guilhem Moulin [Mon, 7 Mar 2016 22:33:45 +0000 (23:33 +0100)]
pullimap: typo

8 years agospellcheck
Guilhem Moulin [Mon, 7 Mar 2016 17:33:42 +0000 (18:33 +0100)]
spellcheck

8 years agopullimap: add a manpage and a configuration file.
Guilhem Moulin [Mon, 7 Mar 2016 16:33:03 +0000 (17:33 +0100)]
pullimap: add a manpage and a configuration file.

8 years agowibble
Guilhem Moulin [Mon, 7 Mar 2016 16:32:29 +0000 (17:32 +0100)]
wibble

8 years agoAdd an option "purge-after" to remove old messages.
Guilhem Moulin [Mon, 7 Mar 2016 15:01:51 +0000 (16:01 +0100)]
Add an option "purge-after" to remove old messages.

8 years agopullimap: Remove "logfile" config option.
Guilhem Moulin [Mon, 7 Mar 2016 12:32:13 +0000 (13:32 +0100)]
pullimap: Remove "logfile" config option.

8 years agopullimap: add an option '--no-delivery' to prevent SMTP/LMTP delivery.
Guilhem Moulin [Mon, 7 Mar 2016 12:30:01 +0000 (13:30 +0100)]
pullimap: add an option '--no-delivery' to prevent SMTP/LMTP delivery.

8 years agotypo
Guilhem Moulin [Mon, 7 Mar 2016 10:40:38 +0000 (11:40 +0100)]
typo

8 years agoEnsure the FD_CLOEXEC bit is 1 on sockets, logger and state files.
Guilhem Moulin [Sat, 5 Mar 2016 18:49:08 +0000 (19:49 +0100)]
Ensure the FD_CLOEXEC bit is 1 on sockets, logger and state files.

8 years agoTerminate the SMTP transmission channel gracefully.
Guilhem Moulin [Sat, 5 Mar 2016 18:36:20 +0000 (19:36 +0100)]
Terminate the SMTP transmission channel gracefully.

8 years agopullimap: add support for IMAP IDLE (RFC 2177).
Guilhem Moulin [Sat, 5 Mar 2016 17:36:07 +0000 (18:36 +0100)]
pullimap: add support for IMAP IDLE (RFC 2177).

8 years agopullimap: add support for SMTP pipelining (RFC 2920)
Guilhem Moulin [Sat, 5 Mar 2016 17:15:25 +0000 (18:15 +0100)]
pullimap: add support for SMTP pipelining (RFC 2920)

8 years agopullimap: add sendmail feature (SMTP/LMTP client).
Guilhem Moulin [Sat, 5 Mar 2016 16:57:08 +0000 (17:57 +0100)]
pullimap: add sendmail feature (SMTP/LMTP client).

8 years agopullimap: mark downloaded messages as \Seen
Guilhem Moulin [Sat, 5 Mar 2016 14:52:27 +0000 (15:52 +0100)]
pullimap: mark downloaded messages as \Seen

8 years agopullimap (IMAP part only)
Guilhem Moulin [Sat, 5 Mar 2016 14:31:36 +0000 (15:31 +0100)]
pullimap (IMAP part only)

8 years agoInspect the select(2) syscall's return value.
Guilhem Moulin [Fri, 4 Mar 2016 10:50:00 +0000 (11:50 +0100)]
Inspect the select(2) syscall's return value.

8 years agoRemove dependency on IO::Select.
Guilhem Moulin [Thu, 3 Mar 2016 21:32:41 +0000 (22:32 +0100)]
Remove dependency on IO::Select.

8 years agoRelax parsing of continuation requests for for empty resp-text.
Guilhem Moulin [Thu, 3 Mar 2016 21:28:46 +0000 (22:28 +0100)]
Relax parsing of continuation requests for for empty resp-text.

microsoft's IMAP server violates RFC 3501 by skipping the trailing space
for empty resp-text.

8 years agoDon't modify the state when receiving an unsolicited FETCH response without UID
Guilhem Moulin [Thu, 3 Mar 2016 21:26:33 +0000 (22:26 +0100)]
Don't modify the state when receiving an unsolicited FETCH response without UID

We require QRESYNC support (RFC 7162) for syncing, which requires UID
(MODSEQ) in unsolicited FETCH responses, cf RFC 7162 section 3.2.4.

8 years agofix slurp(), useful for IDLE and NOTIFY.
Guilhem Moulin [Thu, 3 Mar 2016 21:25:29 +0000 (22:25 +0100)]
fix slurp(), useful for IDLE and NOTIFY.

8 years agoLog and debug messages: don't prefix with a ':' for nameless clients.
Guilhem Moulin [Thu, 3 Mar 2016 21:03:48 +0000 (22:03 +0100)]
Log and debug messages: don't prefix with a ':' for nameless clients.

8 years agoEnsure the inbox is always used in upper-case internally.
Guilhem Moulin [Thu, 3 Mar 2016 18:05:40 +0000 (19:05 +0100)]
Ensure the inbox is always used in upper-case internally.

RFC 3501:

    INBOX is case-insensitive.  All case variants of INBOX (e.g., "iNbOx") MUST
    be interpreted as INBOX not as an astring.  An astring which consists of
    the case-insensitive sequence "I" "N" "B" "O" "X" is considered to be INBOX
    and not an astring.

9 years agowibble
Guilhem Moulin [Fri, 6 Nov 2015 17:50:56 +0000 (18:50 +0100)]
wibble