Check-in [869534e182]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix a bug in the xfer server that prevents it from receiving deltas.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 869534e1823475cfa195479e72cdd3753f9a9b59
User & Date: drh 2007-08-09 03:44:31.000
Context
2007-08-09
03:47
Add a quick hack that disables delta compression on xfer. This gives people a chance to synchronize the previous fix. We will eventually remove the hack. check-in: 4c072728b4 user: drh tags: trunk
03:44
Fix a bug in the xfer server that prevents it from receiving deltas. check-in: 869534e182 user: drh tags: trunk
03:19
Progress toward delta compression on the xfer protocol. The compression works well. But the client is not telling the server what files it has so the server does not have anything to delta against. check-in: eea381f416 user: drh tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/xfer.c.
186
187
188
189
190
191
192



193
194
195
196
197
198
199
    if( pOut ){
      blob_appendf(pOut, "file %b %b %d\n", &uuid, &srcuuid, size);
      blob_append(pOut, blob_buffer(&delta), size);
    }else{
      cgi_printf("file %b %b %d\n", &uuid, &srcuuid, size);
      cgi_append_content(blob_buffer(&delta), size);
    }



  }else{
    size = blob_size(&content);
    if( pOut ){
      blob_appendf(pOut, "file %b %d\n", &uuid, size);
      blob_append(pOut, blob_buffer(&content), size);
    }else{
      cgi_printf("file %b %d\n", &uuid, size);







>
>
>







186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
    if( pOut ){
      blob_appendf(pOut, "file %b %b %d\n", &uuid, &srcuuid, size);
      blob_append(pOut, blob_buffer(&delta), size);
    }else{
      cgi_printf("file %b %b %d\n", &uuid, &srcuuid, size);
      cgi_append_content(blob_buffer(&delta), size);
    }
    blob_reset(&delta);
    blob_reset(&srcuuid);
    blob_reset(&uuid);
  }else{
    size = blob_size(&content);
    if( pOut ){
      blob_appendf(pOut, "file %b %d\n", &uuid, size);
      blob_append(pOut, blob_buffer(&content), size);
    }else{
      cgi_printf("file %b %d\n", &uuid, size);
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
    nToken = blob_tokenize(&line, aToken, count(aToken));

    /*   file UUID SIZE \n CONTENT
    **   file UUID DELTASRC SIZE \n CONTENT
    **
    ** Accept a file from the client.
    */
    if( blob_eq(&aToken[0], "file") && nToken>=2 && nToken<=3 ){
      if( !isPush ){
        cgi_reset_content();
        @ error not\sauthorized\sto\swrite
        nErr++;
        break;
      }
      xfer_accept_file(&g.cgiIn, aToken, nToken, &errmsg);







|







340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
    nToken = blob_tokenize(&line, aToken, count(aToken));

    /*   file UUID SIZE \n CONTENT
    **   file UUID DELTASRC SIZE \n CONTENT
    **
    ** Accept a file from the client.
    */
    if( blob_eq(&aToken[0], "file") && nToken>=3 && nToken<=4 ){
      if( !isPush ){
        cgi_reset_content();
        @ error not\sauthorized\sto\swrite
        nErr++;
        break;
      }
      xfer_accept_file(&g.cgiIn, aToken, nToken, &errmsg);