diff -Naur /tmp/httpbl/httpbl.module httpbl/httpbl.module
--- /tmp/httpbl/httpbl.module	2007-08-24 22:22:02.000000000 +0300
+++ httpbl/httpbl.module	2007-10-11 01:55:47.000000000 +0300
@@ -59,7 +59,7 @@
   // $ip = '127.1.80.1';
   $ip = _httpbl_ip_address();
 
-  if (variable_get('httpbl_check', 0) == 0 || (variable_get('httpbl_check', 0) == 1 && !$user)) {
+  if (variable_get('httpbl_check', 0) == 0 || (variable_get('httpbl_check', 0) == 1 && !$user) || variable_get('httpbl_check', 0) == 2) {
     return;
   }
   
@@ -132,7 +132,7 @@
     '#options' => array(
       t('Nowhere'),
       t('Only for anonymous users'), 
-      // t('On comment, registration and contact forms'), 
+      t('On comment, registration and contact forms'), 
       t('For all users'),
     ),
     '#description' => t('At what times the blacklist should be checked.'),
@@ -309,6 +309,37 @@
 }
 
 /**
+ * Implementation of hook_comment().
+ */
+
+function httpbl_comment($comment, $op) {
+  if (variable_get('httpbl_check', 0) != 2) {
+    return;
+  }
+
+  switch ($op) {
+  case 'insert':
+  case 'update':
+    $comment = (object)$comment;
+
+    $ip = _httpbl_ip_address();
+
+    $blacklisted = httpbl_blacklisted($ip);
+
+    if ($blacklisted != 0) {
+      // Unpublish and enform the user.
+      $operation = comment_operations('unpublish');
+      $query = $operation['unpublish'][1];
+      db_query($query, $comment->cid);
+      drupal_set_message(t('Your comment has been queued for moderation by site administrators and will be published after approval.'));
+    }
+    return;
+  default:
+    return;
+  }
+}
+
+/**
  * Return HTML code with hidden Honeypot link
  *
  * @param string $link
