Skip to content

Instantly share code, notes, and snippets.

@g000001
Created October 29, 2008 23:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save g000001/20860 to your computer and use it in GitHub Desktop.
Save g000001/20860 to your computer and use it in GitHub Desktop.
(require :sb-bsd-sockets)
(require :cl-ppcre)
(defpackage :dnsbl
(:use :cl)
(:export :spam-champuru-p))
(in-package :dnsbl)
(defconstant +champuru-server+ "dnsbl.spam-champuru.livedoor.com")
(defconstant +black+ #(127 0 0 2))
(defun spam-champuru-p (address)
(equalp +black+
(handler-case (sb-bsd-sockets:host-ent-address
(sb-bsd-sockets:get-host-by-name
(format nil "~{~A.~}~A"
(nreverse (ppcre:split "\\." address))
+champuru-server+)))
(sb-bsd-sockets:host-not-found-error () nil))))
#|
(spam-champuru-p "192.0.2.1") ;=> T
(spam-champuru-p "yahoo.com") ;=> nil
(spam-champuru-p "127.0.0.1") ;=> nil
|#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment