diff --git a/src/fingerprints.txt b/src/fingerprints.txt index 18adccc1..b0a354c6 100644 --- a/src/fingerprints.txt +++ b/src/fingerprints.txt @@ -1936,8 +1936,8 @@ E1kvk E1kvo E1n)U E1n; -E1nc E1n;c +E1nc E1nkn E1o(1 E1o(E @@ -3703,48 +3703,6 @@ n&vs n&vs; n&vsc n&vso -n(1)U -n(1)f -n(1)o -n(1)v -n(1o( -n(1of -n(1os -n(1ov -n(Ef( -n(Ekf -n(Ekn -n(Enk -n(U(E -n(f() -n(f(1 -n(f(f -n(f(n -n(f(s -n(f(v -n(s)1 -n(s)U -n(s)f -n(s)n -n(s)o -n(s)s -n(s)v -n(so( -n(so1 -n(sof -n(son -n(sos -n(sov -n(v)1 -n(v)U -n(v)f -n(v)n -n(v)o -n(v)s -n(v)v -n(vo( -n(vof -n(vos n)&(1 n)&(E n)&(f diff --git a/src/libinjection_sqli_data.h b/src/libinjection_sqli_data.h index 6c0a817e..7177f33d 100644 --- a/src/libinjection_sqli_data.h +++ b/src/libinjection_sqli_data.h @@ -3720,48 +3720,6 @@ static const keyword_t sql_keywords[] = { {"0N&VU;", 'F'}, {"0N&VUC", 'F'}, {"0N&VUE", 'F'}, - {"0N(1)F", 'F'}, - {"0N(1)O", 'F'}, - {"0N(1)U", 'F'}, - {"0N(1)V", 'F'}, - {"0N(1O(", 'F'}, - {"0N(1OF", 'F'}, - {"0N(1OS", 'F'}, - {"0N(1OV", 'F'}, - {"0N(EF(", 'F'}, - {"0N(EKF", 'F'}, - {"0N(EKN", 'F'}, - {"0N(ENK", 'F'}, - {"0N(F()", 'F'}, - {"0N(F(1", 'F'}, - {"0N(F(F", 'F'}, - {"0N(F(N", 'F'}, - {"0N(F(S", 'F'}, - {"0N(F(V", 'F'}, - {"0N(S)1", 'F'}, - {"0N(S)F", 'F'}, - {"0N(S)N", 'F'}, - {"0N(S)O", 'F'}, - {"0N(S)S", 'F'}, - {"0N(S)U", 'F'}, - {"0N(S)V", 'F'}, - {"0N(SO(", 'F'}, - {"0N(SO1", 'F'}, - {"0N(SOF", 'F'}, - {"0N(SON", 'F'}, - {"0N(SOS", 'F'}, - {"0N(SOV", 'F'}, - {"0N(U(E", 'F'}, - {"0N(V)1", 'F'}, - {"0N(V)F", 'F'}, - {"0N(V)N", 'F'}, - {"0N(V)O", 'F'}, - {"0N(V)S", 'F'}, - {"0N(V)U", 'F'}, - {"0N(V)V", 'F'}, - {"0N(VO(", 'F'}, - {"0N(VOF", 'F'}, - {"0N(VOS", 'F'}, {"0N)&(1", 'F'}, {"0N)&(E", 'F'}, {"0N)&(F", 'F'}, @@ -9329,5 +9287,5 @@ static const keyword_t sql_keywords[] = { {"||", '&'}, {"~*", 'o'}, }; -static const size_t sql_keywords_sz = 9033; +static const size_t sql_keywords_sz = 8991; #endif diff --git a/src/make_parens.py b/src/make_parens.py index 8738b95f..759442c8 100755 --- a/src/make_parens.py +++ b/src/make_parens.py @@ -269,6 +269,9 @@ def validate(self, s): if 'v(v' in s: return False + if s.startswith('n('): + return False + if s.startswith('vs'): return False diff --git a/src/sqlparse_data.json b/src/sqlparse_data.json index d7852d1b..ed8409a4 100644 --- a/src/sqlparse_data.json +++ b/src/sqlparse_data.json @@ -3963,48 +3963,6 @@ "n&vs;", "n&vsc", "n&vso", - "n(1)U", - "n(1)f", - "n(1)o", - "n(1)v", - "n(1o(", - "n(1of", - "n(1os", - "n(1ov", - "n(Ef(", - "n(Ekf", - "n(Ekn", - "n(Enk", - "n(U(E", - "n(f()", - "n(f(1", - "n(f(f", - "n(f(n", - "n(f(s", - "n(f(v", - "n(s)1", - "n(s)U", - "n(s)f", - "n(s)n", - "n(s)o", - "n(s)s", - "n(s)v", - "n(so(", - "n(so1", - "n(sof", - "n(son", - "n(sos", - "n(sov", - "n(v)1", - "n(v)U", - "n(v)f", - "n(v)n", - "n(v)o", - "n(v)s", - "n(v)v", - "n(vo(", - "n(vof", - "n(vos", "n)&(1", "n)&(E", "n)&(f", @@ -8340,7 +8298,6 @@ "ABS": "f", "ACCESSIBLE": "k", "ACOS": "f", - "ADD": "k", "ADDDATE": "f", "ADDTIME": "f", "AES_DECRYPT": "f",