Index: trunk/dnsbl/Makefile
===================================================================
--- trunk/dnsbl/Makefile	(revision 41)
+++ trunk/dnsbl/Makefile	(revision 42)
@@ -10,5 +10,5 @@
 	browse.cgi check-iplist.pl delist-ip export-dnsbl index.shtml Makefile \
 	dnsbl.cgi DNSBL.pm dnsbl.sql templates/ addparents.sql setparents.pl \
-	COPYING
+	COPYING sa-dnsbl-example.cf
 
 PKGNAME=dnsbl
Index: trunk/dnsbl/sa-dnsbl-example.cf
===================================================================
--- trunk/dnsbl/sa-dnsbl-example.cf	(revision 42)
+++ trunk/dnsbl/sa-dnsbl-example.cf	(revision 42)
@@ -0,0 +1,58 @@
+# This is an example configuration fragment for the IP blacklist
+
+ifplugin Mail::SpamAssassin::Plugin::DNSEval
+
+# Note the effectiveness here relies on an accurate trust path in trust.cf
+# Scores have not been automatically balanced but *have* been in active production use for several years.
+
+# Core DNS lookup triggered by this rule
+header __RCVD_IN_LOCAL_DNSBL	eval:check_rbl('local-dnsbl-lastexternal','dnsbl.dnsbl.')
+
+# IP
+header	LOCAL_RBL_IP	eval:check_rbl_sub('local-dnsbl-lastexternal','2')
+describe LOCAL_RBL_IP	IP listed on internal RBL
+score	LOCAL_RBL_IP	2.0
+
+# Automatic-threshold block listings
+header	LOCAL_RBL_2DELEG	eval:check_rbl_sub('local-dnsbl-lastexternal','4')
+describe LOCAL_RBL_2DELEG	Preemtive secondary delegation netblock listing on internal RBL
+score	LOCAL_RBL_2DELEG	1.6
+header	LOCAL_RBL_1DELEG	eval:check_rbl_sub('local-dnsbl-lastexternal','8')
+describe LOCAL_RBL_1DELEG	Preemptive delegated netblock listing on internal RBL
+score	LOCAL_RBL_1DELEG	1.0
+header	LOCAL_RBL_REGISTRAR	eval:check_rbl_sub('local-dnsbl-lastexternal','16')
+describe LOCAL_RBL_REGISTRAR	Preemptive registrar allocation netblock listing on internal RBL
+score	LOCAL_RBL_REGISTRAR	0.8
+
+# Manually-tagged block "owners".  mask 64 is skipped here for historical compatibility for tagged blocks below
+header	LOCAL_RBL_ORG	eval:check_rbl_sub('local-dnsbl-lastexternal','32')
+describe LOCAL_RBL_ORG	Preemptive registrar netblock owner listing on internal RBL
+score	LOCAL_RBL_ORG	1.0
+header	LOCAL_RBL_ORG1	eval:check_rbl_sub('local-dnsbl-lastexternal','256')
+describe LOCAL_RBL_ORG1	Preemptive delegated netblock owner listing on internal RBL
+score	LOCAL_RBL_ORG1	1.2
+header	LOCAL_RBL_ORG2	eval:check_rbl_sub('local-dnsbl-lastexternal','512')
+describe LOCAL_RBL_ORG2	Preemptive secondary delegated netblock owner listing on internal RBL
+score	LOCAL_RBL_ORG2	1.4
+
+# Manually-tagged blocks
+header	LOCAL_RBL_BLOCK		eval:check_rbl_sub('local-dnsbl-lastexternal','64')
+describe LOCAL_RBL_BLOCK	Preemptive netblock listing based on out-of-band data
+score	LOCAL_RBL_BLOCK		1.3
+header	LOCAL_RBL_BLOCK1	eval:check_rbl_sub('local-dnsbl-lastexternal','1024')
+describe LOCAL_RBL_BLOCK1	Preemptive delegated netblock out-of-band listing on internal RBL
+score	LOCAL_RBL_BLOCK1	1.5
+header	LOCAL_RBL_BLOCK2	eval:check_rbl_sub('local-dnsbl-lastexternal','2048')
+describe LOCAL_RBL_BLOCK2	Preemptive secondary delegated netblock out-of-band listing on internal RBL
+score	LOCAL_RBL_BLOCK2	1.7
+
+# meta rule to catch multiple whole-block hits
+meta	__LOCAL_RBL_MUTILBLOCK	(LOCAL_RBL_REGISTRAR + LOCAL_RBL_BLOCK1 + LOCAL_RBL_BLOCK2 + LOCAL_RBL_1DELEG + LOCAL_RBL_2DELEG + LOCAL_RBL_ORG + LOCAL_RBL_ORG1 + LOCAL_RBL_ORG2) > 1
+
+# The "I'm a spammer, tag meeee!" score.  Specifically assigned to particular IPs that
+# need to be called spam, NOT to be combined with any other sublistings.
+header	LOCAL_RBL_LASTRESORT	eval:check_rbl_sub('local-dnsbl-lastexternal','128')
+describe LOCAL_RBL_LASTRESORT	Obnoxious spam source IP that won't go away by other means
+score	LOCAL_RBL_LASTRESORT	4.5	# Could be scored higher if you need a bigger stick
+
+endif	# Mail::SpamAssassin::Plugin::DNSEval
Index: trunk/uribl/Makefile
===================================================================
--- trunk/uribl/Makefile	(revision 41)
+++ trunk/uribl/Makefile	(revision 42)
@@ -3,5 +3,6 @@
 
 MANIFEST = \
-	delist-uri export-uridb import-cur.pl uridb.cgi URIdb.pm uridb.sql templates/
+	delist-uri export-uridb import-cur.pl uridb.cgi URIdb.pm uridb.sql templates/ \
+	sa-uribl-example.cf
 
 PKGNAME=uridb
Index: trunk/uribl/sa-example.cf
===================================================================
--- trunk/uribl/sa-example.cf	(revision 41)
+++ 	(revision )
@@ -1,23 +1,0 @@
-# This is an example configuration fragment for the URI blacklist
-
-ifplugin Mail::SpamAssassin::Plugin::URIDNSBL
-
-# pure spam sites
-urirhssub LOCAL_URIBL_BLACK	uribl.dnsbl.	A 2
-body	LOCAL_URIBL_BLACK	eval:check_uridnsbl('LOCAL_URIBL_BLACK')
-describe LOCAL_URIBL_BLACK	URI listed on local URI blacklist
-score	LOCAL_URIBL_BLACK	3.5
-
-# mostly notspam sites that still deserve a penalty
-urirhssub LOCAL_URIBL_GREY	uribl.dnsbl.	A 4
-body	LOCAL_URIBL_GREY	eval:check_uridnsbl('LOCAL_URIBL_GREY')
-describe LOCAL_URIBL_GREY	URL on local URI grey list
-score	LOCAL_URIBL_GREY	0.5
-
-# abused URL shorteners
-urirhssub LOCAL_URIBL_SHORTY	uribl.dnsbl.	A 8
-body	LOCAL_URIBL_SHORTY	eval:check_uridnsbl('LOCAL_URIBL_SHORTY')
-describe LOCAL_URIBL_SHORTY	URL-shortener on local URI list
-score	LOCAL_URIBL_SHORTY	1
-
-endif	# Mail::SpamAssassin::Plugin::URIDNSBL
Index: trunk/uribl/sa-uribl-example.cf
===================================================================
--- trunk/uribl/sa-uribl-example.cf	(revision 42)
+++ trunk/uribl/sa-uribl-example.cf	(revision 42)
@@ -0,0 +1,23 @@
+# This is an example configuration fragment for the URI blacklist
+
+ifplugin Mail::SpamAssassin::Plugin::URIDNSBL
+
+# pure spam sites
+urirhssub LOCAL_URIBL_BLACK	uribl.dnsbl.	A 2
+body	LOCAL_URIBL_BLACK	eval:check_uridnsbl('LOCAL_URIBL_BLACK')
+describe LOCAL_URIBL_BLACK	URI listed on local URI blacklist
+score	LOCAL_URIBL_BLACK	3.5
+
+# mostly notspam sites that still deserve a penalty
+urirhssub LOCAL_URIBL_GREY	uribl.dnsbl.	A 4
+body	LOCAL_URIBL_GREY	eval:check_uridnsbl('LOCAL_URIBL_GREY')
+describe LOCAL_URIBL_GREY	URL on local URI grey list
+score	LOCAL_URIBL_GREY	0.5
+
+# abused URL shorteners
+urirhssub LOCAL_URIBL_SHORTY	uribl.dnsbl.	A 8
+body	LOCAL_URIBL_SHORTY	eval:check_uridnsbl('LOCAL_URIBL_SHORTY')
+describe LOCAL_URIBL_SHORTY	URL-shortener on local URI list
+score	LOCAL_URIBL_SHORTY	1
+
+endif	# Mail::SpamAssassin::Plugin::URIDNSBL
