Overview
SHA1 Hash: | e2a42f7a6800408a6327054c889e77eefb1184c8 |
---|---|
Date: | 2008-01-29 01:11:27 |
User: | drh |
Comment: | Error message on "commit" or "user default" if the user does not exist. |
Timelines: | ancestors | descendants | both | trunk |
Other Links: | files | ZIP archive | manifest |
Tags And Properties
- branch=trunk inherited from [a28c83647d]
- sym-trunk inherited from [a28c83647d]
Changes
[hide diffs]Modified src/checkin.c from [5435deb841] to [fe0fcda106].
@@ -364,10 +364,17 @@ if( g.aCommitFile && isAMerge ){ fossil_fatal("cannot do a partial commit of a merge"); } user_select(); + /* + ** Check that the user exists. + */ + if( !db_exists("SELECT 1 FROM user WHERE login=%Q", g.zLogin) ){ + fossil_fatal("no such user: %s", g.zLogin); + } + db_begin_transaction(); rc = unsaved_changes(); if( rc==0 && !isAMerge && !forceFlag ){ fossil_panic("nothing has changed"); }
Modified src/user.c from [fb0522ab92] to [5fc6aec086].
@@ -205,14 +205,19 @@ ); }else if( n>=2 && strncmp(g.argv[2],"default",n)==0 ){ user_select(); if( g.argc==3 ){ printf("%s\n", g.zLogin); - }else if( g.localOpen ){ - db_lset("default-user", g.argv[3]); }else{ - db_set("default-user", g.argv[3], 0); + if( !db_exists("SELECT 1 FROM user WHERE login=%Q", g.argv[3]) ){ + fossil_fatal("no such user: %s", g.argv[3]); + } + if( g.localOpen ){ + db_lset("default-user", g.argv[3]); + }else{ + db_set("default-user", g.argv[3], 0); + } } }else if( n>=2 && strncmp(g.argv[2],"list",n)==0 ){ Stmt q; db_prepare(&q, "SELECT login, info FROM user ORDER BY login"); while( db_step(&q)==SQLITE_ROW ){