<!-- query can be changed, but fields must be in the same order, and the number parameter must be ? -->\r
<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;" />\r
\r
- <!-- To avoid other injections, the incoming number will remove characters matching this regex. Default [^0-9#\*] allows only digits, # and *.-->\r
+ <!-- To avoid other injections, the incoming number will remove characters matching this regex. Default [^0-9#\*] allows only digits, # and *. Use (?!.) to disable. -->\r
<add key="numberRegexFilter" value="[^0-9#\*]" />\r
</appSettings>\r
</configuration>
\ No newline at end of file
let regexOpts = Text.RegularExpressions.RegexOptions.Compiled ||| Text.RegularExpressions.RegexOptions.CultureInvariant\r
let lookup (number: string) sep =\r
try\r
- let number = if numberRegexFilter = "" then number else Text.RegularExpressions.Regex.Replace(number, numberRegexFilter, "", regexOpts)\r
+ let number = if numberRegexFilter = "(?!.)" then number else Text.RegularExpressions.Regex.Replace(number, numberRegexFilter, "", regexOpts)\r
use conn = new Odbc.OdbcConnection(connString)\r
use comm = new Odbc.OdbcCommand(query, conn)\r
comm.Parameters.AddWithValue("@number", number) |> ignore\r