CVSROOT:        /cvs
Module name:    src
Changes by:     gil...@cvs.openbsd.org  2009/11/09 16:49:34

Modified files:
        usr.sbin/smtpd : aliases.c expand.c forward.c lka.c smtpd.h 

Log message:
- add a reference count and flags to struct expand_node
- during expansion, no longer create a new node for each result but try to
lookup for an existing equivalent node and increment its reference count
so that: a) we save on memory, b) we don't need to expand the same users
again and again just because they keep appearing in expansion results.
- while expanding, flag nodes as F_EXPAND_DONE so that we know which nodes
we already processed
- be smarter when expanding, if we have a clue that an iteration has not
brought any new result (because no new nodes were added and all existing
nodes have F_EXPAND_DONE), end expansion and proceed to delivery.
- various small cleanups

discussed with jacekm@ yesterday, rebuild aliases db, make clean

Reply via email to