From 2761465d3bde7e326ffd3cb2c9bb480144f5a72d Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Tue, 28 May 2019 16:46:35 +0200 Subject: typo fixes --- Changelog | 6 +++--- README | 2 +- interimap.md | 25 ++++++++++++------------- lib/Net/IMAP/InterIMAP.pm | 4 ++-- pullimap | 2 +- pullimap.md | 25 ++++++++++++------------- pullimap@.service | 2 +- 7 files changed, 32 insertions(+), 34 deletions(-) diff --git a/Changelog b/Changelog index b9d08a8..c1e996c 100644 --- a/Changelog +++ b/Changelog @@ -10,7 +10,7 @@ interimap (0.5) upstream; namespace. * libinterimap: in tunnel mode, use a socketpair rather than two pipes for IPC between the interimap and the IMAP server. Also, use - SOCK_CLOEXEC to save a fcntl() call when setting the close-on-exec + SOCK_CLOEXEC to save an fcntl() call when setting the close-on-exec flag on the socket. * interimap: new option 'list-reference' to specify a reference name. This is useful for synchronizing multiple remote servers against @@ -18,7 +18,7 @@ interimap (0.5) upstream; different InterIMAP instance for each local namespace <-> remote synchronization, for instance with the newly provided systemd template unit file). - * Add a small test-suite (requires dovecot-imapd). + * Add a test-suite. (Requires dovecot-imapd, pkill(1) and xxd(1).) + interimap: write which --target to use in --delete command suggestions. + interimap: avoid caching hierarchy delimiters forever in the @@ -90,7 +90,7 @@ interimap (0.4) upstream; interimap (0.3) upstream; + New script 'pullimap', to pull mails from an IMAP mailbox and - deliver them to a SMTP session. + deliver them to an SMTP session. + Convert manpage format from groff to pandoc. + interimap: Add support for IMAP NOTIFY [RFC 5465]. + 'fingerprint' now only pins the cert's SPKI, not the cert itself diff --git a/README b/README index 06f328f..a930512 100644 --- a/README +++ b/README @@ -39,7 +39,7 @@ IMAP traffic is mostly text (beside message bodies perhaps) hence compresses pretty well: enabling compression can save a great amount of network resources. -However establishing a SSL/TLS connection (type=imaps, or type=imap and +However establishing an SSL/TLS connection (type=imaps, or type=imap and STARTTLS=YES) yields a small overhead due to the SSL/TLS handshake. On the other hand if SSH access is allowed on the remote server, one can diff --git a/interimap.md b/interimap.md index 4744170..387850a 100644 --- a/interimap.md +++ b/interimap.md @@ -47,7 +47,7 @@ with the [RFC 7162] (sec. 6) amendments, and works as follows: 2. Propagate these changes onto the other server: get the corresponding UIDs from the database, then: - a. issue an `UID STORE` command, followed by `UID EXPUNGE`, to + a. issue a `UID STORE` command, followed by `UID EXPUNGE`, to remove messages that have not already been deleted on both servers; and b. issue some `UID STORE` commands to propagate flag updates (send @@ -62,9 +62,9 @@ with the [RFC 7162] (sec. 6) amendments, and works as follows: Otherwise, update the `HIGHESTMODSEQ` value in the database. 3. Process new messages (if the current `UIDNEXT` value of the mailbox - differs from the one found in the database) by issuing an `UID - FETCH` command; process each received message on-the-fly by issuing - an `APPEND` command with the message's `RFC822` body, `FLAGS` and + differs from the one found in the database) by issuing a `UID FETCH` + command; process each received message on-the-fly by issuing an + `APPEND` command with the message's `RFC822` body, `FLAGS` and `INTERNALDATE`. Repeat this step if the server received new messages in the meantime. Otherwise, update the `UIDNEXT` value in the database. @@ -111,8 +111,8 @@ other than the default [`QRESYNC`][RFC 7162]-based synchronization. existing UID; and 3/ ensure that both flag lists match. Any message found on a server but not in the database is replicated - on the other server (which in the worst case, might lead to a - message duplicate). + on the other server (which in the worst case, might yield a message + duplicate). Flag conflicts are solved by updating each message to the union of both lists. @@ -224,7 +224,7 @@ Valid options are: to the `perso/` sub-hierarchy on the local server. 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 + different `interimap` instance for each local namespace ↔ remote synchronization). (Note that if the reference name is not a level of mailbox hierarchy @@ -281,10 +281,10 @@ Valid options are: : One of `imap`, `imaps` or `tunnel`. `type=imap` and `type=imaps` are respectively used for IMAP and IMAP - over SSL/TLS connections over a INET socket. + over SSL/TLS connections over an INET socket. `type=tunnel` causes `interimap` to create an unnamed pair of connected sockets for interprocess communication with a *command* - instead of a opening a network socket. + instead of opening a network socket. Note that specifying `type=tunnel` in the `[remote]` section makes the default *database* to be `localhost.db`. (Default: `imaps`.) @@ -316,7 +316,7 @@ Valid options are: protocol][RFC 3501] on its standard output, and understand it on its standard input. The value is passed to `` `/bin/sh -c` `` if it contains shell metacharacters; otherwise it is split into words and - the list is passed to `execvp`(3). + the resulting list is passed to `execvp`(3). *STARTTLS* @@ -376,9 +376,8 @@ Valid options are: Attempting to connect to a server with a non-matching certificate SPKI fingerprint causes `interimap` to abort the connection during the SSL/TLS handshake. - - You can use the following command to compute the SHA-256 digest of - certificate's Subject Public Key Info. + The following command can be used to compute the SHA-256 digest of a + certificate's Subject Public Key Info: openssl x509 -in /path/to/server/certificate.pem -pubkey \ | openssl pkey -pubin -outform DER \ diff --git a/lib/Net/IMAP/InterIMAP.pm b/lib/Net/IMAP/InterIMAP.pm index 111537c..19895c4 100644 --- a/lib/Net/IMAP/InterIMAP.pm +++ b/lib/Net/IMAP/InterIMAP.pm @@ -611,7 +611,7 @@ sub incapable($@) { # $self->search($criterion) -# Issue an UID SEARCH command with the given $criterion. For the "normal" +# Issue a UID SEARCH command with the given $criterion. For the "normal" # UID SEARCH command from RFC 3501, return the list of matching UIDs; # for the extended UID SEARCH command from RFC 4731 (ensuring ESEARCH # capability is the caller's responsibility), return an optional "UID" @@ -922,7 +922,7 @@ sub append($$@) { # $self->fetch($set, $flags, [$callback]) -# Issue an UID FETCH command with the given UID $set, $flags, and +# Issue a UID FETCH command with the given UID $set, $flags, and # optional $callback. sub fetch($$$;&) { my ($self, $set, $flags, $callback) = @_; diff --git a/pullimap b/pullimap index 84587fe..e1c96e8 100755 --- a/pullimap +++ b/pullimap @@ -1,7 +1,7 @@ #!/usr/bin/perl -T #---------------------------------------------------------------------- -# Pull mails from an IMAP mailbox and deliver them to a SMTP session +# Pull mails from an IMAP mailbox and deliver them to an SMTP session # Copyright © 2016-2018 Guilhem Moulin # # This program is free software: you can redistribute it and/or modify diff --git a/pullimap.md b/pullimap.md index dd25571..1b2e509 100644 --- a/pullimap.md +++ b/pullimap.md @@ -5,7 +5,7 @@ Name ==== -PullIMAP - Pull mails from an IMAP mailbox and deliver them to a SMTP session +PullIMAP - Pull mails from an IMAP mailbox and deliver them to an SMTP session Synopsis ======== @@ -16,8 +16,8 @@ Synopsis Description =========== -`pullimap` retrieves messages from an IMAP mailbox and deliver them to a -SMTP or LMTP transmission channel. It can also remove old messages +`pullimap` retrieves messages from an IMAP mailbox and deliver them to +an SMTP or LMTP transmission channel. It can also remove old messages after a configurable retention period. A *statefile* is used to keep track of the mailbox's `UIDVALIDITY` and @@ -130,10 +130,10 @@ Valid options are: : One of `imap`, `imaps` or `tunnel`. `type=imap` and `type=imaps` are respectively used for IMAP and IMAP - over SSL/TLS connections over a INET socket. + over SSL/TLS connections over an INET socket. `type=tunnel` causes `pullimap` to create an unnamed pair of connected sockets for interprocess communication with a *command* - instead of a opening a network socket. + instead of opening a network socket. (Default: `imaps`.) *host* @@ -163,7 +163,7 @@ Valid options are: protocol][RFC 3501] on its standard output, and understand it on its standard input. The value is passed to `` `/bin/sh -c` `` if it contains shell metacharacters; otherwise it is split into words and - the list is passed to `execvp`(3). + the resulting list is passed to `execvp`(3). *STARTTLS* @@ -221,9 +221,8 @@ Valid options are: Attempting to connect to a server with a non-matching certificate SPKI fingerprint causes `pullimap` to abort the connection during the SSL/TLS handshake. - - You can use the following command to compute the SHA-256 digest of - certificate's Subject Public Key Info. + The following command can be used to compute the SHA-256 digest of a + certificate's Subject Public Key Info: openssl x509 -in /path/to/server/certificate.pem -pubkey \ | openssl pkey -pubin -outform DER \ @@ -266,7 +265,7 @@ Usually there are only two integers: the first is the *mailbox*'s smaller than this `UIDNEXT` value have already been retrieved and delivered). The [IMAP4rev1 specification][RFC 3501] does not guaranty that untagged -`FETCH` responses are sent ordered by UID in response to an `UID FETCH` +`FETCH` responses are sent ordered by UID in response to a `UID FETCH` command. Thus it would be unsafe for `pullimap` to update the `UIDNEXT` value in its *statefile* while the `UID FETCH` command is progress. Instead, for each untagged `FETCH` response received while the `UID @@ -281,7 +280,7 @@ FETCH` command is in progress. In more details, `pullimap` works as follows: - 1. Issue an `UID FETCH` command to retrieve message `ENVELOPE` and + 1. Issue a `UID FETCH` command to retrieve message `ENVELOPE` and `RFC822` (and `UID`) with UID bigger or equal than the `UIDNEXT` value found in the *statefile*. While the `UID FETCH` command is in progress, perform the following @@ -299,10 +298,10 @@ In more details, `pullimap` works as follows: i. append the message UID to the *statefile*. - 2. If a SMTP/LMTP transmission channel was opened, send a `QUIT` command + 2. If an SMTP/LMTP transmission channel was opened, send a `QUIT` command to terminate it gracefully. - 3. Issue an `UID STORE` command to mark all retrieved messages (and + 3. Issue a `UID STORE` command to mark all retrieved messages (and stalled UIDs found in the *statefile* after the eigth byte) as `\Seen`. diff --git a/pullimap@.service b/pullimap@.service index 53694da..a9ce09a 100644 --- a/pullimap@.service +++ b/pullimap@.service @@ -1,5 +1,5 @@ [Unit] -Description=Pull mails from an IMAP mailbox and deliver them to a SMTP session (instance %i) +Description=Pull mails from an IMAP mailbox and deliver them to an SMTP session (instance %i) Documentation=man:pullimap(1) Wants=network-online.target After=network-online.target -- cgit v1.2.3