Fossil SCM
Fix password handling as in trunk.
Commit
384a6b3dba353c5e4facb1803dc61fa24fba21a4
Parent
3d63f560393c43a…
2 files changed
+3
-3
+2
-2
+3
-3
| --- src/url.c | ||
| +++ src/url.c | ||
| @@ -250,14 +250,14 @@ | ||
| 250 | 250 | pUrlData->path = ""; |
| 251 | 251 | pUrlData->name = mprintf("%b", &cfile); |
| 252 | 252 | pUrlData->canonical = mprintf("file://%T", pUrlData->name); |
| 253 | 253 | blob_reset(&cfile); |
| 254 | 254 | }else if( pUrlData->user!=0 && pUrlData->passwd==0 && (urlFlags & URL_PROMPT_PW) ){ |
| 255 | - url_prompt_for_password(); | |
| 255 | + url_prompt_for_password_local(pUrlData); | |
| 256 | 256 | }else if( pUrlData->user!=0 && ( urlFlags & URL_ASK_REMEMBER_PW ) ){ |
| 257 | 257 | if( isatty(fileno(stdin)) ){ |
| 258 | - if( save_password_prompt() ){ | |
| 258 | + if( save_password_prompt(pUrlData->passwd) ){ | |
| 259 | 259 | pUrlData->flags = urlFlags |= URL_REMEMBER_PW; |
| 260 | 260 | }else{ |
| 261 | 261 | pUrlData->flags = urlFlags &= ~URL_REMEMBER_PW; |
| 262 | 262 | } |
| 263 | 263 | } |
| @@ -503,11 +503,11 @@ | ||
| 503 | 503 | pUrlData->flags |= URL_PROMPTED; |
| 504 | 504 | pUrlData->passwd = prompt_for_user_password(pUrlData->user); |
| 505 | 505 | if( pUrlData->passwd[0] |
| 506 | 506 | && (pUrlData->flags & (URL_REMEMBER|URL_ASK_REMEMBER_PW))!=0 |
| 507 | 507 | ){ |
| 508 | - if( save_password_prompt() ){ | |
| 508 | + if( save_password_prompt(pUrlData->passwd) ){ | |
| 509 | 509 | pUrlData->flags |= URL_REMEMBER_PW; |
| 510 | 510 | }else{ |
| 511 | 511 | pUrlData->flags &= ~URL_REMEMBER_PW; |
| 512 | 512 | } |
| 513 | 513 | } |
| 514 | 514 |
| --- src/url.c | |
| +++ src/url.c | |
| @@ -250,14 +250,14 @@ | |
| 250 | pUrlData->path = ""; |
| 251 | pUrlData->name = mprintf("%b", &cfile); |
| 252 | pUrlData->canonical = mprintf("file://%T", pUrlData->name); |
| 253 | blob_reset(&cfile); |
| 254 | }else if( pUrlData->user!=0 && pUrlData->passwd==0 && (urlFlags & URL_PROMPT_PW) ){ |
| 255 | url_prompt_for_password(); |
| 256 | }else if( pUrlData->user!=0 && ( urlFlags & URL_ASK_REMEMBER_PW ) ){ |
| 257 | if( isatty(fileno(stdin)) ){ |
| 258 | if( save_password_prompt() ){ |
| 259 | pUrlData->flags = urlFlags |= URL_REMEMBER_PW; |
| 260 | }else{ |
| 261 | pUrlData->flags = urlFlags &= ~URL_REMEMBER_PW; |
| 262 | } |
| 263 | } |
| @@ -503,11 +503,11 @@ | |
| 503 | pUrlData->flags |= URL_PROMPTED; |
| 504 | pUrlData->passwd = prompt_for_user_password(pUrlData->user); |
| 505 | if( pUrlData->passwd[0] |
| 506 | && (pUrlData->flags & (URL_REMEMBER|URL_ASK_REMEMBER_PW))!=0 |
| 507 | ){ |
| 508 | if( save_password_prompt() ){ |
| 509 | pUrlData->flags |= URL_REMEMBER_PW; |
| 510 | }else{ |
| 511 | pUrlData->flags &= ~URL_REMEMBER_PW; |
| 512 | } |
| 513 | } |
| 514 |
| --- src/url.c | |
| +++ src/url.c | |
| @@ -250,14 +250,14 @@ | |
| 250 | pUrlData->path = ""; |
| 251 | pUrlData->name = mprintf("%b", &cfile); |
| 252 | pUrlData->canonical = mprintf("file://%T", pUrlData->name); |
| 253 | blob_reset(&cfile); |
| 254 | }else if( pUrlData->user!=0 && pUrlData->passwd==0 && (urlFlags & URL_PROMPT_PW) ){ |
| 255 | url_prompt_for_password_local(pUrlData); |
| 256 | }else if( pUrlData->user!=0 && ( urlFlags & URL_ASK_REMEMBER_PW ) ){ |
| 257 | if( isatty(fileno(stdin)) ){ |
| 258 | if( save_password_prompt(pUrlData->passwd) ){ |
| 259 | pUrlData->flags = urlFlags |= URL_REMEMBER_PW; |
| 260 | }else{ |
| 261 | pUrlData->flags = urlFlags &= ~URL_REMEMBER_PW; |
| 262 | } |
| 263 | } |
| @@ -503,11 +503,11 @@ | |
| 503 | pUrlData->flags |= URL_PROMPTED; |
| 504 | pUrlData->passwd = prompt_for_user_password(pUrlData->user); |
| 505 | if( pUrlData->passwd[0] |
| 506 | && (pUrlData->flags & (URL_REMEMBER|URL_ASK_REMEMBER_PW))!=0 |
| 507 | ){ |
| 508 | if( save_password_prompt(pUrlData->passwd) ){ |
| 509 | pUrlData->flags |= URL_REMEMBER_PW; |
| 510 | }else{ |
| 511 | pUrlData->flags &= ~URL_REMEMBER_PW; |
| 512 | } |
| 513 | } |
| 514 |
+2
-2
| --- src/user.c | ||
| +++ src/user.c | ||
| @@ -132,15 +132,15 @@ | ||
| 132 | 132 | } |
| 133 | 133 | |
| 134 | 134 | /* |
| 135 | 135 | ** Prompt to save Fossil user password |
| 136 | 136 | */ |
| 137 | -int save_password_prompt(){ | |
| 137 | +int save_password_prompt(const char *passwd){ | |
| 138 | 138 | Blob x; |
| 139 | 139 | char c; |
| 140 | 140 | const char *old = db_get("last-sync-pw", 0); |
| 141 | - if( (old!=0) && fossil_strcmp(unobscure(old), g.urlPasswd)==0 ){ | |
| 141 | + if( (old!=0) && fossil_strcmp(unobscure(old), passwd)==0 ){ | |
| 142 | 142 | return 0; |
| 143 | 143 | } |
| 144 | 144 | prompt_user("remember password (Y/n)? ", &x); |
| 145 | 145 | c = blob_str(&x)[0]; |
| 146 | 146 | blob_reset(&x); |
| 147 | 147 |
| --- src/user.c | |
| +++ src/user.c | |
| @@ -132,15 +132,15 @@ | |
| 132 | } |
| 133 | |
| 134 | /* |
| 135 | ** Prompt to save Fossil user password |
| 136 | */ |
| 137 | int save_password_prompt(){ |
| 138 | Blob x; |
| 139 | char c; |
| 140 | const char *old = db_get("last-sync-pw", 0); |
| 141 | if( (old!=0) && fossil_strcmp(unobscure(old), g.urlPasswd)==0 ){ |
| 142 | return 0; |
| 143 | } |
| 144 | prompt_user("remember password (Y/n)? ", &x); |
| 145 | c = blob_str(&x)[0]; |
| 146 | blob_reset(&x); |
| 147 |
| --- src/user.c | |
| +++ src/user.c | |
| @@ -132,15 +132,15 @@ | |
| 132 | } |
| 133 | |
| 134 | /* |
| 135 | ** Prompt to save Fossil user password |
| 136 | */ |
| 137 | int save_password_prompt(const char *passwd){ |
| 138 | Blob x; |
| 139 | char c; |
| 140 | const char *old = db_get("last-sync-pw", 0); |
| 141 | if( (old!=0) && fossil_strcmp(unobscure(old), passwd)==0 ){ |
| 142 | return 0; |
| 143 | } |
| 144 | prompt_user("remember password (Y/n)? ", &x); |
| 145 | c = blob_str(&x)[0]; |
| 146 | blob_reset(&x); |
| 147 |