Ignore:
Timestamp:
Nov 12, 2012, 5:09:31 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server 3.5: update branche to 3.5.13

Location:
branches/samba-3.5.x/source3/client
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.5.x/source3/client/client.c

    r732 r733  
    44834483                status = cli_echo(cli, 1, data_blob_const(garbage, sizeof(garbage)));
    44844484
    4485                 if (!NT_STATUS_IS_OK(status)) {
    4486                         DEBUG(0, ("SMBecho failed. Maybe server has closed "
    4487                                 "the connection\n"));
     4485                if (NT_STATUS_IS_OK(status)) {
     4486                        return;
     4487                }
     4488
     4489                if (!cli_state_is_connected(cli)) {
     4490                        DEBUG(0, ("SMBecho failed (%s). The connection is "
     4491                                "disconnected now\n", nt_errstr(status)));
    44884492                        finished = true;
    44894493                        smb_readline_done();
  • branches/samba-3.5.x/source3/client/clitar.c

    r414 r733  
    205205                memset(hb.dbuf.size, 0, 4);
    206206                hb.dbuf.size[0]=128;
    207                 for (i = 8, jp=(char*)&size; i; i--)
    208                         hb.dbuf.size[i+3] = *(jp++);
     207                for (i = 8; i; i--) {
     208                        hb.dbuf.size[i+3] = size & 0xff;
     209                        size >>= 8;
     210                }
    209211        }
    210212        oct_it((uint64_t) mtime, 13, hb.dbuf.mtime);
     
    308310                convert_time_t_to_timespec((time_t)strtol(hb->dbuf.mtime, NULL, 8));
    309311        finfo->atime_ts = convert_time_t_to_timespec(time(NULL));
    310         finfo->size = unoct(hb->dbuf.size, sizeof(hb->dbuf.size));
     312        if ((hb->dbuf.size[0] & 0xff) == 0x80) {
     313                /* This is a non-POSIX compatible extention to extract files
     314                        greater than 8GB. */
     315                finfo->size = 0;
     316                for (i = 0; i < 8; i++) {
     317                        finfo->size <<= 8;
     318                        finfo->size |= hb->dbuf.size[i+4] & 0xff;
     319                }
     320        } else {
     321                finfo->size = unoct(hb->dbuf.size, sizeof(hb->dbuf.size));
     322        }
    311323
    312324        return True;
     
    10001012{
    10011013        uint16_t fnum;
    1002         int pos = 0, dsize = 0, bpos = 0;
    1003         uint64_t rsize = 0;
     1014        int dsize = 0, bpos = 0;
     1015        uint64_t rsize = 0, pos = 0;
    10041016
    10051017        DEBUG(5, ("get_file: file: %s, size %.0f\n", finfo.name, (double)finfo.size));
Note: See TracChangeset for help on using the changeset viewer.