aox:aox.git
11 years agoUncommited old fix (fixes Tianu's downgrade problem) v3.1.4
Abhijit Menon-Sen [Mon, 7 Feb 2011 12:51:00 +0000 (18:21 +0530)]
Uncommited old fix (fixes Tianu's downgrade problem)

11 years agoAdjust to match #95
Abhijit Menon-Sen [Mon, 7 Feb 2011 11:25:19 +0000 (16:55 +0530)]
Adjust to match #95

11 years agoBump VERSION
Abhijit Menon-Sen [Mon, 7 Feb 2011 09:57:38 +0000 (15:27 +0530)]
Bump VERSION

11 years agoSilence udoc
Abhijit Menon-Sen [Mon, 7 Feb 2011 05:45:55 +0000 (11:15 +0530)]
Silence udoc

11 years agosupport Date: June 4, 1999 15:28:10 EDT
Arnt Gulbrandsen [Fri, 21 Jan 2011 17:24:55 +0000 (18:24 +0100)]
support Date: June 4, 1999 15:28:10 EDT

11 years agoFix bind typo reported by Marc Dirix
Abhijit Menon-Sen [Mon, 20 Dec 2010 07:35:20 +0000 (13:05 +0530)]
Fix bind typo reported by Marc Dirix

11 years agoDon't try to write a copy of the mail twice
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.

11 years agoTypo
Abhijit Menon-Sen [Wed, 15 Dec 2010 06:33:29 +0000 (12:03 +0530)]
Typo

11 years agofinish support for RFC 5232
Arnt Gulbrandsen [Fri, 26 Nov 2010 18:28:57 +0000 (19:28 +0100)]
finish support for RFC 5232

still untested

11 years agohttp://archiveopteryx.org
Arnt Gulbrandsen [Wed, 24 Nov 2010 19:32:35 +0000 (20:32 +0100)]
http://archiveopteryx.org

11 years agountested support for RFC 5232
Arnt Gulbrandsen [Thu, 28 Oct 2010 16:31:53 +0000 (18:31 +0200)]
untested support for RFC 5232

11 years agoadd UStringList::append( const UStringList & )
Arnt Gulbrandsen [Thu, 28 Oct 2010 16:31:28 +0000 (18:31 +0200)]
add UStringList::append( const UStringList & )

11 years agospeling
Arnt Gulbrandsen [Thu, 28 Oct 2010 15:07:40 +0000 (17:07 +0200)]
speling

11 years agoallow copying UStringList
Arnt Gulbrandsen [Thu, 28 Oct 2010 15:06:58 +0000 (17:06 +0200)]
allow copying UStringList

11 years agoplease g++ 4.0.3
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

11 years agobetter wording for an error message
Arnt Gulbrandsen [Thu, 16 Sep 2010 07:55:58 +0000 (09:55 +0200)]
better wording for an error message

11 years agocompression works
Arnt Gulbrandsen [Fri, 20 Aug 2010 21:13:35 +0000 (23:13 +0200)]
compression works

11 years agoMerge branch 'master' of ssh://strange.aox.org/home/git/aox
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

11 years agoavoid confusing myself
Arnt Gulbrandsen [Fri, 20 Aug 2010 21:09:35 +0000 (23:09 +0200)]
avoid confusing myself

11 years agosmile, compiler, smile!
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.

11 years agoreplace Filter with a mechanism to de/compress in Buffer::append()
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.

11 years agoappend( const char * ) was unused anyway, so remove it
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

11 years agodon't confuse zero-length EString objects with null-terminated strings
Arnt Gulbrandsen [Fri, 20 Aug 2010 15:35:13 +0000 (17:35 +0200)]
don't confuse zero-length EString objects with null-terminated strings

11 years agoand document it
Arnt Gulbrandsen [Thu, 12 Aug 2010 16:18:23 +0000 (18:18 +0200)]
and document it

11 years agoadd 'aox undelete -n'
Arnt Gulbrandsen [Thu, 12 Aug 2010 16:17:10 +0000 (18:17 +0200)]
add 'aox undelete -n'

11 years agoa little more progress reporting during update database
Arnt Gulbrandsen [Mon, 2 Aug 2010 20:15:19 +0000 (22:15 +0200)]
a little more progress reporting during update database

11 years agoaccept 'aox add aliases a@b c@d', even if addresses uses
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.

11 years agowe want to thread all messages, including those in long threads
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

11 years agowe only want the top-level messageid
Arnt Gulbrandsen [Tue, 27 Jul 2010 20:26:49 +0000 (22:26 +0200)]
we only want the top-level messageid

11 years agothreading must see the right IDs in order to work
Arnt Gulbrandsen [Tue, 27 Jul 2010 16:42:53 +0000 (18:42 +0200)]
threading must see the right IDs in order to work

11 years agoit is a kind of ID, I suppose...
Arnt Gulbrandsen [Tue, 27 Jul 2010 16:06:22 +0000 (18:06 +0200)]
it is a kind of ID, I suppose...

11 years agotypo
Arnt Gulbrandsen [Tue, 27 Jul 2010 13:53:32 +0000 (15:53 +0200)]
typo

11 years agounfu really bad join
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.

11 years agoon 3.1.4
Arnt Gulbrandsen [Tue, 27 Jul 2010 13:52:05 +0000 (15:52 +0200)]
on 3.1.4

11 years agooops
Arnt Gulbrandsen [Tue, 27 Jul 2010 10:41:23 +0000 (12:41 +0200)]
oops

11 years agoavoid triggering sql warnings (which we'll cope with, but...)
Arnt Gulbrandsen [Tue, 27 Jul 2010 10:38:34 +0000 (12:38 +0200)]
avoid triggering sql warnings (which we'll cope with, but...)

11 years agoMerge branch 'master' of ssh://strange.aox.org/home/git/aox
Arnt Gulbrandsen [Sat, 24 Jul 2010 07:52:41 +0000 (09:52 +0200)]
Merge branch 'master' of ssh://strange.aox.org/home/git/aox

11 years agochange horribly broken inthread code to moderately broken
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.

11 years agohopefully thread now works (at least approximately)
Arnt Gulbrandsen [Sat, 24 Jul 2010 07:49:28 +0000 (09:49 +0200)]
hopefully thread now works (at least approximately)

11 years agocompiler warning, ade
Arnt Gulbrandsen [Sat, 24 Jul 2010 07:49:01 +0000 (09:49 +0200)]
compiler warning, ade

11 years agokill soem dead code
Arnt Gulbrandsen [Sat, 24 Jul 2010 07:48:46 +0000 (09:48 +0200)]
kill soem dead code

11 years agoMerge branch 'master' of ssh://strange/home/git/aox
Abhijit Menon-Sen [Fri, 16 Jul 2010 08:16:48 +0000 (13:46 +0530)]
Merge branch 'master' of ssh://strange/home/git/aox

11 years agoRemove friend declaration
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.

11 years agoSORT (SUBJECT) was broken, half-unbreak it
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.

11 years agouse left joins for all sort-related merges, so we'll never eliminate a message
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

11 years agojoin syntax for update always gets me, 2
Arnt Gulbrandsen [Thu, 24 Jun 2010 11:01:06 +0000 (13:01 +0200)]
join syntax for update always gets me, 2

11 years agojoin syntax for update always gets me
Arnt Gulbrandsen [Thu, 24 Jun 2010 10:59:38 +0000 (12:59 +0200)]
join syntax for update always gets me

11 years agosql typo 3
Arnt Gulbrandsen [Thu, 24 Jun 2010 10:53:39 +0000 (12:53 +0200)]
sql typo 3

11 years agosql typo again
Arnt Gulbrandsen [Thu, 24 Jun 2010 10:48:54 +0000 (12:48 +0200)]
sql typo again

11 years agosql typo
Arnt Gulbrandsen [Thu, 24 Jun 2010 10:47:19 +0000 (12:47 +0200)]
sql typo

11 years agonew subsystem to record and work around client bugs
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.

11 years agolog the client's ID information correctly
Arnt Gulbrandsen [Thu, 24 Jun 2010 09:06:37 +0000 (11:06 +0200)]
log the client's ID information correctly

11 years agodisable thread until TB is happier
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

11 years agowell, foo
Arnt Gulbrandsen [Wed, 23 Jun 2010 21:40:52 +0000 (23:40 +0200)]
well, foo

11 years agoprevent loops in the thread DAG
Arnt Gulbrandsen [Wed, 23 Jun 2010 21:36:41 +0000 (23:36 +0200)]
prevent loops in the thread DAG

11 years agobe more robust in case of References loops
Arnt Gulbrandsen [Wed, 23 Jun 2010 20:53:02 +0000 (22:53 +0200)]
be more robust in case of References loops

11 years agoget rid of the NAT defeater
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.

11 years agofix weird sql typo
Arnt Gulbrandsen [Wed, 23 Jun 2010 20:38:55 +0000 (22:38 +0200)]
fix weird sql typo

11 years agocleaner for an almost-empty db, at least...
Arnt Gulbrandsen [Wed, 23 Jun 2010 20:30:24 +0000 (22:30 +0200)]
cleaner for an almost-empty db, at least...

11 years agosql syntax
Arnt Gulbrandsen [Wed, 23 Jun 2010 20:17:56 +0000 (22:17 +0200)]
sql syntax

11 years agothe code implements T=OS, so until I see a bug...
Arnt Gulbrandsen [Wed, 23 Jun 2010 19:58:45 +0000 (21:58 +0200)]
the code implements T=OS, so until I see a bug...

11 years agooops, that getUString was necessary. pull it back.
Arnt Gulbrandsen [Wed, 23 Jun 2010 19:36:04 +0000 (21:36 +0200)]
oops, that getUString was necessary. pull it back.

11 years agothreading on injection now compiles. untested.
Arnt Gulbrandsen [Wed, 23 Jun 2010 18:55:06 +0000 (20:55 +0200)]
threading on injection now compiles. untested.

11 years agocompiles; may not work
Arnt Gulbrandsen [Wed, 23 Jun 2010 18:54:44 +0000 (20:54 +0200)]
compiles; may not work

11 years agomaybe teahc the injector to thread in injection
Arnt Gulbrandsen [Wed, 23 Jun 2010 17:48:01 +0000 (19:48 +0200)]
maybe teahc the injector to thread in injection

untested

11 years agoSyntax
Abhijit Menon-Sen [Tue, 22 Jun 2010 20:27:11 +0000 (01:57 +0530)]
Syntax

11 years agomore thread_roots work.
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.

11 years agoMerge branch 'master' of ssh://strange.aox.org/home/git/aox
Arnt Gulbrandsen [Tue, 22 Jun 2010 14:28:52 +0000 (16:28 +0200)]
Merge branch 'master' of ssh://strange.aox.org/home/git/aox

11 years agoXAOL-MOVE is the same as MOVE and tb uses it, so advertise it
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

11 years agoimplement MOVE as well as UID MOVE
Arnt Gulbrandsen [Fri, 11 Jun 2010 07:59:22 +0000 (09:59 +0200)]
implement MOVE as well as UID MOVE

11 years agouse header_fields.value for base subject instead of base_subjects
Arnt Gulbrandsen [Wed, 9 Jun 2010 13:20:21 +0000 (15:20 +0200)]
use header_fields.value for base subject instead of base_subjects

11 years agocompile
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.

11 years agoMerge branch 'master' of ssh://libertango.gulbrandsen.priv.no/home/arnt/oryx/src
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

11 years agoMerge branch 'master' of ssh://strange.aox.org/home/git/aox
Arnt Gulbrandsen [Wed, 9 Jun 2010 09:12:35 +0000 (11:12 +0200)]
Merge branch 'master' of ssh://strange.aox.org/home/git/aox

11 years agolots of work on threading; doesn't compile but needs to be committed.
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.

12 years agoFix bind typo
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.

12 years agodon't insert read-only sessions into the session cache at all
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.

12 years agoimproved threading code.
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.

12 years agotell anyone who cares that the backing mailbox was updated
Arnt Gulbrandsen [Fri, 21 May 2010 12:12:54 +0000 (14:12 +0200)]
tell anyone who cares that the backing mailbox was updated

12 years agowrite back Seen when it's changed in a view
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.

12 years agoviews weren't updated (as often as they should be)
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

12 years agosend 'mail from:<...> size=123' if the smarthost supports size=
Arnt Gulbrandsen [Thu, 20 May 2010 10:34:24 +0000 (12:34 +0200)]
send 'mail from:<...> size=123' if the smarthost supports size=

12 years agostop a warning
Arnt Gulbrandsen [Thu, 20 May 2010 10:33:51 +0000 (12:33 +0200)]
stop a warning

12 years agodon't quit the installer too soon.
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.

12 years agoMerge branch 'master' of ssh://strange.aox.org/home/git/aox
Arnt Gulbrandsen [Tue, 11 May 2010 19:31:02 +0000 (21:31 +0200)]
Merge branch 'master' of ssh://strange.aox.org/home/git/aox

12 years agohttp://archiveopteryx.org
Arnt Gulbrandsen [Tue, 11 May 2010 19:30:00 +0000 (21:30 +0200)]
http://archiveopteryx.org

12 years agoAnother upcoming change
Abhijit Menon-Sen [Tue, 11 May 2010 19:00:46 +0000 (00:30 +0530)]
Another upcoming change

12 years agox-oryx-testing is no longer appropriate, and HOLDFOR renders is useless
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

12 years agorerun charset.pl
Arnt Gulbrandsen [Tue, 11 May 2010 14:26:48 +0000 (16:26 +0200)]
rerun charset.pl

12 years agoactually USE ebcdic
Arnt Gulbrandsen [Tue, 11 May 2010 14:26:40 +0000 (16:26 +0200)]
actually USE ebcdic

12 years agoEBCDIC support.
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.

12 years agoit always is more complex
Arnt Gulbrandsen [Mon, 10 May 2010 11:06:39 +0000 (13:06 +0200)]
it always is more complex

12 years agocleaner code for parsing the smarthost smtp extensions
Arnt Gulbrandsen [Mon, 10 May 2010 10:57:41 +0000 (12:57 +0200)]
cleaner code for parsing the smarthost smtp extensions

12 years agofoo. foo. foo.
Arnt Gulbrandsen [Mon, 10 May 2010 10:40:12 +0000 (12:40 +0200)]
foo. foo. foo.

12 years agocarry a message's the seen flag into views
Arnt Gulbrandsen [Mon, 10 May 2010 10:25:15 +0000 (12:25 +0200)]
carry a message's the seen flag into views

12 years agoforward the smarthost's SIZE declaration to SMTP SUBMIT clients
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.

12 years agos/www.archiveopteryx.org/archiveopteryx.org/g
Arnt Gulbrandsen [Mon, 3 May 2010 11:48:10 +0000 (13:48 +0200)]
s/www.archiveopteryx.org/archiveopteryx.org/g

12 years agoTypo fix
Abhijit Menon-Sen [Sat, 1 May 2010 15:30:20 +0000 (21:00 +0530)]
Typo fix

12 years agoAdd Query::checkParameters() to check bind() sanity
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"

12 years agoMerge branch 'master' of ssh://strange.aox.org/home/git/aox
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