Commit Graph

106 Commits

Author SHA1 Message Date
Ben Boeckel
585e5d5e2e logging: add a switch to log to syslog
Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-09-27 04:12:33 +02:00
Janna Martl
8096f6cd5b maxage: fix timezone issues, remove IMAP-IMAP support, add startdate option
1. When using maxage, local and remote messagelists are supposed to only
contain messages from at most maxage days ago. But local and remote used
different timezones to calculate what "maxage days ago" means, resulting
in removals on one side. Now, we ask the local folder for maxage days'
worth of mail, find the lowest UID, and then ask the remote folder for
all UID's starting with that lowest one.

2. maxage was fundamentally wrong in the IMAP-IMAP case: it assumed that
remote messages have UIDs in the same order as their local counterparts,
which could be false, e.g. when messages are copied in quick succession.
So, remove support for maxage in the IMAP-IMAP case.

3. Add startdate option for IMAP-IMAP syncs: use messages from the given
repository starting at startdate, and all messages from the other
repository. In the first sync, the other repository must be empty.

4. Allow maxage to be specified either as number of days to sync (as
previously) or as a fixed date.

Signed-off-by: Janna Martl <janna.martl109@gmail.com>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-04-07 11:54:35 +02:00
Nicolas Sebrecht
aec5430457 website-doc.sh: include user contributions
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-25 20:09:59 +01:00
Nicolas Sebrecht
60cc58c38e DNS of the website changed, reflect it
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-21 13:40:06 +01:00
Nicolas Sebrecht
f11eaaea6f contrib: introduce script to make new releases
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-20 11:31:27 +01:00
Nicolas Sebrecht
9b55cc5475 website-doc.sh: fix function call
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-20 11:03:17 +01:00
Nicolas Sebrecht
b7f245b02e offlineimap(1): add known issue when mails change since invokation
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-19 17:07:04 +01:00
Nicolas Sebrecht
cf2a2c769c offlineimap(1): fix formatting
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-17 12:40:34 +01:00
Nicolas Sebrecht
dd2a70fc68 website-doc.sh: learn to export Changelog's definitions
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-17 02:39:44 +01:00
Nicolas Sebrecht
6be2656350 doc: move non-API documentation to the website
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-14 01:07:01 +01:00
Nicolas Sebrecht
5eeea9ed83 improve documentation
- README
- restrict sphinx documentation to the API
- update the Makefiles

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-13 19:10:48 +01:00
Nicolas Sebrecht
09fca0ccb1 remove obsolete documentation
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-13 18:51:14 +01:00
Nicolas Sebrecht
2c259369c0 man: offlineimapui: minor typo fix
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-13 18:45:51 +01:00
Nicolas Sebrecht
4d0a7eae42 website-doc.sh: write releases in reversed chronological order
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-10 18:31:18 +01:00
Nicolas Sebrecht
8229800e0c Changelogs: move format back to markdown/kramdown to be more compatible with Jekyll
Learn how to export them to the website.

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-10 16:33:30 +01:00
Nicolas Sebrecht
c9ce43313f fix the Makefile(s)
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-10 16:33:30 +01:00
Nicolas Sebrecht
0b43418911 docs: full refactoring of the MANUAL
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-10 16:33:30 +01:00
Nicolas Sebrecht
7c7e7f92b1 website: learn to build the sphinx documentation
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-10 15:52:46 +01:00
Nicolas Sebrecht
d5cea50370 doc: move all sources to the same directory
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-10 15:52:46 +01:00
Nicolas Sebrecht
bbc84ead0f move some documentation to the website
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-10 15:52:46 +01:00
Nicolas Sebrecht
846ebeb2aa docs: GitAdvanced: write the "sending pull request" section
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-07 20:05:17 +01:00
Nicolas Sebrecht
e303c6c5d0 rework documentation
- Add CONTRIBUTING.rst.
- Improve MAINTAINERS.rst.
- Split long HACKING.rst into:
  * dco.rst
  * GitAdvanced.rst

Update content.

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-07 19:26:17 +01:00
Nicolas Sebrecht
2377353cae rfcs: update RFCs and provide better filenames
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-06 21:27:52 +01:00
Nicolas Sebrecht
5ecd557dfb doc: add IMAP RFCs
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-03-02 10:52:26 +01:00
Nicolas Sebrecht
cd962d40a8 MANUAL: add known issues entry about socktimeout for suspended sessions
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-02-13 17:32:24 +01:00
Nicolas Sebrecht
30499cf680 MANUAL: rename "KNOWN BUGS" TO "KNOWN ISSUES"
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-02-13 17:32:24 +01:00
Abdo Roig-Maranges
5318af606e docs: expand documentation of the gmail labels syncing
- Suggest that this works well together with email indexing.

- Warn about modifying the labelsheader after a sync.

- In the example replace X-Gmail-Keywords by X-Keywords. I think this is
  misleading, since no email client will pick up X-Gmail-Keywords, while
  X-Keywords (the default) is recognized by some.

- add paragraph explaining special gmail labels.

Merge-request-from: Abdó Roig-Maranges
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-02-10 12:35:54 +01:00
Nicolas Sebrecht
5c56d4f8ab docs: CodingGuidelines: remove duplicate content
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-01-13 18:18:03 +01:00
Wieland Hoffmann
d08f6d15c2 addmessageheader: Add a note about the incorrect rendering of the docstring
The note tells people to look at the source of the method, which
spinx.ext.viewcode conveniently links right next to the methods
signature.

Signed-off-by: Wieland Hoffmann <themineo@gmail.com>
2015-01-12 17:17:42 +01:00
Eygene Ryabinkin
2789ad26bf API documentation: fix typo
Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2015-01-12 17:51:27 +03:00
Eygene Ryabinkin
854d0019d9 API documentation: properly auto-document main class
Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2015-01-12 17:51:27 +03:00
Eygene Ryabinkin
50b01cd728 Fix API documentation syntax
- Drop unneeded definition for offlineimap.globals module.
 - Avoid hyperlinking the section from itself.

Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2015-01-12 17:51:27 +03:00
Eygene Ryabinkin
e7fabf9e57 Properly re-raise exception to save original tracebacks
We usually mutate some exceptions to OfflineImapError() and it is
a whole lot better if such exception will show up with the original
traceback, so all valid occurrences of such mutations were transformed
to the 3-tuple form of "raise".  Had also added coding guidelines
document where this re-raise strategy is documented.

Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2015-01-12 17:51:21 +03:00
Nicolas Sebrecht
bd0461a986 MANUAL: add minor sample on how to retrieve a password with a helper python file
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-01-10 12:36:18 +01:00
Nicolas Sebrecht
18bf7b7dc9 MANUAL: split long lines
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-01-10 12:36:18 +01:00
Nicolas Sebrecht
4273c9b305 doc-src: nametrans.rst: fix minor error
- Typo in code was corrected by aeeea5
- Update prose to match code

Submitted-by: sumbach (Github)
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-01-10 12:36:17 +01:00
Wieland Hoffmann
40226705af MANUAL: dev-doc is no more
The folder has been removed in 74b133c500

Signed-off-by: Wieland Hoffmann <themineo@gmail.com>
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-01-09 01:10:44 +01:00
Nicolas Sebrecht
532278b4dd docs: remove obsolete comment about SubmittingPatches.rst
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2015-01-01 22:24:23 +01:00
Sebastian Spaeth
f282f0b0e0 Merge pull request #67 from danmilon/fix-docs-folderfilter-typo
docs: fix folderfilter typo
2014-06-24 18:55:36 +04:00
Eygene Ryabinkin
ee89610f3a Hacking manual: documented how to create tags
Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2014-05-14 18:02:53 +04:00
Abdo Roig-Maranges
6453ab0db7 Bring GMail labels section on the manual up to date
- there is no need to set SQlite backend anymore;
 - explain a bit more that some headers are recognized
   by email clients.

Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2014-05-11 22:38:57 +04:00
Eygene Ryabinkin
5150de5514 Add support for XDG Base Directory Specification
$XDG_CONFIG_HOME/offlineimap/config will now be tried before
the canonical ~/.offlineimaprc.

Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2014-05-07 00:40:59 +04:00
Nathan Guerin
9eba0e5eb7 User manual: fix typo, "rebuild" -> "rebuilt"
Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2014-05-07 00:07:18 +04:00
Abdó Roig-Maranges
0e4afa9132 Make GmailFolder sync GMail labels
When synclabels config flag is set to "yes" for the GMail repo,
offlineimap fetches the message labels along with the messages, and
embeds them into the body under the header X-Keywords (or whatever
'labelsheader' was set to), as a comma separated list.

It also adds an extra pass to savemessageto, that performs label
synchronization on existing messages from GMail to local, the same way
it is done with flags.

We also introduce GmailMaildir repository that adds functionality to
change message labels.  It keeps track of messages modification time,
so one can quickly detect when the labels may have changed.

Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2014-05-06 23:36:06 +04:00
Eygene Ryabinkin
6cbd2498ae Refactoring: make functions to be private if we can
Make external API of class/module to be smaller, explicitely mark
all internal functions.  Also annotate methods that are implemented
as the part of the parent class interface.

Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2014-04-30 19:35:56 +04:00
Nicolas Sebrecht
e3fbe0232b docs: add "development state" section and update some links
Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
2013-12-14 15:02:41 +01:00
Eygene Ryabinkin
41cb0f577f Prune trailing whitespaces from code and documentation
They are redundant in all pruned cases and sometimes even create some
problems, e.g., when one tries to jump through paragraphs in vi.

Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2013-07-21 23:00:23 +04:00
Eygene Ryabinkin
f4140cbbed Create global instance of command-line options
This eases testing of option values inside the code.  This instance
is implemented as the read-only copy of the obtained 'options' object,
so callers won't be able to modify its contents.

Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2013-02-11 23:34:18 +04:00
Eygene Ryabinkin
de84c3941c Implement stack trace dump for all running threads on SIGQUIT
This is handy when we're debugging the thread locks: we can try to
understand which thread does what and how it was called.

Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2013-02-02 16:25:37 +04:00
Dmitrijs Ledkovs
83e8fca2e0 Make SIGHUP singal handler equivalent to SIGTERM and SIGINT.
offlineimap has several frontends that encourage running it from a
terminal under an X session. When X session closes for a system
shutdown, the terminals exit, after sending SIGHUP to their children.

Previously SIGHUP was treated to be equivalent to SIGUSR1, i.e. wake
up and sync all accounts. This causes delays during shutdown.

According to Wikipedia [0], SIGHUP has been repurposed from a
historical meaning to one of:
 * re-read configuration files, or reinitialize (e.g. Apache, sendmail)
 * controlling pseudo or virtual terminal has been closed

I believe second meaning is more appropriate for offlineimap, and
hence this patch makes SIGHUP to be handled in the same way SIGTERM
and SIGINT are handled.

[0] http://en.wikipedia.org/wiki/SIGHUP

Debian-Bug: http://bugs.debian.org/670120
Reported-By: Steve Langasek <steve.langasek@canonical.com>
Signed-off-by: Dmitrijs Ledkovs <xnox@debian.org>
Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
2013-01-26 23:05:46 +04:00