Last modified: 2012-07-11 18:01:31 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T40230, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 38230 - AntiSpoof does not support SQLite
AntiSpoof does not support SQLite
Status: RESOLVED WORKSFORME
Product: MediaWiki extensions
Classification: Unclassified
AntiSpoof (Other open bugs)
unspecified
Macintosh Mac OS X 10.6
: Unprioritized normal (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-07-07 06:35 UTC by Brandon Sky
Modified: 2012-07-11 18:01 UTC (History)
1 user (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments
A screenshot of the error you may get in the Terminal. (66.51 KB, image/png)
2012-07-07 06:35 UTC, Brandon Sky
Details

Description Brandon Sky 2012-07-07 06:35:37 UTC
Created attachment 10828 [details]
A screenshot of the error you may get in the Terminal.

This is a database server support hole in the AntiSpoof extension. When trying to run update.php in a wiki that uses SQLite, update.php will try to get an SQL query file does not exist, and update.php returns this output:

MediaWiki 1.17.3 Updater

Going to run database updates for BrandonSkyWiki
Depending on the size of your database this may take a while!
Abort with control-c in the next five seconds (skip this countdown with --quick) ... 0
...have ss_active_users field in site_stats table.
...ss_active_users user count set...
...have ipb_allow_usertalk field in ipblocks table.
...have initial indexes
...change_tag table already exists.
...tag_summary table already exists.
...valid_tag table already exists.
...user_properties table already exists.
...log_search table already exists.
...have log_user_text field in logging table.
...log_user_text field already populated.
...log_search table already populated.
...l10n_cache table already exists.
...external_user table already exists.
...ls_field_val key already set on log_search table.
...change_tag_rc_tag key already set on change_tag table.
...have rd_interwiki field in redirect table.
...transcache tc_time already converted.
...fulltext search table appears to be in order.
...iwlinks table already exists.
...iwl_prefix_title_from key already set on iwlinks table.
...have ul_value field in updatelog table.
...have iw_api field in interwiki table.
...iwl_prefix key doesn't exist.
...iwl_prefix_from_title key doesn't exist.
...have cl_collation field in categorylinks table.
...collations up-to-date.
...msg_resource table already exists.
...module_deps table already exists.
...flaggedrevs table already exists.
Creating spoofuser table...PHP Warning:  fopen(/Users/sky/Sites/brandonsky11o/g/wiki/extensions/AntiSpoof/sql/patch-antispoof.sqlite.sql): failed to open stream: No such file or directory in /Users/sky/Sites/brandonsky11o/g/wiki/includes/db/Database.php on line 2442
Could not open "/Users/sky/Sites/brandonsky11o/g/wiki/extensions/AntiSpoof/sql/patch-antispoof.sqlite.sql".

Backtrace:
#0 /Users/sky/Sites/brandonsky11o/g/wiki/includes/installer/DatabaseUpdater.php(359): DatabaseBase->sourceFile('/Users/sky/Site...')
#1 /Users/sky/Sites/brandonsky11o/g/wiki/includes/installer/DatabaseUpdater.php(376): DatabaseUpdater->applyPatch('/Users/sky/Site...', true)
#2 [internal function]: DatabaseUpdater->addTable('spoofuser', '/Users/sky/Site...', true)
#3 /Users/sky/Sites/brandonsky11o/g/wiki/includes/installer/DatabaseUpdater.php(250): call_user_func_array(Array, Array)
#4 /Users/sky/Sites/brandonsky11o/g/wiki/includes/installer/DatabaseUpdater.php(222): DatabaseUpdater->runUpdates(Array, true)
#5 /Users/sky/Sites/brandonsky11o/g/wiki/maintenance/update.php(97): DatabaseUpdater->doUpdates(Array)
#6 /Users/sky/Sites/brandonsky11o/g/wiki/maintenance/doMaintenance.php(108): UpdateMediaWiki->execute()
#7 /Users/sky/Sites/brandonsky11o/g/wiki/maintenance/update.php(123): require_once('/Users/sky/Site...')
#8 {main}

update.php should have returned something like "Creating spoofuser table... done."

Steps to reproduce this problem:
1) Configure a wiki using SQLite as the database server.
2) Download AntiSpoof from http://www.mediawiki.org/wiki/Special:ExtensionDistributor/AntiSpoof
3) Copy AntiSpoof directory to 'extensions' directory in the root level of your MediaWiki install.
4) Add "require_once( "$IP/extensions/AntiSpoof/AntiSpoof.php" );" to the bottom of LocalSettings.php.
5) Run "php /path/to/mediawiki/install/maintenance/update.php" in the Terminal.
Comment 1 Sam Reed (reedy) 2012-07-07 12:41:52 UTC
Upgrade to a newer version; AntiSpoof master in git has a sqlite file. And by the looks of it, so does REL1_19
Comment 2 Brandon Sky 2012-07-11 18:01:31 UTC
Here's a hack that allows you to run AntiSpoof under SQLite databases:
1) Download both AntiSpoof for master and AntiSpoof for MediaWiki <1.19.
2) Copy the sqlite file to the sql folder in the root of the latter extension.
3) Copy latter AntiSpoof folder to extensions directory in MW root.
4) Add require_once( "$IP/extensions/AntiSpoof/AntiSpoof.php" ); to the bottom of LocalSettings.php.
5) Run php maintenance/update.php.
6) Run php extensions/AntiSpoof/batchAntiSpoof.php.
7) Check Special:Version on your wiki to verify installation.
8) Done!

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links