Registrar Barrier DNS List
From Computer Tyme Support Wiki
(Difference between revisions)
		
		
 (→Exim Configuration)  | 
		 (→Exim Configuration)  | 
		||
| Line 12: | Line 12: | ||
If you are running [http://www.exim.org Exim] you can use this as follows:  | If you are running [http://www.exim.org Exim] you can use this as follows:  | ||
| - | # This example calls rb_resolve as an ACL subroutine.    | + |  # This example calls rb_resolve as an ACL subroutine setting acl_c_sender_host_domain  | 
| - | + |  # from $acl_c_rb_result. Using the acl subroutine allows you to extract the   | |
| + |  # registrar barrier part from and host string such as HELO.  | ||
| + | |||
  warn	set acl_c_rb_query = $sender_host_name  |   warn	set acl_c_rb_query = $sender_host_name  | ||
  	acl = rb_resolve  |   	acl = rb_resolve  | ||
Revision as of 13:07, 26 May 2008
DNS Lookup to Separate the domain part of a hostname
This DNS lookup helps you find the main domain part of a hostname. Sometimes it is called two level TLDs and three level TLDs. Lookups are accomplished through DNS calls as follows:
dig perkel.com.rb.junkemailfilter.com - returns 127.0.0.1 dig perkel.co.uk.rb.junkemailfilter.com - returns 127.0.0.2
This is a service of Junk Email Filter dot com. One of many technologies used in advanced email filtering.
Exim Configuration
If you are running Exim you can use this as follows:
# This example calls rb_resolve as an ACL subroutine setting acl_c_sender_host_domain # from $acl_c_rb_result. Using the acl subroutine allows you to extract the # registrar barrier part from and host string such as HELO. warn set acl_c_rb_query = $sender_host_name acl = rb_resolve set acl_c_sender_host_domain = $acl_c_rb_result
rb_resolve:
# Separates the domain part of a hostname - ftp.perkel.com returns perkel.com 
# DNS lookup returns 127.0.0.1 for single level domains
# DNS lookup returns 127.0.0.2 for two level domains
# DNS lookup returns 127.0.0.3 for three level domains
warn	set acl_c_rb_result =
	set acl_c_rb_query = ${lc:$acl_c_rb_query}
accept	condition = ${if eq{$acl_c_rb_query}{}}
accept	!dnslists = rb.junkemailfilter.com/$acl_c_rb_query
warn	condition = ${if eq{$dnslist_value}{127.0.0.1}}
	set acl_c_rb_result = ${sg{$acl_c_rb_query}{\N^(.*\.)?(.*\..*)$\N}{\$2}}
warn	condition = ${if eq{$dnslist_value}{127.0.0.2}}
	set acl_c_rb_result = ${sg{$acl_c_rb_query}{\N^(.*\.)?(.*\..*\..*)$\N}{\$2}}
warn	condition = ${if eq{$dnslist_value}{127.0.0.3}}
	set acl_c_rb_result = ${sg{$acl_c_rb_query}{\N^(.*\.)?(.*\..*\..*\..*)$\N}{\$2}}
accept