Olivier Goffart
3754e6c781
Disable the curruption workaround on mac and windows
...
The binaries we ship have a patched Qt
2015-05-22 14:19:44 +02:00
Olivier Goffart
6b9e123816
Merge remote-tracking branch 'origin/checksum_1.8' into 1.8
2015-05-22 10:32:37 +02:00
Olivier Goffart
9a02a0f3a8
Recall feature: Fix some style issues
2015-05-21 16:06:52 +02:00
Jakub Moscicki
4e79093f84
recall file prototype
2015-05-21 16:06:52 +02:00
Klaas Freitag
8f277e46d6
TransmissionChecksumming: Remove SyncFileItem dependency.
2015-05-21 15:51:48 +02:00
Klaas Freitag
dec3bd4a02
Some more minor cleanups based on the pull request review.
2015-05-20 22:44:12 +02:00
Klaas Freitag
5b5a636cc1
Make TransmissionChecksumValidator child of the job for auto delete.
...
That way no explicit memory management is needed as the allocation
is freed when the job (parent) is deleted automatically.
2015-05-20 16:54:04 +02:00
Klaas Freitag
17fe4c3b29
PropagateUpload: Fix typo in warn message.
2015-05-20 12:30:00 +02:00
Klaas Freitag
c7f759fedf
Propagator: Use the TransmissionChecksumValidator class.
2015-05-19 17:09:40 +02:00
Klaas Freitag
f016d25b4c
Propagate downloads: Handle checksum transmission header.
...
Read a checksum from the HTTP header, and if its there, compare the
downloaded tmp file against it. In case of corruption, schedule a
redownload.
2015-05-19 17:09:40 +02:00
Klaas Freitag
e18fd62f34
Propagator: checksum constants go to propatorjobs header.
...
So they can be used from both up- and download propagator jobs.
2015-05-19 17:09:40 +02:00
Klaas Freitag
3701fbcbfe
PropagateUpload: Add checksum calculation if required by config.
...
If the config file has an transmissionChecksum entry, a checksum
is added to the PUT requests in a header.
2015-05-19 17:09:39 +02:00
Christian Kamm
79ac61684c
Propagator: Overwrite local data only if unchanged. #3156
2015-05-07 14:43:33 +02:00
Jocelyn Turcotte
a6500d8068
Work around the Qt PUT corruption bug with Qt < 5.4.2 #2425
...
Since QNonContiguousByteDeviceThreadForwardImpl::reset will
call UploadDevice::reset with a BlockingQueuedConnection, this
allows us to reset the HTTP channel along with its buffers
before they get the chance to be reused with a subsequent request.
2015-05-06 16:56:50 +02:00
Markus Goetz
b6fe5d2cff
Propagator: Debug output regarding OC-ETag
...
We can remove this in some time, but currently it is interesting
to see for what server setup is no ETag but an OC-ETag.
2015-03-27 13:16:11 +01:00
Jocelyn Turcotte
3c9acdf724
Fix a crash when accessing a dangling UploadDevice pointer #2984
...
This is largely a guess, but this is the only place where we use
a QIODevice to push data through QNAM and that the QIODevice isn't
a direct child of the QNetworkReply.
Fix the issue by making sure that we don't go back to the event loop
and possibly handle network events between the destruction of the
upload QIODevice and the QNetworkReply, which might lead to QNAM
dereferencing a dangling QIODevice pointer.
2015-03-23 16:14:54 +01:00
Markus Goetz
c42c9f0002
Propagator: Add comment
2015-03-13 15:48:35 +01:00
Christian Kamm
1dd3488973
Uploads: Fix big seeks on Windows. #2954
2015-03-12 13:18:08 +01:00
Olivier Goffart
4a01644625
Disable parallel uploads for server versions <= 8.0.2
...
Issue #2938
2015-03-11 11:31:51 +01:00
Olivier Goffart
46d5d22f72
PropagateUpload: also read the OC-ErrorString header from the poll job
2015-03-04 12:01:41 +01:00
Olivier Goffart
97c221d860
PropagateUpload: add a few comments
2015-03-04 12:00:55 +01:00
Markus Goetz
131cf63d8d
Propagator: Don't use 0,0 progress signals.
...
They seemed to have messed up the calculation sometimes for
the last chunk.
2015-03-03 17:46:57 +01:00
Olivier Goffart
ccbeb86140
Fix build of the legacy propagator
2015-03-03 10:05:38 +01:00
Klaas Freitag
05624e3fc8
FileSystem: Remove QFileInfo based implementations.
...
QFileInfo has to be refreshed if the underlying file has been
modified in between. That is dangerous so ckamm and me decided
to eliminate the QFileInfo based implementations.
This was triggered by a bug that the client uploaded files that
it should not have.
2015-02-27 15:27:49 +01:00
Olivier Goffart
d8b6e00fe7
Propagator: Let network propagator job understand a new header OC-ErrorString
...
This allows the server to send a readable error string in many cases
2015-02-26 15:53:09 +01:00
Christian Kamm
c37792f58f
Propagator: Upload files with future timestamps. #2880
2015-02-26 11:00:06 +01:00
Christian Kamm
f88398e776
lnk files: Fix exists() calls. #2792
2015-02-25 11:50:32 +01:00
Olivier Goffart
063271e978
propagateupload: Disable parallel chunk upload for owncloud < 8
...
Issue #2743
2015-02-12 14:50:42 +01:00
Christian Kamm
9ba88f6baf
Windows: Sync .lnk files correctly. #2792
2015-02-12 11:27:58 +01:00
Markus Goetz
1e57432aae
Propagator: Fix crash
...
This crash was uncovered when testing parallel chunks when one chunk
finished the upload. The propagate was then finished with the other
UploadDevices still being in-flight in the QNAM.
2015-02-06 11:19:41 +01:00
Volkan Gezer
eaa9c4fdf8
json capital
2015-02-05 20:41:08 +01:00
Olivier Goffart
3dd8ce08b8
Parallel chunk upload: Fix a off-by-one while saving the done chunk in the DB
...
We should assume that the chunk currently uploading is NOT done (hence the -1)
il task 405
2015-02-04 18:52:26 +01:00
Olivier Goffart
fe51ada1e8
Don't require NEON with Qt 5.4
2015-01-23 17:11:34 +01:00
Christian Kamm
0af5574951
Propagate upload: code cleanup
2015-01-14 15:20:02 +01:00
Olivier Goffart
0ae9055ea6
Propagator upload: Fix UploadDevice::seek
2015-01-14 15:08:09 +01:00
Markus Goetz
a544133d73
Propagator: Guard access to BandwidthManager
...
Shouls fix #2623
2015-01-14 14:28:47 +01:00
Christian Kamm
b3c02798a3
Propagator: Use FILE_SHARE_DELETE on Windows. #2070 #2597
2015-01-14 14:16:05 +01:00
Olivier Goffart
3ec19ee355
Propatage upload: Preload the chunk in memory and close the file
...
This should solve #2675 and #1981
By preloading the chunks in memory before sending them, we don't keep the
file open and therefore we let other program open the file for writing.
If the file is modified between two chunks, we detect that and abort anyway
2015-01-14 13:46:51 +01:00
Olivier Goffart
6a0c9fdd34
Propagate upload: Change the default chunk size to 5MiB and make chunk upload parallel
...
The server is slow to process each chunk. As a result the time between
the chunks is not neglectible. Therefore we gain a lot of time by
uploading the chunks in parallel. So the bandwitdh is used when the
server is waiting between chunks.
2015-01-14 13:46:51 +01:00
Olivier Goffart
7f1593c5d7
PropagateUpload: The PUTJob owns the chunk device, so make it a QScopedPointer instead of a QSharedPointer
2015-01-14 13:46:51 +01:00
Daniel Molkentin
c3468b7ed6
Merge remote-tracking branch 'origin/master' into accountstate
...
Conflicts:
src/gui/owncloudsetupwizard.cpp
src/gui/owncloudsetupwizard.h
src/libsync/propagatedownload.cpp
src/libsync/propagatedownload.h
2015-01-08 15:33:39 +01:00
Olivier Goffart
ab0bc75e43
PropagateUploadFileQNAM::slotUploadProgress: Fix inverted condition
...
( Apply this commit 2d8053a9df
)
2015-01-05 17:32:12 +01:00
Christian Kamm
38ebfec1fb
Use global Account/AccountState less.
...
* Use a shared pointer to Account everywhere to ensure
the instance stays alive long enough for a sync to terminate
* Folder is now tied to an AccountState
* SyncEngine and OwncloudPropagator tie to an Account and use that
for all jobs they run
Issue: Since the setup wizard currently always replaces the
account, it will always wipe all folder definitions, even when
the actual changes to the account were minor.
2014-12-18 15:39:51 +01:00
Christian Kamm
53d5de685c
Merge remote-tracking branch 'origin/1.7'
...
Conflicts:
src/gui/folder.cpp
src/gui/folder.h
src/libsync/networkjobs.cpp
src/libsync/owncloudpropagator.h
src/libsync/propagatedownload.cpp
2014-12-10 13:01:36 +01:00
Daniel Molkentin
a42709f814
Namespace fixes
2014-12-02 14:20:13 +01:00
Olivier Goffart
fb3f5d86cf
Fix compilation after merge
2014-12-01 14:41:39 +01:00
Olivier Goffart
3253cc38b2
Propagator upload: Mark error while opening the file as SoftError
...
Because otherwise a lot of error are shown to the user when
the user deletes a directory that is syncing
Task #1981
2014-12-01 12:22:52 +01:00
Olivier Goffart
734db6f932
propagate Upload: Let the poll job count for a job
...
In order to avoid that there are many concurrent poll jobs that takes
all the QNAM channel and causes timeouts of queued jobs
2014-11-24 13:33:13 +01:00
Olivier Goffart
d76e3c0488
Parallel chunk upload: abort all chunks if one of them errors out
2014-11-24 12:05:25 +01:00
Olivier Goffart
c0de20dda0
UploadDevice: reduce debug verbosity
2014-11-24 12:05:25 +01:00