Revision
14417
Author
michaelgg
Date
2009-07-29 14:15:00 -0500 (Wed, 29 Jul 2009)

Log Message

Properly shortcircuit regex

Modified Paths

Diff

Modified: freeswitch/trunk/src/mod/languages/mod_managed/managed/examples/easyroute/App.config (14416 => 14417)


--- freeswitch/trunk/src/mod/languages/mod_managed/managed/examples/easyroute/App.config	2009-07-29 18:41:21 UTC (rev 14416)
+++ freeswitch/trunk/src/mod/languages/mod_managed/managed/examples/easyroute/App.config	2009-07-29 19:15:00 UTC (rev 14417)
@@ -7,7 +7,7 @@
     <!-- query can be changed, but fields must be in the same order, and the number parameter must be ? -->
     <add key="query" value="SELECT gateways.gateway_ip, gateways.group, gateways.limit, gateways.techprofile, numbers.acctcode, numbers.translated from gateways, numbers where numbers.number = ? and numbers.gateway_id = gateways.gateway_id;" />
     
-    <!-- To avoid other injections, the incoming number will remove characters matching this regex. Default [^0-9#\*] allows only digits, # and *.-->
+    <!-- To avoid other injections, the incoming number will remove characters matching this regex. Default [^0-9#\*] allows only digits, # and *. Use (?!.) to disable. -->
     <add key="numberRegexFilter" value="[^0-9#\*]" />
   </appSettings>
 </configuration>
\ No newline at end of file

Modified: freeswitch/trunk/src/mod/languages/mod_managed/managed/examples/easyroute/easyroute.fs (14416 => 14417)


--- freeswitch/trunk/src/mod/languages/mod_managed/managed/examples/easyroute/easyroute.fs	2009-07-29 18:41:21 UTC (rev 14416)
+++ freeswitch/trunk/src/mod/languages/mod_managed/managed/examples/easyroute/easyroute.fs	2009-07-29 19:15:00 UTC (rev 14417)
@@ -48,7 +48,7 @@
     let regexOpts = Text.RegularExpressions.RegexOptions.Compiled ||| Text.RegularExpressions.RegexOptions.CultureInvariant
     let lookup (number: string) sep =
         try
-            let number = if numberRegexFilter = "" then number else Text.RegularExpressions.Regex.Replace(number, numberRegexFilter, "", regexOpts)
+            let number = if numberRegexFilter = "(?!.)" then number else Text.RegularExpressions.Regex.Replace(number, numberRegexFilter, "", regexOpts)
             use conn = new Odbc.OdbcConnection(connString)
             use comm = new Odbc.OdbcCommand(query, conn)
             comm.Parameters.AddWithValue("@number", number) |> ignore