From hhubner at common-lisp.net Mon Feb 9 10:08:06 2009 From: hhubner at common-lisp.net (=?UTF-8?Q?Hans_H=C3=BCbner?=) Date: Mon, 09 Feb 2009 10:08:06 +0000 Subject: [usocket-cvs] r489 - usocket/trunk/backend Message-ID: Author: hhubner Date: Mon Feb 9 10:08:05 2009 New Revision: 489 Log: In CCL, guard against REMOTE-HOST returning nil (which will happen for closed sockets). Modified: usocket/trunk/backend/openmcl.lisp Modified: usocket/trunk/backend/openmcl.lisp ============================================================================== --- usocket/trunk/backend/openmcl.lisp (original) +++ usocket/trunk/backend/openmcl.lisp Mon Feb 9 10:08:05 2009 @@ -123,10 +123,14 @@ (close (socket usocket)))) (defmethod get-local-address ((usocket usocket)) - (hbo-to-vector-quad (openmcl-socket:local-host (socket usocket)))) + (let ((address (openmcl-socket:local-host (socket usocket)))) + (when address + (hbo-to-vector-quad address)))) (defmethod get-peer-address ((usocket stream-usocket)) - (hbo-to-vector-quad (openmcl-socket:remote-host (socket usocket)))) + (let ((address (openmcl-socket:remote-host (socket usocket)))) + (when address + (hbo-to-vector-quad address)))) (defmethod get-local-port ((usocket usocket)) (openmcl-socket:local-port (socket usocket))) From ctian at common-lisp.net Wed Feb 11 04:20:41 2009 From: ctian at common-lisp.net (Chun Tian (binghe)) Date: Wed, 11 Feb 2009 04:20:41 +0000 Subject: [usocket-cvs] r490 - usocket/branches/experimental-udp/backend Message-ID: Author: ctian Date: Wed Feb 11 04:20:40 2009 New Revision: 490 Log: [udp, sbcl] fix a bug reported on usocket-udp Modified: usocket/branches/experimental-udp/backend/sbcl.lisp Modified: usocket/branches/experimental-udp/backend/sbcl.lisp ============================================================================== --- usocket/branches/experimental-udp/backend/sbcl.lisp (original) +++ usocket/branches/experimental-udp/backend/sbcl.lisp Wed Feb 11 04:20:40 2009 @@ -252,7 +252,7 @@ (or local-host *wildcard-host*)) (or local-port *auto-port*))) (when (and host port) - (sb-bsd-sockets:socket-connect socket (host-to-hbo host) port)) + (sb-bsd-sockets:socket-connect socket (host-to-vector-quad host) port)) (make-datagram-socket socket))) (t (c) ;; Make sure we don't leak filedescriptors From hhubner at common-lisp.net Thu Feb 12 17:14:37 2009 From: hhubner at common-lisp.net (=?UTF-8?Q?Hans_H=C3=BCbner?=) Date: Thu, 12 Feb 2009 17:14:37 +0000 Subject: [usocket-cvs] r491 - usocket/trunk Message-ID: Author: hhubner Date: Thu Feb 12 17:14:36 2009 New Revision: 491 Log: Avoid calling dotted-quad-to* functions for strings that can't possibly parse as an IP address. This helps when debugging using *BREAK-ON-SIGNALS*. Modified: usocket/trunk/usocket.lisp Modified: usocket/trunk/usocket.lisp ============================================================================== --- usocket/trunk/usocket.lisp (original) +++ usocket/trunk/usocket.lisp Thu Feb 12 17:14:36 2009 @@ -351,6 +351,13 @@ (push (parse-integer element) new-list)) new-list)) +(defun ip-address-string-p (string) + "Return a true value if the given string could be an IP address." + (every (lambda (char) + (or (digit-char-p char) + (eql char #\.))) + string)) + (defun hbo-to-dotted-quad (integer) "Host-byte-order integer to dotted-quad string conversion utility." (let ((first (ldb (byte 8 24) integer)) @@ -438,7 +445,7 @@ "Translate a host specification (vector quad, dotted quad or domain name) to a vector quad." (etypecase host - (string (let* ((ip (ignore-errors + (string (let* ((ip (when (ip-address-string-p host) (dotted-quad-to-vector-quad host)))) (if (and ip (= 4 (length ip))) ;; valid IP dotted quad? @@ -451,7 +458,7 @@ (defun host-to-hbo (host) (etypecase host - (string (let ((ip (ignore-errors + (string (let ((ip (when (ip-address-string-p host) (dotted-quad-to-vector-quad host)))) (if (and ip (= 4 (length ip))) (host-byte-order ip) From hhubner at common-lisp.net Wed Feb 18 14:56:24 2009 From: hhubner at common-lisp.net (=?UTF-8?Q?Hans_H=C3=BCbner?=) Date: Wed, 18 Feb 2009 14:56:24 +0000 Subject: [usocket-cvs] r492 - usocket/trunk/backend Message-ID: Author: hhubner Date: Wed Feb 18 14:56:24 2009 New Revision: 492 Log: Change mapping of ccl:communication-deadline-expired to timeout-error Modified: usocket/trunk/backend/openmcl.lisp Modified: usocket/trunk/backend/openmcl.lisp ============================================================================== --- usocket/trunk/backend/openmcl.lisp (original) +++ usocket/trunk/backend/openmcl.lisp Wed Feb 18 14:56:24 2009 @@ -64,7 +64,7 @@ (ccl:input-timeout (error 'timeout-error :socket socket :real-error condition)) (ccl:communication-deadline-expired - (error 'deadline-error :socket socket :real-error condition)) + (error 'timeout-error :socket socket :real-error condition)) (ccl::socket-creation-error #| ugh! |# (raise-error-from-id (ccl::socket-creation-error-identifier condition) socket condition))))