Abhijit Menon-Sen [Mon, 7 Feb 2011 12:51:00 +0000 (18:21 +0530)]
Uncommited old fix (fixes Tianu's downgrade problem)
Abhijit Menon-Sen [Mon, 7 Feb 2011 11:25:19 +0000 (16:55 +0530)]
Adjust to match #95
Abhijit Menon-Sen [Mon, 7 Feb 2011 09:57:38 +0000 (15:27 +0530)]
Bump VERSION
Abhijit Menon-Sen [Mon, 7 Feb 2011 05:45:55 +0000 (11:15 +0530)]
Silence udoc
Arnt Gulbrandsen [Fri, 21 Jan 2011 17:24:55 +0000 (18:24 +0100)]
support Date: June 4, 1999 15:28:10 EDT
Abhijit Menon-Sen [Mon, 20 Dec 2010 07:35:20 +0000 (13:05 +0530)]
Fix bind typo reported by Marc Dirix
Abhijit Menon-Sen [Wed, 15 Dec 2010 07:06:38 +0000 (12:36 +0530)]
Don't try to write a copy of the mail twice
We used to call ->act() on ourselves, which called us back in case of an
error, where we would write a copy of the mail; then act() would return
and we would reset the state to 3 and try to write another copy, which
would fail (EEXIST) and cause the server to shutdown.
Abhijit Menon-Sen [Wed, 15 Dec 2010 06:33:29 +0000 (12:03 +0530)]
Typo
Arnt Gulbrandsen [Fri, 26 Nov 2010 18:28:57 +0000 (19:28 +0100)]
finish support for RFC 5232
still untested
Arnt Gulbrandsen [Wed, 24 Nov 2010 19:32:35 +0000 (20:32 +0100)]
http://archiveopteryx.org
Arnt Gulbrandsen [Thu, 28 Oct 2010 16:31:53 +0000 (18:31 +0200)]
untested support for RFC 5232
Arnt Gulbrandsen [Thu, 28 Oct 2010 16:31:28 +0000 (18:31 +0200)]
add UStringList::append( const UStringList & )
Arnt Gulbrandsen [Thu, 28 Oct 2010 15:07:40 +0000 (17:07 +0200)]
speling
Arnt Gulbrandsen [Thu, 28 Oct 2010 15:06:58 +0000 (17:06 +0200)]
allow copying UStringList
Arnt Gulbrandsen [Thu, 28 Oct 2010 15:06:31 +0000 (17:06 +0200)]
please g++ 4.0.3
the "public" doesn't matter, there is no way to get a Node object anyway
Arnt Gulbrandsen [Thu, 16 Sep 2010 07:55:58 +0000 (09:55 +0200)]
better wording for an error message
Arnt Gulbrandsen [Fri, 20 Aug 2010 21:13:35 +0000 (23:13 +0200)]
compression works
Arnt Gulbrandsen [Fri, 20 Aug 2010 21:11:34 +0000 (23:11 +0200)]
Merge branch 'master' of ssh://strange.aox.org/home/git/aox
Conflicts:
core/buffer.cpp
Arnt Gulbrandsen [Fri, 20 Aug 2010 21:09:35 +0000 (23:09 +0200)]
avoid confusing myself
Arnt Gulbrandsen [Fri, 20 Aug 2010 21:08:14 +0000 (23:08 +0200)]
smile, compiler, smile!
or at least don't frown so much. to err is human. you should know by now.
Arnt Gulbrandsen [Fri, 20 Aug 2010 16:01:28 +0000 (18:01 +0200)]
replace Filter with a mechanism to de/compress in Buffer::append()
untested so far. seems not to break anything when in noop mode,
so it should work until someone stupidly invokes IMAP COMPRESS.
Arnt Gulbrandsen [Fri, 20 Aug 2010 15:46:02 +0000 (17:46 +0200)]
append( const char * ) was unused anyway, so remove it
a classic case of flexibility to support some odd functionality going
unused, but sabotaging other usage
Arnt Gulbrandsen [Fri, 20 Aug 2010 15:35:13 +0000 (17:35 +0200)]
don't confuse zero-length EString objects with null-terminated strings
Arnt Gulbrandsen [Thu, 12 Aug 2010 16:18:23 +0000 (18:18 +0200)]
and document it
Arnt Gulbrandsen [Thu, 12 Aug 2010 16:17:10 +0000 (18:17 +0200)]
add 'aox undelete -n'
Arnt Gulbrandsen [Mon, 2 Aug 2010 20:15:19 +0000 (22:15 +0200)]
a little more progress reporting during update database
Arnt Gulbrandsen [Mon, 2 Aug 2010 20:14:34 +0000 (22:14 +0200)]
accept 'aox add aliases a@b c@d', even if addresses uses
C X <c@d> instead of c@d.
Arnt Gulbrandsen [Tue, 27 Jul 2010 20:29:19 +0000 (22:29 +0200)]
we want to thread all messages, including those in long threads
I wonder what the purpose of that was
Arnt Gulbrandsen [Tue, 27 Jul 2010 20:26:49 +0000 (22:26 +0200)]
we only want the top-level messageid
Arnt Gulbrandsen [Tue, 27 Jul 2010 16:42:53 +0000 (18:42 +0200)]
threading must see the right IDs in order to work
Arnt Gulbrandsen [Tue, 27 Jul 2010 16:06:22 +0000 (18:06 +0200)]
it is a kind of ID, I suppose...
Arnt Gulbrandsen [Tue, 27 Jul 2010 13:53:32 +0000 (15:53 +0200)]
typo
Arnt Gulbrandsen [Tue, 27 Jul 2010 13:52:16 +0000 (15:52 +0200)]
unfu really bad join
wrap the code for better readability. the bug was in an unreadable line,
what a coincidence.
Arnt Gulbrandsen [Tue, 27 Jul 2010 13:52:05 +0000 (15:52 +0200)]
on 3.1.4
Arnt Gulbrandsen [Tue, 27 Jul 2010 10:41:23 +0000 (12:41 +0200)]
oops
Arnt Gulbrandsen [Tue, 27 Jul 2010 10:38:34 +0000 (12:38 +0200)]
avoid triggering sql warnings (which we'll cope with, but...)
Arnt Gulbrandsen [Sat, 24 Jul 2010 07:52:41 +0000 (09:52 +0200)]
Merge branch 'master' of ssh://strange.aox.org/home/git/aox
Arnt Gulbrandsen [Sat, 24 Jul 2010 07:51:07 +0000 (09:51 +0200)]
change horribly broken inthread code to moderately broken
this looks correct, but it doesn't seem to work, at least not always.
but it's an improvement, so I commit it.
Arnt Gulbrandsen [Sat, 24 Jul 2010 07:49:28 +0000 (09:49 +0200)]
hopefully thread now works (at least approximately)
Arnt Gulbrandsen [Sat, 24 Jul 2010 07:49:01 +0000 (09:49 +0200)]
compiler warning, ade
Arnt Gulbrandsen [Sat, 24 Jul 2010 07:48:46 +0000 (09:48 +0200)]
kill soem dead code
Abhijit Menon-Sen [Fri, 16 Jul 2010 08:16:48 +0000 (13:46 +0530)]
Merge branch 'master' of ssh://strange/home/git/aox
Abhijit Menon-Sen [Fri, 16 Jul 2010 08:16:12 +0000 (13:46 +0530)]
Remove friend declaration
ICC complained about the syntax ("friend class Iterator" was ok), and
the declaration turned out to not be necessary after all.
Arnt Gulbrandsen [Tue, 13 Jul 2010 21:20:04 +0000 (23:20 +0200)]
SORT (SUBJECT) was broken, half-unbreak it
it referred to thread_members and threads, which are gone. however, we
don't have a good replacement. we no longer store the base subject in the
db. as a quickfix I'm sorting by the raw subject. better than breaking.
Arnt Gulbrandsen [Tue, 13 Jul 2010 08:43:23 +0000 (10:43 +0200)]
use left joins for all sort-related merges, so we'll never eliminate a message
Arnt Gulbrandsen [Thu, 24 Jun 2010 11:01:06 +0000 (13:01 +0200)]
join syntax for update always gets me, 2
Arnt Gulbrandsen [Thu, 24 Jun 2010 10:59:38 +0000 (12:59 +0200)]
join syntax for update always gets me
Arnt Gulbrandsen [Thu, 24 Jun 2010 10:53:39 +0000 (12:53 +0200)]
sql typo 3
Arnt Gulbrandsen [Thu, 24 Jun 2010 10:48:54 +0000 (12:48 +0200)]
sql typo again
Arnt Gulbrandsen [Thu, 24 Jun 2010 10:47:19 +0000 (12:47 +0200)]
sql typo
Arnt Gulbrandsen [Thu, 24 Jun 2010 09:14:14 +0000 (11:14 +0200)]
new subsystem to record and work around client bugs
also use it for the first (and hopefully only) time: record that the
iphone has a specific bug, and avoid sending unsolicited EXISTS responses
if that bug is marked.
Arnt Gulbrandsen [Thu, 24 Jun 2010 09:06:37 +0000 (11:06 +0200)]
log the client's ID information correctly
Arnt Gulbrandsen [Thu, 24 Jun 2010 08:43:21 +0000 (10:43 +0200)]
disable thread until TB is happier
and make it work a little too
Arnt Gulbrandsen [Wed, 23 Jun 2010 21:40:52 +0000 (23:40 +0200)]
well, foo
Arnt Gulbrandsen [Wed, 23 Jun 2010 21:36:41 +0000 (23:36 +0200)]
prevent loops in the thread DAG
Arnt Gulbrandsen [Wed, 23 Jun 2010 20:53:02 +0000 (22:53 +0200)]
be more robust in case of References loops
Arnt Gulbrandsen [Wed, 23 Jun 2010 20:41:22 +0000 (22:41 +0200)]
get rid of the NAT defeater
it tickled iphone4, and I'd rather be compatible with that than with
broken NAT devices.
Arnt Gulbrandsen [Wed, 23 Jun 2010 20:38:55 +0000 (22:38 +0200)]
fix weird sql typo
Arnt Gulbrandsen [Wed, 23 Jun 2010 20:30:24 +0000 (22:30 +0200)]
cleaner for an almost-empty db, at least...
Arnt Gulbrandsen [Wed, 23 Jun 2010 20:17:56 +0000 (22:17 +0200)]
sql syntax
Arnt Gulbrandsen [Wed, 23 Jun 2010 19:58:45 +0000 (21:58 +0200)]
the code implements T=OS, so until I see a bug...
Arnt Gulbrandsen [Wed, 23 Jun 2010 19:36:04 +0000 (21:36 +0200)]
oops, that getUString was necessary. pull it back.
Arnt Gulbrandsen [Wed, 23 Jun 2010 18:55:06 +0000 (20:55 +0200)]
threading on injection now compiles. untested.
Arnt Gulbrandsen [Wed, 23 Jun 2010 18:54:44 +0000 (20:54 +0200)]
compiles; may not work
Arnt Gulbrandsen [Wed, 23 Jun 2010 17:48:01 +0000 (19:48 +0200)]
maybe teahc the injector to thread in injection
untested
Abhijit Menon-Sen [Tue, 22 Jun 2010 20:27:11 +0000 (01:57 +0530)]
Syntax
Arnt Gulbrandsen [Tue, 22 Jun 2010 20:17:19 +0000 (22:17 +0200)]
more thread_roots work.
there now is a suitable merge_threads function, but no caller, and the
downgrade looks good.
this still won't work, don't run it.
Arnt Gulbrandsen [Tue, 22 Jun 2010 14:28:52 +0000 (16:28 +0200)]
Merge branch 'master' of ssh://strange.aox.org/home/git/aox
Arnt Gulbrandsen [Mon, 14 Jun 2010 10:43:36 +0000 (12:43 +0200)]
XAOL-MOVE is the same as MOVE and tb uses it, so advertise it
Arnt Gulbrandsen [Fri, 11 Jun 2010 07:59:22 +0000 (09:59 +0200)]
implement MOVE as well as UID MOVE
Arnt Gulbrandsen [Wed, 9 Jun 2010 13:20:21 +0000 (15:20 +0200)]
use header_fields.value for base subject instead of base_subjects
Arnt Gulbrandsen [Wed, 9 Jun 2010 11:28:29 +0000 (13:28 +0200)]
compile
more or less drop support for THREAD=ORDEREDSUBJECT: it slowed down
injection, complicated the code and who really cares? THREAD=REFERENCES
can call Message::baseSubject() and merge threads based on that.
this still won't work.
Arnt Gulbrandsen [Wed, 9 Jun 2010 09:32:45 +0000 (11:32 +0200)]
Merge branch 'master' of ssh://libertango.gulbrandsen.priv.no/home/arnt/oryx/src
Arnt Gulbrandsen [Wed, 9 Jun 2010 09:12:35 +0000 (11:12 +0200)]
Merge branch 'master' of ssh://strange.aox.org/home/git/aox
Arnt Gulbrandsen [Wed, 9 Jun 2010 09:03:18 +0000 (11:03 +0200)]
lots of work on threading; doesn't compile but needs to be committed.
there are two new tables, base_subjects and thread_roots, and messages
refers to both (these references should only exceptionally be null, maybe
later never); threads and thread_members go away.
Threader dies, the Injector assigns thread_root and base_subject instead.
aox update database takes care of old rows.
Thread is extended to support thread=refs and thread=references.
Selector's inthread is broken now, I think...
things to be fixed: everything, particularly schema upgrade/downgrade and,
well, basically everything.
I think Thread should sneak in a top-level inthread if the search
expression is anything other than all. haven't written that code yet.
Abhijit Menon-Sen [Wed, 26 May 2010 07:02:26 +0000 (12:32 +0530)]
Fix bind typo
Reported by Marc Dirix:
May 25 13:15:36 beta Archiveopteryx: 10996/2/106/5/44 Parameter number 2
found at position 3 in query "select uid, message from mailbox_messages
where mailbox=$1 and uid=any($2) and modseq>$3 order by uid for update"
($1='111',$2='{16138,16146}',$3='50263')
In this case, the third parameter was added in third place, but with the
number 2, so the query worked as intended anyway.
Arnt Gulbrandsen [Mon, 24 May 2010 10:41:15 +0000 (12:41 +0200)]
don't insert read-only sessions into the session cache at all
there aren't many, and they complicate how to read the cache. it may be
necessary to update mailbox_messages.first_recent, or not. too complex,
and the performance delta just isn't worth it.
Arnt Gulbrandsen [Fri, 21 May 2010 12:13:20 +0000 (14:13 +0200)]
improved threading code.
this code is still dead.
this now almost works; once called, it should make fine threads
(actually more like clusters) of messages at message injection time
requires an SQL function to merge threads. that's not yet written.
also, the same code (mostly) is needed for aox update database.
Arnt Gulbrandsen [Fri, 21 May 2010 12:12:54 +0000 (14:12 +0200)]
tell anyone who cares that the backing mailbox was updated
Arnt Gulbrandsen [Thu, 20 May 2010 14:11:49 +0000 (16:11 +0200)]
write back Seen when it's changed in a view
do it later, not at once, since doing it at once leads to a bad UI. as
it's implemented now, reading a message probably makes the message Seen in
the backing mailbox when the user's window is closed. or a little earlier.
but almost certainly not at once.
Arnt Gulbrandsen [Thu, 20 May 2010 12:39:09 +0000 (14:39 +0200)]
views weren't updated (as often as they should be)
this adds the necessary updates, and perhaps a few that aren't needed
Arnt Gulbrandsen [Thu, 20 May 2010 10:34:24 +0000 (12:34 +0200)]
send 'mail from:<...> size=123' if the smarthost supports size=
Arnt Gulbrandsen [Thu, 20 May 2010 10:33:51 +0000 (12:33 +0200)]
stop a warning
Arnt Gulbrandsen [Fri, 14 May 2010 14:10:29 +0000 (16:10 +0200)]
don't quit the installer too soon.
there was some restart magic intended to help aox politely restart.
that magic is still there, but not it doesn't disturb the installer.
Arnt Gulbrandsen [Tue, 11 May 2010 19:31:02 +0000 (21:31 +0200)]
Merge branch 'master' of ssh://strange.aox.org/home/git/aox
Arnt Gulbrandsen [Tue, 11 May 2010 19:30:00 +0000 (21:30 +0200)]
http://archiveopteryx.org
Abhijit Menon-Sen [Tue, 11 May 2010 19:00:46 +0000 (00:30 +0530)]
Another upcoming change
Arnt Gulbrandsen [Tue, 11 May 2010 17:32:43 +0000 (19:32 +0200)]
x-oryx-testing is no longer appropriate, and HOLDFOR renders is useless
Arnt Gulbrandsen [Tue, 11 May 2010 14:26:48 +0000 (16:26 +0200)]
rerun charset.pl
Arnt Gulbrandsen [Tue, 11 May 2010 14:26:40 +0000 (16:26 +0200)]
actually USE ebcdic
Arnt Gulbrandsen [Tue, 11 May 2010 13:57:09 +0000 (15:57 +0200)]
EBCDIC support.
I am told that all software evolves until it can read mail. Clearly aox
can read mail, so it needs a different goal. EBCDIC.
Arnt Gulbrandsen [Mon, 10 May 2010 11:06:39 +0000 (13:06 +0200)]
it always is more complex
Arnt Gulbrandsen [Mon, 10 May 2010 10:57:41 +0000 (12:57 +0200)]
cleaner code for parsing the smarthost smtp extensions
Arnt Gulbrandsen [Mon, 10 May 2010 10:40:12 +0000 (12:40 +0200)]
foo. foo. foo.
Arnt Gulbrandsen [Mon, 10 May 2010 10:25:15 +0000 (12:25 +0200)]
carry a message's the seen flag into views
Arnt Gulbrandsen [Mon, 10 May 2010 10:19:45 +0000 (12:19 +0200)]
forward the smarthost's SIZE declaration to SMTP SUBMIT clients
a tiny little bit hackish. the message may have grown once we parse and
regenerate it, but at least it's not far off. usually the message shrinks
by a bit, or grows by the length of one Received field.
Arnt Gulbrandsen [Mon, 3 May 2010 11:48:10 +0000 (13:48 +0200)]
s/www.archiveopteryx.org/archiveopteryx.org/g
Abhijit Menon-Sen [Sat, 1 May 2010 15:30:20 +0000 (21:00 +0530)]
Typo fix
Abhijit Menon-Sen [Sat, 1 May 2010 13:24:55 +0000 (18:54 +0530)]
Add Query::checkParameters() to check bind() sanity
Right now, it does just enough to complain about the repeated bind
position error recently fixed in the Injector:
error: 1/26912/6/1/3/1: 2010-05-01 13:24:12.901 Parameter number 2 found
at position 3 in query "copy messages (id,rfc822size,idate,thread_root)
from stdin with binary"
Arnt Gulbrandsen [Thu, 29 Apr 2010 14:55:45 +0000 (16:55 +0200)]
Merge branch 'master' of ssh://strange.aox.org/home/git/aox
Conflicts:
message/injector.cpp
no real conflicts, just changes close to each other