]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
All interfaces working and tested.
authordrh <drh@noemail.net>
Thu, 11 Sep 2014 15:25:02 +0000 (15:25 +0000)
committerdrh <drh@noemail.net>
Thu, 11 Sep 2014 15:25:02 +0000 (15:25 +0000)
FossilOrigin-Name: 96ea5c0b3cd1dec81d490f2f958ebd2e47a24921

manifest
manifest.uuid
src/attach.c
test/userauth01.test

index f5797939b4b0d11f0eb88f6314043ccb2ac77746..f6d0875475859e8c28f8ef146c46b5772c0bf51f 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Get\sthe\ssqlite3_user_delete()\sinterface\sworking.
-D 2014-09-11T14:56:45.837
+C All\sinterfaces\sworking\sand\stested.
+D 2014-09-11T15:25:02.114
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in cf57f673d77606ab0f2d9627ca52a9ba1464146a
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -166,7 +166,7 @@ F sqlite3.1 3d8b83c91651f53472ca17599dae3457b8b89494
 F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
 F src/alter.c ba266a779bc7ce10e52e59e7d3dc79fa342e8fdb
 F src/analyze.c 79383a54fee3b7f1fb03dd4c8c8115583f506de5
-F src/attach.c cc9b30041dfcd24be0a47986c87c384515c54449
+F src/attach.c f4e94df2d1826feda65eb0939f7f6f5f923a0ad9
 F src/auth.c d8abcde53426275dab6243b441256fcd8ccbebb2
 F src/backup.c a31809c65623cc41849b94d368917f8bb66e6a7e
 F src/bitvec.c 19a4ba637bd85f8f63fc8c9bae5ade9fb05ec1cb
@@ -1057,7 +1057,7 @@ F test/unixexcl.test cd6c765f75e50e8e2c2ba763149e5d340ea19825
 F test/unordered.test ca7adce0419e4ca0c50f039885e76ed2c531eda8
 F test/update.test 1b6c488a8f993d090b7ee9ad0e234faa161b3aeb
 F test/uri.test 23662b7b61958b0f0e47082de7d06341ccf85d5b
-F test/userauth01.test 77f6762fd30e09a70c08ae1734fc63cc1e2f214a
+F test/userauth01.test de260ba56ca288e36f10fc86cdd6e30be0c96edb
 F test/utf16align.test 54cd35a27c005a9b6e7815d887718780b6a462ae
 F test/vacuum.test ce91c39f7f91a4273bf620efad21086b5aa6ef1d
 F test/vacuum2.test af432e6e3bfc0ea20a80cb86a03c7d9876d38324
@@ -1197,7 +1197,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 52d440c7e1b07fc03f14ed5fa4cc4c89a75cd430
-R f24750ae4706249df9137bdaab459848
+P 974a9c65583f7ab438d5673dc00c347ab8322855
+R 1b82e61677dc0f31739c2e6eefc2d964
 U drh
-Z 7444bd078e3d35d0ed86c3e87803a00a
+Z fb0835cb3153cdbefaf30b784736228d
index d912814cf20be0df3fababf2f5c2c4543a5ca3af..adf124ebafa50b934efe9f90e1c1a972cc7ec467 100644 (file)
@@ -1 +1 @@
-974a9c65583f7ab438d5673dc00c347ab8322855
\ No newline at end of file
+96ea5c0b3cd1dec81d490f2f958ebd2e47a24921
\ No newline at end of file
index 5763e631ad88c110db91a8de3146d2abfd2de020..cf52bb24b126f84efde80f77f51c8fcaeaa992b7 100644 (file)
@@ -212,7 +212,7 @@ static void attachFunc(
     u8 newAuth = 0;
     rc = sqlite3UserAuthCheckLogin(db, zName, &newAuth);
     if( newAuth<db->auth.authLevel ){
-      rc = SQLITE_AUTH;
+      rc = SQLITE_AUTH_USER;
     }
   }
 #endif
index a914ea07ca8036979dad20d8c5a87ccdfb236319..a4621dc72f478a287e89e2ada13fdcdf74402b01 100644 (file)
@@ -201,5 +201,41 @@ do_test userauth01-1.51 {
   db eval {SELECT uname, isadmin FROM sqlite_user ORDER BY uname}
 } {alice 1 cindy 0 david 0}
 
+# When ATTACH-ing new database files to a connection, each newly attached
+# database that is an authentication-required database is checked using
+# the same username and password as supplied to the main database.  If that
+# check fails, then the ATTACH command fails with an SQLITE_AUTH error.
+#
+do_test userauth01-1.60 {
+  forcedelete test3.db
+  sqlite3 db3 test3.db
+  db3 eval {
+    CREATE TABLE t3(a,b,c); INSERT INTO t3 VALUES(1,2,3);
+    SELECT * FROM t3;
+  }
+} {1 2 3}
+do_test userauth01-1.61 {
+  sqlite3_user_add db3 alice xyzzy-alice 1
+} {SQLITE_OK}
+do_test userauth01-1.62 {
+  db eval {
+    ATTACH 'test3.db' AS aux;
+    SELECT * FROM t1, t3 ORDER BY x LIMIT 1;
+    DETACH aux;
+  }
+} {{} 1 2 3}
+do_test userauth01-1.63 {
+  sqlite3_user_change db alice pw-4-alice 1
+  sqlite3_user_authenticate db alice pw-4-alice
+  catchsql {
+    ATTACH 'test3.db' AS aux;
+  }
+} {1 {unable to open database: test3.db}}
+do_test userauth01-1.64 {
+  sqlite3_extended_errcode db
+} {SQLITE_AUTH}
+do_test userauth01-1.65 {
+  db eval {PRAGMA database_list}
+} {~/test3.db/}
 
 finish_test