[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