diff -Nru /tmp/L3CsqXsHI5/whitelister-0.8/debian/changelog /tmp/9IwbAiHwkD/whitelister-0.8/debian/changelog
--- /tmp/L3CsqXsHI5/whitelister-0.8/debian/changelog	2007-08-15 01:01:20.000000000 +0200
+++ /tmp/9IwbAiHwkD/whitelister-0.8/debian/changelog	2007-08-15 01:01:20.000000000 +0200
@@ -1,3 +1,10 @@
+whitelister (0.8-0bpo1.reg) unstable; urgency=low
+ 
+  * Applied patch for supporting DNS verifications (Closes: #421501) 
+ 
+ -- Gregory Colpart (evolix) <reg@evolix.fr>  Tue, 14 Aug 2007 18:05:40 +0200
+
+
 whitelister (0.8-0bpo1) sarge-backports; urgency=low
 
   * recompile for backports.org
diff -Nru /tmp/L3CsqXsHI5/whitelister-0.8/policy.ml /tmp/9IwbAiHwkD/whitelister-0.8/policy.ml
--- /tmp/L3CsqXsHI5/whitelister-0.8/policy.ml	2006-02-13 23:15:55.000000000 +0100
+++ /tmp/9IwbAiHwkD/whitelister-0.8/policy.ml	2007-08-15 01:01:20.000000000 +0200
@@ -65,9 +65,9 @@
 let log_start : t -> string = fun  pcy ->
   Printf.sprintf
     "%s from %s[%s]"
-    ( getu pcy "protocol_state" )
-    ( getu pcy "client_name"    )
-    ( getu pcy "client_address" )
+    ( getu pcy "protocol_state"      )
+    ( getu pcy "client_name"         )
+    ( getu pcy "client_address"      )
 
 
 (* public *)
diff -Nru /tmp/L3CsqXsHI5/whitelister-0.8/rules.ml /tmp/9IwbAiHwkD/whitelister-0.8/rules.ml
--- /tmp/L3CsqXsHI5/whitelister-0.8/rules.ml	2006-02-13 23:15:55.000000000 +0100
+++ /tmp/9IwbAiHwkD/whitelister-0.8/rules.ml	2007-08-15 01:01:20.000000000 +0200
@@ -104,3 +104,7 @@
       | Spf.Error -> raise (Dirty "SPF Internal error")
       | Policy.DSN     -> ()
 
+let check_dns_client dorej pcy =
+  if dorej then
+    if (client_name pcy) = "unknown" then raise (Dirty "no client_name (reject_unknown_client)")
+  else ()
diff -Nru /tmp/L3CsqXsHI5/whitelister-0.8/rules.mli /tmp/9IwbAiHwkD/whitelister-0.8/rules.mli
--- /tmp/L3CsqXsHI5/whitelister-0.8/rules.mli	2005-08-26 09:49:38.000000000 +0200
+++ /tmp/9IwbAiHwkD/whitelister-0.8/rules.mli	2007-08-15 01:01:20.000000000 +0200
@@ -48,3 +48,5 @@
 val check_rhbl : rhbl_type -> string list -> Policy.t -> unit
 
 val check_spf : spf_mode -> bool -> Policy.t -> unit
+
+val check_dns_client : bool -> Policy.t -> unit
diff -Nru /tmp/L3CsqXsHI5/whitelister-0.8/whitelister-example.conf /tmp/9IwbAiHwkD/whitelister-0.8/whitelister-example.conf
--- /tmp/L3CsqXsHI5/whitelister-0.8/whitelister-example.conf	2005-08-26 09:49:38.000000000 +0200
+++ /tmp/9IwbAiHwkD/whitelister-0.8/whitelister-example.conf	2007-08-15 01:01:20.000000000 +0200
@@ -61,3 +61,8 @@
 # spfrej
 #   what to do with spf rejects, default is nothing.  ignored if spf is off
 # spfrej: off
+
+# dns
+#   support dns verifications (default is 0)
+# dns_client: 1
+
diff -Nru /tmp/L3CsqXsHI5/whitelister-0.8/whitelister.ml /tmp/9IwbAiHwkD/whitelister-0.8/whitelister.ml
--- /tmp/L3CsqXsHI5/whitelister-0.8/whitelister.ml	2006-02-13 23:15:55.000000000 +0100
+++ /tmp/9IwbAiHwkD/whitelister-0.8/whitelister.ml	2007-08-15 01:01:20.000000000 +0200
@@ -41,6 +41,8 @@
   mutable rhbl_rcpt:   string list;
   mutable rhbl_sender: string list;
   mutable rhbl_helo:   string list;
+ 
+  mutable dns_client:  bool;
 }
 
 (* Checker *)
@@ -65,7 +67,8 @@
           Rules.check_rhbl Rules.Sender cfg.rhbl_sender pcy;
           Rules.check_rhbl Rules.Rcpt   cfg.rhbl_rcpt   pcy;
           Rules.check_rhbl Rules.Client cfg.rhbl_client pcy;
-          Rules.check_spf cfg.spf cfg.spfrej pcy;
+          Rules.check_spf 		cfg.spf cfg.spfrej pcy;
+          Rules.check_dns_client 	cfg.dns_client	pcy;
           if cfg.verb > 0 then log_event "Clean" "OK" pcy;
           "OK"
         with
@@ -100,6 +103,8 @@
   rhbl_rcpt   = [] ;
   rhbl_sender = [] ;
   rhbl_helo   = [] ;
+
+  dns_client = false;
 }
 
 let to_bool s =
@@ -137,6 +142,8 @@
           | ["rhbl_rcpt"; h]   -> cfg.rhbl_rcpt   <- h::cfg.rhbl_rcpt
           | ["rhbl_sender"; h] -> cfg.rhbl_sender <- h::cfg.rhbl_sender
 
+          | ["dns_client"; d]     -> cfg.dns_client     <- to_bool "dns_client" d
+
         (* deprecated settings *)
           | ["rhbl"; h]        -> prerr_endline "rhbl is deprecated, it defaults to rhbl_client which may not be what you want.";
                                   cfg.rhbl_client <- h::cfg.rhbl_client
