aox:aox.git
13 years agoUpdate release date. v3.1.2
Abhijit Menon-Sen [Mon, 13 Jul 2009 13:12:09 +0000 (18:42 +0530)]
Update release date.

13 years agoreport INTHREAD correctly
Arnt Gulbrandsen [Fri, 27 Mar 2009 11:04:58 +0000 (12:04 +0100)]
report INTHREAD correctly

13 years agonew function UStringList::removeDuplicates
Arnt Gulbrandsen [Tue, 31 Mar 2009 10:02:27 +0000 (12:02 +0200)]
new function UStringList::removeDuplicates

supports case in- and sensitivity, just like the E one

13 years agonew functions UString::is{Letter,Digit,Space}() for Selector to use
Arnt Gulbrandsen [Fri, 3 Apr 2009 13:23:52 +0000 (15:23 +0200)]
new functions UString::is{Letter,Digit,Space}() for Selector to use

13 years agorerun mktit
Arnt Gulbrandsen [Fri, 3 Apr 2009 13:14:04 +0000 (15:14 +0200)]
rerun mktit

13 years agobe const for better memory use
Arnt Gulbrandsen [Fri, 3 Apr 2009 13:13:44 +0000 (15:13 +0200)]
be const for better memory use

13 years agooptimise message-id searches so they can use an index
Arnt Gulbrandsen [Fri, 17 Apr 2009 12:40:07 +0000 (14:40 +0200)]
optimise message-id searches so they can use an index

13 years agouse tsearch2 only if the search string looks word-like
Arnt Gulbrandsen [Fri, 3 Apr 2009 13:33:09 +0000 (15:33 +0200)]
use tsearch2 only if the search string looks word-like

could be improved... hm... we could feed tsearc2 the words and refine with
ilike

13 years agoQuiet udoc, without regard to accuracy.
Abhijit Menon-Sen [Fri, 3 Apr 2009 03:42:12 +0000 (09:12 +0530)]
Quiet udoc, without regard to accuracy.

13 years agomore parens we may not strictly need
Arnt Gulbrandsen [Tue, 31 Mar 2009 19:37:43 +0000 (21:37 +0200)]
more parens we may not strictly need

13 years agowork for field-specific searches
Arnt Gulbrandsen [Tue, 31 Mar 2009 19:32:42 +0000 (21:32 +0200)]
work for field-specific searches

13 years agobind fewer parameters in Selector
Arnt Gulbrandsen [Tue, 31 Mar 2009 19:25:46 +0000 (21:25 +0200)]
bind fewer parameters in Selector

13 years agobetter () in SQL boolean logic
Arnt Gulbrandsen [Tue, 31 Mar 2009 13:57:43 +0000 (15:57 +0200)]
better () in SQL boolean logic

13 years agotry harder to optimise address_fields and header_fields joins
Arnt Gulbrandsen [Tue, 31 Mar 2009 13:53:15 +0000 (15:53 +0200)]
try harder to optimise address_fields and header_fields joins

this passes whippage but the SQL may be a little unfortunate

13 years agostep 2 (or 3?) towards optimising 'OR OR TEXT a TEXT b TEXT c'
Arnt Gulbrandsen [Tue, 31 Mar 2009 08:59:38 +0000 (10:59 +0200)]
step 2 (or 3?) towards optimising 'OR OR TEXT a TEXT b TEXT c'

this provides a function to handle all the header_fields searches inside a
single OR with just one join.

next: ditto for address_fields.

after that: use both functions.

and by then it should work.

13 years agoSQL optimisation
Arnt Gulbrandsen [Fri, 27 Mar 2009 15:25:20 +0000 (16:25 +0100)]
SQL optimisation

use a natural join instead of a left join for address_fields and
addresses, if that's possible. it is possible only when the select ANDs
the existence of some address with everything else. if there's any OR or
NOT, then we have to use left join.

13 years agooptimise whereAddressFields() another bit.
Arnt Gulbrandsen [Fri, 27 Mar 2009 15:04:10 +0000 (16:04 +0100)]
optimise whereAddressFields() another bit.

this one looks harder at what may actually succeed, and uses rules like
'no spaces in domain names' to avoid asking the DBMS stupid questions.

13 years agoIMAP search key INTHREAD
Arnt Gulbrandsen [Fri, 27 Mar 2009 11:59:32 +0000 (12:59 +0100)]
IMAP search key INTHREAD

possibly hard on the db, not sure

13 years agoallow calling query() several times
Arnt Gulbrandsen [Fri, 27 Mar 2009 10:13:45 +0000 (11:13 +0100)]
allow calling query() several times

13 years agoimplement inthread (but don't make it available via imap yet)
Arnt Gulbrandsen [Thu, 26 Mar 2009 19:45:56 +0000 (20:45 +0100)]
implement inthread (but don't make it available via imap yet)

13 years agoname the right license file in the build system
Arnt Gulbrandsen [Thu, 9 Jul 2009 12:06:40 +0000 (14:06 +0200)]
name the right license file in the build system

13 years agoMerge branch 'next' of ssh://down/oryx/aox into next
Arnt Gulbrandsen [Thu, 9 Jul 2009 12:05:20 +0000 (14:05 +0200)]
Merge branch 'next' of ssh://down/oryx/aox into next

Conflicts:
doc/readme/COPYING

13 years agono sense doing DNS lookups on the empty string
Arnt Gulbrandsen [Fri, 27 Mar 2009 11:16:19 +0000 (12:16 +0100)]
no sense doing DNS lookups on the empty string

13 years agoissue finish() right away, instead of waiting for the transaction to commit
Arnt Gulbrandsen [Wed, 1 Apr 2009 11:31:23 +0000 (13:31 +0200)]
issue finish() right away, instead of waiting for the transaction to commit

this shouldn't make any difference, right? shouldn't?

13 years agounfuck previous change
Arnt Gulbrandsen [Tue, 14 Apr 2009 13:14:10 +0000 (15:14 +0200)]
unfuck previous change

13 years agodon't copy the Deleted flag when copying messages.
Arnt Gulbrandsen [Thu, 9 Apr 2009 09:30:38 +0000 (11:30 +0200)]
don't copy the Deleted flag when copying messages.

shouldn't make much of a difference; clients copying in order to move
should copy before setting Deleted. but it's more right than wrong.

13 years agoA couple more old functions renamed.
Abhijit Menon-Sen [Sat, 27 Jun 2009 07:36:08 +0000 (13:06 +0530)]
A couple more old functions renamed.

13 years agos/Oryx(User|Group)/Aox.../
Abhijit Menon-Sen [Sat, 27 Jun 2009 07:26:06 +0000 (12:56 +0530)]
s/Oryx(User|Group)/Aox.../

13 years agoMore Oryx references.
Abhijit Menon-Sen [Sat, 27 Jun 2009 07:15:07 +0000 (12:45 +0530)]
More Oryx references.

13 years agoUpdate list instructions.
Abhijit Menon-Sen [Sat, 27 Jun 2009 07:05:10 +0000 (12:35 +0530)]
Update list instructions.

13 years agoDelete oryx(7), update other manpages.
Abhijit Menon-Sen [Sat, 27 Jun 2009 07:04:14 +0000 (12:34 +0530)]
Delete oryx(7), update other manpages.

13 years agoback out that UString constructor again. it is too much trouble.
Arnt Gulbrandsen [Tue, 7 Apr 2009 12:39:21 +0000 (14:39 +0200)]
back out that UString constructor again. it is too much trouble.

13 years agos/info@oryx.com/info@aox.org/g
Abhijit Menon-Sen [Sat, 27 Jun 2009 06:58:39 +0000 (12:28 +0530)]
s/info@oryx.com/info@aox.org/g

13 years agoUpdate copyright notices.
Abhijit Menon-Sen [Wed, 8 Jul 2009 14:52:34 +0000 (20:22 +0530)]
Update copyright notices.

13 years agoUpdate VERSION.
Abhijit Menon-Sen [Wed, 8 Jul 2009 14:48:54 +0000 (20:18 +0530)]
Update VERSION.

13 years agosome mac utils sends c-t: multipart/appledouble. cope.
Arnt Gulbrandsen [Tue, 28 Apr 2009 12:27:48 +0000 (14:27 +0200)]
some mac utils sends c-t: multipart/appledouble. cope.

13 years agosquirrelmail sends c-t: /, so accept it
Arnt Gulbrandsen [Tue, 28 Apr 2009 12:18:39 +0000 (14:18 +0200)]
squirrelmail sends c-t: /, so accept it

13 years agosome spammers send c-t-e in c-t. fixify.
Arnt Gulbrandsen [Wed, 15 Apr 2009 11:07:38 +0000 (13:07 +0200)]
some spammers send c-t-e in c-t. fixify.

13 years agohandle c-t: imagep/; filename="a..jpg" (.. used not to)
Arnt Gulbrandsen [Wed, 15 Apr 2009 10:00:10 +0000 (12:00 +0200)]
handle c-t: imagep/; filename="a..jpg" (.. used not to)

13 years agoanother parser workaround: content-type: text/
Arnt Gulbrandsen [Tue, 14 Apr 2009 13:02:29 +0000 (15:02 +0200)]
another parser workaround: content-type: text/

13 years agohandle content-type: image/; filename=asdf.jpg
Arnt Gulbrandsen [Fri, 27 Mar 2009 10:13:41 +0000 (11:13 +0100)]
handle content-type: image/; filename=asdf.jpg

13 years agofix accidentally broken workaround for mutt
Arnt Gulbrandsen [Thu, 26 Mar 2009 20:51:28 +0000 (21:51 +0100)]
fix accidentally broken workaround for mutt

13 years agoadd new AddressParser::assertSingleAddress()
Arnt Gulbrandsen [Tue, 7 Apr 2009 10:58:12 +0000 (12:58 +0200)]
add new AddressParser::assertSingleAddress()

add new UString::UString( const char * )

update callers to use the top function and partly the second

13 years agocompile fix for d83db9e8833d14766486b7cbcc7eced2fd6e5ddf
Arnt Gulbrandsen [Sun, 28 Jun 2009 12:15:47 +0000 (14:15 +0200)]
compile fix for d83db9e8833d14766486b7cbcc7eced2fd6e5ddf

13 years agoapply allow-plaintext-access to message submission.
Arnt Gulbrandsen [Wed, 10 Jun 2009 13:24:08 +0000 (15:24 +0200)]
apply allow-plaintext-access to message submission.

can back this out again if people think it's a bad idea.

13 years agohandle bogus but strangely legal ORCPT acceptably. postfix sent those.
Arnt Gulbrandsen [Fri, 15 May 2009 08:03:27 +0000 (10:03 +0200)]
handle bogus but strangely legal ORCPT acceptably. postfix sent those.

    rcpt to:<x@y> orcpt=rfc822;z

That 'z' is not an RFC822 address, but 'z' doesn't have to be the kind of
address named before the semicolon. weird.

also adds some kind of handling for orcpt. we might do more, but this is
at least something.

13 years agospeling
Arnt Gulbrandsen [Fri, 22 May 2009 07:24:53 +0000 (09:24 +0200)]
speling

13 years agodifferent syntax for literals in the two directions?
Arnt Gulbrandsen [Wed, 20 May 2009 12:03:58 +0000 (14:03 +0200)]
different syntax for literals in the two directions?

we'll just accept both kinds coming from the client. poor client.

13 years agonoop. from the rfc-to-be.
Arnt Gulbrandsen [Wed, 20 May 2009 11:56:56 +0000 (13:56 +0200)]
noop. from the rfc-to-be.

13 years agothe rest of RENAMESCRIPT
Arnt Gulbrandsen [Wed, 20 May 2009 11:44:44 +0000 (13:44 +0200)]
the rest of RENAMESCRIPT

13 years agoadd RENAMESCRIPT
Arnt Gulbrandsen [Wed, 20 May 2009 11:42:16 +0000 (13:42 +0200)]
add RENAMESCRIPT

fix size tests (:over 500 and so on), which were completely broken

13 years agoallow deleting users even though deleted_messages refers to users.
Arnt Gulbrandsen [Wed, 29 Apr 2009 19:59:37 +0000 (21:59 +0200)]
allow deleting users even though deleted_messages refers to users.

we could either change dm.deleted_by to be the login name or do what this
change does. best to discuss that BEFORE merging this to master.

13 years agosame as the listext.cpp change
Arnt Gulbrandsen [Mon, 6 Jul 2009 13:43:48 +0000 (15:43 +0200)]
same as the listext.cpp change

13 years agoimplement listext more correctly
Arnt Gulbrandsen [Mon, 6 Jul 2009 13:41:39 +0000 (15:41 +0200)]
implement listext more correctly

uses the db much more; that's okay, it won't be really slow anyway

based on bug reports from timo

13 years agopostgres substring seems to be 1-based!
Arnt Gulbrandsen [Mon, 6 Jul 2009 13:53:15 +0000 (15:53 +0200)]
postgres substring seems to be 1-based!

13 years agoremove all links to oryx.com
Arnt Gulbrandsen [Fri, 26 Jun 2009 14:15:03 +0000 (16:15 +0200)]
remove all links to oryx.com

13 years agouse INSTALLROOT for all installation
Arnt Gulbrandsen [Tue, 23 Jun 2009 11:14:48 +0000 (13:14 +0200)]
use INSTALLROOT for all installation

13 years agoquote ACL stuff correctly (from timo)
Arnt Gulbrandsen [Mon, 22 Jun 2009 07:37:59 +0000 (09:37 +0200)]
quote ACL stuff correctly (from timo)

13 years agocorrect capability for 5258
Arnt Gulbrandsen [Wed, 17 Jun 2009 19:50:24 +0000 (21:50 +0200)]
correct capability for 5258

13 years agowrite text for aox help help
Arnt Gulbrandsen [Wed, 17 Jun 2009 19:35:18 +0000 (21:35 +0200)]
write text for aox help help

13 years agobetter comments in the default cf file
Arnt Gulbrandsen [Wed, 10 Jun 2009 13:23:49 +0000 (15:23 +0200)]
better comments in the default cf file

13 years agonextmodseq must increase when pop deletes mail
Arnt Gulbrandsen [Wed, 10 Jun 2009 13:22:55 +0000 (15:22 +0200)]
nextmodseq must increase when pop deletes mail

13 years agoemit 4xx errors for all database-related errors.
Arnt Gulbrandsen [Wed, 3 Jun 2009 13:16:23 +0000 (15:16 +0200)]
emit 4xx errors for all database-related errors.

13 years agodon't bother retrying if we don't have a transaction
Arnt Gulbrandsen [Wed, 3 Jun 2009 12:53:55 +0000 (14:53 +0200)]
don't bother retrying if we don't have a transaction

the theory here is that only db (race/shutdown) effects can cause
heisenbugs. if we run into an error before we get to talk to the db, we
might as well give up the injection.

13 years agodo not double the message list in case of helper table races
Arnt Gulbrandsen [Wed, 3 Jun 2009 12:36:32 +0000 (14:36 +0200)]
do not double the message list in case of helper table races

13 years agodon't try to handle it when the bodyparts insert fails.
Arnt Gulbrandsen [Tue, 21 Apr 2009 08:33:23 +0000 (10:33 +0200)]
don't try to handle it when the bodyparts insert fails.

the code used to think that it was a race and could be easily handled by
restarting the subtransaction. that's not the case. the race is gone since
schema 74, so if that insert breaks, it's an unanticipated error.

13 years agothe rfc says to advertise VERSION
Arnt Gulbrandsen [Wed, 20 May 2009 11:31:15 +0000 (13:31 +0200)]
the rfc says to advertise VERSION

13 years agoget rid of Allocator::release()
Arnt Gulbrandsen [Wed, 13 May 2009 10:31:36 +0000 (12:31 +0200)]
get rid of Allocator::release()

it may be involved in the random tlsproxy blowups, not sure. anyway it's
difficult to verify the function and now that BlockShift is just 17 it
saves little RAM.

13 years agouse smaller blockshift to waste less space
Arnt Gulbrandsen [Mon, 11 May 2009 12:56:22 +0000 (14:56 +0200)]
use smaller blockshift to waste less space

13 years agoanother address parsing workaround
Arnt Gulbrandsen [Tue, 28 Apr 2009 14:29:06 +0000 (16:29 +0200)]
another address parsing workaround

at this stage, I seriously doubt that there's anything we reject

13 years agohandle To: " x @ example.com "
Arnt Gulbrandsen [Mon, 27 Apr 2009 07:23:20 +0000 (09:23 +0200)]
handle To: " x @ example.com "

13 years agoDon't mention $PGSQL here.
Abhijit Menon-Sen [Fri, 24 Apr 2009 11:53:20 +0000 (17:23 +0530)]
Don't mention $PGSQL here.

It made at least one person think it meant an environment variable.

13 years agoFetch r_p.action in all branches.
Abhijit Menon-Sen [Tue, 21 Apr 2009 15:49:25 +0000 (21:19 +0530)]
Fetch r_p.action in all branches.

info: 1/7694/1/1/7: 2009-04-21 17:10:32.548 Dequeueing query "select duration, selector, id from retention_policies where mailbox=any($1) and action='retain'" ($1='{1,2,3,4}') on backend 1 (with 1 rows)
error: 1/7694/1/1/7: 2009-04-21 17:10:32.548 Note: Column "action" does not exist

13 years agoimplicit/tagless commands cannot fail
Arnt Gulbrandsen [Tue, 21 Apr 2009 09:35:33 +0000 (11:35 +0200)]
implicit/tagless commands cannot fail

(those are things like the STORE that's silently executed to set \seen on
some FETCHes)

13 years agomention the source
Arnt Gulbrandsen [Thu, 16 Apr 2009 11:20:31 +0000 (13:20 +0200)]
mention the source

13 years agotreat this as an empty address list: To: A<@localhost>
Arnt Gulbrandsen [Wed, 15 Apr 2009 11:06:38 +0000 (13:06 +0200)]
treat this as an empty address list: To: A<@localhost>

13 years agohandle spam with conflicting mime boundaries (arbitrarily)
Arnt Gulbrandsen [Wed, 15 Apr 2009 10:09:17 +0000 (12:09 +0200)]
handle spam with conflicting mime boundaries (arbitrarily)

13 years agohaving two conflicting c-t-e fields is bad
Arnt Gulbrandsen [Wed, 15 Apr 2009 09:52:08 +0000 (11:52 +0200)]
having two conflicting c-t-e fields is bad

13 years agouse just one transaction for reparse:
Arnt Gulbrandsen [Wed, 15 Apr 2009 09:32:10 +0000 (11:32 +0200)]
use just one transaction for reparse:
 - should prevent 'enqueue after commit'
 - modseqs are right
 - either the db work fails or it finishes

13 years agoeliminate messy thoughtless code. write simple stuff.
Arnt Gulbrandsen [Wed, 15 Apr 2009 08:52:43 +0000 (10:52 +0200)]
eliminate messy thoughtless code. write simple stuff.

13 years agomake the forker more careful:
Arnt Gulbrandsen [Tue, 14 Apr 2009 13:59:46 +0000 (15:59 +0200)]
make the forker more careful:

 - don't fork more than twice in quick succession
 - quit if children keep failing

13 years agotry another hack to have the servers die well.
Arnt Gulbrandsen [Tue, 14 Apr 2009 13:50:24 +0000 (15:50 +0200)]
try another hack to have the servers die well.

if any server receives SIGTERM or SIGKILL, then we propagate that to the
parent and all (other) children, no matter who received the signal first.

SIGSEGV is not propataged, of course.

13 years agotry to not be a fork bomb
Arnt Gulbrandsen [Tue, 14 Apr 2009 13:40:22 +0000 (15:40 +0200)]
try to not be a fork bomb

13 years agoroll back the SIGSEGV handler. it smelled too much.
Arnt Gulbrandsen [Thu, 9 Apr 2009 10:10:20 +0000 (12:10 +0200)]
roll back the SIGSEGV handler. it smelled too much.

13 years agoTo: <@host> is as bad as To: @host
Arnt Gulbrandsen [Tue, 14 Apr 2009 13:06:53 +0000 (15:06 +0200)]
To: <@host> is as bad as To: @host

13 years agoUse E'' syntax for escapes to avoid warnings.
Abhijit Menon-Sen [Thu, 9 Apr 2009 22:34:36 +0000 (04:04 +0530)]
Use E'' syntax for escapes to avoid warnings.

13 years agoInsert username, not id.
Abhijit Menon-Sen [Thu, 9 Apr 2009 12:02:12 +0000 (17:32 +0530)]
Insert username, not id.

13 years agoRevert "Revert "try to restart the server if a child dies""
Abhijit Menon-Sen [Tue, 2 Jun 2009 12:23:34 +0000 (17:53 +0530)]
Revert "Revert "try to restart the server if a child dies""

This reverts commit 6256fc7af77d7c961be95baa07794f6077384b4d.

(Later patches--to be applied now--fix the problem.)

13 years agoDoc fixes suggested by Holger Schurig.
Abhijit Menon-Sen [Tue, 21 Apr 2009 01:32:30 +0000 (07:02 +0530)]
Doc fixes suggested by Holger Schurig.

13 years agoDecode "indefinite form" lengths in LDAP responses.
Abhijit Menon-Sen [Thu, 16 Apr 2009 12:11:11 +0000 (17:41 +0530)]
Decode "indefinite form" lengths in LDAP responses.

This is needed to interoperate with Active Directory.

The patch was contributed by Jason Weathered; applied with some minor
corrections (we make sure we have the entire length before we remove
anything, even the type byte, so that repeated calls to parse() with
incomplete input work correctly; and fail() on length errors).

13 years agoDon't segfault if aox is run as just 'aox'.
Abhijit Menon-Sen [Mon, 20 Apr 2009 09:31:32 +0000 (15:01 +0530)]
Don't segfault if aox is run as just 'aox'.

13 years agoInclude string.h to compile on OpenBSD.
Abhijit Menon-Sen [Tue, 14 Apr 2009 01:48:39 +0000 (07:18 +0530)]
Include string.h to compile on OpenBSD.

(Thanks to Pierre-Emmanuel AndrĂ© for the fix.)

13 years agoRevert "try to restart the server if a child dies" v3.1.1
Abhijit Menon-Sen [Mon, 13 Apr 2009 09:02:08 +0000 (14:32 +0530)]
Revert "try to restart the server if a child dies"

It's not ready for release yet. Desirable, but still problematic.

This reverts commit 57361db5d8a243ba28421e38d2e43c0d7c78e203.

13 years agoFix typo.
Abhijit Menon-Sen [Thu, 9 Apr 2009 12:03:21 +0000 (17:33 +0530)]
Fix typo.

13 years agotry to restart the server if a child dies
Arnt Gulbrandsen [Thu, 9 Apr 2009 10:07:26 +0000 (12:07 +0200)]
try to restart the server if a child dies

13 years agoDon't mention jam here either.
Abhijit Menon-Sen [Sat, 4 Apr 2009 08:00:22 +0000 (13:30 +0530)]
Don't mention jam here either.

We really don't mention jam in a lot of places.

13 years agoMake aox list mailboxes -s work again.
Abhijit Menon-Sen [Fri, 3 Apr 2009 16:19:17 +0000 (21:49 +0530)]
Make aox list mailboxes -s work again.

13 years agoWe used to accept ls->list. Do so again.
Abhijit Menon-Sen [Fri, 3 Apr 2009 16:05:51 +0000 (21:35 +0530)]
We used to accept ls->list. Do so again.

13 years agoimplement aox command aliases cleaner
Arnt Gulbrandsen [Thu, 2 Apr 2009 13:03:58 +0000 (15:03 +0200)]
implement aox command aliases cleaner

13 years agokill dead code
Arnt Gulbrandsen [Fri, 3 Apr 2009 10:07:04 +0000 (12:07 +0200)]
kill dead code