6 years agochange extra error checking to use unified error message code gpgme
Hamish Downer [Sun, 20 Feb 2011 19:38:39 +0000 (19:38 +0000)]
change extra error checking to use unified error message code

6 years agoCheck for valid signature before signature.to_s
Gaudenz Steinlin [Thu, 17 Feb 2011 14:26:41 +0000 (15:26 +0100)]
Check for valid signature before signature.to_s

In some circumstances with broken signatures signature.to_s returns nil.
Check for a valid signature before relying on this string. This avoids
an uncaught exception.

Signed-off-by: Hamish Downer <>
6 years agoCheck for ArgumentError on signature verification
Gaudenz Steinlin [Thu, 17 Feb 2011 14:13:31 +0000 (15:13 +0100)]
Check for ArgumentError on signature verification

Broken signatures can cause a NULL pointer which results in an
ArguementError when calling ctx.verify_result even if the previous call
to ctx.verify does not raise an exception.

The underling cause is probably a bug in GPGME.

Signed-off-by: Hamish Downer <>
6 years agoUnify formatting of GPGME error messages
Gaudenz Steinlin [Thu, 17 Feb 2011 14:09:23 +0000 (15:09 +0100)]
Unify formatting of GPGME error messages

Create a private function to turn a an exception into a "human friendly"
error message and to add a entry to the logfile. Use this function for
all error paths.

Signed-off-by: Hamish Downer <>
6 years agofixed type in gpg checking code
Hamish Downer [Thu, 10 Feb 2011 23:19:29 +0000 (23:19 +0000)]
fixed type in gpg checking code

6 years agoimproved crypto start up checks
Hamish Downer [Thu, 10 Feb 2011 23:01:42 +0000 (23:01 +0000)]
improved crypto start up checks

6 years agofix silly mistakes
Hamish Downer [Thu, 10 Feb 2011 00:41:14 +0000 (00:41 +0000)]
fix silly mistakes

6 years agoBetter gpg error checking.
Hamish Downer [Thu, 10 Feb 2011 00:27:01 +0000 (00:27 +0000)]
Better gpg error checking.

The crypto initialize code now checks for a number of common reasons
for GPG not working, all related to the gpg-agent side of things. It
will then give a reasonably friendly error message, helping diagnose
why GPG is not working for you.

In particular it will check whether the environment variable is set,
whether the environment variable points to a file, and whether that
file is a socket.

6 years agoonly do signature to_s when it will work
Hamish Downer [Fri, 4 Feb 2011 00:06:52 +0000 (00:06 +0000)]
only do signature to_s when it will work

6 years agoshow the FULL key fingerprint, not just the first half
Hamish Downer [Wed, 2 Feb 2011 21:06:22 +0000 (21:06 +0000)]
show the FULL key fingerprint, not just the first half

6 years agosignature summary now states "untrusted" if the signing key is not trusted
Hamish Downer [Wed, 2 Feb 2011 21:02:05 +0000 (21:02 +0000)]
signature summary now states "untrusted" if the signing key is not trusted

6 years agoAdd full fingerprint for untrusted keys
Hamish Downer [Sun, 30 Jan 2011 23:43:14 +0000 (23:43 +0000)]
Add full fingerprint for untrusted keys

When the key that signed a message is not trusted, show the full
fingerprint, as the gpg binary does.

6 years agoCatch case where gpg-agent not running or key not available
Hamish Downer [Sun, 30 Jan 2011 23:37:45 +0000 (23:37 +0000)]
Catch case where gpg-agent not running or key not available

GPGME does not raise an Error when the key is not available (say
gpg-agent is not running, or the key is on removable media and has
been removed). In these cases GPGME returns a zero length string.
This patch checks the returned string and raises an error if it has
zero length.

6 years agoFixed the bug that stopped emails being signed.
Hamish Downer [Sun, 30 Jan 2011 22:44:05 +0000 (22:44 +0000)]
Fixed the bug that stopped emails being signed.

Schoolboy error - needed merge! rather than merge

7 years agoadded color for untrusted cryptonotice
Hamish Downer [Mon, 6 Dec 2010 22:33:17 +0000 (22:33 +0000)]
added color for untrusted cryptonotice

7 years agoadded signature output hook
Hamish Downer [Tue, 16 Nov 2010 22:54:06 +0000 (22:54 +0000)]
added signature output hook

7 years agoimproved signature messages
Hamish Downer [Tue, 16 Nov 2010 20:58:01 +0000 (20:58 +0000)]
improved signature messages

7 years agocatch exception when no public key present
Hamish Downer [Mon, 8 Nov 2010 22:31:01 +0000 (22:31 +0000)]
catch exception when no public key present

7 years agoConverted crypto to use the gpgme gem
Hamish Downer [Fri, 5 Nov 2010 22:30:55 +0000 (22:30 +0000)]
Converted crypto to use the gpgme gem

7 years agoMake encoding conversion pass //IGNORE to iconv
Alvaro Herrera [Tue, 9 Nov 2010 15:13:47 +0000 (12:13 -0300)]
Make encoding conversion pass //IGNORE to iconv

This makes transcoding failure a bit more user-friendly by discarding
broken chars and displaying what can be successfully transcoded, instead
of punting and displaying the ASCII representation.

This is particularly useful when corporate email systems append a
disclaimer that's encoded in a different encoding than whatever the user
has set up in the MUA; or when broken remote MUAs fail to re-encode the
quoted part when they reply in a different encoding.

7 years agoUse "-- " for signature separator
Alvaro Herrera [Tue, 9 Nov 2010 15:10:30 +0000 (12:10 -0300)]
Use "-- " for signature separator

7 years agoFix crash on handling attachment filenames with /
Alvaro Herrera [Tue, 9 Nov 2010 15:07:27 +0000 (12:07 -0300)]
Fix crash on handling attachment filenames with /

7 years agoForce UTF-8 in ask_many_emails..
Gaute Hope [Tue, 9 Nov 2010 10:06:04 +0000 (11:06 +0100)]
Force UTF-8 in ask_many_emails..

A mix-up occurs when you first tab complete a UTF-8 contact, then try to
complete an ASCII encoded contact.

They are all stored as UTF-8 in file and when loaded - but will
apparently be converted to ASCII if possible when a Person object is

7 years agoFix Whitespace errors in buffer.rb
Gaute Hope [Tue, 9 Nov 2010 10:05:10 +0000 (11:05 +0100)]
Fix Whitespace errors in buffer.rb

7 years agoensure index directory is created
Rich Lane [Tue, 9 Nov 2010 21:50:19 +0000 (13:50 -0800)]
ensure index directory is created

7 years agoMore UTF-8 support; load all labels as UTF-8
Gaute Hope [Thu, 4 Nov 2010 13:21:20 +0000 (14:21 +0100)]
More UTF-8 support; load all labels as UTF-8

Even if the labels.txt file is read as UTF-8 apparantly after a label is
symoblized, it will be US-ASCII on .to_s if possible. This patch forces

If you use L to select a US-ASCII label (i.e. Sent) then want to narrow
the search by pressing L again and use tab to match against an UTF-8
label sup crashes.

Also fixes one whitespace error in bin/sup

7 years agoStop double quoting the protocol when sending encrypted emails
Hamish Downer [Fri, 22 Oct 2010 15:18:10 +0000 (16:18 +0100)]
Stop double quoting the protocol when sending encrypted emails

It was the case that when encrypting emails, the content-type
header line would look like:
Content-Type: multipart/encrypted; boundary="=-1287680456-54319-281-6673-1-="; protocol=""application/pgp-encrypted""
It appears that rmail adds the extra quotes, so this change
makes the protocol unquoted to start with, so we end up with
correct quoting.

7 years agoBugfix: mime_encode: Encode _ as =5F instead of =96
Michael Stapelberg [Mon, 25 Oct 2010 22:09:02 +0000 (00:09 +0200)]
Bugfix: mime_encode: Encode _ as =5F instead of =96

This line of code was introduced in 0d45aa38, probably by mistake. The ASCII
code in decimal for '_' (underscore) is 95 (the code says 96, but probably
another mistake), but as mime encoding is hexadecimal, we need =5F instead.

An example of this encoding problem can be seen in one of my earlier patches
with message-id <>.

7 years agoStop worrying notice when no signature present
Hamish Downer [Sun, 17 Oct 2010 22:25:20 +0000 (23:25 +0100)]
Stop worrying notice when no signature present

When no signature is present, there was a message saying
"Unable to determine validity of cryptographic signature".
This fix means that if there are no error messages and no
messages about signature verification then the message is
assumed to not be signed at all. This fix also saves the
encrypted messages to a temp file with a suffix of .asc
to stop gpg complaining about "unknown suffix".

7 years agoGive gpg a known suffix
Hamish Downer [Mon, 18 Oct 2010 18:35:41 +0000 (19:35 +0100)]
Give gpg a known suffix

Give gpg a file to decrypt ending in ".asc" to stop gpg complaining
about "unknown suffix".

7 years agoDeal with "\r\n" inside encrypted messages
Hamish Downer [Sun, 17 Oct 2010 18:48:36 +0000 (19:48 +0100)]
Deal with "\r\n" inside encrypted messages

RMail expects "\n\n" to be the dividing line between the header and
body, but sometimes the decrypted message has "\r\n" as line ending
so the RMail parsing does not work. This commit fixes that.

7 years agoBugfix: Don’t call handle_added_message for old messages with a new location
Michael Stapelberg [Wed, 20 Oct 2010 08:57:02 +0000 (10:57 +0200)]
Bugfix: Don’t call handle_added_message for old messages with a new location

When sup finds a message, it always called handle_added_message which in turn
invokes add_or_unhide. This is bad, because for killed messages (or marked as
spam), this would bring the message up in the inbox again. After this commit,
handle_added_message is only called when the message is either new or an
existing location of it was updated (to update the labels).

The normal usecase for receiving a message with the same ID is being subscribed
to a mailing list via two different mail addresses.

7 years agoFix monkey-patching of Tempfile
Michael Hamann [Fri, 8 Oct 2010 14:03:36 +0000 (10:03 -0400)]
Fix monkey-patching of Tempfile

In Ruby 1.9.2 the interal function make_tmpname has changed it's
parameters and the second parameter can be nil now. This breaks the
monkey-patched Tempfile class in sup. Additionally, monkey-patching is
not really necessary as the Tempfile class supports an array as basename
instead of a string containing prefix and a suffix since Ruby version
1.8.7. The only place I've found where the suffix might matter is
directly in message-chunks.rb where I've changed the basename to an
array. Additionally the new make_tmpname function from Ruby 1.9.2 is
monkey-patched for Ruby versions lower than 1.8.7 now.

NOTE: As I don't have a working Ruby 1.8 setup for sup I haven't tested
this with older versions, but the code works here when the version check
is changed to 1.9.3 and I can't see anything that shouldn't work with
Ruby 1.8.6 and below.

7 years agoMonkey patch RMails MIME-Version header handling
Gaudenz Steinlin [Tue, 12 Oct 2010 21:25:28 +0000 (23:25 +0200)]
Monkey patch RMails MIME-Version header handling

RMail automagically adds MIME-Version headers to messages on
serialization. Sup uses RMail::Message object to represent parts of
multipart messages. Adding headers to these parts breaks gpg signatures.
The MIME-Version header is only needed in the outermost message. There
it's added manually.

7 years agoEncode multipart messages for crypt operations
Gaudenz Steinlin [Tue, 12 Oct 2010 21:20:53 +0000 (23:20 +0200)]
Encode multipart messages for crypt operations

Sup crashed when trying to encode a multipart message for crypto
operations. This encodes each part of the message separately. It also
changes the encoding for text/* parts to quoted-printable.

This only concerns the transfer encoding and does not change the charset
in any way.

7 years agoBugfix: Correctly split list of mail addresses
Gregor Hoffleit [Tue, 12 Oct 2010 16:04:37 +0000 (18:04 +0200)]
Bugfix: Correctly split list of mail addresses

split_on_commas() fails to work correctly for wrapped header lines:

Cc: John Doe <>, Foo Bar

Sup parsed this (in lib/sup/person.rb, Person.from_address_list) as:

Cc: John Doe <>, <>

I fixed this by normalizing the whitespace before working the
regex in split_on_commas.

7 years agoBugfix: Set background color for starred column
Gregor Hoffleit [Thu, 27 May 2010 09:40:13 +0000 (11:40 +0200)]
Bugfix: Set background color for starred column

For the sake of consistency, Sup should always use the starred_color for the
'starred' column in the thread-index-mode, whether there's a star or a blank.

Rationale: With this patch, I'm able to set the background color of the
thread-index to bg:7 without having to change my term's background color.
Without the patch, the background color shines through in the starred column.

7 years agoAdded a gpgkey option to the account settings
Hamish Downer [Sun, 10 Oct 2010 16:18:41 +0000 (17:18 +0100)]
Added a gpgkey option to the account settings

This allows the user to specify the gpg key used. In addition, if
gpgkey is not set, and there is only one email address defined, then
sup will not pass any id to gpg, so gpg will use its default key.
Only if gpgkey is not set and there are multiple email addresses
will sup use the old behaviour of defining the key to use by
passing gpg the from email address.

7 years agoBugfix: fix regexp for detecting filename in Content-Disposition header
Michael Stapelberg [Sun, 10 Oct 2010 20:30:46 +0000 (22:30 +0200)]
Bugfix: fix regexp for detecting filename in Content-Disposition header

In a message written in some Microsoft mail program (the only header is
"X-MimeOLE: Produced By Microsoft Exchange V6.5"), the filename part of
the Content-Disposition header spans multiple lines (due to the filename
being very long and encoded in base64 due to the use of UTF-8):

Content-Disposition: attachment;

The previous regexp did not properly match the whole string, but only the
first line. This is fixed by adding the 'm' option (to match newlines as
characters) and using \z instead of $ ("end of string" instead of "end of

The same fix is also applied to the Content-Type header one line below.

7 years agos/@filename/@path/ in MBox#store_message
Adam Lloyd [Sat, 9 Oct 2010 22:11:21 +0000 (18:11 -0400)]
s/@filename/@path/ in MBox#store_message

 lib/sup/mbox.rb |  4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

@filename is undefined in MBox, so trying to store a message to an mbox
source results in a crash.  @path contains the needed information.

This fixes issues 79 and 89, related to crashes on sending mail.

7 years agoRevert "fix GPG "hang" on malformed PGP message (detached signature)"
Rich Lane [Fri, 8 Oct 2010 19:46:28 +0000 (15:46 -0400)]
Revert "fix GPG "hang" on malformed PGP message (detached signature)"

This reverts commit 6c65c12a6c9b740fe6b79534e2731e5e92a4c27f.

7 years agofix keybindings hash
Rich Lane [Fri, 8 Oct 2010 19:45:10 +0000 (15:45 -0400)]
fix keybindings hash

7 years agoMerge commit 'mainline/master'
Rich Lane [Fri, 8 Oct 2010 19:44:28 +0000 (15:44 -0400)]
Merge commit 'mainline/master'

7 years agoadd sendmail hook staging
Sascha Silbe [Wed, 29 Sep 2010 14:13:00 +0000 (10:13 -0400)]
add sendmail hook

Add a hook that is run in place of the sendmail command. This allows
last-minute adjustments including sending a separate copy to each recipient
and setting the envelope sender, i.e. VERP (variable envelope return path).

Signed-off-by: Sascha Silbe <>
7 years agoprefer To and Cc adresses of accounts on reply
Gaudenz Steinlin [Thu, 7 Oct 2010 09:05:30 +0000 (05:05 -0400)]
prefer To and Cc adresses of accounts on reply

Resending this on Rich's request.

If a message was sent (To or Cc header) to an address which corresponds
to an account prefer this account over the account corresponding to the
address in recipient_email.

This solves the problem that the wrong reply from address is chosen on
mails which are sent to an account which is forwarded to another account.

7 years agofix searching for non-lowercase labels
Sascha Silbe [Wed, 29 Sep 2010 14:16:15 +0000 (10:16 -0400)]
fix searching for non-lowercase labels

Case is preserved when marshalling labels (stored as document data), but label
terms are stored lowercase. build_xapian_query uses mkterm and thus already
converts labels to lowercase when searching. parse_query accepts a Xapian
query string from the user and needs to explicitly convert labels to
lowercase, which it now does.

Signed-off-by: Sascha Silbe <>
7 years agofix GPG "hang" on malformed PGP message (detached signature)
Sascha Silbe [Tue, 5 Oct 2010 11:25:33 +0000 (07:25 -0400)]
fix GPG "hang" on malformed PGP message (detached signature)

A PGP message chunk (bounded by "-----BEGIN PGP MESSAGE-----" and
"-----END PGP MESSAGE-----") can contain a detached signature. By default GPG
will wait for the payload to be supplied on stdin if it gets passed a lone
detached signature. To the user it will appear as GPG (or sup, since they
don't see any output from GPG) hanging.

The best way to solve this would be enabling batch mode, but then passphrase
querying without gpg-agent wouldn't work anymore. So we resort to passing
--multifile which has the side effect of not allowing detached signatures.

Encountered and tested with message
<> [1] on the git
mailing list.


Signed-off-by: Sascha Silbe <>
7 years agoFixed inline gpg crash when the end marker is missing
Michael Hamann [Sat, 4 Sep 2010 21:51:46 +0000 (17:51 -0400)]
Fixed inline gpg crash when the end marker is missing

lines.between() does not check if the end marker actually exists, but
later it is assumed the marker exists. This change introduces a check
for the end marker and doesn't decrypt messages in which the end marker
is missing. This is a fix for

7 years agoExplicitly specify signature hashing algorithm
Gaudenz Steinlin [Thu, 7 Oct 2010 17:50:13 +0000 (13:50 -0400)]
Explicitly specify signature hashing algorithm

Sup used to add a micalg=pgp-sha1 parameter in Content-Type header of a
signed message, but used whatever the user had configured as his
preferred hasing algorithm in gpg.conf. This lead to unverifiable
signatures in some MUAs.

This adds an explicit --digest-algo option to the gpg call to override
any user configured setting. It also upgrades the algorithm to sha256 as
sha1 is being phased out now.

7 years agoUpdate status on jump on line in line-cursor-mode
Gaute Hope [Thu, 23 Sep 2010 10:29:59 +0000 (12:29 +0200)]
Update status on jump on line in line-cursor-mode

The line number isn't updated in the status field when you jump to the
end or beginning, or do page up or down before the next redraw is done.

Updating the status manually in set_cursor_pos.

7 years agoForce UTF-8 on label and contact completion
Gaute Hope [Thu, 9 Sep 2010 11:48:49 +0000 (13:48 +0200)]
Force UTF-8 on label and contact completion

Fix issue 36, by forcing UTF-8 encoding on string that will be matched.

Only if the force_encoding method is available to maintain 1.8

There is likely to still be a few other places where the equivilent of
this bug still exists.

Also force encoding on label search completion

UTF-8 label completion: Convert existing labels

7 years agoBugfix: Don’t display thread participants twice
Michael Stapelberg [Thu, 7 Oct 2010 15:24:38 +0000 (17:24 +0200)]
Bugfix: Don’t display thread participants twice

When a participant of a thread uses different email addresses, but the same
name, he would be displayed twice in the list:
 • foo <>
 • foo <>
 • bar <>
would lead to: "foo, bar, foo"

7 years agoprotect sup-dump against bad index entries
Rich Lane [Fri, 16 Jul 2010 17:59:44 +0000 (13:59 -0400)]
protect sup-dump against bad index entries

7 years agoMerge remote branch 'origin/maildir'
Rich Lane [Fri, 16 Jul 2010 02:22:17 +0000 (19:22 -0700)]
Merge remote branch 'origin/maildir'


7 years agofix crash in sup-sync if the default sent source is used
Sascha Silbe [Thu, 8 Jul 2010 12:28:31 +0000 (12:28 +0000)]
fix crash in sup-sync if the default sent source is used

This fixes a crash in sup-sync when syncing a folder that contains a copy of a
"sent" message and no "sent" folder has been explicitly configured in the
config file (so it hasn't been added to sources.yaml).

Signed-off-by: Sascha Silbe <>
7 years agombox: fix date format
Sascha Silbe [Thu, 8 Jul 2010 12:28:07 +0000 (12:28 +0000)]
mbox: fix date format

The date format used in all (known/common) variations is that of Unix/POSIX
asctime(), not the RFC 822 / RFC 2822 Date: header format.

Using an incorrect date format causes at least mutt, mb2md and Python
UnixMailbox (but not PortableUnixMailbox) to either reject the mailbox or show
it as empty.


Signed-off-by: Sascha Silbe <>
7 years agoConditionally add Symbol#to_proc
Ben Walton [Thu, 10 Jun 2010 02:27:44 +0000 (22:27 -0400)]
Conditionally add Symbol#to_proc

Add a utility monkey-patch for versions of ruby that don't have the
to_proc method for Symbols.

Signed-off-by: Ben Walton <>
7 years agoparse_header: don't use empty or invalid Message-ID header
Sascha Silbe [Thu, 1 Jul 2010 13:48:13 +0000 (13:48 +0000)]
parse_header: don't use empty or invalid Message-ID header

If Message-ID contains only invalid characters (or none at all),
sanitize_message_id will return an empty string. As Message.parse_header
only checked for header existance, not validity, sup-dump could produce
a dump file that sup-sync would choke on.

We now fall back to a fake id for both missing and invalid Message-ID

7 years agofix crash in sup-dump if the default sent source is used
Sascha Silbe [Tue, 29 Jun 2010 08:12:05 +0000 (10:12 +0200)]
fix crash in sup-dump if the default sent source is used

This fixes a crash in sup-dump if the index contains a "sent" message and
no "sent" folder has been explicitly configured in the config file
(so it hasn't been added to sources.yaml).

Signed-off-by: Sascha Silbe <>
7 years agoDon’t display "..." after snippets which are displayed completely
Michael Stapelberg [Wed, 16 Jun 2010 18:08:30 +0000 (20:08 +0200)]
Don’t display "..." after snippets which are displayed completely

Short mails (for example: "Yes, the date works for me.") often can
be displayed completely in the snippet. However, before this patch,
sup abbreviated the snippet even though it was not abbreviated.

7 years agoinline-gpg: call text_to_chunks on the text before/after the GPG part
Michael Stapelberg [Tue, 22 Jun 2010 15:30:37 +0000 (17:30 +0200)]
inline-gpg: call text_to_chunks on the text before/after the GPG part

This is necessary for stupid mailers which produce TOFU mails
containing unquoted inline gpg mails *argh*.

7 years agoDon't choke when scanning message with unknown encoding
Sascha Silbe [Tue, 29 Jun 2010 08:04:54 +0000 (10:04 +0200)]
Don't choke when scanning message with unknown encoding

This fixes the following error:

./lib/sup/message.rb:473:in `message_to_chunks': "7BIT" (RMail::EncodingUnsupportedError)

when running sup-sync on a folder that contains a mail with these headers:

Content-Transfer-Encoding: 7bit
X-Mime-Autoconverted: from 8bit to 7bit by courier 0.60

Signed-off-by: Sascha Silbe <>
7 years agofix reference to EncodingUnsupportedError
Sascha Silbe [Tue, 29 Jun 2010 07:50:25 +0000 (09:50 +0200)]
fix reference to EncodingUnsupportedError

This fixes the following error:

./lib/sup/message.rb:473:in `message_to_chunks': uninitialized constant Redwood::Message::EncodingUnsupportedError (NameError)

Signed-off-by: Sascha Silbe <>
7 years agomore workarounds for empty thread bug
Rich Lane [Thu, 10 Jun 2010 02:09:25 +0000 (19:09 -0700)]
more workarounds for empty thread bug

7 years agoworkaround nil Thread#first bug
Rich Lane [Thu, 10 Jun 2010 01:39:06 +0000 (18:39 -0700)]
workaround nil Thread#first bug

7 years agoMerge branch 'sup-server-work'
Rich Lane [Thu, 10 Jun 2010 01:13:23 +0000 (18:13 -0700)]
Merge branch 'sup-server-work'

7 years agofix some indentation sup-server-work
Rich Lane [Tue, 8 Jun 2010 02:33:30 +0000 (19:33 -0700)]
fix some indentation

7 years agodeinstantiate all managers on finish
Rich Lane [Mon, 7 Jun 2010 16:06:41 +0000 (09:06 -0700)]
deinstantiate all managers on finish

7 years agoDecode messages according to their Content-Transfer-Encoding
Michael Stapelberg [Fri, 4 Jun 2010 22:13:54 +0000 (00:13 +0200)]
Decode messages according to their Content-Transfer-Encoding

This is necessary for MIME-messages (for example as part of multipart/signed)
which are encoded in base64.

7 years agomove HookManager singleton instantiation to Redwood.start
Rich Lane [Mon, 7 Jun 2010 15:11:42 +0000 (08:11 -0700)]
move HookManager singleton instantiation to Redwood.start

7 years agomove base_dir knowledge out of load_config
Rich Lane [Mon, 7 Jun 2010 05:13:33 +0000 (22:13 -0700)]
move base_dir knowledge out of load_config

7 years agoadd file log sink in Redwood.start
Rich Lane [Mon, 7 Jun 2010 05:01:07 +0000 (22:01 -0700)]
add file log sink in Redwood.start

7 years agoload config in Redwood.start
Rich Lane [Mon, 7 Jun 2010 04:49:05 +0000 (21:49 -0700)]
load config in Redwood.start

7 years agomake PollManager delay an instance variable
Rich Lane [Mon, 7 Jun 2010 04:38:55 +0000 (21:38 -0700)]
make PollManager delay an instance variable

7 years agocleanup EM.spawn_reactor_thread
Rich Lane [Mon, 7 Jun 2010 02:10:37 +0000 (19:10 -0700)]
cleanup EM.spawn_reactor_thread

7 years agoadd test_query and check tag
Rich Lane [Sun, 6 Jun 2010 16:03:04 +0000 (09:03 -0700)]
add test_query and check tag

7 years agoinstantiate enough singletons for a null query
Rich Lane [Sun, 6 Jun 2010 16:02:24 +0000 (09:02 -0700)]
instantiate enough singletons for a null query

7 years agosingleton bugfix
Rich Lane [Sun, 6 Jun 2010 16:01:02 +0000 (09:01 -0700)]
singleton bugfix

7 years agoprotocol debugging code
Rich Lane [Sun, 6 Jun 2010 15:51:02 +0000 (08:51 -0700)]
protocol debugging code

7 years agopass index object to server
Rich Lane [Sun, 6 Jun 2010 04:17:21 +0000 (21:17 -0700)]
pass index object to server

7 years agoadd server test harness
Rich Lane [Sat, 5 Jun 2010 23:30:34 +0000 (16:30 -0700)]
add server test harness

7 years agosend error response on invalid request
Rich Lane [Sat, 5 Jun 2010 23:29:10 +0000 (16:29 -0700)]
send error response on invalid request

7 years agoquiet "client connection established"
Rich Lane [Sat, 5 Jun 2010 23:27:44 +0000 (16:27 -0700)]
quiet "client connection established"

7 years agodeclare redwood module
Rich Lane [Sat, 5 Jun 2010 23:27:28 +0000 (16:27 -0700)]
declare redwood module

7 years agosupport unix domain sockets in sup-cmd
Rich Lane [Sat, 5 Jun 2010 23:26:24 +0000 (16:26 -0700)]
support unix domain sockets in sup-cmd

7 years agoadd a thread request to sup-server
Jason Petsod [Sat, 5 Jun 2010 02:57:46 +0000 (19:57 -0700)]
add a thread request to sup-server

7 years agoBugfix: Charset conversion needs to take place *after* verifying inline GPG signatures
Michael Stapelberg [Fri, 4 Jun 2010 09:51:59 +0000 (11:51 +0200)]
Bugfix: Charset conversion needs to take place *after* verifying inline GPG signatures

Otherwise non-UTF-8 messages (especially seen from people using windows)
are verified as having a bad signature even though it is valid (because
the message was converted and thus touched before verifying)

7 years agoRespect source.archived? in poll. maildir
Anthony Martinez [Wed, 26 May 2010 21:48:12 +0000 (14:48 -0700)]
Respect source.archived? in poll.

[14:31:51] <mtp> i have some sources marked as pre-archived, but it isn't obeying that
[14:38:02] <mtp> looks like 51789907cfcf80b5edb4d597c91a7c888ce5e003 broke it in the first hunk of lib/sup/poll.rb

This appears to fix it.

7 years agoMerge commit 'mainline/master'
Rich Lane [Fri, 4 Jun 2010 02:04:16 +0000 (19:04 -0700)]
Merge commit 'mainline/master'

7 years agoRemove deprecated IMAP references from docs and comments
W. Trevor King [Sun, 23 May 2010 14:23:01 +0000 (10:23 -0400)]
Remove deprecated IMAP references from docs and comments

7 years agoRemove outdated references to Ferret from docs and comments
W. Trevor King [Sun, 23 May 2010 14:06:38 +0000 (10:06 -0400)]
Remove outdated references to Ferret from docs and comments

7 years agoJump and open next/previous message with C-n and C-p
Gaute Hope [Wed, 2 Jun 2010 21:53:03 +0000 (23:53 +0200)]
Jump and open next/previous message with C-n and C-p

Added functionality and key bindings for thread-view-mode where you can jump
_and_ open the next message. If a message has been opened by the jump it
will be closed if you continue to jump (in either direction). This is
saved in :toggled_state in the layout.

I often want to just jump to the next message to be able to skim through
a whole thread, if there was a key binding; jump and then hit enter
would work - but this patch gives me exactly what I want.

I'm not entirely happy with the key bindings, but there are not that many

Signed-off-by: Gaute Hope <>
7 years agoAllow toggle on Source.usual and Source.archived
Ben Walton [Sat, 15 May 2010 18:45:21 +0000 (14:45 -0400)]
Allow toggle on Source.usual and Source.archived

Allow sources to be more malleable by allowing for the modification of
the usual and archived flags.  This is a first step toward patterned
(meta) sources.  Initially, the patterning will be handled by one of
the poll hooks, which will use the usual toggle when a 'new' source is
added.  Later on, this may be handled internally for sources with a
meta = true attribute (or something similar).

Signed-off-by: Ben Walton <>
7 years agoRemove a trailing whitespace in signature
Damien Leone [Sat, 15 May 2010 14:29:37 +0000 (16:29 +0200)]
Remove a trailing whitespace in signature

7 years agoMake it easier to select the from address with the ask_for_from option
Damien Leone [Fri, 14 May 2010 11:34:09 +0000 (13:34 +0200)]
Make it easier to select the from address with the ask_for_from option

7 years agofix index version exception message
Rich Lane [Fri, 28 May 2010 15:45:33 +0000 (08:45 -0700)]
fix index version exception message

7 years agofix index version error message
Rich Lane [Wed, 26 May 2010 03:38:26 +0000 (20:38 -0700)]
fix index version error message

7 years agomake sup-dump compatibility independent of index version
Rich Lane [Wed, 26 May 2010 03:18:21 +0000 (20:18 -0700)]
make sup-dump compatibility independent of index version

7 years agoremove sup dependency from sup-dump
Rich Lane [Tue, 25 May 2010 02:44:05 +0000 (19:44 -0700)]
remove sup dependency from sup-dump

7 years agobump index version and remove compatibility code
Rich Lane [Tue, 25 May 2010 02:26:43 +0000 (19:26 -0700)]
bump index version and remove compatibility code