[exim] Untainting data and Vacation configuration

Top Page
Delete this message
Reply to this message
Author: Glenn Gregorec
Date:  
To: exim-users
Subject: [exim] Untainting data and Vacation configuration
Good Day!

I am running Exim 4.97.  Trying to configure a vacation/out-of-office
autoreply.  I have read a bunch of articles and examples from before and
after "tainting" was implemented. Alas, I am still confused as I build
the configuration.

Presently, I am having issues getting my router untainted.  Very simply,
I have a router, "vacationUser", listed below.

vacation-domains is a text file containing domain names, 1 per line.
users is a text file in UNIX password format.

I am trying to build the router so I understand what is happening at
each step.  I have not even gotten to the transport yet.  :-O

Thank You in Advance for any assistance!!!

glenn

===


QUESTIONs:
Why does the "local_parts" line not populate $local_part_data?
Why does this router just dump out?
Would a password lookup type be better for local_parts?  If yes, what is
the proper format?

===

vacationUser:
  driver = redirect
  domains                     =
${lookup{${lc:${domain}}}lsearch,ret=key{/usr/local/etc/exim/vacation-domains}}
  local_parts                 =
${lookup{${lc:${local_part}@${domain}}}lsearch,ret=key{/usr/local/etc/dovecot/users}}
  file                        =
/var/vmail/$domain_data/$local_part_data@$domain_data/.vacation.msg
  debug_print                 = ROUTER - $router_name for
$local_part@$domain - Local_part_data is $local_part_data - Domain_data
is $domain_data


exim -bt -d user@??? yields:

--------> vacationUser router <--------
local_part=user domain=domain.com
checking domains
 search_open: lsearch "/usr/local/etc/exim/vacation-domains"
   cached open
 search_find: file="/usr/local/etc/exim/vacation-domains"
   key="domain.com" partial=-1 affix=NULL starflags=0 opts="ret=key"
 LRU list:
   7/usr/local/etc/exim/vacation-domains
   7/usr/local/etc/exim/vusers.domain.com
   7/usr/local/etc/dovecot/users
   End
 internal_search_find: file="/usr/local/etc/exim/vacation-domains"
   type=lsearch key="domain.com" opts=NULL
 cached data used for lookup of domain.com
   in /usr/local/etc/exim/vacation-domains
 lookup yielded:
domain.com in "domain.com"?
 list element: domain.com
 domain.com in "domain.com"? yes (matched "domain.com")
checking local_parts
 search_open: lsearch "/usr/local/etc/dovecot/users"
   cached open
 search_find: file="/usr/local/etc/dovecot/users"
   key="user@???" partial=-1 affix=NULL starflags=0 opts="ret=key"
 LRU list:
   7/usr/local/etc/dovecot/users
   7/usr/local/etc/exim/vacation-domains
   7/usr/local/etc/exim/vusers.domain.com
   End
 internal_search_find: file="/usr/local/etc/dovecot/users"
   type=lsearch key="user@???" opts=NULL
 cached data used for lookup of user@???
   in /usr/local/etc/dovecot/users
 lookup yielded: ENCRYPTED-PASSWORD::::::
user in "user@???"?
 list element: user@???
user in "user@???"? no (end of list)
vacationUser router skipped: local_parts mismatch


--
## subscription configuration (requires account):
## https://lists.exim.org/mailman3/postorius/lists/exim-users.lists.exim.org/
## unsubscribe (doesn't require an account):
## exim-users-unsubscribe@???
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/