Fossil SCM
The previous checkin left me unable to push because (of course) the remote trunk doesn't know how to use the login card header. This checkin disables, via a macro toggle, the use of that header on outbound sync requests.
Commit
cb42278d84dc871e3ef92b09baef75195dce230cac8b7403ca3bc8d4247c9740
Parent
ff942066d5bb2ce…
1 file changed
+11
-9
+11
-9
| --- src/http.c | ||
| +++ src/http.c | ||
| @@ -463,45 +463,47 @@ | ||
| 463 | 463 | fossil_warning("%s", transport_errmsg(&g.url)); |
| 464 | 464 | return 1; |
| 465 | 465 | } |
| 466 | 466 | |
| 467 | 467 | /* Construct the login card and prepare the complete payload */ |
| 468 | + blob_zero(&login); | |
| 468 | 469 | if( blob_size(pSend)==0 ){ |
| 469 | - blob_zero(&login); | |
| 470 | 470 | blob_zero(&payload); |
| 471 | 471 | }else{ |
| 472 | - blob_zero(&login); | |
| 473 | 472 | if( mHttpFlags & HTTP_USE_LOGIN ) http_build_login_card(pSend, &login); |
| 474 | -#if RELEASE_VERSION_NUMBER >= 22701 | |
| 473 | +#define TEST_LOGIN_HEADER 0 /* temporary dev/test/debug crutch */ | |
| 474 | +#if TEST_LOGIN_HEADER | |
| 475 | 475 | if( g.fHttpTrace || (mHttpFlags & HTTP_NOCOMPRESS)!=0 ){ |
| 476 | 476 | /*blob_append(&payload, blob_buffer(pSend), blob_size(pSend));*/ |
| 477 | 477 | blob_zero(&payload); |
| 478 | 478 | blob_swap(pSend, &payload); |
| 479 | 479 | }else{ |
| 480 | 480 | blob_compress(pSend, &payload); |
| 481 | 481 | } |
| 482 | 482 | #else |
| 483 | + if( blob_size(&login) ){ | |
| 484 | + blob_append_char(&login, '\n'); | |
| 485 | + } | |
| 483 | 486 | if( g.fHttpTrace || (mHttpFlags & HTTP_NOCOMPRESS)!=0 ){ |
| 484 | - if( blob_size(&login) ){ | |
| 485 | - blob_append_char(&login, '\n'); | |
| 486 | - } | |
| 487 | 487 | payload = login; |
| 488 | + login = empty_blob/*transfer ownership*/; | |
| 488 | 489 | blob_append(&payload, blob_buffer(pSend), blob_size(pSend)); |
| 489 | 490 | }else{ |
| 490 | - if( blob_size(&login) ){ | |
| 491 | - blob_append_char(&login, '\n'); | |
| 492 | - } | |
| 493 | 491 | blob_compress2(&login, pSend, &payload); |
| 494 | 492 | blob_reset(&login); |
| 495 | 493 | } |
| 496 | 494 | #endif |
| 497 | 495 | } |
| 498 | 496 | |
| 499 | 497 | /* Construct the HTTP request header */ |
| 498 | +#if !TEST_LOGIN_HEADER | |
| 499 | + http_build_header(0, &payload, &hdr, zAltMimetype); | |
| 500 | +#else | |
| 500 | 501 | http_build_header(blob_size(&login) ? &login : 0, |
| 501 | 502 | &payload, &hdr, zAltMimetype); |
| 502 | 503 | blob_reset(&login); |
| 504 | +#endif | |
| 503 | 505 | |
| 504 | 506 | /* When tracing, write the transmitted HTTP message both to standard |
| 505 | 507 | ** output and into a file. The file can then be used to drive the |
| 506 | 508 | ** server-side like this: |
| 507 | 509 | ** |
| 508 | 510 |
| --- src/http.c | |
| +++ src/http.c | |
| @@ -463,45 +463,47 @@ | |
| 463 | fossil_warning("%s", transport_errmsg(&g.url)); |
| 464 | return 1; |
| 465 | } |
| 466 | |
| 467 | /* Construct the login card and prepare the complete payload */ |
| 468 | if( blob_size(pSend)==0 ){ |
| 469 | blob_zero(&login); |
| 470 | blob_zero(&payload); |
| 471 | }else{ |
| 472 | blob_zero(&login); |
| 473 | if( mHttpFlags & HTTP_USE_LOGIN ) http_build_login_card(pSend, &login); |
| 474 | #if RELEASE_VERSION_NUMBER >= 22701 |
| 475 | if( g.fHttpTrace || (mHttpFlags & HTTP_NOCOMPRESS)!=0 ){ |
| 476 | /*blob_append(&payload, blob_buffer(pSend), blob_size(pSend));*/ |
| 477 | blob_zero(&payload); |
| 478 | blob_swap(pSend, &payload); |
| 479 | }else{ |
| 480 | blob_compress(pSend, &payload); |
| 481 | } |
| 482 | #else |
| 483 | if( g.fHttpTrace || (mHttpFlags & HTTP_NOCOMPRESS)!=0 ){ |
| 484 | if( blob_size(&login) ){ |
| 485 | blob_append_char(&login, '\n'); |
| 486 | } |
| 487 | payload = login; |
| 488 | blob_append(&payload, blob_buffer(pSend), blob_size(pSend)); |
| 489 | }else{ |
| 490 | if( blob_size(&login) ){ |
| 491 | blob_append_char(&login, '\n'); |
| 492 | } |
| 493 | blob_compress2(&login, pSend, &payload); |
| 494 | blob_reset(&login); |
| 495 | } |
| 496 | #endif |
| 497 | } |
| 498 | |
| 499 | /* Construct the HTTP request header */ |
| 500 | http_build_header(blob_size(&login) ? &login : 0, |
| 501 | &payload, &hdr, zAltMimetype); |
| 502 | blob_reset(&login); |
| 503 | |
| 504 | /* When tracing, write the transmitted HTTP message both to standard |
| 505 | ** output and into a file. The file can then be used to drive the |
| 506 | ** server-side like this: |
| 507 | ** |
| 508 |
| --- src/http.c | |
| +++ src/http.c | |
| @@ -463,45 +463,47 @@ | |
| 463 | fossil_warning("%s", transport_errmsg(&g.url)); |
| 464 | return 1; |
| 465 | } |
| 466 | |
| 467 | /* Construct the login card and prepare the complete payload */ |
| 468 | blob_zero(&login); |
| 469 | if( blob_size(pSend)==0 ){ |
| 470 | blob_zero(&payload); |
| 471 | }else{ |
| 472 | if( mHttpFlags & HTTP_USE_LOGIN ) http_build_login_card(pSend, &login); |
| 473 | #define TEST_LOGIN_HEADER 0 /* temporary dev/test/debug crutch */ |
| 474 | #if TEST_LOGIN_HEADER |
| 475 | if( g.fHttpTrace || (mHttpFlags & HTTP_NOCOMPRESS)!=0 ){ |
| 476 | /*blob_append(&payload, blob_buffer(pSend), blob_size(pSend));*/ |
| 477 | blob_zero(&payload); |
| 478 | blob_swap(pSend, &payload); |
| 479 | }else{ |
| 480 | blob_compress(pSend, &payload); |
| 481 | } |
| 482 | #else |
| 483 | if( blob_size(&login) ){ |
| 484 | blob_append_char(&login, '\n'); |
| 485 | } |
| 486 | if( g.fHttpTrace || (mHttpFlags & HTTP_NOCOMPRESS)!=0 ){ |
| 487 | payload = login; |
| 488 | login = empty_blob/*transfer ownership*/; |
| 489 | blob_append(&payload, blob_buffer(pSend), blob_size(pSend)); |
| 490 | }else{ |
| 491 | blob_compress2(&login, pSend, &payload); |
| 492 | blob_reset(&login); |
| 493 | } |
| 494 | #endif |
| 495 | } |
| 496 | |
| 497 | /* Construct the HTTP request header */ |
| 498 | #if !TEST_LOGIN_HEADER |
| 499 | http_build_header(0, &payload, &hdr, zAltMimetype); |
| 500 | #else |
| 501 | http_build_header(blob_size(&login) ? &login : 0, |
| 502 | &payload, &hdr, zAltMimetype); |
| 503 | blob_reset(&login); |
| 504 | #endif |
| 505 | |
| 506 | /* When tracing, write the transmitted HTTP message both to standard |
| 507 | ** output and into a file. The file can then be used to drive the |
| 508 | ** server-side like this: |
| 509 | ** |
| 510 |