Fossil SCM
Fix a bug in the xfer server that prevents it from receiving deltas.
Commit
869534e1823475cfa195479e72cdd3753f9a9b59
Parent
eea381f416beab1…
1 file changed
+4
-1
+4
-1
| --- src/xfer.c | ||
| +++ src/xfer.c | ||
| @@ -188,10 +188,13 @@ | ||
| 188 | 188 | blob_append(pOut, blob_buffer(&delta), size); |
| 189 | 189 | }else{ |
| 190 | 190 | cgi_printf("file %b %b %d\n", &uuid, &srcuuid, size); |
| 191 | 191 | cgi_append_content(blob_buffer(&delta), size); |
| 192 | 192 | } |
| 193 | + blob_reset(&delta); | |
| 194 | + blob_reset(&srcuuid); | |
| 195 | + blob_reset(&uuid); | |
| 193 | 196 | }else{ |
| 194 | 197 | size = blob_size(&content); |
| 195 | 198 | if( pOut ){ |
| 196 | 199 | blob_appendf(pOut, "file %b %d\n", &uuid, size); |
| 197 | 200 | blob_append(pOut, blob_buffer(&content), size); |
| @@ -339,11 +342,11 @@ | ||
| 339 | 342 | /* file UUID SIZE \n CONTENT |
| 340 | 343 | ** file UUID DELTASRC SIZE \n CONTENT |
| 341 | 344 | ** |
| 342 | 345 | ** Accept a file from the client. |
| 343 | 346 | */ |
| 344 | - if( blob_eq(&aToken[0], "file") && nToken>=2 && nToken<=3 ){ | |
| 347 | + if( blob_eq(&aToken[0], "file") && nToken>=3 && nToken<=4 ){ | |
| 345 | 348 | if( !isPush ){ |
| 346 | 349 | cgi_reset_content(); |
| 347 | 350 | @ error not\sauthorized\sto\swrite |
| 348 | 351 | nErr++; |
| 349 | 352 | break; |
| 350 | 353 |
| --- src/xfer.c | |
| +++ src/xfer.c | |
| @@ -188,10 +188,13 @@ | |
| 188 | blob_append(pOut, blob_buffer(&delta), size); |
| 189 | }else{ |
| 190 | cgi_printf("file %b %b %d\n", &uuid, &srcuuid, size); |
| 191 | cgi_append_content(blob_buffer(&delta), size); |
| 192 | } |
| 193 | }else{ |
| 194 | size = blob_size(&content); |
| 195 | if( pOut ){ |
| 196 | blob_appendf(pOut, "file %b %d\n", &uuid, size); |
| 197 | blob_append(pOut, blob_buffer(&content), size); |
| @@ -339,11 +342,11 @@ | |
| 339 | /* file UUID SIZE \n CONTENT |
| 340 | ** file UUID DELTASRC SIZE \n CONTENT |
| 341 | ** |
| 342 | ** Accept a file from the client. |
| 343 | */ |
| 344 | if( blob_eq(&aToken[0], "file") && nToken>=2 && nToken<=3 ){ |
| 345 | if( !isPush ){ |
| 346 | cgi_reset_content(); |
| 347 | @ error not\sauthorized\sto\swrite |
| 348 | nErr++; |
| 349 | break; |
| 350 |
| --- src/xfer.c | |
| +++ src/xfer.c | |
| @@ -188,10 +188,13 @@ | |
| 188 | blob_append(pOut, blob_buffer(&delta), size); |
| 189 | }else{ |
| 190 | cgi_printf("file %b %b %d\n", &uuid, &srcuuid, size); |
| 191 | cgi_append_content(blob_buffer(&delta), size); |
| 192 | } |
| 193 | blob_reset(&delta); |
| 194 | blob_reset(&srcuuid); |
| 195 | blob_reset(&uuid); |
| 196 | }else{ |
| 197 | size = blob_size(&content); |
| 198 | if( pOut ){ |
| 199 | blob_appendf(pOut, "file %b %d\n", &uuid, size); |
| 200 | blob_append(pOut, blob_buffer(&content), size); |
| @@ -339,11 +342,11 @@ | |
| 342 | /* file UUID SIZE \n CONTENT |
| 343 | ** file UUID DELTASRC SIZE \n CONTENT |
| 344 | ** |
| 345 | ** Accept a file from the client. |
| 346 | */ |
| 347 | if( blob_eq(&aToken[0], "file") && nToken>=3 && nToken<=4 ){ |
| 348 | if( !isPush ){ |
| 349 | cgi_reset_content(); |
| 350 | @ error not\sauthorized\sto\swrite |
| 351 | nErr++; |
| 352 | break; |
| 353 |