[prev in list] [next in list] [prev in thread] [next in thread]
List: privoxy-commits
Subject: [privoxy-commits] current gateway.c,1.20,1.21 ChangeLog,1.58,1.59
From: noreply () sourceforge ! net
Date: 2007-07-28 12:30:08
Message-ID: E1IElQu-0004fk-B8 () mail ! sourceforge ! net
[Download RAW message or body]
Update of /cvsroot/ijbswa/current
In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv13707
Modified Files:
gateway.c ChangeLog
Log Message:
Modified patch from Song Weijia (#1762559) to
fix socks requests on big-endian platforms.
Index: gateway.c
===================================================================
RCS file: /cvsroot/ijbswa/current/gateway.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- gateway.c 14 May 2007 10:23:48 -0000 1.20
+++ gateway.c 28 Jul 2007 12:30:03 -0000 1.21
@@ -34,6 +34,10 @@
*
* Revisions :
* $Log$
+ * Revision 1.21 2007/07/28 12:30:03 fabiankeil
+ * Modified patch from Song Weijia (#1762559) to
+ * fix socks requests on big-endian platforms.
+ *
* Revision 1.20 2007/05/14 10:23:48 fabiankeil
* - Use strlcpy() instead of strcpy().
* - Use the same buffer for socks requests and socks responses.
@@ -185,6 +189,7 @@
unsigned char dstport[2]; /* destination port */
unsigned char dstip[4]; /* destination address */
char userid; /* first byte of userid */
+ char padding[3]; /* make sure sizeof(struct socks_op) is \
endian-independent. */ /* more bytes of the userid follow, terminated by a NULL */
};
@@ -317,7 +322,7 @@
strlcpy(&(c->userid), socks_userid, sizeof(buf) - sizeof(struct socks_op));
- csiz = sizeof(*c) + sizeof(socks_userid) - 1;
+ csiz = sizeof(*c) + sizeof(socks_userid) - sizeof(c->userid) - \
sizeof(c->padding);
switch (fwd->type)
{
@@ -348,11 +353,12 @@
* size of socks_op, plus the length of the userid plus
* its \0 byte (which we don't have to add because the
* first byte of the userid is counted twice as it's also
- * part of sock_op), plus the length of the target_host
+ * part of sock_op) minus the padding bytes (which are part
+ * of the userid as well), plus the length of the target_host
* (which is stored csiz bytes after the beginning of the buffer),
* plus another \0 byte.
*/
- assert(n == sizeof(struct socks_op) + strlen(&(c->userid)) + strlen(buf \
+ csiz) + 1); + assert(n == sizeof(struct socks_op) + strlen(&(c->userid)) \
- sizeof(c->padding) + strlen(buf + csiz) + 1); csiz = n;
}
break;
Index: ChangeLog
===================================================================
RCS file: /cvsroot/ijbswa/current/ChangeLog,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -d -r1.58 -r1.59
--- ChangeLog 21 Jul 2007 11:53:40 -0000 1.58
+++ ChangeLog 28 Jul 2007 12:30:04 -0000 1.59
@@ -114,6 +114,7 @@
- Don't ignore applying filters if the server didn't
specify a Content-Type. Bug reported by Amuro Namie.
- Allow to rewrite the request destination behind the client's back.
+- Fix socks requests on big-endian platforms. Patch provided by Song Weijia.
- Minor code clean-ups, filter and action file updates.
(Some of them reported by Davide Alberani, Markus Elfring
and Adam Piggott)
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
ijbswa-commits mailing list
ijbswa-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ijbswa-commits
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic