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

interchange-cvs at icdevgroup.org interchange-cvs at icdevgroup.org
Sat Dec 6 15:25:35 EST 2003


User:      jon
Date:      2003-12-06 20:25:35 GMT
Modified:  lib/Vend Server.pm
Log:
Tolerate empty CGI key/value pairs to avoid unfriendly 500 errors. We
already tolerated one at the beginning and one or more at the end of the
query parameters:

http://www.icdevgroup.org/i/dev/index?&id=abcd
http://www.icdevgroup.org/i/dev/index?id=abcd&&&&&&

Now these are handled gracefully too:

http://www.icdevgroup.org/i/dev/index?&&id=abcd
http://www.icdevgroup.org/i/dev/index?id=abcd&&&xyz=123

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


rev 2.42, prev_rev 2.41
Index: Server.pm
===================================================================
RCS file: /var/cvs/interchange/lib/Vend/Server.pm,v
retrieving revision 2.41
retrieving revision 2.42
diff -u -u -r2.41 -r2.42
--- Server.pm	10 Sep 2003 16:55:14 -0000	2.41
+++ Server.pm	6 Dec 2003 20:25:35 -0000	2.42
@@ -1,6 +1,6 @@
 # Vend::Server - Listen for Interchange CGI requests as a background server
 #
-# $Id: Server.pm,v 2.41 2003/09/10 16:55:14 mheins Exp $
+# $Id: Server.pm,v 2.42 2003/12/06 20:25:35 jon Exp $
 #
 # Copyright (C) 2002-2003 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.41 $, 10);
+$VERSION = substr(q$Revision: 2.42 $, 10);
 
 use POSIX qw(setsid strftime);
 use Vend::Util;
@@ -323,7 +323,7 @@
 	my $redo;
   CGIVAL: {
   	# This loop semi-duplicated in store_cgi_kv
-	foreach $pair (@pairs) {
+	foreach $pair (grep length, @pairs) {
 		($key, $value) = ($pair =~ m/([^=]+)=(.*)/)
 			or do {
 				if ($Global::TolerateGet) {








More information about the interchange-cvs mailing list