| | @@ -204,11 +204,11 @@ |
| 204 | 204 | } |
| 205 | 205 | |
| 206 | 206 | /* Check the login cookie to see if it matches a known valid user. |
| 207 | 207 | */ |
| 208 | 208 | if( uid==0 ){ |
| 209 | | - if( (zCookie = P(login_cookie_name()))!=0 ){ |
| 209 | + if( (zCookie = P(login_cookie_name()))!=0 && strlen(zCookie)>0 ){ |
| 210 | 210 | uid = db_int(0, |
| 211 | 211 | "SELECT uid FROM user" |
| 212 | 212 | " WHERE uid=%d" |
| 213 | 213 | " AND cookie=%Q" |
| 214 | 214 | " AND ipaddr=%Q" |
| | @@ -215,22 +215,24 @@ |
| 215 | 215 | " AND cexpire>julianday('now')", |
| 216 | 216 | atoi(zCookie), zCookie, zRemoteAddr |
| 217 | 217 | ); |
| 218 | 218 | }else{ |
| 219 | 219 | uid = db_int(0, "SELECT uid FROM user WHERE login='anonymous'"); |
| 220 | + g.isAnon = 1; |
| 221 | + g.zLogin = ""; |
| 220 | 222 | } |
| 221 | 223 | } |
| 222 | 224 | |
| 223 | 225 | if( uid==0 ){ |
| 224 | | - g.isAnon = 1; |
| 225 | | - g.zLogin = ""; |
| 226 | | - zCap = db_get("nologin-cap","onrj"); |
| 226 | + zCap = db_get("nologin-cap",""); |
| 227 | 227 | }else if( zCap==0 ){ |
| 228 | 228 | Stmt s; |
| 229 | 229 | db_prepare(&s, "SELECT login, cap FROM user WHERE uid=%d", uid); |
| 230 | 230 | db_step(&s); |
| 231 | | - g.zLogin = db_column_malloc(&s, 0); |
| 231 | + if( !g.isAnon ){ |
| 232 | + g.zLogin = db_column_malloc(&s, 0); |
| 233 | + } |
| 232 | 234 | zCap = db_column_malloc(&s, 1); |
| 233 | 235 | g.isAnon = 0; |
| 234 | 236 | db_finalize(&s); |
| 235 | 237 | } |
| 236 | 238 | g.userUid = uid; |
| 237 | 239 | |