You are viewing a plain text version of this content. The canonical link for it is here.
Posted to websh-cvs@tcl.apache.org by ro...@apache.org on 2007/08/28 12:55:27 UTC

svn commit: r570375 - in /tcl/websh/trunk: CHANGES src/ChangeLog src/generic/webutl.c src/tests/dispatch.test

Author: ronnie
Date: Tue Aug 28 03:55:26 2007
New Revision: 570375

URL: http://svn.apache.org/viewvc?rev=570375&view=rev
Log:
- fixed bug 43212 (multipart form handling)

Modified:
    tcl/websh/trunk/CHANGES
    tcl/websh/trunk/src/ChangeLog
    tcl/websh/trunk/src/generic/webutl.c
    tcl/websh/trunk/src/tests/dispatch.test

Modified: tcl/websh/trunk/CHANGES
URL: http://svn.apache.org/viewvc/tcl/websh/trunk/CHANGES?rev=570375&r1=570374&r2=570375&view=diff
==============================================================================
--- tcl/websh/trunk/CHANGES (original)
+++ tcl/websh/trunk/CHANGES Tue Aug 28 03:55:26 2007
@@ -9,6 +9,8 @@
 Trunk
 -----
 
+- Bug fix when handling multipart forms (Bug 43212)
+
 - Better logging when mod_websh cannot get a Tcl interpreter for a request
 
 - Fixed http response problem with Apache 2.2.1 and later

Modified: tcl/websh/trunk/src/ChangeLog
URL: http://svn.apache.org/viewvc/tcl/websh/trunk/src/ChangeLog?rev=570375&r1=570374&r2=570375&view=diff
==============================================================================
--- tcl/websh/trunk/src/ChangeLog (original)
+++ tcl/websh/trunk/src/ChangeLog Tue Aug 28 03:55:26 2007
@@ -1,3 +1,8 @@
+2007-08-28 Brunner Ronnie <ro...@netcetera.ch>
+	* src/generic/webutl.c, src/test/dispatch.test:
+	- properly handle multi part forms with extended content-type
+	  this fixes bug 43212 as reported by Dennis Parker
+	
 2007-08-21 Brunner Ronnie <ro...@netcetera.ch>
 	* src/generic/mod_websh.c, src/generic/interpool.c:
 	- better logging when no interpreter can be found

Modified: tcl/websh/trunk/src/generic/webutl.c
URL: http://svn.apache.org/viewvc/tcl/websh/trunk/src/generic/webutl.c?rev=570375&r1=570374&r2=570375&view=diff
==============================================================================
--- tcl/websh/trunk/src/generic/webutl.c (original)
+++ tcl/websh/trunk/src/generic/webutl.c Tue Aug 28 03:55:26 2007
@@ -60,6 +60,7 @@
 
 /* ----------------------------------------------------------------------------
  * strchrchr -- strchr for c0 first, or c1 if c0 fails. tag reports which trig.
+ * returns earlier match!
  * ------------------------------------------------------------------------- */
 char *strchrchr(const char *cs, const char c0, const char c1, char *tag)
 {
@@ -70,17 +71,31 @@
 
     if (cs != NULL) {
 
-	res = strchr(cs, c0);
-
-	if (res != NULL)
+      char *res0 = NULL;
+      char *res1 = NULL;
+    
+      res0 = strchr(cs, c0);
+      res1 = strchr(cs, c1);
+
+      if (res0 != NULL) {
+	if (res1 != NULL) {
+	  if (res1 > res0) {
+	    res = res0;
 	    *tag = 0;
-	else {
-
-	    res = strchr(cs, c1);
-
-	    if (res != NULL)
-		*tag = 1;
+	  } else {
+	    res = res1;
+	    *tag = 1;
+	  }
+	} else {
+	  res = res0;
+	  *tag = 0;
+	}
+      } else {
+	if (res1 != NULL) {
+	  res = res1;
+	  *tag = 1;
 	}
+      }	
     }
     return res;
 }

Modified: tcl/websh/trunk/src/tests/dispatch.test
URL: http://svn.apache.org/viewvc/tcl/websh/trunk/src/tests/dispatch.test?rev=570375&r1=570374&r2=570375&view=diff
==============================================================================
Binary files /tmp/tmpUMmxPj and /tmp/tmp6aTLv3 differ



---------------------------------------------------------------------
To unsubscribe, e-mail: websh-cvs-unsubscribe@tcl.apache.org
For additional commands, e-mail: websh-cvs-help@tcl.apache.org