Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

Commit 2454233

Browse files
committed
webui: Improved error message when someone tries to modify a standard database with SQL
We're still seeing people try to do this occasionally, so this error message will hopefully guide them in the right direction.
1 parent 06c4b7d commit 2454233

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

common/sqlite.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"reflect"
1212
"sort"
1313
"strconv"
14+
"strings"
1415
"time"
1516

1617
sqlite "github.com/gwenn/gosqlite"
@@ -1606,8 +1607,13 @@ func SQLiteRunQueryDefensive(w http.ResponseWriter, r *http.Request, querySource
16061607
var memUsed, memHighWater int64
16071608
memUsed, memHighWater, dataRows, err = SQLiteRunQuery(sdb, querySource, query, false, false)
16081609
if err != nil {
1609-
log.Printf("Error when running query by '%s' for database (%s/%s): '%s'", SanitiseLogString(loggedInUser),
1610-
SanitiseLogString(dbOwner), SanitiseLogString(dbName), SanitiseLogString(err.Error()))
1610+
e := err.Error()
1611+
if strings.HasPrefix(e, "not authorized") {
1612+
err = errors.New("SQL that modifies a database can only be used on Live databases")
1613+
} else {
1614+
log.Printf("Error when running query by '%s' for database (%s/%s): '%s'", SanitiseLogString(loggedInUser),
1615+
SanitiseLogString(dbOwner), SanitiseLogString(dbName), SanitiseLogString(e))
1616+
}
16111617
return SQLiteRecordSet{}, err
16121618
}
16131619

0 commit comments

Comments
 (0)