7 years agoSASL LOGIN supports an initial response. master
Arnt Gulbrandsen [Tue, 7 Apr 2015 17:28:59 +0000 (19:28 +0200)]
SASL LOGIN supports an initial response.

8 years agobe syntactically compatible with dovecot's inthread
Arnt Gulbrandsen [Wed, 18 Mar 2015 09:42:35 +0000 (10:42 +0100)]
be syntactically compatible with dovecot's inthread

dovecot implements an older draft and does not advertise the extension.
this change accepts the syntax dovecot accepts, and does the right thing
(ie. what I think is the right thing, which is perhaps not what the client
author thinks).

8 years agoCope properly uidvalidity changes
Arnt Gulbrandsen [Sat, 14 Feb 2015 17:00:46 +0000 (18:00 +0100)]
Cope properly uidvalidity changes

When e.g. a BDR script recovers from a database conflict, at least one
mailbox needs to have reassigned UIDs. If anyone has that mailbox open
meanwhile, aox should get rid of those connections.

8 years agohelp debug why the server quits sometimes
Arnt Gulbrandsen [Wed, 21 Jan 2015 10:49:59 +0000 (11:49 +0100)]
help debug why the server quits sometimes

8 years agosend highestmodseq when appropriate
Arnt Gulbrandsen [Wed, 21 Jan 2015 10:49:12 +0000 (11:49 +0100)]
send highestmodseq when appropriate

not just at session start, but always

8 years agoFETCH CHANGEDSINCE x is >x, not >=x
Arnt Gulbrandsen [Wed, 21 Jan 2015 10:32:00 +0000 (11:32 +0100)]
FETCH CHANGEDSINCE x is >x, not >=x

>=x is also legal, since the server may always send an unsolicited
response, but...

8 years agofix and reenable COMPRESS=DEFLATE
Arnt Gulbrandsen [Wed, 21 Jan 2015 10:30:00 +0000 (11:30 +0100)]
fix and reenable COMPRESS=DEFLATE

the problem was that zlib's allocated and then used it in ways our
allocator does not allow: mixing pointers and random binary data. if
that's done often enough, sooner or later the allocator will misinterpret
a random number as a pointer and then not free the object "pointed to".

this change leverages the existing fd/thread cleanup.

8 years agocomply with the THRID draft instead of using arnt's gmail hack
Arnt Gulbrandsen [Tue, 16 Dec 2014 13:58:22 +0000 (14:58 +0100)]
comply with the THRID draft instead of using arnt's gmail hack

8 years agojkt knows his Latin
Arnt Gulbrandsen [Tue, 16 Dec 2014 13:13:44 +0000 (14:13 +0100)]
jkt knows his Latin

8 years agohandle UTF8 APPEND correctly
Arnt Gulbrandsen [Tue, 28 Oct 2014 08:54:52 +0000 (09:54 +0100)]
handle UTF8 APPEND correctly

from Michael Slusarz.

8 years agoAccept some overlong SASL reponses
Arnt Gulbrandsen [Thu, 16 Oct 2014 07:29:36 +0000 (09:29 +0200)]
Accept some overlong SASL reponses

Base64 ignores random characters, so inserting extra spaces or quote
characters is harmless in the base64 stage. This change permits broken
clients that send "aaaa" instead of aaaa to work with digest-md5. This
concerns old versions of mailkit and possibly another client.

8 years agoAccept an empty list of return options
Arnt Gulbrandsen [Thu, 16 Oct 2014 07:28:46 +0000 (09:28 +0200)]
Accept an empty list of return options

The empty list doesn't do anything, but is legal. Reported by Michael

8 years agoHandle unicode append properly
Arnt Gulbrandsen [Thu, 16 Oct 2014 07:25:13 +0000 (09:25 +0200)]
Handle unicode append properly

This is a noop; it just accepts syntax and ignores it. the syntax modifier
is one I asked to have removed from the draft that became 6855 because its
job is indistinguishable from 'enable utf8=accept', and obviously I
thought it was removed.

Reported by Michael Slusarz.

8 years agoRemove SSLv3 support.
Arnt Gulbrandsen [Wed, 15 Oct 2014 11:32:08 +0000 (13:32 +0200)]
Remove SSLv3 support.

As far as I can see, SMTP, IMAP and POP clients are essentially
invulnerable to the attack du jour, since the server (or an impostor)
can't really make clients open new connections. It would be a strange
client that lets a server tell it to open thousands connections and
control the preauth commands.

But I see no real reason to support SSLv3 any more anyway, so this change
disable SSLv3 support.

8 years agoWe need at least one nonwhitespace character in the human-readble text
Arnt Gulbrandsen [Wed, 10 Sep 2014 12:41:04 +0000 (14:41 +0200)]
We need at least one nonwhitespace character in the human-readble text

pointed out by jkt

8 years agoprevent thread leakage.
Arnt Gulbrandsen [Wed, 20 Aug 2014 16:01:56 +0000 (18:01 +0200)]
prevent thread leakage.

without this, archiveopteryx would leak one pthread id for some/every
network-level close, and eventually pthreads would run out.

8 years agomake 'aox list users' a little more human-readable
Arnt Gulbrandsen [Wed, 20 Aug 2014 16:01:21 +0000 (18:01 +0200)]
make 'aox list users' a little more human-readable

8 years agolock a little less at select time
Arnt Gulbrandsen [Wed, 23 Jul 2014 10:18:51 +0000 (12:18 +0200)]
lock a little less at select time

this probably permits select and inject to proceed concurrently

8 years agowords fail me.
Arnt Gulbrandsen [Wed, 23 Jul 2014 10:18:16 +0000 (12:18 +0200)]
words fail me.

8 years agoMarkus Dahms didn't have that index.
Arnt Gulbrandsen [Sat, 19 Jul 2014 10:06:10 +0000 (12:06 +0200)]
Markus Dahms didn't have that index.

adding "if exists" is harmless; that index should have existed but this
command is run precisely at the first instant where that no longer

8 years agofinish implementing qresync
Arnt Gulbrandsen [Fri, 18 Jul 2014 12:11:04 +0000 (14:11 +0200)]
finish implementing qresync

8 years agodowngrade return-path as well as other address fields
Arnt Gulbrandsen [Fri, 18 Jul 2014 12:09:21 +0000 (14:09 +0200)]
downgrade return-path as well as other address fields

8 years agosend mailboxes using utf8 if the client supports that
Arnt Gulbrandsen [Thu, 17 Jul 2014 08:32:27 +0000 (10:32 +0200)]
send mailboxes using utf8 if the client supports that

suboptioml: the server prefers using literals for almost all mailboxes
that contain utf8

8 years agonew root zone from internic
Arnt Gulbrandsen [Wed, 16 Jul 2014 13:48:31 +0000 (15:48 +0200)]
new root zone from internic

8 years ago:days 0 in sieve vacation now means three minutes
Arnt Gulbrandsen [Tue, 15 Jul 2014 18:37:52 +0000 (20:37 +0200)]
:days 0 in sieve vacation now means three minutes

this makes vacation more or less usable for classic autoresponses,
which may need to be issued much more often than every day

8 years agomore 8-bit fetching, begone
Arnt Gulbrandsen [Tue, 15 Jul 2014 14:34:02 +0000 (16:34 +0200)]
more 8-bit fetching, begone

8 years agoget rid of the remaining 8-bit Address API
Arnt Gulbrandsen [Mon, 14 Jul 2014 19:30:22 +0000 (21:30 +0200)]
get rid of the remaining 8-bit Address API

update all callers to use the UString API, and do their own
conversion from 8-bit, if and as appropriate

8 years agoimprove aox' ability to sent out unicode mail
Arnt Gulbrandsen [Mon, 14 Jul 2014 17:27:18 +0000 (19:27 +0200)]
improve aox' ability to sent out unicode mail

8 years agobodyparts like jøran don't need quoting
Arnt Gulbrandsen [Mon, 14 Jul 2014 17:26:35 +0000 (19:26 +0200)]
bodyparts like jøran don't need quoting

they're either illegal or legal without quoting, so quoting is never a
good idea.

8 years agoEAI was _very_ improperly supported. fix.
Arnt Gulbrandsen [Mon, 14 Jul 2014 14:27:22 +0000 (16:27 +0200)]
EAI was _very_ improperly supported. fix.

8 years agosome valid unicode addresses couldn't be inserted. fix.
Arnt Gulbrandsen [Mon, 14 Jul 2014 13:22:58 +0000 (15:22 +0200)]
some valid unicode addresses couldn't be inserted. fix.

8 years agoallow unicode in usernames
Arnt Gulbrandsen [Mon, 14 Jul 2014 12:04:20 +0000 (14:04 +0200)]
allow unicode in usernames

undefined codepoints are allowed, but whitespace is not.

8 years agoFix reused table name; thanks to Jim from NSS
Abhijit Menon-Sen [Thu, 3 Jul 2014 16:46:55 +0000 (22:16 +0530)]
Fix reused table name; thanks to Jim from NSS

8 years agodisable -Werror
Arnt Gulbrandsen [Tue, 3 Jun 2014 13:15:21 +0000 (15:15 +0200)]
disable -Werror

Old and new version of g++ disagree about core/md5.cpp. The easiest way
out of that is to turn off -Werror. (Personally I resolve it by mostly
using Clang instead.)

8 years agoteach AddressParser about unicode addresses.
Arnt Gulbrandsen [Tue, 3 Jun 2014 11:16:03 +0000 (13:16 +0200)]
teach AddressParser about unicode addresses.

this should've been in 3.2.0, but I put it aside by mistake when some
tests didn't pass. fixed now.

8 years agobe compatible with older versions of g++
Arnt Gulbrandsen [Mon, 12 May 2014 12:46:31 +0000 (14:46 +0200)]
be compatible with older versions of g++

8 years agofix incomprehensible typo
Arnt Gulbrandsen [Mon, 12 May 2014 12:40:47 +0000 (14:40 +0200)]
fix incomprehensible typo

8 years agoprocpid was renamed in pg 9.2, not 9.3
Arnt Gulbrandsen [Mon, 12 May 2014 12:40:20 +0000 (14:40 +0200)]
procpid was renamed in pg 9.2, not 9.3

8 years agoupdate to latest root zone
Arnt Gulbrandsen [Thu, 8 May 2014 08:19:59 +0000 (10:19 +0200)]
update to latest root zone

8 years agoset Message::threadId() correctly when caching at injection
Arnt Gulbrandsen [Wed, 30 Apr 2014 12:58:31 +0000 (14:58 +0200)]
set Message::threadId() correctly when caching at injection

Message::threadId() isn't used much, only for the gmail compatibility
blah, so it's safe to say that noone will run into this bug. but I fix it
all the same.

8 years agoadd the first part of RFC5162 support (quick resync)
Arnt Gulbrandsen [Mon, 28 Apr 2014 12:17:56 +0000 (14:17 +0200)]
add the first part of RFC5162 support (quick resync)

sogo needs this and I want sogo to work.

there's more to come... in Dave Cridland's words, 5162 has many moving

the parts where Select executes a Fetch are not done. it's actually
optional, so the client has to issue Fetch anyway. a splendid example of
pointless complexity.

Select retrieves the deleted messages, but does not yet issue vanished

fetch (vanished) is not done.

8 years agothread more outlook messages
Arnt Gulbrandsen [Fri, 25 Apr 2014 15:55:41 +0000 (17:55 +0200)]
thread more outlook messages

we already had code that handled outlook replies to long threads, but
accidentally nothing to handle outlook replies to the thread root, which
is quite a common case. this should fix that.

9 years agobase 'younger' on delete time if searching deleted mail.
Arnt Gulbrandsen [Sat, 29 Mar 2014 16:11:45 +0000 (17:11 +0100)]
base 'younger' on delete time if searching deleted mail.

this takes care of to the presumably rather common use case "undelete
whatever has been deleted in the past day", which I just now assumed to
be what "aox undelete /users/arnt/inbox younger 1" does. it wasn't. noe
it is, as a matter of DWIM.

the previous behaviour used the original insertion time.

I've also updated the documentation on the web, but not pushed that

9 years agospeling
Arnt Gulbrandsen [Sat, 29 Mar 2014 15:46:47 +0000 (16:46 +0100)]

9 years agoaox ... younger 2 accidentally used the wrong time unit
Arnt Gulbrandsen [Sat, 29 Mar 2014 15:46:05 +0000 (16:46 +0100)]
aox ... younger 2 accidentally used the wrong time unit

this makes the code match the documentation

9 years agorecycle thread identifiers
Arnt Gulbrandsen [Wed, 5 Mar 2014 07:22:51 +0000 (08:22 +0100)]
recycle thread identifiers

it's not enough to release threads properly, we also have to release
thread identifiers. if we ever run out of identifiers, the server has to

9 years agothere's no need to =?...?= when the client speaks eai
Arnt Gulbrandsen [Sun, 2 Mar 2014 07:51:00 +0000 (08:51 +0100)]
there's no need to =?...?= when the client speaks eai

9 years agoavoid sending bare linefeeds along with overlong message-ids
Arnt Gulbrandsen [Sun, 2 Mar 2014 07:50:27 +0000 (08:50 +0100)]
avoid sending bare linefeeds along with overlong message-ids

9 years agomake the imap thread extension work
Arnt Gulbrandsen [Wed, 12 Feb 2014 21:49:08 +0000 (22:49 +0100)]
make the imap thread extension work

9 years agoDon't check lockSanity at startup v3.2.0
Abhijit Menon-Sen [Mon, 10 Mar 2014 13:44:59 +0000 (19:14 +0530)]
Don't check lockSanity at startup

We composed the query before the server_version was discovered, so the
test to decide whether to generate procpid or pid was always generating

The point of the failing query was to warn users about locks at startup,
but the utility of the nice log message is outweighed by the price of
having to generate version-dependent queries.

(LockSpotter stays, because it runs much later.)

9 years agoGenerate 'pid' for Postgres >= 9.3 and 'procpid' otherwise
Abhijit Menon-Sen [Mon, 10 Mar 2014 10:24:34 +0000 (15:54 +0530)]
Generate 'pid' for Postgres >= 9.3 and 'procpid' otherwise

9 years agoMerge pull request #2 from felderado/patch-1
Abhijit Menon-Sen [Mon, 10 Mar 2014 04:20:02 +0000 (09:50 +0530)]
Merge pull request #2 from felderado/patch-1

fix for new installs

9 years agoUpdate
felderado [Mon, 10 Mar 2014 00:01:22 +0000 (19:01 -0500)]
Update was upgraded to match what "aox upgrade schema" produces, but doesn't work on a clean install as aox will still believe it is at version 95 and it will bail if the citext extension already exists

9 years agodon't just-send-8 when the smarthost doesn't support EAI
Arnt Gulbrandsen [Fri, 21 Feb 2014 09:49:16 +0000 (10:49 +0100)]
don't just-send-8 when the smarthost doesn't support EAI

this would cause some display-names to be incorrectly squashed by the

9 years agouse the new tsearch2 index on the subject field
Arnt Gulbrandsen [Wed, 12 Feb 2014 13:59:55 +0000 (14:59 +0100)]
use the new tsearch2 index on the subject field

9 years agospel correctly, even
Arnt Gulbrandsen [Wed, 12 Feb 2014 11:38:02 +0000 (12:38 +0100)]
spel correctly, even

9 years agospeed up searches on subject
Arnt Gulbrandsen [Wed, 12 Feb 2014 11:22:00 +0000 (12:22 +0100)]
speed up searches on subject

subject searches are fairly common, so this adds an index if the database
mode is mostly-reading or advanced-reading

9 years agolog out idle clients faster.
Arnt Gulbrandsen [Mon, 10 Feb 2014 10:36:41 +0000 (11:36 +0100)]
log out idle clients faster.

broken NAT (even at ISPs) is growing increasingly common, and aox can have
problems with very large numbers of idle/gone connections from mobile
clients. the client gets a new IP address from the network and reconnects,
but when aox sends a few bytes to the old connection(s), the broken NAT
gateway doesn't tell aox that the connection is gone. and so the number of
connections increases, and increases, and increases. eventually aox runs
into resource problems.

this will clean up the idle connections after 30/60 minutes. imap clients
are required to be active at least every 29 minutes, so this is tolerably

9 years agothread better/correctly
Arnt Gulbrandsen [Mon, 10 Feb 2014 10:34:40 +0000 (11:34 +0100)]
thread better/correctly

9 years agostop fetching messages if a connection dies.
Arnt Gulbrandsen [Thu, 6 Feb 2014 09:01:20 +0000 (10:01 +0100)]
stop fetching messages if a connection dies.

previously, a client could initiate a big, big fetch and then go away,
and aox would do all of the work. not any more.

9 years agosimpler, more robust injection-time threading
Arnt Gulbrandsen [Thu, 6 Feb 2014 09:00:05 +0000 (10:00 +0100)]
simpler, more robust injection-time threading

this makes fewer threads than the old code, which didn't gather
all threads correctly. I hope this gathers all threads. we'll see.

9 years agoHave to use SELECT to call a function
Abhijit Menon-Sen [Thu, 6 Feb 2014 08:40:35 +0000 (14:10 +0530)]
Have to use SELECT to call a function

9 years agosend the citext lookup with fewer indirections.
Arnt Gulbrandsen [Wed, 15 Jan 2014 19:06:18 +0000 (20:06 +0100)]
send the citext lookup with fewer indirections.

9 years agoreject unknown addresses much faster
Arnt Gulbrandsen [Wed, 15 Jan 2014 12:07:56 +0000 (13:07 +0100)]
reject unknown addresses much faster

9 years agoavoid infinite loop. how evil.
Arnt Gulbrandsen [Wed, 15 Jan 2014 11:20:07 +0000 (12:20 +0100)]
avoid infinite loop. how evil.

9 years agoavoid pointing to Connection from Session
Arnt Gulbrandsen [Wed, 15 Jan 2014 11:18:31 +0000 (12:18 +0100)]
avoid pointing to Connection from Session

instead, remove the need. the only reason for that pointer was to
be able to close connections, so do that directly instead.

9 years agoC=D is buggy. leads to memory blowup. disable for now.
Arnt Gulbrandsen [Wed, 15 Jan 2014 11:11:39 +0000 (12:11 +0100)]
C=D is buggy. leads to memory blowup. disable for now.

9 years agolet some short-lived objects be collected
Arnt Gulbrandsen [Wed, 15 Jan 2014 10:57:42 +0000 (11:57 +0100)]
let some short-lived objects be collected

9 years agoavoid pointing from Mailbox/Flag to Session
Arnt Gulbrandsen [Tue, 14 Jan 2014 15:36:32 +0000 (16:36 +0100)]
avoid pointing from Mailbox/Flag to Session

instead, start at the Connection and look for relevant Session objects
whenever the Sessions need to be informed of changes.

9 years agoclose the most resource-hungry connection if we use too much memory
Arnt Gulbrandsen [Tue, 14 Jan 2014 12:03:53 +0000 (13:03 +0100)]
close the most resource-hungry connection if we use too much memory

9 years agoold message-id-less messages aren't in any db thread.
Arnt Gulbrandsen [Sat, 11 Jan 2014 14:26:07 +0000 (15:26 +0100)]
old message-id-less messages aren't in any db thread.

that shouldn't happen to new messages, but the old ones have to stay as
is. the thread_roots table is not friendly to id-less messages. so as of
this change, fetch x-gm-thrid reports 0 for such messages and no warning
is logged.

0 is a legal value according to google's spec (such as it is), and will
not conflict with any actual IDs. that all id-less messages are in the
same "thread" is... well... it could almost be seen as a feature.

9 years agoadd message-id even for inbound messages, so threading sucks less.
Arnt Gulbrandsen [Thu, 9 Jan 2014 21:43:23 +0000 (22:43 +0100)]
add message-id even for inbound messages, so threading sucks less.

in that case, the right-hand-side is one that clearly communicates what
I think about id-less messages (instead of Configuration::hostname()).

9 years agoavoid adding eternal objects for TlsThreads
Arnt Gulbrandsen [Thu, 9 Jan 2014 21:42:29 +0000 (22:42 +0100)]
avoid adding eternal objects for TlsThreads

instead, add a pointer from a Connection. cleaner, really.

9 years agotry harder to issue the citext lookup FIRST.
Arnt Gulbrandsen [Thu, 9 Jan 2014 21:41:18 +0000 (22:41 +0100)]
try harder to issue the citext lookup FIRST.

there were cases in which it might be the second query, and srb found
one in which the first query used citext. oops.

9 years agothread correctly even when a message-id exists several times in the db
Arnt Gulbrandsen [Wed, 8 Jan 2014 22:23:48 +0000 (23:23 +0100)]
thread correctly even when a message-id exists several times in the db

9 years agoadd support for gmail-like message and thread IDs.
Arnt Gulbrandsen [Wed, 8 Jan 2014 12:56:13 +0000 (13:56 +0100)]
add support for gmail-like message and thread IDs.

this uses a custom x-aox capability, and I may change it. the fetch/search
items are named as on gmail. the parser is a bit hacky... hm...

9 years agoA few syntax fixes
Abhijit Menon-Sen [Tue, 10 Dec 2013 08:22:57 +0000 (13:52 +0530)]
A few syntax fixes

9 years agoremove a few tabs and add braces around an else.
Arnt Gulbrandsen [Mon, 9 Dec 2013 13:49:07 +0000 (14:49 +0100)]
remove a few tabs and add braces around an else.

in aox either both parts of an if/else have braces, or neither.

9 years agobe compatible with what 'aox upgrade schema' makes.
Arnt Gulbrandsen [Mon, 9 Dec 2013 13:46:25 +0000 (14:46 +0100)]
be compatible with what 'aox upgrade schema' makes.

We can change ldn to dln, but it has to be done as a new schema,
so upgraded and newly installed databases agree.

9 years agoMerge srb's various patches
Arnt Gulbrandsen [Mon, 9 Dec 2013 13:45:40 +0000 (14:45 +0100)]
Merge srb's various patches


9 years agoSuperfluous utf8 conversion omitted.
Stephen R. van den Berg [Fri, 6 Dec 2013 11:06:18 +0000 (12:06 +0100)]
Superfluous utf8 conversion omitted.

9 years agoCast citext to test in 'select ... from'
Arnt Gulbrandsen [Mon, 9 Dec 2013 11:37:49 +0000 (12:37 +0100)]
Cast citext to test in 'select ... from'

Detecting the OID of citext "at startup" wasn't always quite early enough,
so the second option is to make sure no citexts are returned.

This reverts commit a0ddbe03a28868fdbe3f4f447af60c94e383896a.

9 years agoRevert md5 anti-warning change, shut up gcc instead.
Stephen R. van den Berg [Sun, 1 Dec 2013 14:31:36 +0000 (15:31 +0100)]
Revert md5 anti-warning change, shut up gcc instead.

9 years agoFix multiple sieve responses.
Stephen R. van den Berg [Thu, 30 Jun 2011 10:51:48 +0000 (12:51 +0200)]
Fix multiple sieve responses.

9 years agoDelivery to multiple mailboxes now actually works.
Stephen R. van den Berg [Thu, 23 Jun 2011 19:11:06 +0000 (21:11 +0200)]
Delivery to multiple mailboxes now actually works.

9 years agoFix endless parsing loop
Stephen R. van den Berg [Tue, 7 Jun 2011 07:24:51 +0000 (09:24 +0200)]
Fix endless parsing loop

9 years agoAbort misbehaving overlapping POP3 sessions, detected by apparently empty messages.
Stephen R. van den Berg [Sun, 22 May 2011 19:58:16 +0000 (21:58 +0200)]
Abort misbehaving overlapping POP3 sessions, detected by apparently empty messages.

9 years agoEarly delete of deleted messages in POP3 session. Bugfix for duplicate and empty...
Stephen R. van den Berg [Sun, 22 May 2011 19:56:47 +0000 (21:56 +0200)]
Early delete of deleted messages in POP3 session.  Bugfix for duplicate and empty POP3 message retrieval.

9 years agoImproved POP3 logging.
Stephen R. van den Berg [Sun, 22 May 2011 19:55:03 +0000 (21:55 +0200)]
Improved POP3 logging.

9 years agoUse the DNS cache as a backup, in case DNS lookup (temporarily) fails.
Stephen R. van den Berg [Sun, 1 May 2011 23:04:24 +0000 (01:04 +0200)]
Use the DNS cache as a backup, in case DNS lookup (temporarily) fails.

9 years agoSimplify code and make sure it works with resolving Endpoint.
Stephen R. van den Berg [Sun, 1 May 2011 22:26:09 +0000 (00:26 +0200)]
Simplify code and make sure it works with resolving Endpoint.

9 years agoMake Endpoint use the Resolver when evaluating configuration items.
Stephen R. van den Berg [Sun, 1 May 2011 22:23:50 +0000 (00:23 +0200)]
Make Endpoint use the Resolver when evaluating configuration items.

9 years agoEliminate superfluous lower() calls.
Stephen R. van den Berg [Sun, 20 Mar 2011 17:21:20 +0000 (18:21 +0100)]
Eliminate superfluous lower() calls.

9 years agolet us we ignore the result of setreuid() if we want.
Arnt Gulbrandsen [Fri, 29 Nov 2013 09:09:15 +0000 (10:09 +0100)]
let us we ignore the result of setreuid() if we want.

in some places we check it, in some places we wouldn't do don't, because
we wouldn't anything differently based on the result.

9 years agobetter phrasing for the sql trigger to make aox act like gmail
Arnt Gulbrandsen [Wed, 27 Nov 2013 12:53:37 +0000 (13:53 +0100)]
better phrasing for the sql trigger to make aox act like gmail

9 years agoUpdate man page with correct version and date
Arnt Gulbrandsen [Wed, 27 Nov 2013 09:31:12 +0000 (10:31 +0100)]
Update man page with correct version and date

9 years agolearn the OID of citext at startup.
Arnt Gulbrandsen [Wed, 27 Nov 2013 09:11:15 +0000 (10:11 +0100)]
learn the OID of citext at startup.

until now, we used to assume the often-allocated value of 96087.

9 years agoWork around text/citext prepare limitation
Arnt Gulbrandsen [Tue, 26 Nov 2013 14:42:10 +0000 (15:42 +0100)]
Work around text/citext prepare limitation

Axel Rau had a message which 3.2.0 could not inject. I was able to
reproduce it, and together with Abhijit traced it down to a select which
succeeds on its own but not via prepare/execute.

For some reason, issuing "select * from addresses where domain='foo'"
is case-insensitive directly, but case-sensitive via prepare/execute.

This change forces insenstivity.

9 years agoit's 3.2.0. wow.
Arnt Gulbrandsen [Tue, 26 Nov 2013 10:03:33 +0000 (11:03 +0100)]
it's 3.2.0. wow.

9 years agolet us we ignore the result of setreuid() if we want.
Arnt Gulbrandsen [Fri, 29 Nov 2013 09:09:15 +0000 (10:09 +0100)]
let us we ignore the result of setreuid() if we want.

in some places we check it, in some places we wouldn't do don't, because
we wouldn't anything differently based on the result.