[interchange-cvs] interchange - jon modified lib/Vend/Server.pm

interchange-cvs at icdevgroup.org interchange-cvs at icdevgroup.org
Thu Feb 22 15:19:47 EST 2007


User:      jon
Date:      2007-02-22 20:19:47 GMT
Modified:  lib/Vend Server.pm
Log:
Correct Interchange's handling of incoming requests where a form element
has a space in the name. Before the fix, when it gets to values space
it still has the plus. However true '+' characters will have also been
decoded, so you can't distinguish the two. This change switches pluses
to spaces before %2B gets switched to '+'.

Fixed by Brian Miller <brian at endpoint.com>.

Revision  Changes    Path
2.72      +3 -2      interchange/lib/Vend/Server.pm


rev 2.72, prev_rev 2.71
Index: Server.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Server.pm,v
retrieving revision 2.71
retrieving revision 2.72
diff -u -u -r2.71 -r2.72
--- Server.pm	2 Aug 2006 12:19:15 -0000	2.71
+++ Server.pm	22 Feb 2007 20:19:46 -0000	2.72
@@ -1,6 +1,6 @@
 # Vend::Server - Listen for Interchange CGI requests as a background server
 #
-# $Id: Server.pm,v 2.71 2006/08/02 12:19:15 kwalsh Exp $
+# $Id: Server.pm,v 2.72 2007/02/22 20:19:46 jon Exp $
 #
 # Copyright (C) 2002-2005 Interchange Development Group
 # Copyright (C) 1996-2002 Red Hat, Inc.
@@ -26,7 +26,7 @@
 package Vend::Server;
 
 use vars qw($VERSION);
-$VERSION = substr(q$Revision: 2.71 $, 10);
+$VERSION = substr(q$Revision: 2.72 $, 10);
 
 use Cwd;
 use POSIX qw(setsid strftime);
@@ -352,6 +352,7 @@
 
 #::logDebug("incoming --> $key");
 		$key = $::IV->{$key} if defined $::IV->{$key};
+		$key =~ tr/+/ /;
 		$key =~ s/%([0-9a-fA-F][0-9a-fA-F])/chr(hex $1)/ge;
 #::logDebug("mapping  --> $key");
 		$value =~ tr/+/ /;








More information about the interchange-cvs mailing list