Re: [EXIM] Case of local parts

Top Page
Delete this message
Reply to this message
Author: Bruce Bowler
Date:  
To: Chad Leigh, vtmue
CC: eml
Subject: Re: [EXIM] Case of local parts
Actually, thinking about it, Chad's solution doesn't help my problem at
all. The only way to solve my particular problem is with a serial read
through the passwd file looking caselessly at the usernames.

In my case, I'm willing to take the performance hit since I run a fairly
small shop but I can understand how sites supporting 1000's of users
wouldn't want that as the default option (hence the configuration parameter
idea). It wouldn't seem unreasonable to me to also have the program cache
some number of recent hits to avoid going back to the passwd file everytime
a message comes in.

Thinking out loud here, (and realizing that this could be a lot of work)
how about the following crude logic...

1) Check as now, if found - deliver
2) Check as presented in address, if found - deliver
3a) Check cache, if found - verify "value" side is still in passwd (can't
assure delivery without revalidating that "value" side of
key(lowercase)/value(as-in-passwd) pair is still good)
3b) Check passwd, if found - deliver and add to cache
4) return failure notice

As is hopefully obvious, cache is also a hash. input is lowercase version
of username, output is "as in passwd" version of username. Cache could,
conceivably be "preloaded" with some number of entries at exim startup.

Steps 2 and 3a,b could be turned on/off by configuration parameters and
(perhaps) the size of the cache could be settable too.

As usual, random thoughts from a random mind.
Bruce

Bruce Bowler                             207.633.9600 (voice)
Research Associate                       207.633.9641 (fax)
Bigelow Laboratory for Ocean Sciences    bbowler@???
West Boothbay Harbor ME  04575           http://www.bigelow.org/


--
*** Exim information can be found at http://www.exim.org/ ***