diff options
author | Eduardo Chappa <chappa@washington.edu> | 2013-05-31 17:08:22 -0600 |
---|---|---|
committer | Eduardo Chappa <chappa@washington.edu> | 2013-05-31 17:08:22 -0600 |
commit | 81e994d7907f850506ddc248f84761a54995e58c (patch) | |
tree | 3bc4993b48ddeec45dee51323437200ab975887c /README.maildir | |
parent | 077522d7e058133f9de99d0d74481566b21c5a98 (diff) | |
download | alpine-81e994d7907f850506ddc248f84761a54995e58c.tar.xz |
* Fix not allow remote execution by adding PIPE_NOSHELL to the opening of a url by
a browser.
Diffstat (limited to 'README.maildir')
-rw-r--r-- | README.maildir | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/README.maildir b/README.maildir new file mode 100644 index 00000000..b4ac49b1 --- /dev/null +++ b/README.maildir @@ -0,0 +1,149 @@ +--------------------------------------- + +Maildir Driver for Alpine 2.0 +By Eduardo Chappa +<chappa@gmx.com> + +--------------------------------------- +1. General Information About This Patch +--------------------------------------- + +This patch adds support for the maildir format to Alpine. We take the +approach that this patch is one more driver among the number of formats +supported by Alpine (more generally c-client). This approach differs from +older versions of similar patches, in that once a maildir patch was +applied, it was assumed that all your folders would be created in the +maildir format. + +This patch does not assume that maildir is a preferred format, instead +puts maildir in equal footing with other formats (mbox, mbx, mix, etc), +and so a maildir folder in the mail/ collection is treated in the same way +as any other folder in any other format. In other words, just by reading +the name of a folder, or opening it, or doing any operation with it, you +can not know in which format the folder is. + +This implies that if you want to add a folder in the maildir format to the +mail/ collection, then you must add by pressing "A" in the folder list +collection and enter "#driver.md/mail/name_maildir_folder". + +If you only want to use maildir, however, you can do so too. In this case, +you must create a maildir collection. In that collection, only maildir +folders will be listed. If there is any folder in any other format, that +folder will be ignored. In another words, any folder listed there is in +maildir format and can be accessed through that collection, conversely, +any folder not listed there is not in maildir format and there is no way +to access it using this collection. + +In order to create a maildir collection, you could press M S L, and "A" to +add a collection. Fill in the required fields as follows: + +Nickname : Anything +Server : +Path : #md/relative/path/to/maildir/collection/ +View : + +For example, if "path" is set to "#md/mail/", then Alpine will look for your +maildir folders that are in ~/mail/. + +The code in this patch is mostly based in code for the unix driver plus +some combinations of the mh, mbx and nntp drivers for the c-client +library. Those drivers were designed by Mark Crispin, and bugs in this +code are not his bugs, but my own. + + I got all the specification for this patch from +http://cr.yp.to/proto/maildir.html. If you know of a place with a better +specification for maildir format please let me know. The method this patch +uses to create a unique filename for a message is one of the "old +fashioned" methods. I realize that this is old fashioned, but it is +portable, and portability is the main reason why I decided to use an old +fashioned method (most methods are not portable. See the word +"Unfortunately" in that document). + +-------------- +2. Other Goals +-------------- + + It is intended that this code will work well with any application +written using the c-client library. Of paramount importance is to make the +associated imap server work well when the server accesses a folder in +Maildir format. The program mailutil should also work flawlessly with this +implemetation of the driver. + + It is intended that this driver be fast and stable. We intend not to +patch Alpine to make this driver do its work, unless such patching is for +fixing bugs in Alpine or to pass parameters to the driver. + +------------------------------------------------------------------------ +3. What are the known bugs of this implementation of the Maildir driver? +------------------------------------------------------------------------ + + I don't know any at this time. There have been bugs before, though, but +I try to fix bugs as soon as they are reported. + +---------- +4. On UIDs +---------- + + This patch keeps uids in the name of the file that contains the message, +by adding a ",u=" string to the file name to save the uid of a message. A +file is kept between sessions to save information on the last uid assigned +and its time of validity. Only one session with writing access can write +uids, all others must wait for the other session to assign them. The +session assigning uids creates a ".uidtemp" file which other sessions must +not disturb. + + Uid support appeared in Alpine 1.00 (snapshot 925), and is experimental, +please report any problems. + +---------------------------------------------- +5. Configuring Alpine and Setting up a Maildir +---------------------------------------------- + +Once this approach was chosen, it implied the following: + + * This patch assumes that your INBOX is located at "$HOME/Maildir". + This is a directory which should have three subdirectories "cur", + "tmp" and "new". Mail is delivered to 'new' and read from 'cur'. I + have added a configuration option "maildir-location" which can be + used to tell Alpine where your Maildir inbox is, in case your system + does not use the above directory (e.g. your system may use + "~/.maildir"). In this case define that variable to be the name of + the directory where your e-mail is being delivered (e.g. + ".maildir"). + + * If you want to use the above configuration as your inbox, you must + define your inbox-path as "#md/inbox" (no quotes). You can define + the inbox-path like above even if you have changed the + maildir-location variable. That's the whole point of that variable. + +------------------------------------------- +6. What about Courier/Dovecot file systems? +------------------------------------------- + +In a courier file system all folders are subfolders of a root folder +called INBOX. Normally INBOX is located at ~/Maildir and subfolders are +"dot" directories in ~/Maildir. For example ~/Maildir/.Trash is a +subfolder of INBOX and is accessed with the nickname "INBOX.Trash". + +You can not access folders in this way unless you preceed them with the +string "#mc/". The purpose of the string "#mc/" is to warn Alpine that a +collection in the Courier format is going to be accessed. Therefore, you +can SELECT a folder like "#mc/INBOX.Trash", but not "INBOX.Trash" + +You can access a collection through a server, but if you want to access a +collection of folders created using the Courier server, you MUST edit your +".pinerc" file and enter the definition of the collection as follows: + +folder-collections="Anything you want" #mc/INBOX.[] + +You can replace the string "#mc/INBOX." by something different, for example +"#mc/Courier/." will make Alpine search for your collection in ~/Courier. + +You can not add this setting directly into Alpine because Alpine fails to +accept this value from its input, but it takes it correctly when it is +added through the ".pinerc" file. + +You can access your inbox as "#mc/INBOX" or "#md/INBOX". Both definitions +point to the same place. + +Last Updated May 28, 2011 |