user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Johannes Berg <johannes@sipsolutions.net>
Cc: Eric Wong <e@80x24.org>,  meta@public-inbox.org
Subject: Re: IMAP server [was: Q: V2 format]
Date: Fri, 28 Sep 2018 23:01:19 +0200	[thread overview]
Message-ID: <87zhw1cp5s.fsf@xmission.com> (raw)
In-Reply-To: <1538165409.14416.92.camel@sipsolutions.net> (Johannes Berg's message of "Fri, 28 Sep 2018 22:10:09 +0200")

Johannes Berg <johannes@sipsolutions.net> writes:

> Sorry to just jump into an old thread; I was wondering about IMAP server
> support as well, in particular because unlike NNTP that allows pushing
> the search to the server, and that would be useful for local archives.
>
>> Hosting an IMAP/POP3 server is way more overhead for the admin
>> as it requires storing user credentials and storing per-reader
>> state.  So the preference is to do NNTP as well as possible and
>> layer the complexity of per-user account data on top of it.
>
> I'm not really sure that's true; dovecot, for example, provides their
> lists archives via anonymous IMAP:
> https://www.dovecot.org/mailinglists.html
>
> They have instructions here on how to do that over dovecot:
> https://wiki2.dovecot.org/HowTo/ReadOnlyArchive
>
> In particular:
>
>    /var/home/anonymous/control# ls -la
>    drwxr-xr-x 3 root     root     4096 May 25 15:43 ./
>    drwxr-xr-x 3 anondove root     4096 Mar 20 14:39 .imap/
>    -rw-r--r-- 1 root     root   33 May 25 15:43 .subscriptions
>
>    Create the .subscriptions file manually to contain all the mailboxes
>    you. Note that the control directory isn't writable by anondove, so
>    that the subscriptions can't be changed.
>
>    [...]
>
>  *    INBOX must always exists even if it's empty. Make sure it's not
>       writable.
>  * Make sure the mail directory isn't writable so users can't create new
>       mailboxes.
>  * The mboxes can be placed in the directory itself, or symlinks can be
>       used. Above you'll see that mailman places all Dovecot archives under
>       /var/home/archives. Make sure none of these files are writable by
>       anondove.
>
> They also set up some read-only ACLs, I think to make the read-only
> state clear to the user agent, but of course a public-inbox IMAP server
> can hard-code all of this and not accept any write commands to start
> with.
>
> Anyway, just FYI; since I don't know perl at all I don't think I'll be
> doing any work on this.

I have looked at gnus and there is support in there for performing
searches via the old gmane web interface.  Public inbox already provides
an attribute that tells you what the web server is.  So all it will
really take is someone with a little time to wire up the search
interface.

Beyond that if you have the archives local (and that is easy) it is
quite possible to just git grep through them and find things of
interest.

I should verify this but I don't think IMAP has a good version of the
NNTP overview database.  Which seems to make IMAP quite a bit slower for
reading news.  Certainly gnus+public-inbox locally is running quite a
bit faster than my old gnus+cyrus-imap configuration.

I tried to read through the IMAP search specification to see how it
compares with what public-inbox makes available and I did not get
particularly far.   It was not easy to match up the various search
capabilities.  The biggest issue is that IMAP tends to not talk
about message-ids.  Where that is fundamentally one of the most
important fields to index if you are dealing with threaded mail.

So long story short while I am not opposed to a read-only IMAP
configuration I think NNTP has much to recommend it.  I do think we need
little things like SSL support for NNTP.  Just to prevent inappropriate
access to traffic in flight.

It won't be for a while yet but I have some scripts I need to push at
least to the public-inbox scripts directory that simplify the process
taking a single email address subscribing to email and sorting it out
into different public-inbox git archives.  Currently I have every
mailling list I am subscribed to pushed into public-inbox.

Eric


  reply	other threads:[~2018-09-28 21:01 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-11 20:01 Q: V2 format Eric W. Biederman
2018-07-11 21:18 ` Konstantin Ryabitsev
2018-07-11 21:41   ` Eric W. Biederman
2018-07-12  1:47 ` Eric Wong
2018-07-12 13:58   ` Eric W. Biederman
2018-07-12 23:09     ` Eric Wong
2018-07-13 13:39       ` Eric W. Biederman
2018-07-13 20:03         ` Eric W. Biederman
2018-07-13 22:22           ` msgmap serial number regeneration [was: Q: V2 format] Eric Wong
2018-07-14 19:01             ` Eric W. Biederman
2018-07-15  3:18               ` Eric Wong
2018-07-16 15:20                 ` Eric W. Biederman
2018-07-13 22:02         ` bug: v2 deletes on incremental fetch " Eric Wong
2018-07-13 22:51           ` Eric W. Biederman
2018-07-14  0:46           ` [PATCH] v2writable: unindex deleted messages after incremental fetch Eric Wong
2018-07-13 23:07         ` IMAP server [was: Q: V2 format] Eric Wong
2018-07-13 23:12           ` Eric W. Biederman
2018-09-28 20:10           ` Johannes Berg
2018-09-28 21:01             ` Eric W. Biederman [this message]
2018-10-01  7:46               ` Johannes Berg
2018-10-01  8:51                 ` Eric W. Biederman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://public-inbox.org/README

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zhw1cp5s.fsf@xmission.com \
    --to=ebiederm@xmission.com \
    --cc=e@80x24.org \
    --cc=johannes@sipsolutions.net \
    --cc=meta@public-inbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).