[clug] access control list search algorithms

Paul TBBle Hampson Paul.Hampson at Pobox.com
Thu Apr 2 11:53:12 GMT 2009

On Thu, Apr 02, 2009 at 02:37:06PM +1100, jm wrote:
> jm wrote:
> >Does anyone know of any algorithms for speeding up searching of access control lists? Is there anything more efficient than a sequential search?

> >Jeff.

> I should elaborate. I'm mucking about with email trying to develop a
> progrom to give finer control over smtp delivery. My ACL is made up of
> senders and recipients with wildcards thrown in for good measure. For
> example,

> index        sender                           recipient                  action
> 1              fred at example.org         '*'                             allow
> 2              '*'                                  joe at example.org     deny
> 3             admin at example.org    '*'                               allow

Key-value DB or equivalent is prolly the best you're going to get,
although you're really looking at doing up to four lookups:
sender-recipient, sender-*, *-recipient, *-* (default).

If you're looking at more interesting wildcards... Then maybe not. But
wildcards are _always_ gonna be slow. If you limit it to *@example.org
then you're just adding another... 4 lookups at the worst case.

If you're doing this for Postfix's policy support thing, then that's
prolly sufficient. You might even be able to mangle postmap into doing
the db generation for you.

Someone needs to invent a regexp-value DB maybe... Pregenerate hashes
for certain common regexps?

Paul "TBBle" Hampson, B.Sc, LPI, MCSE
Very-later-year Asian Studies student, ANU
The Boss, Bubblesworth Pty Ltd (ABN: 51 095 284 361)
Paul.Hampson at Pobox.com

Of course Pacman didn't influence us as kids. If it did,
we'd be running around in darkened rooms, popping pills and
listening to repetitive music.
 -- Kristian Wilson, Nintendo, Inc, 1989

License: http://creativecommons.org/licenses/by/2.5/au/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
Url : http://lists.samba.org/archive/linux/attachments/20090402/43b9f2ce/attachment.bin

More information about the linux mailing list