Fossil

Check-in [b26967cfcb]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Adjust the SQL authorizer to ignore SQLITE_READ calls for transient internal-use-only tables. SQLite should not be issuing those, but some legacy versions of SQLite do. It is harmless to ignore them.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: b26967cfcb58f2434ae99c719f786005f3957cf0cc2ee1068f9b9efd0cc62d3a
User & Date: drh 2019-08-07 13:22:40.997
Original Comment: Do not make authorizer SQLITE_READ calls on transient internal tables.
Context
2019-08-07
17:39
Add the FOSSIL_NONCE parameter to extension CGI. ... (check-in: 3f0ade5592 user: drh tags: trunk)
13:22
Adjust the SQL authorizer to ignore SQLITE_READ calls for transient internal-use-only tables. SQLite should not be issuing those, but some legacy versions of SQLite do. It is harmless to ignore them. ... (check-in: b26967cfcb user: drh tags: trunk)
12:55
Remove the SQLITE_ENABLE_DBPAGE_VTAB requirement from external SQLite libraries, as without it only the ".recover" command in "fossil sql" is omitted, and that is an obscure case. ... (check-in: a4d7152517 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/report.c.
193
194
195
196
197
198
199







200
201
202
203
204
205
206
         "plink",
         "event",
         "tag",
         "tagxref",
         "unversioned",
      };
      int i;







      if( fossil_strncmp(zArg1, "fx_", 3)==0 ){
        break;
      }
      for(i=0; i<count(azAllowed); i++){
        if( fossil_stricmp(zArg1, azAllowed[i])==0 ) break;
      }
      if( i>=count(azAllowed) ){







>
>
>
>
>
>
>







193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
         "plink",
         "event",
         "tag",
         "tagxref",
         "unversioned",
      };
      int i;
      if( zArg1==0 ){
        /* Some legacy versions of SQLite will sometimes send spurious
        ** READ authorizations that have no table name.  These can be
        ** ignored. */
        rc = SQLITE_IGNORE;
        break;
      }
      if( fossil_strncmp(zArg1, "fx_", 3)==0 ){
        break;
      }
      for(i=0; i<count(azAllowed); i++){
        if( fossil_stricmp(zArg1, azAllowed[i])==0 ) break;
      }
      if( i>=count(azAllowed) ){