(socks-send-command): Convert binary request to
authorDaiki Ueno <ueno@unixuser.org>
Fri, 27 Nov 2009 07:35:14 +0000 (07:35 +0000)
committerDaiki Ueno <ueno@unixuser.org>
Fri, 27 Nov 2009 07:35:14 +0000 (07:35 +0000)
unibyte before sending.  This fixes mishandling of some port
numbers such as 129.

lisp/ChangeLog
lisp/net/socks.el

index ef98cf4..7227f11 100644 (file)
@@ -1,3 +1,9 @@
+2009-11-27  Daiki Ueno  <ueno@unixuser.org>
+
+       * net/socks.el (socks-send-command): Convert binary request to
+       unibyte before sending.  This fixes mishandling of some port
+       numbers such as 129.
+
 2009-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * help.el (describe-bindings-internal): Remove `interactive'.
index 0b13996..b1c045e 100644 (file)
@@ -435,27 +435,29 @@ version.")
                              (error "Unsupported address type for HTTP: %d" atype)))
                            port)))
      ((equal version 4)
-      (setq request (format
-                    "%c%c%c%c%s%s%c"
-                    version            ; version
-                    command            ; command
-                    (lsh port -8)      ; port, high byte
-                    (- port (lsh (lsh port -8) 8)) ; port, low byte
-                    addr               ; address
-                    (user-full-name)   ; username
-                    0                  ; terminate username
-                    )))
+      (setq request (string-make-unibyte
+                    (format
+                     "%c%c%c%c%s%s%c"
+                     version           ; version
+                     command           ; command
+                     (lsh port -8)     ; port, high byte
+                     (- port (lsh (lsh port -8) 8)) ; port, low byte
+                     addr              ; address
+                     (user-full-name)  ; username
+                     0                 ; terminate username
+                     ))))
      ((equal version 5)
-      (setq request (format
-                    "%c%c%c%c%s%c%c"
-                    version            ; version
-                    command            ; command
-                    0                  ; reserved
-                    atype              ; address type
-                    addr               ; address
-                    (lsh port -8)      ; port, high byte
-                    (- port (lsh (lsh port -8) 8)) ; port, low byte
-                    )))
+      (setq request (string-make-unibyte
+                    (format
+                     "%c%c%c%c%s%c%c"
+                     version           ; version
+                     command           ; command
+                     0                 ; reserved
+                     atype             ; address type
+                     addr              ; address
+                     (lsh port -8)     ; port, high byte
+                     (- port (lsh (lsh port -8) 8)) ; port, low byte
+                     ))))
      (t
       (error "Unknown protocol version: %d" version)))
     (process-send-string proc request)