scottmac Tue Mar 17 02:42:42 2009 UTC Modified files: /php-src/ext/sqlite3 config0.m4 sqlite3.c /php-src/ext/sqlite3/tests sqlite3_22_loadextension.phpt Log: Fix bug #47678 - Allow loadExtension to be disabled in SQLite3 http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite3/config0.m4?r1=1.9&r2=1.10&diff_format=u Index: php-src/ext/sqlite3/config0.m4 diff -u php-src/ext/sqlite3/config0.m4:1.9 php-src/ext/sqlite3/config0.m4:1.10 --- php-src/ext/sqlite3/config0.m4:1.9 Tue Jan 13 02:50:23 2009 +++ php-src/ext/sqlite3/config0.m4 Tue Mar 17 02:42:41 2009 @@ -1,4 +1,4 @@ -dnl $Id: config0.m4,v 1.9 2009/01/13 02:50:23 scottmac Exp $ +dnl $Id: config0.m4,v 1.10 2009/03/17 02:42:41 scottmac Exp $ dnl config.m4 for extension sqlite3 dnl vim:et:ts=2:sw=2 @@ -51,6 +51,10 @@ AC_DEFINE(HAVE_SQLITE3_KEY, 1, [have commercial sqlite3 with crypto support]) ]) + PHP_CHECK_LIBRARY(sqlite3,sqlite3_load_extension,[ + AC_DEFINE(SQLITE_OMIT_LOAD_EXTENSION, 1, [have sqlite3 with extension support]) + ]) + else AC_MSG_CHECKING([bundled sqlite3 library]) AC_MSG_RESULT([yes]) http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite3/sqlite3.c?r1=1.36&r2=1.37&diff_format=u Index: php-src/ext/sqlite3/sqlite3.c diff -u php-src/ext/sqlite3/sqlite3.c:1.36 php-src/ext/sqlite3/sqlite3.c:1.37 --- php-src/ext/sqlite3/sqlite3.c:1.36 Wed Feb 18 20:07:55 2009 +++ php-src/ext/sqlite3/sqlite3.c Tue Mar 17 02:42:41 2009 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: sqlite3.c,v 1.36 2009/02/18 20:07:55 iliaa Exp $ */ +/* $Id: sqlite3.c,v 1.37 2009/03/17 02:42:41 scottmac Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -281,6 +281,7 @@ } /* }}} */ +#ifndef SQLITE_OMIT_LOAD_EXTENSION /* {{{ proto bool SQLite3::loadExtension(String Shared Library) Attempts to load an SQLite extension library */ PHP_METHOD(sqlite3, loadExtension) @@ -343,6 +344,7 @@ RETURN_TRUE; } /* }}} */ +#endif /* {{{ proto int SQLite3::changes() U Returns the number of database rows that were changed (or inserted or deleted) by the most recent SQL statement. */ @@ -1636,9 +1638,11 @@ ZEND_ARG_INFO(0, encryption_key) ZEND_END_ARG_INFO() +#ifndef SQLITE_OMIT_LOAD_EXTENSION ZEND_BEGIN_ARG_INFO(arginfo_sqlite3_loadextension, 0) ZEND_ARG_INFO(0, shared_library) ZEND_END_ARG_INFO() +#endif ZEND_BEGIN_ARG_INFO_EX(arginfo_sqlite3_escapestring, 0, 0, 1) ZEND_ARG_INFO(0, value) @@ -1717,7 +1721,9 @@ PHP_ME(sqlite3, lastInsertRowID, arginfo_sqlite3_void, ZEND_ACC_PUBLIC) PHP_ME(sqlite3, lastErrorCode, arginfo_sqlite3_void, ZEND_ACC_PUBLIC) PHP_ME(sqlite3, lastErrorMsg, arginfo_sqlite3_void, ZEND_ACC_PUBLIC) +#ifndef SQLITE_OMIT_LOAD_EXTENSION PHP_ME(sqlite3, loadExtension, arginfo_sqlite3_loadextension, ZEND_ACC_PUBLIC) +#endif PHP_ME(sqlite3, changes, arginfo_sqlite3_void, ZEND_ACC_PUBLIC) PHP_ME(sqlite3, escapeString, arginfo_sqlite3_escapestring, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) PHP_ME(sqlite3, prepare, arginfo_sqlite3_query, ZEND_ACC_PUBLIC) http://cvs.php.net/viewvc.cgi/php-src/ext/sqlite3/tests/sqlite3_22_loadextension.phpt?r1=1.3&r2=1.4&diff_format=u Index: php-src/ext/sqlite3/tests/sqlite3_22_loadextension.phpt diff -u php-src/ext/sqlite3/tests/sqlite3_22_loadextension.phpt:1.3 php-src/ext/sqlite3/tests/sqlite3_22_loadextension.phpt:1.4 --- php-src/ext/sqlite3/tests/sqlite3_22_loadextension.phpt:1.3 Wed Aug 6 14:07:20 2008 +++ php-src/ext/sqlite3/tests/sqlite3_22_loadextension.phpt Tue Mar 17 02:42:41 2009 @@ -1,7 +1,13 @@ --TEST-- SQLite3 load extension --SKIPIF-- -<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?> +<?php +require_once(dirname(__FILE__) . '/skipif.inc'); +$r = new ReflectionClass("sqlite3"); +if (!$r->hasMethod("loadExtension")) { + die("skip - sqlite3 doesn't have loadExtension enabled"); +} +?> --INI-- open_basedir=. sqlite3.extension_dir=.
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php