FW: [support #103527] Stored queries fail when fields contain a dash

"Stuart Stevens" <[email protected]>
Newsgroups gmane.comp.bug-tracking.gnats.general
Message-ID <[email protected]>
I am not sure how to submit defects.  I entered a tech support request which
follows.  The defect causes stored queries to fail depending on the query
and what field names contain a dash.  Most of our stored queries were
failing.

Stuart


 [support #103527] Full Item Snapshot:

URL: <http://savannah.gnu.org/support/?func=detailitem&item_id=103527>
Project: Gnatsweb
Submitted by: Stuart Stevens
On: Mon 11/01/2004 at 21:17

Category:  None
Priority:  5 - Normal
Severity:  7 - Major
Resolution:  None
Privacy:  Public
Assigned to:  None
Originator Email:  
Status:  Open


Summary:  Stored queries fail when fields contain a dash

Original Submission:  Stored queries are stripped of fields with no values.
The pattern used is "/w+=;/" which does not include dashes.  Fields that are
split improperly cause the parser to make an incorrect query when the wuery
is reexecuted.

    Date: Friday, October 29, 2004 @ 10:20:00
  Author: stuart
    Path: /cvsroot/firmware/gnats/gnatsweb

Modified: gnatsweb.pl (1.1.1.1 -> 1.2)

GNAT 50087 Field names with dashes are removed intact


-------------+
 gnatsweb.pl |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)


Index: firmware/gnats/gnatsweb/gnatsweb.pl
diff -u firmware/gnats/gnatsweb/gnatsweb.pl:1.1.1.1
firmware/gnats/gnatsweb/gnatsweb.pl:1.2
--- firmware/gnats/gnatsweb/gnatsweb.pl:1.1.1.1	Thu Oct 28 14:41:11 2004
+++ firmware/gnats/gnatsweb/gnatsweb.pl	Fri Oct 29 10:20:00 2004
@@ -20,7 +20,7 @@
 # Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 # 02111-1307, USA.
 #
-# $Id: gnatsweb.pl,v 1.1.1.1 2004/10/28 21:41:11 stuart Exp $
+# $Id: gnatsweb.pl,v 1.2 2004/10/29 17:20:00 stuart Exp $
 #
 
 use strict;
@@ -241,7 +241,7 @@
 
 # Version number + RCS revision number
 $VERSION = '4.00';
-my $REVISION = (split(/ /, '$Revision: 1.1.1.1 $ '))[1];
+my $REVISION = (split(/ /, '$Revision: 1.2 $ '))[1];
 my $GNATS_VERS = '0.0';
 
 # bits in fieldinfo(field, flags) has (set=yes not-set=no)
@@ -2585,8 +2585,10 @@
 
   # strip empty params out of $query_string.  in a gnats db with many
   # fields, the query-string will become very long, and may exceed the
-  # 4K limit for cookies.
-  $query_string =~ s/w+=;//g;
+  # 4K limit for cookies.  The pattern must match escaped field names
+  # and include dashes.  A field name cannot contain ":" or ">".  If
+  # it contains a ";" or a left or right arrow then the HTML will fail.
+  $query_string =~ s/[^ =;:>]+=;//g;
 
   if (length($query_string . $global_cookie_path .
"gnatsweb-query-$queryname") > 4050) {
     # this cookie is going to be longer than 4K, so we'll have to punt












For detailed info, follow this link:
<http://savannah.gnu.org/support/?func=detailitem&item_id=103527>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.