Fossil SCM
Add some debugging 'message' cards to help trace how the remote is handling the login.
Commit
21be2978af0b359daba607c05cc46dcefad3035538001fd337a8e3f579574e70
Parent
459d0cbbc777f0d…
2 files changed
-1
+9
-2
-1
| --- src/http.c | ||
| +++ src/http.c | ||
| @@ -465,11 +465,10 @@ | ||
| 465 | 465 | |
| 466 | 466 | if( transport_open(&g.url) ){ |
| 467 | 467 | fossil_warning("%s", transport_errmsg(&g.url)); |
| 468 | 468 | return 1; |
| 469 | 469 | } |
| 470 | - | |
| 471 | 470 | /* Construct the login card and prepare the complete payload */ |
| 472 | 471 | blob_zero(&login); |
| 473 | 472 | if( blob_size(pSend)==0 ){ |
| 474 | 473 | blob_zero(&payload); |
| 475 | 474 | }else{ |
| 476 | 475 |
| --- src/http.c | |
| +++ src/http.c | |
| @@ -465,11 +465,10 @@ | |
| 465 | |
| 466 | if( transport_open(&g.url) ){ |
| 467 | fossil_warning("%s", transport_errmsg(&g.url)); |
| 468 | return 1; |
| 469 | } |
| 470 | |
| 471 | /* Construct the login card and prepare the complete payload */ |
| 472 | blob_zero(&login); |
| 473 | if( blob_size(pSend)==0 ){ |
| 474 | blob_zero(&payload); |
| 475 | }else{ |
| 476 |
| --- src/http.c | |
| +++ src/http.c | |
| @@ -465,11 +465,10 @@ | |
| 465 | |
| 466 | if( transport_open(&g.url) ){ |
| 467 | fossil_warning("%s", transport_errmsg(&g.url)); |
| 468 | return 1; |
| 469 | } |
| 470 | /* Construct the login card and prepare the complete payload */ |
| 471 | blob_zero(&login); |
| 472 | if( blob_size(pSend)==0 ){ |
| 473 | blob_zero(&payload); |
| 474 | }else{ |
| 475 |
+9
-2
| --- src/xfer.c | ||
| +++ src/xfer.c | ||
| @@ -879,10 +879,13 @@ | ||
| 879 | 879 | zCap = db_column_text(&q, 1); |
| 880 | 880 | login_set_capabilities(zCap, 0); |
| 881 | 881 | g.userUid = db_column_int(&q, 2); |
| 882 | 882 | g.zLogin = mprintf("%b", pLogin); |
| 883 | 883 | g.zNonce = mprintf("%b", pNonce); |
| 884 | + if( g.perm.Debug ){ | |
| 885 | + @ message g.zLogin=%F(g.zLogin)\szCap=%F(zCap) | |
| 886 | + } | |
| 884 | 887 | } |
| 885 | 888 | } |
| 886 | 889 | db_finalize(&q); |
| 887 | 890 | return rc; |
| 888 | 891 | } |
| @@ -1326,10 +1329,11 @@ | ||
| 1326 | 1329 | count(xfer.aToken)); |
| 1327 | 1330 | fossil_free( g.syncInfo.zLoginCard ); |
| 1328 | 1331 | g.syncInfo.zLoginCard = 0; |
| 1329 | 1332 | if( xfer.nToken==4 |
| 1330 | 1333 | && blob_eq(&xfer.aToken[0], "login") ){ |
| 1334 | + @ message got\slogin\scard\sheader | |
| 1331 | 1335 | goto handle_login_card; |
| 1332 | 1336 | } |
| 1333 | 1337 | } |
| 1334 | 1338 | while( blob_line(xfer.pIn, &xfer.line) ){ |
| 1335 | 1339 | if( blob_buffer(&xfer.line)[0]=='#' ) continue; |
| @@ -1574,10 +1578,14 @@ | ||
| 1574 | 1578 | */ |
| 1575 | 1579 | if( blob_eq(&xfer.aToken[0], "login") |
| 1576 | 1580 | && xfer.nToken==4 |
| 1577 | 1581 | ){ |
| 1578 | 1582 | handle_login_card: |
| 1583 | + //fprintf(stderr, "%s:%d trying to log in: %s\n", __FILE__, __LINE__, blob_str(&xfer.line)); | |
| 1584 | + if( 1 || g.perm.Debug ){ | |
| 1585 | + @message inbound\slogin\scard:\s%F(blob_str(&xfer.line)) | |
| 1586 | + } | |
| 1579 | 1587 | nLogin++; |
| 1580 | 1588 | if( disableLogin ){ |
| 1581 | 1589 | g.perm.Read = g.perm.Write = g.perm.Private = g.perm.Admin = 1; |
| 1582 | 1590 | }else if( nLogin > 1 ){ |
| 1583 | 1591 | cgi_reset_content(); |
| @@ -2368,11 +2376,10 @@ | ||
| 2368 | 2376 | blob_appendf(&send, "pragma ci-lock %s %s\n", zCkinLock, zClientId); |
| 2369 | 2377 | zCkinLock = 0; |
| 2370 | 2378 | }else if( zClientId ){ |
| 2371 | 2379 | blob_appendf(&send, "pragma ci-unlock %s\n", zClientId); |
| 2372 | 2380 | } |
| 2373 | - | |
| 2374 | 2381 | /* Append randomness to the end of the uplink message. This makes all |
| 2375 | 2382 | ** messages unique so that that the login-card nonce will always |
| 2376 | 2383 | ** be unique. |
| 2377 | 2384 | */ |
| 2378 | 2385 | zRandomness = db_text(0, "SELECT hex(randomblob(20))"); |
| @@ -2925,11 +2932,11 @@ | ||
| 2925 | 2932 | &recv |
| 2926 | 2933 | ); |
| 2927 | 2934 | nErr++; |
| 2928 | 2935 | break; |
| 2929 | 2936 | } |
| 2930 | - blob_appendf(&xfer.err, "unknown command: [%b]\n", &xfer.aToken[0]); | |
| 2937 | + blob_appendf(&xfer.err, "unknown command: [%b]\n", &xfer.line); | |
| 2931 | 2938 | } |
| 2932 | 2939 | |
| 2933 | 2940 | if( blob_size(&xfer.err) ){ |
| 2934 | 2941 | fossil_force_newline(); |
| 2935 | 2942 | fossil_warning("%b", &xfer.err); |
| 2936 | 2943 |
| --- src/xfer.c | |
| +++ src/xfer.c | |
| @@ -879,10 +879,13 @@ | |
| 879 | zCap = db_column_text(&q, 1); |
| 880 | login_set_capabilities(zCap, 0); |
| 881 | g.userUid = db_column_int(&q, 2); |
| 882 | g.zLogin = mprintf("%b", pLogin); |
| 883 | g.zNonce = mprintf("%b", pNonce); |
| 884 | } |
| 885 | } |
| 886 | db_finalize(&q); |
| 887 | return rc; |
| 888 | } |
| @@ -1326,10 +1329,11 @@ | |
| 1326 | count(xfer.aToken)); |
| 1327 | fossil_free( g.syncInfo.zLoginCard ); |
| 1328 | g.syncInfo.zLoginCard = 0; |
| 1329 | if( xfer.nToken==4 |
| 1330 | && blob_eq(&xfer.aToken[0], "login") ){ |
| 1331 | goto handle_login_card; |
| 1332 | } |
| 1333 | } |
| 1334 | while( blob_line(xfer.pIn, &xfer.line) ){ |
| 1335 | if( blob_buffer(&xfer.line)[0]=='#' ) continue; |
| @@ -1574,10 +1578,14 @@ | |
| 1574 | */ |
| 1575 | if( blob_eq(&xfer.aToken[0], "login") |
| 1576 | && xfer.nToken==4 |
| 1577 | ){ |
| 1578 | handle_login_card: |
| 1579 | nLogin++; |
| 1580 | if( disableLogin ){ |
| 1581 | g.perm.Read = g.perm.Write = g.perm.Private = g.perm.Admin = 1; |
| 1582 | }else if( nLogin > 1 ){ |
| 1583 | cgi_reset_content(); |
| @@ -2368,11 +2376,10 @@ | |
| 2368 | blob_appendf(&send, "pragma ci-lock %s %s\n", zCkinLock, zClientId); |
| 2369 | zCkinLock = 0; |
| 2370 | }else if( zClientId ){ |
| 2371 | blob_appendf(&send, "pragma ci-unlock %s\n", zClientId); |
| 2372 | } |
| 2373 | |
| 2374 | /* Append randomness to the end of the uplink message. This makes all |
| 2375 | ** messages unique so that that the login-card nonce will always |
| 2376 | ** be unique. |
| 2377 | */ |
| 2378 | zRandomness = db_text(0, "SELECT hex(randomblob(20))"); |
| @@ -2925,11 +2932,11 @@ | |
| 2925 | &recv |
| 2926 | ); |
| 2927 | nErr++; |
| 2928 | break; |
| 2929 | } |
| 2930 | blob_appendf(&xfer.err, "unknown command: [%b]\n", &xfer.aToken[0]); |
| 2931 | } |
| 2932 | |
| 2933 | if( blob_size(&xfer.err) ){ |
| 2934 | fossil_force_newline(); |
| 2935 | fossil_warning("%b", &xfer.err); |
| 2936 |
| --- src/xfer.c | |
| +++ src/xfer.c | |
| @@ -879,10 +879,13 @@ | |
| 879 | zCap = db_column_text(&q, 1); |
| 880 | login_set_capabilities(zCap, 0); |
| 881 | g.userUid = db_column_int(&q, 2); |
| 882 | g.zLogin = mprintf("%b", pLogin); |
| 883 | g.zNonce = mprintf("%b", pNonce); |
| 884 | if( g.perm.Debug ){ |
| 885 | @ message g.zLogin=%F(g.zLogin)\szCap=%F(zCap) |
| 886 | } |
| 887 | } |
| 888 | } |
| 889 | db_finalize(&q); |
| 890 | return rc; |
| 891 | } |
| @@ -1326,10 +1329,11 @@ | |
| 1329 | count(xfer.aToken)); |
| 1330 | fossil_free( g.syncInfo.zLoginCard ); |
| 1331 | g.syncInfo.zLoginCard = 0; |
| 1332 | if( xfer.nToken==4 |
| 1333 | && blob_eq(&xfer.aToken[0], "login") ){ |
| 1334 | @ message got\slogin\scard\sheader |
| 1335 | goto handle_login_card; |
| 1336 | } |
| 1337 | } |
| 1338 | while( blob_line(xfer.pIn, &xfer.line) ){ |
| 1339 | if( blob_buffer(&xfer.line)[0]=='#' ) continue; |
| @@ -1574,10 +1578,14 @@ | |
| 1578 | */ |
| 1579 | if( blob_eq(&xfer.aToken[0], "login") |
| 1580 | && xfer.nToken==4 |
| 1581 | ){ |
| 1582 | handle_login_card: |
| 1583 | //fprintf(stderr, "%s:%d trying to log in: %s\n", __FILE__, __LINE__, blob_str(&xfer.line)); |
| 1584 | if( 1 || g.perm.Debug ){ |
| 1585 | @message inbound\slogin\scard:\s%F(blob_str(&xfer.line)) |
| 1586 | } |
| 1587 | nLogin++; |
| 1588 | if( disableLogin ){ |
| 1589 | g.perm.Read = g.perm.Write = g.perm.Private = g.perm.Admin = 1; |
| 1590 | }else if( nLogin > 1 ){ |
| 1591 | cgi_reset_content(); |
| @@ -2368,11 +2376,10 @@ | |
| 2376 | blob_appendf(&send, "pragma ci-lock %s %s\n", zCkinLock, zClientId); |
| 2377 | zCkinLock = 0; |
| 2378 | }else if( zClientId ){ |
| 2379 | blob_appendf(&send, "pragma ci-unlock %s\n", zClientId); |
| 2380 | } |
| 2381 | /* Append randomness to the end of the uplink message. This makes all |
| 2382 | ** messages unique so that that the login-card nonce will always |
| 2383 | ** be unique. |
| 2384 | */ |
| 2385 | zRandomness = db_text(0, "SELECT hex(randomblob(20))"); |
| @@ -2925,11 +2932,11 @@ | |
| 2932 | &recv |
| 2933 | ); |
| 2934 | nErr++; |
| 2935 | break; |
| 2936 | } |
| 2937 | blob_appendf(&xfer.err, "unknown command: [%b]\n", &xfer.line); |
| 2938 | } |
| 2939 | |
| 2940 | if( blob_size(&xfer.err) ){ |
| 2941 | fossil_force_newline(); |
| 2942 | fossil_warning("%b", &xfer.err); |
| 2943 |