Tags:
create new tag
, view all tags

Bug: Regex Error in WebTopicList with Topics that have Meta Chars in the Name

TWiki dopic names normally do not contain meta characters in topic names. The WebTopicList fails with a regex error if a topic name contains a "++".

Test case

  • Create a topic named "C++Language"
  • Access WebTopicList
  • You get: Software error: / C++ProgrammingLanguage /: nested *?+ in regexp at TWiki.pm line 2514.

Environment

TWiki version: TWikiAlphaRelease
TWiki plugins: DefaultPlugin, EmptyPlugin, InterwikiPlugin
Server OS:  
Web server:  
Perl version:  
Client OS:  
Web Browser:  

-- PeterThoeny - 04 May 2004

Follow up

Fix record

In TWikiAlphaRelease and TWiki.org.

*** TWiki.pm    3 May 2004 13:33:55 -0000       1.338
--- TWiki.pm    4 May 2004 16:18:43 -0000
***************
*** 154,160 ****

  # ===========================
  # TWiki version:
! $wikiversion      = "30 Apr 2004";

  # ===========================
  # Key Global variables, required for writeDebug
--- 154,160 ----

  # ===========================
  # TWiki version:
! $wikiversion      = "04 May 2004";

  # ===========================
  # Key Global variables, required for writeDebug
***************
*** 2526,2532 ****
          $line =~ s/\$web/$web/goi;
          $line =~ s/\$name/$item/goi;
          $line =~ s/\$qname/"$item"/goi;
!         $mark = ( $selection =~ / $item / ) ? $marker : "";
          $line =~ s/\$marker/$mark/goi;
          $text .= "$line$separator";
      }
--- 2526,2532 ----
          $line =~ s/\$web/$web/goi;
          $line =~ s/\$name/$item/goi;
          $line =~ s/\$qname/"$item"/goi;
!         $mark = ( $selection =~ / \Q$item\E / ) ? $marker : "";
          $line =~ s/\$marker/$mark/goi;
          $text .= "$line$separator";
      }

-- PeterThoeny - 04 May 2004

Peter:

  1. Was this ever in the spec? I think you've implemented a new feature rather than fixed a bug. When you say MetaChar, what is the full set of MetaChars that you are now allowing? Can we have anything in a TopicName?
  2. We should get a spec down for what is permitted as TopicName. For instance, can we now have '/', ':', '\', ''', '"' as well?
  3. Have you altered the WikiWord spec to match and, if not, are you intending to?

I'd welcome discussion around all of these.

-- MartinCleaver - 05 May 2004

No, it is not the intention to support meta chars in topic names. The fix is simply added protection to avoid a software error in case there is a topic with unsupported meta chars.

Meta chars are filtered from a [[...]] link when you click on the question mark to create the topic. However, creating orphaned topics via the GoBox or via a TWikiTemplates form should filter meta chars including spaces. See related TopicSaveErrorWithTopicsContainingSpace, RenameDoesNotCorrectSpacedTopics.

-- PeterThoeny - 05 May 2004

So what is the spec for what's allowed in a topic name? It seems you are saying TWiki "filters" them in some places but not in others; that would be inconsistent.

If we start with a spec we can build a test mechanism.

-- MartinCleaver - 05 May 2004

Please do not change a fixed bug to a brainstorming idea since it confuses the CairoRelease history. Best to follow up in an above mentioned topic or to create a new topic. (Strict topic names are $regex{wikiWordRegex} or $regex{abbrevRegex}. Other chars are tolerable like underlines, dashes etc. Off-limit is $securityFilter in TWiki.cfg)

-- PeterThoeny - 07 May 2004

Topic revision: r6 - 2004-07-16 - PeterThoeny
 
Twitter Delicious Facebook Digg Google Bookmarks E-mail LinkedIn Reddit StumbleUpon    
  • Download TWiki
TWiki logo Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2012 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.