diff --git a/data/xml/queries.xml b/data/xml/queries.xml index 8f930538c..404641a54 100644 --- a/data/xml/queries.xml +++ b/data/xml/queries.xml @@ -1939,7 +1939,7 @@ - + diff --git a/lib/core/settings.py b/lib/core/settings.py index f9f08c19a..81f4363bf 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from lib.core.enums import OS from thirdparty import six # sqlmap version (...) -VERSION = "1.10.10.14" +VERSION = "1.10.10.15" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE) diff --git a/tests/test_databases_enum.py b/tests/test_databases_enum.py index e1a272a39..fd8bfe910 100644 --- a/tests/test_databases_enum.py +++ b/tests/test_databases_enum.py @@ -286,6 +286,28 @@ class TestGetTables(_BaseEnumTest): self.assertIn("testdb", result) self.assertEqual(sorted(result["testdb"]), sorted(tables)) + def test_get_tables_inference_spanner(self): + # Spanner's blind template must page per row (it used to crash with "not all arguments converted", #6151) + set_dbms("Spanner") + self._enable_inference() + d = self._fresh() + conf.db = "testdb" + conf.tbl = None + + tables = ["t_a", "t_b"] + queries_ = [] + + def gv(query, *a, **k): + if k.get("expected") == EXPECTED.INT: + return str(len(tables)) + queries_.append(query) + return [tables[len(queries_) - 1]] + + dbmod.inject.getValue = gv + result = d.getTables() + self.assertEqual(sorted(result["testdb"]), sorted(tables)) + self.assertEqual([_.endswith("OFFSET %d" % i) for i, _ in enumerate(queries_)], [True, True]) + class TestGetColumns(_BaseEnumTest): def _run_direct(self, dbms, db, tbl, rows):