Software /
code /
prosody
Annotate
.semgrep.yml @ 13633:6b84d11aa09b
mod_storage_sql: Detect SQLite3 without UPSERT (or SQLCipher 3.x)
SQLCipher v3.4.1 (the version in Debian 12) is based on SQLite3 v3.15.2,
while UPSERT support was introduced in SQLite3 v3.24.0
This check was not needed before because we v3.24.0 has not been in a
version of Debian we support for a long, long time.
Note however that SQLCipher databases are not compatible across major
versions, upgrading from v3.x to v4.x requires executing a migration.
Attempts at making `prosodyctl mod_storage_sql upgrade` perform such a
migration has not been successful.
Executing the following in the `sqlcipher` tool should do the migration:
PRAGMA key = '<key material>';
PRAGMA cipher_migrate;
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 23 Jan 2025 19:33:05 +0100 |
parent | 12717:898e99f49d80 |
child | 13700:9b7687b47da9 |
rev | line source |
---|---|
11289 | 1 rules: |
2 - id: log-variable-fmtstring | |
3 patterns: | |
4 - pattern: log("...", $A) | |
5 - pattern-not: log("...", "...") | |
6 message: Variable passed as format string to logging | |
7 languages: [lua] | |
8 severity: ERROR | |
9 - id: module-log-variable-fmtstring | |
10 patterns: | |
11 - pattern: module:log("...", $A) | |
12 - pattern-not: module:log("...", "...") | |
13 message: Variable passed as format string to logging | |
14 languages: [lua] | |
15 severity: ERROR | |
16 - id: module-getopt-string-default | |
17 patterns: | |
18 - pattern: module:get_option_string("...", $A) | |
19 - pattern-not: module:get_option_string("...", "...") | |
20 - pattern-not: module:get_option_string("...", host) | |
21 - pattern-not: module:get_option_string("...", module.host) | |
22 message: Non-string default from :get_option_string | |
23 severity: ERROR | |
24 languages: [lua] | |
12717
898e99f49d80
semgrep: Catch stanza:text() (assuming it's meant to be :get_text())
Matthew Wild <mwild1@gmail.com>
parents:
11289
diff
changeset
|
25 - id: stanza-empty-text-constructor |
898e99f49d80
semgrep: Catch stanza:text() (assuming it's meant to be :get_text())
Matthew Wild <mwild1@gmail.com>
parents:
11289
diff
changeset
|
26 patterns: |
898e99f49d80
semgrep: Catch stanza:text() (assuming it's meant to be :get_text())
Matthew Wild <mwild1@gmail.com>
parents:
11289
diff
changeset
|
27 - pattern: $A:text() |
898e99f49d80
semgrep: Catch stanza:text() (assuming it's meant to be :get_text())
Matthew Wild <mwild1@gmail.com>
parents:
11289
diff
changeset
|
28 message: Use :get_text() to read text, or pass a value here to add text |
898e99f49d80
semgrep: Catch stanza:text() (assuming it's meant to be :get_text())
Matthew Wild <mwild1@gmail.com>
parents:
11289
diff
changeset
|
29 severity: WARNING |
898e99f49d80
semgrep: Catch stanza:text() (assuming it's meant to be :get_text())
Matthew Wild <mwild1@gmail.com>
parents:
11289
diff
changeset
|
30 languages: [lua] |