Olivier Goffart
6df7551bdd
DiscoveryPhase: Fix the unlikely case the server resturns utf-8 in permissions
...
UTF-8 size might be bigger than the size of the QString
In that case we would end up with a non-nill terminated permissions.
2015-06-08 15:40:06 +02:00
Olivier Goffart
1b9d82679c
OwnSQL: fix initialisation of variables
2015-06-08 15:30:39 +02:00
Klaas Freitag
fc2ceb88fb
Rename thread to SyncEngine Thread to avoid confusion about Neon.
2015-06-06 10:49:47 +02:00
Christian Kamm
ee08b3759d
SyncScheduling: Avoid new resyncs on local mkdir.
...
(cherry picked from commit bacf6166c1
)
2015-06-05 10:27:28 +02:00
Christian Kamm
bacf6166c1
SyncScheduling: Avoid new resyncs on local mkdir.
2015-06-04 15:02:24 +02:00
Christian Kamm
2ed329e025
Improve reporting of server error messages. #3220
...
In particular the 'unsupported client version' error message
is now visible to the user when trying to connect to a
server that no longer supports the current client version.
2015-06-04 10:07:24 +02:00
Christian Kamm
4c10f1e40c
Wizard: Show server error message if possible. #3220
2015-06-03 16:33:09 +02:00
Olivier Goffart
02ffbf8989
confirm feature: fix typos spotted by ckamm
2015-06-03 15:20:42 +02:00
Christian Kamm
89376e14d6
Nicer fix for the security issue #3283 .
2015-06-03 11:37:26 +02:00
Christian Kamm
e32bd5a59f
Merge remote-tracking branch 'origin/1.8'
2015-06-03 11:36:52 +02:00
Klaas Freitag
75b38d1a2f
Abort the request and reset the QNAM if user does not ACK a new cert.
...
This is supposed to fix bug #3283
2015-06-02 12:21:49 +02:00
Christian Kamm
2435ba7e7d
Windows: Fix unit test build.
2015-05-27 14:59:28 +02:00
Olivier Goffart
507206367f
Merge branch 'master' into new-ui
2015-05-26 14:56:08 +02:00
Olivier Goffart
9e17ddffae
Confirm feature: document the white/black/unconfirmed lists
2015-05-26 14:41:29 +02:00
Olivier Goffart
a621223cc8
SyncEngine: add an api to set the maximum size of new shared folder that do not require confirmation
2015-05-26 14:41:01 +02:00
Olivier Goffart
7bb2834d8b
Confirm feature (The sync engine part)
2015-05-26 12:34:07 +02:00
Olivier Goffart
10d9e53159
Confirm feature: Use selective sync in the database
2015-05-26 12:34:07 +02:00
Olivier Goffart
2c67692958
JournalDb: add a table in the db for the selective sync
2015-05-26 12:33:54 +02:00
Olivier Goffart
5cb10bf6a1
PropfindJob: fix parsing of properties that have a sub element
...
The default argument of readElementText is ErrorOnUnexpectedElement which
abort the parsing of remaining elements
2015-05-26 12:33:54 +02:00
Olivier Goffart
54a42e401b
More compilation fixes after the merge
2015-05-26 12:33:19 +02:00
Olivier Goffart
6b27d2e703
Merge remote-tracking branch 'origin/1.8'
2015-05-26 12:28:31 +02:00
Klaas Freitag
6c46713701
include qtconcurrentrun header rather than QtConcurrent for Qt4
2015-05-22 14:46:29 +02:00
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
fb2295fcec
Merge branch 'recall' into 1.8
2015-05-22 10:32:26 +02:00
Christian Kamm
1c84d01584
Windows: Fix build of tests.
2015-05-22 09:17:24 +02:00
Olivier Goffart
3fcce08a22
recall: move the recall code in a namespace
2015-05-21 16:23:54 +02:00
Olivier Goffart
289800c1ba
Recall: make it work even if it is not in the root directory
2015-05-21 16:06:53 +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
d2fff2c3e3
Theme: Allow to change the transmission checksum through theming.
2015-05-21 15:59:24 +02:00
Klaas Freitag
8f277e46d6
TransmissionChecksumming: Remove SyncFileItem dependency.
2015-05-21 15:51:48 +02:00
Klaas Freitag
c33d962712
TransmissonChecksumValidator: Add documentation.
2015-05-21 14:32:08 +02:00
Klaas Freitag
3870915118
TransmissionChecksumValidator: Reduce verbosity.
2015-05-21 14:31:39 +02:00
Klaas Freitag
b05ca526a4
In case of empty checksum type, emit validated.
2015-05-21 14:31:18 +02:00
Klaas Freitag
4e28a24af3
Let checksumType() read the config to destinguish checksum type.
2015-05-21 14:30:21 +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
64ce0cd7a2
Improved implementation efficiency of checksum calculation.
...
Based on Oliviers suggestions the file read routine now reuses
one buffer to read the entire file.
Other cleanups.
2015-05-20 21:42:08 +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
Daniel Molkentin
5c6a6529a6
Merge pull request #3258 from binwiederhier/bugfix/issue3256-mkcol
...
Add 'Content-Length: 0' header to MKCOL request; fixes #3256
2015-05-20 15:48:33 +02:00
Philipp Heckel
68fa190cf7
Add 'Content-Length: 0' header
2015-05-20 14:40:20 +01:00
Olivier Goffart
d148464efe
SyncJournalDb::updateErrorBlacklistEntry: lock the mutext at the beginning
...
The mutex need to be locked before checkConnect, that's what all the other functions are doing
2015-05-20 15:30:19 +02:00
Klaas Freitag
17fe4c3b29
PropagateUpload: Fix typo in warn message.
2015-05-20 12:30:00 +02:00
Klaas Freitag
dd6c97abb6
Propagator: Added a log that tells if transmission checksumming is used.
2015-05-20 12:27:54 +02:00
Markus Goetz
330b352001
ProgressInfo: Fix Windows build
2015-05-20 11:59:33 +02:00
Klaas Freitag
ddfe3fa7ab
TransmissionChecksum: Fix identation.
2015-05-20 10:49:18 +02:00
Klaas Freitag
1f7274c2f2
TransmissionChecksum: Removed "pseudo" thread worker functions
...
Removed the Worker postfix from the method names to reflect their non
threaded character, they moved into a thread in the Validator class.
Thanks ckamm for review.
2015-05-20 10:45:20 +02:00
Klaas Freitag
8b371c42b7
Propagate Download: Handle malformed checksum header as error.
...
Plus some cleanup, bool ok was not needed actually.
2015-05-19 17:09:40 +02:00
Klaas Freitag
c7f759fedf
Propagator: Use the TransmissionChecksumValidator class.
2015-05-19 17:09:40 +02:00
Klaas Freitag
830daa40d1
Add a class TransmissionChecksumValidator, incl. unit test.
...
This does all needed to manage checksums that go with http headers
ensuring that the transmission was correct.
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
Klaas Freitag
67d38bc87b
Filesystem Utilities: Add Checksum calculation methods.
2015-05-19 17:09:39 +02:00
Klaas Freitag
ec83295b99
Branding: Append the appName short to the user agent string.
2015-05-19 17:09:39 +02:00
Klaas Freitag
e36252a845
Theme: (minor) remove some more mirall's
2015-05-19 17:09:39 +02:00
Klaas Freitag
d0d8de9f2f
MirallConfigFile: Add an option of transmission checksumming.
2015-05-19 17:09:39 +02:00
Daniel Molkentin
9693048f78
Find & use QtConcurrent
2015-05-19 17:09:39 +02:00
Klaas Freitag
101d2268ff
SyncFileItem class: Add member _checksum
2015-05-19 17:09:39 +02:00
Klaas Freitag
2fcad760b9
StopWatch: return the duration from the stop() command.
2015-05-19 17:09:39 +02:00
Markus Goetz
8a39748654
SyncJournalDB: Don't use NULL value
...
Olivier says we should try to not be the same as the possible value
for not existing entries.
2015-05-13 14:57:14 +02:00
Markus Goetz
3556ed416c
SyncJournalDB: Simplify code
2015-05-13 13:15:53 +02:00
Markus Goetz
e5e2ce2b22
SyncEngine: Force re-read of folder Etags for upgrades from 1.8.0 and 1.8.1
...
This is a better fix than the previous one for the local-files-missing bug
because it does not depend on the sync run to run fully through.
2015-05-13 12:54:49 +02:00
Markus Goetz
39d103adf7
OwnSql: Fix numRowsAffected()
2015-05-13 12:54:03 +02:00
Markus Goetz
08184d07cf
Merge branch '1.9'
2015-05-12 23:03:45 +02:00
Markus Goetz
ac0e08cc91
Merge branch '1.8' into 1.9
2015-05-12 23:02:58 +02:00
Olivier Goffart
76166c6252
SyncEngine: Fix comment
...
A comment should descibe the code, and not a patch.
2015-05-12 17:53:02 +02:00
Markus Goetz
2a45ebde33
Networkjobs: Fix Qt 4 compile (again)
2015-05-12 17:19:17 +02:00
Markus Goetz
cdfafa2180
Propagator: Mention name of conflict file (for debugging)
2015-05-12 17:11:21 +02:00
Olivier Goffart
c2dacd03a5
BandwidthManager: fix warnings
...
Unused variables
2015-05-12 16:35:27 +02:00
Olivier Goffart
716b0c68da
Merge remote-tracking branch 'origin/master' into new-ui
2015-05-12 15:20:40 +02:00
Markus Goetz
00a075b0d8
Merge branch '1.9'
2015-05-12 13:49:55 +02:00
Markus Goetz
3b34d5b54e
Account: Fix Qt4 compile
2015-05-12 13:49:07 +02:00
Jocelyn Turcotte
0f51de20c4
Fix the neon build
2015-05-12 13:04:47 +02:00
Jocelyn Turcotte
ea39e457f5
Fix the build
2015-05-12 10:35:57 +02:00
Daniel Molkentin
b54f2b3b31
Merge remote-tracking branch 'origin/1.9'
...
Conflicts:
VERSION.cmake
src/libsync/propagatedownload.cpp
src/libsync/propagateupload.cpp
2015-05-12 10:03:38 +02:00
Daniel Molkentin
a36df4aa4b
Merge remote-tracking branch 'origin/1.8' into 1.9
2015-05-12 09:57:22 +02:00
Markus Goetz
9e7779a476
Bandwidth Manager: Comment out qDebug
...
We have not received any grave bug reports for it, not needed anymore.
2015-05-11 16:07:34 +02:00
Markus Goetz
625e61516f
Propagator: Limit length of temporary file name #2789 (fixup)
...
Fix 22c35c4d15
2015-05-11 15:42:35 +02:00
Markus Goetz
22c35c4d15
Propagator: Limit length of temporary file name #2789
2015-05-08 16:42:03 +02:00
Markus Goetz
f2004da867
SSL: Re-use encryption session for different TCP connections #3159
...
This also improves the SSL configuration creation and fixes #3027
2015-05-08 14:21:27 +02:00
Christian Kamm
b9eafaaf24
Wizard: Allow SSL cert dialog to show twice. #3168
...
Normally we never ask twice for the same url, but in the setup wizard
it makes sense to do so.
2015-05-08 12:32:14 +02:00
Markus Goetz
0359c775e0
Discovery: Test better, treat invalid hrefs as error #3176
2015-05-07 17:19:48 +02:00
Jocelyn Turcotte
1053153ec4
Fix the Qt4 build
...
Following a6500d8068
Qt4's moc doesn't expand macros and wouldn't evaluate QT_VERSION_CHECK.
2015-05-07 14:49:01 +02:00
Christian Kamm
79ac61684c
Propagator: Overwrite local data only if unchanged. #3156
2015-05-07 14:43:33 +02:00
Christian Kamm
73e2254a80
AccountState: Treat *any* 503 as a temporary error. #3113
2015-05-07 09:21:52 +02:00
Jocelyn Turcotte
7ea1baaf2d
Merge pull request #2920 from remixtj/utility_SHGetKnownFolderPath
...
Use dynamic library loading for detecting the correct path for links
2015-05-06 17:22:46 +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
Luca Lorenzetto
027365aaa6
Additional code cleanup
2015-05-06 15:09:41 +02:00
Daniel Molkentin
bceb40ed80
Disable setSslConfiguration calls for older Qt version
...
This is only required for client certs, which currently have
no GUI anyway and are experimental.
2015-05-06 11:20:16 +02:00
Daniel Molkentin
f315423811
Merge remote-tracking branch 'origin/1.8'
...
Conflicts:
VERSION.cmake
2015-05-06 10:04:22 +02:00
Markus Goetz
07ffff3d77
SyncEngine: Fix accidental re-discovery because of broken version table
...
Bug had been triggered by d63abef718
Broken version table in there since some time it seems like.
2015-05-05 17:07:13 +02:00
Luca Lorenzetto
f3bdfef9cf
Integrating feedbacks provided by jturcotte
2015-05-05 16:42:34 +02:00
Klaas Freitag
d63abef718
SyncEngine: Handle upgrade case from 1.8.0
...
If 1.8.0 caused missing data in the local tree, this patch gets it
back. For that, the usage of the journal for remote repository is
disabled at the first start.
2015-05-04 13:40:25 +02:00
Markus Goetz
4700c604b1
Proxy: Register meta type #3170
2015-04-29 14:54:08 +02:00
Olivier Goffart
ae17f58b80
HTTP Creds: Do not send the password at every request
2015-04-27 16:28:37 +02:00
Olivier Goffart
be1b39067d
Merge branch 'master' into new-ui
2015-04-27 12:32:12 +02:00
Olivier Goffart
ddfb7f3b7a
Merge remote-tracking branch 'origin/1.8'
2015-04-27 12:20:11 +02:00
Christian Kamm
27159104a9
Folders: Store inside account config.
2015-04-24 13:42:35 +02:00
Christian Kamm
a13a974e2d
Account: Generate shorter account ids.
2015-04-24 09:54:42 +02:00
Markus Goetz
3a52db46ad
Discovery: Fix another empty-local-directory bug
2015-04-23 16:15:13 +02:00
Christian Kamm
11927d625d
Fix crash on exit by not making Account parent of AccountState.
2015-04-23 16:08:20 +02:00
Christian Kamm
abfdc574d4
Add a basic random Account::id()
2015-04-23 15:47:49 +02:00
Christian Kamm
28306e5dfb
Move AccountState::displayName to Account.
2015-04-23 15:47:49 +02:00
Christian Kamm
89bb58ac30
Ensure 'user' is available early enough for ui in httpcreds
2015-04-23 15:47:49 +02:00
Christian Kamm
7c1281dd06
Windows: Fix rename of finished file. #3073
...
The file was still open and therefore couldn't be renamed...
2015-04-22 14:46:04 +02:00
Christian Kamm
96ecdb866d
Time estimate: Refactor remaining time guess. #2328
2015-04-22 11:20:31 +02:00
Christian Kamm
7d68c628db
Time estimation: Use a consistent check for size dependence. #2328
2015-04-22 10:45:41 +02:00
Christian Kamm
509b83e73e
Time estimation: Avoid a progress reset before finish. #2328
...
The current algorithm doesn't care much, but resetting progress
to 0 just before completing a job is confusing anyway.
2015-04-22 10:45:41 +02:00
Olivier Goffart
cf5100a20b
Merge remote-tracking branch 'origin/1.8'
2015-04-20 14:58:45 +02:00
Jocelyn Turcotte
ffbf2fb6ce
Fix the neon build
2015-04-20 11:31:02 +02:00
Olivier Goffart
b039c2ce86
More change to compile with 5.5
...
The problem is again that QStringList no longer include QDataStream
2015-04-20 09:47:25 +02:00
Olivier Goffart
ba65187ad3
Fix compilation with Qt 5.5
...
Because of commit 90e7cc172a7521396bb2d49720ee4ceb9a9390b3 in qtbase,
we now need to explicitly include QDataStream
Fixes #2809
2015-04-19 11:02:43 +02:00
Jocelyn Turcotte
12d7484b85
Pass SyncFileItems by pointer instead of by value
...
Use a QSharedPointer to keep the same ownership and
continue passing the SyncFileItems as a const& when
ownership isn't taken. This allows sharing the same
allocations between the jobs and the result vectors.
This saves about 20MB of memory (off 120MB) once all
jobs are created.
2015-04-18 14:26:40 +02:00
Olivier Goffart
6c73f25747
HTTP creds: Fix translation of the password input dialog
...
tr() needs Q_OBJECT
2015-04-17 12:19:37 +02:00
Olivier Goffart
2da3bfb96f
Merge branch 'master' into new-ui
2015-04-16 12:50:21 +02:00
Olivier Goffart
8bb4af067a
Propagate download: Fix restoring files for which the conflict file exists
...
For issue #3106
1) Always use the actual timestamp from the file in the file system
to create the conflict file. This is important because if one edit a
file several time, they should have different name. Also it makes more
sens to have the mtime of the modified file.
2) Give the correct size to the job so we know when the temporary file
is complete in case of resuming.
2015-04-16 11:36:01 +02:00
Olivier Goffart
458f336405
PropagateDownload: Read the mtime from the file system after writing it
...
Because file system like FAT only have two second accuracy and would result
in a upload if the mtime in the database is not the same as the one that was
downloaded
Issue #3103
2015-04-15 15:50:20 +02:00
Markus Goetz
7c9cffa5ae
ConfigFile: Remove unused functions
2015-04-15 14:58:27 +02:00
Markus Goetz
2866e56c51
LsColXMLParser: More testing 2
2015-04-14 14:56:25 +02:00
Klaas Freitag
4283ab3b44
LsColJob: Create a XML parser object for better unit testability.
2015-04-14 13:43:05 +02:00
Klaas Freitag
c579069071
LsColXMLParser: let parse return bool.
2015-04-14 13:41:51 +02:00
Markus Goetz
9ffacd4ecd
Discovery: Explicitly check for XML parser errors
...
..instead of relying that our state machine does not do anything in that case.
2015-04-13 16:04:24 +02:00
Markus Goetz
9d5f5ea3bc
Discovery: Initialize error with EIO in constructor
...
This is safer, initializing it in remote_vio_opendir_hook was enough though.
2015-04-13 15:54:08 +02:00
Markus Goetz
2dbd27af76
Discovery: Initialize error with EIO
2015-04-13 15:36:07 +02:00
Markus Goetz
0634a4d0c6
Discovery: Add a sanity check when results are parsed
2015-04-13 15:10:04 +02:00
Klaas Freitag
ec81cdefb0
Networkjobs: Only log a subset of the account url.
...
This avoids disclosing of user and password in the logfile which can
happen in some cases.
2015-04-12 12:37:14 +02:00
Christian Kamm
d9ea6936ab
Handle redirect of auth request. #3082
2015-04-10 09:18:15 +02:00
Olivier Goffart
afdd01488f
AccountManager: Move out of libsync
...
The AccountManager does not belong in the libsync because it is not
part of the synchronisation algorithm, but is just an helper class
for the UI to maintain the account and read/save the config
2015-04-09 16:19:17 +02:00
Christian Kamm
adcf40afc3
Discovery: Speed up initial run. #2796
2015-04-08 15:43:49 +02:00
Christian Kamm
d986011067
Sync: Fix sync of deletions during 503. #2894
2015-04-08 10:50:08 +02:00
Jocelyn Turcotte
4a890eae38
SyncEngine: Fix a crash caused by an invalid DiscoveryDirectoryResult::iterator #3051
...
The default constructor of the iterator points to NULL, which makes
it != end() but invalid to dereference.
Use an integer index instead to keep 0 as a valid default value that
can always correctly be checked against size().
Also make sure that no data is shared between threads by making the
csync_vio_file_stat_t copyable and passing it as const.
2015-04-08 09:35:43 +02:00
Olivier Goffart
e15b9b5358
Merge remote-tracking branch into 1.8
2015-04-07 10:42:27 +02:00
Olivier Goffart
1617c9d482
PropfindJob: fix xml parsing
...
It would only find the first property
2015-04-07 10:35:27 +02:00
Olivier Goffart
50ba73860c
Merge remote-tracking branch into 1.8
2015-04-07 08:02:55 +02:00
Markus Goetz
750cdc1910
AbstractSslErrorHandler: Also give QSslConfiguration
2015-04-06 21:46:03 +02:00
Olivier Goffart
71d9f23068
theme: fix compilation of libsync without QtGui
2015-04-03 11:27:06 +02:00
Markus Goetz
7f2213416a
Discovery: Add warning if returned etag is 0
...
There will be another bugfix which fixes
https://gist.github.com/jturcotte/3d5a7874d26bc27b1be9
directory.
2015-04-02 16:57:53 +02:00
Markus Goetz
9b9f0bdd4d
SyncEngine: Show more timing measurements #3064
2015-04-02 15:18:46 +02:00
Markus Goetz
ef89582d7e
Propagator: Fix compile
2015-03-30 08:41:53 +02:00
Christian Kamm
ba0c3256fa
Remove unused HttpConfigFile.
2015-03-27 13:20:10 +01: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
Markus Goetz
c6bc388001
Proxy: More debug, always set returned system proxy
2015-03-27 11:53:58 +01:00
Christian Kamm
2578832002
Fix clang warnings about deleting incomplete 'Account'.
2015-03-27 11:11:44 +01:00
Markus Goetz
cfada67aa6
Proxy: Fix compile harder
2015-03-27 11:02:19 +01:00
Christian Kamm
5483682281
CookieJar: Don't accidentally overwrite cookies. #2808
...
Calling save() in the CookieJar destructor was problematic. For instance
we sometimes create a new QNAM with a new CookieJar and then call
setCookieJar() on it to assign some other jar. That destroy the fresh
jar and potentially overwrite cookies.
Also explicitly saving the account's cookies when the account is saved
is more explicit and thus more reliable than counting on the Account
destructor to do it.
2015-03-27 10:49:24 +01:00
Christian Kamm
2a8c23aac3
Account: Destroy on exit.
...
During shutdown we want the account object to be deleted and
therefore we need to be able to remove the strong reference
in AccountManager.
2015-03-27 10:43:14 +01:00
Christian Kamm
88bc96fc4c
ConValidator: Delete instance if no credentials.
2015-03-27 10:43:14 +01:00
Christian Kamm
588129d852
HttpCreds: Delete password from old location. #2186
2015-03-27 10:40:19 +01:00
Markus Goetz
5c87a35fe4
Proxy: Fix compile
2015-03-26 18:36:37 +01:00
Markus Goetz
418185af9a
Qt4: Fix compile
2015-03-26 15:17:16 +01:00
Christian Kamm
3cef771868
HttpCreds: Fill pw dialog with previous password. #2848 #2879
2015-03-26 09:25:45 +01:00
Christian Kamm
a9a24c96fc
Themes: Cache icons instead of rebuilding a lot.
2015-03-25 14:59:28 +01:00
Markus Goetz
a202203325
Proxy: Fix issues with previous patch
...
This is for #2993 and #2802
2015-03-25 12:25:49 +01:00
Markus Goetz
83c3d76966
Proxy: Look up system proxy from different thread
...
We should actually upstream this into QNAM.
This is for #2993 and #2802
2015-03-25 08:52:23 +01:00
Markus Goetz
99734f8d72
Account: Unusued variable
2015-03-25 08:52:23 +01:00
Olivier Goffart
dafc2d2b73
Sync engine: Check the blacklist for the right tree
...
When the operation is download, we have a INSTRUCTION_NONE for the local
tree, but we should not check the blacklist just yet.
2015-03-24 12:23:04 +01:00
Daniel Molkentin
c7eb85ef78
Activity: Correctly restore column sizes
...
Fixes : #3005
2015-03-23 18:22:25 +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
Olivier Goffart
e81d1ab9b8
application: --confdir option with invalid direcotry now exit
...
Show an error and exit if an invalid directory (eg, a file) is passed to --confdir
Fixes : #2453
2015-03-23 15:02:27 +01:00
Christian Kamm
4ef0ce112c
CookieJar: Session cookies should *not* be stored in cookies.db.
2015-03-19 11:57:25 +01:00
Christian Kamm
57c14a0eba
Windows: Reset QNAM as a workaround. #2899 #2895 #2973
...
The QNetworkAccessManager is reset when we are disconnected, just
before attempting to fetch the server's status.php.
This may help fix the problem described in various issues where we
get 'Connection closed' or timeout errors after the OS has woken
from sleep.
2015-03-19 11:40:47 +01:00
Christian Kamm
89f831e7d4
Remote delete: Consider 404 a success. #2919
2015-03-19 10:04:02 +01:00
Markus Goetz
06a2f58c51
Propagator: Introduce custom property to make error soft
...
This can be set by a custom credential QNAM.
2015-03-17 23:31:30 +01:00
Luca Lorenzetto
9351c5eefa
Cleaner creation of link path. Using QDir ensures that every needed / is present
2015-03-13 16:23:43 +01:00
Markus Goetz
c42c9f0002
Propagator: Add comment
2015-03-13 15:48:35 +01:00
Jocelyn Turcotte
0f84510e6f
Fix the build with GCC 4.7
...
Disable bitfields completely in SyncFileItem with that compiler.
2015-03-12 14:54:11 +01:00
Christian Kamm
1dd3488973
Uploads: Fix big seeks on Windows. #2954
2015-03-12 13:18:08 +01:00
Christian Kamm
9249d6c2f9
Logging: Print instruction when job completed.
2015-03-12 10:26:44 +01:00
Christian Kamm
3992fba168
Activity: Set a message for conflicts. #2792
...
Also show size when conflicting files are downloaded.
2015-03-12 10:00:45 +01:00
Christian Kamm
efe9f1b442
Lnk: Work around QFile::rename() #2792
...
QFile::rename() fails if the source file is a shortcut to a file
or directory that does not exist.
2015-03-11 12:29:33 +01:00
Jocelyn Turcotte
db7919dc2f
Shrink sizeof(SyncFileItem) by 20%
...
Move all small fields together in the struct and make them use bitfields.
Also remove the unused log::_other_remotePerm field.
2015-03-11 11:49:11 +01:00
Olivier Goffart
4a01644625
Disable parallel uploads for server versions <= 8.0.2
...
Issue #2938
2015-03-11 11:31:51 +01:00
Klaas Freitag
071177cee2
Output a more sensible error message for auth errors
2015-03-10 12:14:14 +01:00
Klaas Freitag
c88742fad3
Revert "SetupW: Display proper error messages if password or user was wrong."
...
This reverts commit 396f38598f
.
This adds redundant code and potentially breaks Shibboleth
2015-03-10 11:17:35 +01:00
Markus Goetz
3b12b9d81d
Revert "Propagator: Delete job on finish"
...
Needs a bit more thinking.
This reverts commit 8746914f3b
.
2015-03-09 16:19:16 +01:00
Markus Goetz
31e4009737
Propagator: Use QBA for responseTimestamp instead of QString
2015-03-09 15:52:52 +01:00
Markus Goetz
8746914f3b
Propagator: Delete job on finish
2015-03-09 15:41:43 +01:00
Klaas Freitag
2fa6839ac7
Make win32 build work again.
2015-03-09 15:14:55 +01:00
Klaas Freitag
396f38598f
SetupW: Display proper error messages if password or user was wrong.
...
If the password or user was wrong during setup, the client showed a
ConnectionClosed error instead of a proper Username or password wrong
message. This was because in HTTPCredentials::slotAuthentication, the
reply is closed, and a property is set to indicate the auth problem.
This patch now checks at all occurences of networkErrors if it might
have been an authentication problem, and displays something useful.
There is a good chance that this is a sufficient fix for
owncloud/enterprise#556
2015-03-06 16:41:59 +01:00
Klaas Freitag
d2848b9c26
Theme: Return the correct version string from version()
2015-03-06 16:41:59 +01:00
Markus Goetz
b622981b23
SyncEngine: Show a debug msg only when relevant
2015-03-06 09:28:50 +01:00
Markus Goetz
668de9bf31
Propagate: Don't retry direct download on abort
2015-03-05 21:56:39 +01:00
Markus Goetz
3f712dce02
ETags: For Folder and RequestEtagJob, always use Concatenation
2015-03-05 17:49:12 +01:00
Markus Goetz
2eaeaf33fa
Discovery: Change abort code a bit
...
Now pressing pause in the UI will not show an error to the user.
2015-03-05 16:50:33 +01:00
Luca Lorenzetto
4e56b0d266
Use dynamic library loading for detecting the correct path for links
2015-03-04 17:28:43 +01:00
Klaas Freitag
398bca9fe4
Add OWNCLOUDSYNC_EXPORT prefix to make windows build.
2015-03-04 13:50:55 +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
Klaas Freitag
f913cd97ee
DiscoveryJob: Fix progress display.
...
This fixes #2909
2015-03-03 16:01:17 +01:00
Olivier Goffart
ccbeb86140
Fix build of the legacy propagator
2015-03-03 10:05:38 +01:00
Olivier Goffart
b43e0f5ebd
Do not ask for the password when the check server job times up
...
QNetworkReply::OperationCanceledError may be both because of anthentication
error (because the HTTPCredentials abort the reply) or because of a timeout
(the timer abort the reply). We should only ask for the password if the
reply was canceled because the password was wrong.
2015-03-03 09:21:24 +01:00
Markus Goetz
fe574dbbf9
Discovery: Free some memory before propagate ( #2902 )
2015-03-02 15:08:21 +01:00
Markus Goetz
7595c7e697
Discovery: Free some memory on VIO dir close ( #2902 )
2015-03-02 14:09:01 +01:00
Olivier Goffart
bd6769a3fd
LsColJob: one must now specify the properties
...
So the discovery phase don't ask for the quota, and the selective sync
don't ask for all the other properties
Issue #2906
2015-03-02 11:03:25 +01:00
Markus Goetz
80f3c7584b
libowncloudsync: Don't link to Qt SQL and Qt XML
...
For issue #2901 ..
2015-02-27 16:20:25 +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
Christian Kamm
b03209ccef
Inform user about ignored long files. #2882
2015-02-27 12:12:39 +01:00
Markus Goetz
ec03ebd69f
Token Auth: Allow empty token
...
Just username/password. The received token will automatically be stored
inside the QNetworkCookieJar.
2015-02-27 11:58:18 +01:00
Roeland Jago Douma
51c617801d
static member QFileInfo::exists is not available on 4.8
2015-02-27 08:43:33 +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
c8167b77c9
Remove mention of allprop #2865
2015-02-26 12:36:11 +01:00
Christian Kamm
c37792f58f
Propagator: Upload files with future timestamps. #2880
2015-02-26 11:00:06 +01:00
Christian Kamm
5c7fd24ea8
Handle 503 due to maintenance more gracefully. #2884
2015-02-25 12:02:10 +01:00
Christian Kamm
76ac628153
Discovery: Distinguish 503 Storage not available. #2884
2015-02-25 12:02:10 +01:00
Christian Kamm
f88398e776
lnk files: Fix exists() calls. #2792
2015-02-25 11:50:32 +01:00
Christian Kamm
08c33cd1dc
Discovery: Fix handling of 503 on a folder. #2884
2015-02-25 08:09:07 +01:00
Klaas Freitag
1929040bb7
Discovery: Preserve the error message.
2015-02-24 22:02:31 +01:00
Klaas Freitag
3af936c8a1
Some minor cleanups.
2015-02-24 22:02:29 +01:00
Jocelyn Turcotte
2ddaf5a06a
Add a NO_MSG_HANDLER cmake option
...
This allows QDebug to output to stdout or OutputDebugString
to ease development.
2015-02-19 16:57:16 +01:00
Olivier Goffart
5e1aa7d383
SyncEngine: Fix move would re-upload the file
...
Because SyncJournalDb::postSyncCleanup was deleting the entries in the database
2015-02-19 15:00:37 +01:00
Olivier Goffart
e1871eb325
libsync: Fix qWarning in SyncEngine::slotJobCompleted saying we cannot find the sync item when moving
...
We need to compare against the original file name, that's why it's there
2015-02-19 13:13:45 +01:00
Olivier Goffart
1998b602b9
SyncEngine: better merge of the renames node
...
The same file is on the two sync trees under different names in case of a rename
We must therefore use the rename target as the key in the _syncItemMap to ensure
that the trees are correctly merged.
Also use the same UTF-8 decoding for the target than for the actual file in order
to catch invalid utf-8 in the rename target
2015-02-18 12:41:06 +01:00
Olivier Goffart
193fca4a8b
SyncFileItem::operator<: must return false when two items are equal
...
Fixes #2852
2015-02-18 12:41:06 +01:00
Olivier Goffart
fb77cd5f7e
SyncEngine: Fix detection of the server reconfiguration
...
Some files might be kept (like the default files)
The files should be considered as NONE only if they are NONE on both trees
issue #2847
2015-02-17 16:44:13 +01:00
Daniel Molkentin
99d674c346
Default shiboolethwebview to 900x700, remember last size
...
Also add host to the title
Addresses #2285
2015-02-17 15:28:14 +01:00
Olivier Goffart
9351c7485f
Try another way to fix the build
2015-02-17 14:04:16 +01:00
Olivier Goffart
d43b82dc82
Fix compilation with clang
...
The compilation error was
account.h:140:113: error: expected ')'
const QList< QPair<QString, QString> > &queryItems = QList< QPair<QString, QString> >());
^
followed by more errors.
The problem is because the compiler has hard time disambiguiating the comma
int foo(const QPair<int, int> &p = QPair<int, int>());
^
It is indeed quite hard for the compiler to know if this comma is a separation
between complate arguments or the separation between arguments of the functions.
Use the C++11 construct instead which does not need commas
2015-02-17 11:09:45 +01:00
Olivier Goffart
ce195bd599
SyncEngine: add an getter to the journal
2015-02-17 11:08:16 +01:00
Olivier Goffart
c0c8a22fa3
SyncEngine: pass a non-const reference to the SyncFileItemVector in aboutToPropagate
...
That way, users of the library can change the contents of the sync item vector.
2015-02-17 11:08:16 +01:00
Olivier Goffart
151228b2a6
Fix build when compiling libsync without QtGui
...
Utility must stay QtGui-free, move the hidpiFileName to the theme which
is the only part in libsync which uses it, and already has #ifdefs
2015-02-16 10:24:42 +01:00
Volkan Gezer
bd4f68233f
some typos, grammar and sentence fixes
2015-02-14 23:47:07 +01:00
Olivier Goffart
d6bdbf9f34
Logger: use qFormatLogMessage with Qt 5.4 so it respects the Qt logging preferences
2015-02-14 14:23:01 +01:00
Christian Kamm
40dbc78407
concatUrl: Remove manual parsing, add test. #2817
2015-02-13 14:53:55 +01:00
Daniel Molkentin
957c9f060d
GeneralSettings: Add OpenSSL version number to about text
2015-02-12 23:23:47 +01:00
Olivier Goffart
a7c97388a9
Fix Qt4 build for another error
2015-02-12 20:16:02 +01:00
Olivier Goffart
86c480ee09
Fix Qt4 build
2015-02-12 20:10:31 +01:00
Olivier Goffart
0184a00151
PropagateDirectory: make the code a bit more readable
...
Do not call slotSubJobFinished when there is are no sub jobs because
no sub jobs were finished. Instead just call a finalize method
2015-02-12 20:00:04 +01:00
Olivier Goffart
b9161aa06c
libsync: Fix a case in which canceling the sync would result in some folder never being sync'ed
...
The problem occurs because of the sorting of items when we have things like
bigfolder
bigfolder/bigsubfolder
bigfolder-2
Then, because dashes come before slash in ascii, the bigfolder-2 would come before its content
and the propagator would thinkg bigfolder is empty and save the etag before it is processed
Should fix issue #2832
2015-02-12 20:00:04 +01:00
Daniel Molkentin
00e42d1177
More HIDPI support
...
Except for the non-native activity tab
icon in settings, this should fix #11
2015-02-12 19:44:40 +01:00
Christian Kamm
a2aef04f21
ConValidator: Avoid a double auth check during startup. #2801
2015-02-12 15:25:44 +01:00
Olivier Goffart
063271e978
propagateupload: Disable parallel chunk upload for owncloud < 8
...
Issue #2743
2015-02-12 14:50:42 +01:00
Olivier Goffart
438c4fe72e
Account: put the server version in the account
2015-02-12 14:50:42 +01:00
Daniel Molkentin
3439ea395b
Remove one more mention of certDate
2015-02-12 12:43:41 +01:00
Daniel Molkentin
ba3bab8f49
Remove certificateDate property and other superfluous code
2015-02-12 12:37:42 +01:00
Christian Kamm
9ba88f6baf
Windows: Sync .lnk files correctly. #2792
2015-02-12 11:27:58 +01:00
Olivier Goffart
4f202e5f4c
Fix TokenCredentials compilation
2015-02-11 18:10:01 +01:00
Christian Kamm
5cdf448693
SyncJournal: Use DELETE journal mode on FAT filesystems. #2693
2015-02-11 14:03:55 +01:00
Christian Kamm
89c69250ef
Fix crash in discovery thread dtor.
...
Occasionally on Windows ~DiscoveryMainThread() triggered a crash.
Probably because the QMutableLinkedListIterator was destroyed after
it's underlying data had been removed (from the map).
Cleaning up the map and lists was redundant anyway, so the
destructor is changed to only explicitly destroy the vio_file_stat
objects.
2015-02-11 14:00:23 +01:00
Christian Kamm
f8b24ac34d
Fix reconnection after long network outage #2321
...
The problem was that StatusNotFound can indicate either a transient
network problem or a permanent server configuration problem.
2015-02-11 09:24:56 +01:00
Klaas Freitag
d45d3892cb
Account: Fix path assembling with QUrl, add query items separately.
...
Otherwise Qt does encode the delimiter between path and query items.
This fixes bug #2804
2015-02-10 17:13:27 +01:00
Olivier Goffart
51337a10af
LSCOL job: Fix getting the list of folders when there are non-ascii
...
Task #2795
2015-02-08 12:23:47 +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
Olivier Goffart
5ec793e045
propagateupload: Save the mtime given by the server in the reply to GET
...
There could be a race condition if the file was updated on the server
between the discovery and the propagate phase. By taking the mtime from
the server, we make sure that we do not have a race.
This is tested by t6.pl with BIG3.file because the script was modifying
the file between the two phases
2015-02-06 10:23:20 +01:00
Volkan Gezer
eaa9c4fdf8
json capital
2015-02-05 20:41:08 +01:00
Olivier Goffart
856df4c5f6
libsync: Get the capabilities and store it in the account
2015-02-05 15:42:56 +01:00
Olivier Goffart
34237f604e
JsonApiJob: Refactor out of the shibbolethuserjob
2015-02-05 15:42:01 +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
acb7e972ea
Merge pull request #2778 from jturcotte/master
...
Allow building natively on Windows with MinGW
2015-02-04 17:11:56 +01:00
Jocelyn Turcotte
1ac523ec01
Output libocsync and libowncloudsync in the bin directory
...
Windows finds DLLs using PATH or the directory of the process'
executable. By outputing those dependend DLLs together with
owncloud.exe, the developer only need to have OpenSSL's bin
and the qtkeychain build directory in his PATH to let the
dynamic linker find them.
As the documentation of RUNTIME_OUTPUT_DIRECTORY points out,
this only affects windows as other platforms don't consider
libraries as runtime targets.
2015-02-04 15:00:22 +01:00
Olivier Goffart
ca56e5d9ca
SyncEngine: Fix crash
...
We must check if 'it' is not == to begin() before doing it-1
Also i believe the logic was reversed if it was begin()
Task #2765
2015-02-04 14:52:41 +01:00
Jocelyn Turcotte
43a51c1bef
Fix the MinGW build
...
- qtkeychain isn't necessarily in a qt5keychain subdirectory.
- Explicitly add OpenSSL to the include directories
- Make sure that the USE_OUR_OWN_SQLITE3 code is initialized
for csync by calling find_package.
2015-02-04 14:50:38 +01:00
Christian Kamm
49021fd96d
SyncJournal: Reset all prepared statements. #2757
...
Makes closing of the database actually release file locks.
2015-01-30 15:35:42 +01:00
Olivier Goffart
db6214e090
SyncEngine: Do not assert when the neon session is 0
...
It can now be 0 if neon is not in used
Issue #2755
2015-01-30 01:05:46 +01:00
Daniel Molkentin
332601ed26
Remove noisy debug output
2015-01-29 15:37:21 +01:00
Christian Kamm
43d6dbb0f2
SQL: Add debugging options. #2693
...
OWNCLOUD_SQLITE_JOURNAL_MODE: To use something else than WAL
OWNCLOUD_SQLITE_TEMP_STORE: To test with storing temporaries in memory.
2015-01-29 11:02:01 +01:00
Christian Kamm
cd0ad21132
SQL: Improve error reporting of failed exec(). #2693
2015-01-29 09:47:48 +01:00
Christian Kamm
5fc231cda4
Shib: Fix fetching of 'user'. #2751
2015-01-28 15:15:35 +01:00
Olivier Goffart
d70e146c1f
Merge remote-tracking branch 'origin/ssl_client_cert'
...
Conflicts:
CMakeLists.txt
csync/src/CMakeLists.txt
csync/src/csync_owncloud.c
2015-01-28 14:13:40 +01:00
Daniel Molkentin
989005d616
Clientcert support: Explictly link libsync against openssl
2015-01-28 13:31:17 +01:00
Olivier Goffart
b0dbb49ca8
Shib: fix broken signal/slot connections
2015-01-26 16:23:43 +01:00
Joachim Schiele
9abc3e1333
fixes required by upstream
2015-01-23 19:22:56 +00:00
Olivier Goffart
dcba129a98
Make it compile without neon
2015-01-23 17:56:46 +01:00
Olivier Goffart
b856266e91
Remove neon link flag when not required
2015-01-23 17:35:17 +01:00
Olivier Goffart
fe51ada1e8
Don't require NEON with Qt 5.4
2015-01-23 17:11:34 +01:00
Markus Goetz
12ac9f9aa9
Discovery: Fix broken signal/slots
2015-01-23 15:37:36 +01:00
Markus Goetz
3885d5d706
Discovery: Report root etag from engine to folder
...
For #2352
2015-01-23 15:30:44 +01:00
Klaas Freitag
2943b4a85a
CMake: Fixed the rpath settings to make the nighlies build again.
2015-01-23 11:50:42 +01:00
Olivier Goffart
0f98a90858
Wizard: Add an option in the theme to default to nothing selected in the selective sync
...
Issue #2580
2015-01-22 15:57:55 +01:00
Olivier Goffart
3c26bfa618
Propagate Remote mkdir: save the fileid to the database early
...
It's important so that if we delete or rename a diectory that is being
uploaded, this is properly detected
2015-01-22 15:11:04 +01:00
Markus Goetz
0502f684e9
Discovery: Even less qDebug
2015-01-22 14:45:08 +01:00
Markus Goetz
45cb679ea7
Discovery: Less verbose debug
2015-01-22 14:37:35 +01:00
Markus Goetz
c9f9d55658
Merge branch 'qnam_csync_update'
...
Conflicts:
src/libsync/networkjobs.cpp
2015-01-22 14:34:36 +01:00
Markus Goetz
dde8e35785
Discovery: Put results into proper place in map
...
The map is for memory management.
It can later be used as a cache for the recursive PROPFIND
(if we decide to activate it again)
2015-01-22 14:25:24 +01:00
Nourredine
ba8b1bbe06
adds 'SSL client certificate' support from n.octeau with qknight changes as:
...
* removed broken QSsl::SslV3 default
* rewrote slotHandleErrors(): no longer claim errors which are none.
* hack reverted: lib64 was not the cause for NixOS issues related to libraries.
* refactored csync/src/csync_owncloud.c and discovered+fixed why the dav_connect was never getting the certPath+certPassoword
* cleanup of code but seems this crushed the ssl client certificate support
* fixes the https://github.com/owncloud/client/issues/69#issuecomment-69358377 issue
* lots of cleanup
* From TODO list : translate all french comments into english
* changed _pemCertificate type from QString to QByteArray
2015-01-21 23:55:11 +00:00
Olivier Goffart
0e86ceff73
Connection Validator: let the user cancel the password dialog
...
And don't ask for the password again if this happens
2015-01-21 15:33:51 +01:00
Olivier Goffart
d8b621d05f
LsColJob: fix getting the sizes when the path contains %-encoded chars
2015-01-21 12:04:54 +01:00
Markus Goetz
c580275a01
Discovery: Delete file entries on destruction
2015-01-20 18:49:27 +01:00
Olivier Goffart
5c2298fa37
Discovery phase: fix a few warnings
2015-01-20 18:50:03 +01:00
Markus Goetz
906779c4b1
SyncEngine: Use QNAM for csync_update
...
This is for #2507
2015-01-20 18:27:25 +01:00
Christian Kamm
aa6a5e4ac2
Credentials: Use the bound account everywhere.
...
This is preparation for multiaccount.
2015-01-16 15:22:56 +01:00
Christian Kamm
91fce3ea73
Make public API explicit about blacklist kind. #2301
...
'blacklist' can mean the selective sync blacklist or the error
blacklist. Names in public API are now explicit about which
blacklist is meant.
2015-01-16 10:17:19 +01:00
Christian Kamm
b50475bc17
SQL: Fix error reporting on prepare fail. #2697
2015-01-16 09:12:25 +01:00
Klaas Freitag
40c802b148
Download: Handle locking problems as soft errors, enterprise #455
2015-01-15 20:51:30 +01:00
Klaas Freitag
7d9f917810
Filesystem: Check more return values and more logging.
2015-01-15 20:51:30 +01:00
Olivier Goffart
22ad34fa0e
Merge branch '1.7'
...
Conflicts:
admin/win/nsi/l10n/French.nsh
src/mirall/propagator_qnam.cpp
2015-01-15 17:58:43 +01:00
Olivier Goffart
907b79d3b8
Utility: Use appropriate unit when converting from bytes to human readable units
...
We must not use the SI units if we use power of 2
I believe that we should use SI units and power of 10
But since the server still use power of 2, we need to show the same numbers
But at least we use the proper standard IEC unit that are explicit
2015-01-15 14:06:17 +01:00
Olivier Goffart
863731fd6a
Revert "Utility: Use SI units"
...
This reverts commit 7445fa7ef7
.
and commit f654c53c35
.
The server still use wrong powers, so we still need to use the same
2015-01-15 13:56:51 +01:00
Olivier Goffart
264471af43
csync: cleanup some unused error code
2015-01-15 12:19:06 +01:00
Olivier Goffart
08d3ae9f02
csync_statedb: Have more granular error reporting when the loaddb fails
...
In order to distiguish error from sqlite_open or from the integrity check
Issue #2673
2015-01-15 11:36:24 +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
Olivier Goffart
885aafcea3
SelectiveSync dialog: Show the sizes of the folder
2015-01-14 15:08:09 +01:00
Olivier Goffart
7445fa7ef7
Utility: Use SI units
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
0215b250af
UploadDevice: mark overrided method as Q_DECL_OVERRIDE
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
5e0d4ab31d
Further Windows compile fix
2015-01-12 09:50:37 +01:00
Volkan Gezer
cefa31eb82
fix typo
...
suggested by transifex translator
2015-01-11 14:07:04 +01:00
Daniel Molkentin
c86d8e5acf
Clean up BSD support patch
2015-01-08 22:40:47 +01:00
Daniel Molkentin
4a819026df
Merge pull request #2634 from ryo-on/netbsd-support
...
Support NetBSD like FreeBSD or Linux.
2015-01-08 22:35:44 +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
Daniel Molkentin
3f5c1d2ade
Merge pull request #2678 from chrodan/master
...
Hide Ignored files in context menu
2015-01-08 14:29:36 +01:00
Daniel Molkentin
dd063d0207
Add hack to make old themes work
2015-01-08 14:21:58 +01:00
Christoph Dann
309ff2997c
potential fix for #1865
...
Do not show ignored files in context menu
2015-01-08 11:42:14 +01:00
Olivier Goffart
ab0bc75e43
PropagateUploadFileQNAM::slotUploadProgress: Fix inverted condition
...
( Apply this commit 2d8053a9df
)
2015-01-05 17:32:12 +01:00
Olivier Goffart
414ac5433d
Merge branch '1.7'
...
Conflicts:
binary
doc/accountsetup.rst
doc/architecture.rst
doc/navigating.rst
doc/owncloudcmd.rst
doc/troubleshooting.rst
2015-01-05 14:40:53 +01:00
Ryo ONODERA
16c4864e67
Support NetBSD like FreeBSD or Linux.
2014-12-21 23:00:56 +09:00
Christian Kamm
4fa212c43b
CSync callbacks: Don't use global account.
2014-12-18 15:39:51 +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
6c7acd585e
Account: Split into libsync/Account and gui/AccountState.
...
This allows all the account state information to live in gui
while the sync-relevant data stays in libsync.
I also moved quotainfo to gui since it depends on the account state.
2014-12-18 15:39:51 +01:00
Olivier Goffart
e8efaa5ed8
Direct download URL: Fix resuming
...
The server might support resuming, so don't always erase the temporary file
and pass the startSize, so the temporary file will be remove if the server
does not support it after all (because it is not sending the "bytes" header
Also pass the expected etag for consistency even if it's not used in this case.
2014-12-18 12:13:12 +01:00
Olivier Goffart
96872e2b3b
Download: When direct URL don't work, retry through webdav
2014-12-17 14:28:13 +01:00
Christian Kamm
a006c6962c
Move account state related logic into Account.
...
The account state is now managed mostly by the Account itself
instead of through Application. The gui can still control whether
an account is signed out or not.
2014-12-17 12:01:10 +01:00
Olivier Goffart
b1d392e415
Download job: allow redirect on direct download link
...
Issue #2614
2014-12-16 11:51:25 +01:00
Olivier Goffart
cbf00e9378
Connection Validator: Fix connection warning
...
The timeout signal does not exist.
Timeout is handled as a normal network arror.
2014-12-16 11:48:15 +01:00
Olivier Goffart
3ee14164db
network jobs: Refactor the redirect handling in AbdtractNetworkJob
...
Move the redirect handling from CheckServerJob to AbstractNetworkJob, so we can
later use it in any job (in preparation for task #2614 )
2014-12-16 11:27:02 +01:00
Daniel Molkentin
9a13ec736d
Fix OS X compilation
2014-12-11 15:08:13 +01:00
Christian Kamm
1a3041690f
ConValidator: Simplify and cleanup.
...
* This way using it with multiple accounts will be easier.
* Timeouts on the authed requests are handled.
2014-12-11 14:48:01 +01:00
Christian Kamm
d8c59fcb73
Use connection validator to ping the server. #2485
...
* Stop the quota job from having an effect on account status
as it can sometimes take a long time to reply. See #2485 and
owncloud/core#12744 .
* Instead of indirectly using the quota job, use the connection
validator to regularly ping the server with a basic PROPFIND for
'getlastmodified' on /.
This request was usually fast for users even when the quota PROPFIND
was slow.
2014-12-10 13:40:11 +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
a2b817f0c0
mirall.qrc -> client.qrc
2014-12-08 18:00:29 +01:00
Daniel Molkentin
d5f2c36abd
Mirall -> (Desktop) Client
2014-12-08 17:54:32 +01:00
Daniel Molkentin
d86b3f04b1
Merge branch 'master' into rename_client
2014-12-08 17:44:04 +01:00
Daniel Molkentin
a42709f814
Namespace fixes
2014-12-02 14:20:13 +01:00
Daniel Molkentin
3016844dd7
Merge branch 'master' into rename_client
...
Conflicts:
README.md
src/gui/folderman.cpp
src/gui/settingsdialog.cpp
src/libsync/accessmanager.cpp
src/libsync/propagateupload.h
2014-12-02 13:37:22 +01:00
Markus Goetz
92ce707268
Bandwidth: Fix issue with removed download jobs
...
The measuring broke when a job that is currently measuring was removed.
2014-12-02 09:37:48 +01:00
Olivier Goffart
fb3f5d86cf
Fix compilation after merge
2014-12-01 14:41:39 +01:00
Olivier Goffart
512492bf30
Merge remote-tracking branch 'origin/1.7'
...
Conflicts:
src/libsync/propagatedownload.cpp
2014-12-01 14:37:47 +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
fc3a8b944e
Propagator: Don't forget to mark the direcotry as finished if its first job fails
...
Otherwise we would go ahead and propagate the content of the directory
2014-11-27 15:36:13 +01:00
Olivier Goffart
c9c1547813
Compile with Qt4
...
(QSharedPointer::reset is only in Qt5)
2014-11-25 16:24:47 +01:00
Olivier Goffart
9a8c868793
Propagator upload: Remove debug output
2014-11-25 15:34:06 +01:00
Olivier Goffart
13ec5da84e
neon jobs: Start them in their thread.
2014-11-25 15:08:32 +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
Markus Goetz
79c37f9fe4
Poll Jobs: Properly use DB index
...
Why do we sometimes use 0-based, sometimes 1-based indices?
2014-11-24 11:35:39 +01:00
Olivier Goffart
c460b3f3be
Bandwith manager: It needs do be initialiazed after the limits of the propagator
2014-11-21 16:55:46 +01:00
Olivier Goffart
78362af168
Compile with TOKEN_AUTH_ONLY
...
(QtGui is not included in that case)
2014-11-21 12:15:41 +01:00
Olivier Goffart
1c58b75ac2
Merge branch '1.7'
2014-11-21 11:08:20 +01:00
Christian Kamm
8b45d1c928
Sync: Change force-sync interval to 2h everywhere. #2297
2014-11-20 13:38:32 +01:00
Christian Kamm
0fe7a69b39
FolderWatcher: Detect own changes. #2297
2014-11-20 13:16:29 +01:00
Christian Kamm
d04eedeb8d
OSX: Trust the file watcher. #2297
...
* Use a bigger default force sync interval (2h)
* Allow the file watcher to schedule a sync while a sync for
the same file is running.
2014-11-20 12:42:59 +01:00
Christian Kamm
f275002ebe
Merge branch '1.7'
2014-11-20 12:41:06 +01:00
Christian Kamm
4d7b8bdb25
Merge remote-tracking branch 'origin/1.7'
...
Conflicts:
OWNCLOUD.cmake
test/CMakeLists.txt
test/testfolderwatcher.h
2014-11-19 14:45:25 +01:00
Christian Kamm
3706c76622
useLegacyJobs: Fix logic.
2014-11-19 10:31:42 +01:00
Olivier Goffart
9a6710e330
Propagator: add a bit of documentation comments
2014-11-18 17:54:53 +01:00
Olivier Goffart
1113980b20
Propagator: Change the scheduler
...
It still needs to be a bit optimized, but it allows to paralelized jobs between directories
(this is required to paralelize the mkcol)
2014-11-18 17:35:31 +01:00
Olivier Goffart
a3b21022af
new bandwith limiting: Do a test on the Qt version to activate it
...
We need Qt 5.3.3.
If the compiled qt version is Qt 5 but smaller than Qt 5.3.3, do a runtime
check.
OWNCLOUD_NEW_BANDWIDTH_LIMITING is still there for a special setup in which
we patch Qt with the patches
2014-11-14 17:29:28 +01:00
Olivier Goffart
ad92e7b888
Move UploadDevice to the right header
2014-11-14 16:40:13 +01:00
Olivier Goffart
c73522de2e
Remove ChunkBlock
...
It is not in used
2014-11-14 16:39:39 +01:00
Olivier Goffart
14f5e8e32e
Move all the neon code to the _legacy files
2014-11-14 16:13:50 +01:00
Olivier Goffart
f3797abecf
Fix the PropfindJob
...
-the namespace mangling was wrong
-And the way we read the reply did not work
2014-11-14 15:03:48 +01:00
Olivier Goffart
1310bef528
Port the propagate mkdir to QNAM
...
This way we can make it parallel
2014-11-13 18:57:07 +01:00
Daniel Molkentin
7246011b62
Merge pull request #2459 from owncloud/typo
...
fix typo
2014-11-12 00:09:22 +01:00
Daniel Molkentin
281c0e1553
Merge branch 'master' into rename_client
...
Conflicts:
CMakeLists.txt
src/gui/main.cpp
src/libsync/accessmanager.cpp
src/libsync/accessmanager.h
src/libsync/owncloudpropagator_p.h
2014-11-12 00:07:59 +01:00
Daniel Molkentin
cdac8d56d5
Merge remote-tracking branch 'origin/master' into crashreporter
...
Conflicts:
src/libsync/utility.cpp
src/libsync/utility.h
2014-11-11 23:53:38 +01:00
Olivier Goffart
7b4be209aa
MOVE: fix moving with special character.
...
The Destination header need to be %-encoded
2014-11-11 16:27:06 +01:00
Olivier Goffart
c712b7c46c
Parallel MOVE by porting the job to qnam
2014-11-11 16:09:01 +01:00
Olivier Goffart
22c6892870
DELETE: Error out if the HTTP code is not 204
2014-11-11 14:32:25 +01:00
Olivier Goffart
134650eb44
Parallel DELETE
2014-11-11 13:19:29 +01:00
Olivier Goffart
506ba022f1
Split propagator_qnam.cpp into propagateupload.cpp and propagatedownload.cpp
2014-11-11 12:17:10 +01:00
Klaas Freitag
fc6d572a6c
Make compile against Qt4
2014-11-11 10:10:46 +01:00
Daniel Molkentin
b54c079766
Adjust issue urls
2014-11-09 23:38:07 +01:00
Daniel Molkentin
2db17a57d2
Fix header names
2014-11-09 23:25:57 +01:00
Daniel Molkentin
a992c5b8d3
Fix build
2014-11-09 23:10:18 +01:00
Daniel Molkentin
d57d3cf1f6
Drop Mirall from strings
2014-11-09 22:35:29 +01:00
Daniel Molkentin
ae85aa33fd
Adjust namespaces
2014-11-09 22:34:07 +01:00
Daniel Molkentin
f2eadacf09
Remove "Mirall" from class names
2014-11-09 22:30:29 +01:00
Daniel Molkentin
9ebc41ed6f
Remove "Mirall" from cmake project files
2014-11-09 22:30:05 +01:00
Olivier Goffart
98a283b4ec
Fix clang warnings
2014-11-08 11:21:48 +01:00
Olivier Goffart
d524f6b395
Fix compilation errors after merge
2014-11-08 11:11:05 +01:00
Olivier Goffart
6b716683e2
Merge the long PUT Poll URL feature with the new sql backend
2014-11-08 11:09:50 +01:00
Olivier Goffart
ba2c33af0b
Fix the il branch merge: Move the bandwidthmanager to libsync
2014-11-08 10:52:14 +01:00
Olivier Goffart
de11f602d5
Merge remote-tracking branch 'origin/il'
...
Conflicts:
csync/src/csync_private.h
src/CMakeLists.txt
src/gui/folder.cpp
src/libsync/owncloudpropagator.cpp
src/libsync/owncloudpropagator.h
src/libsync/propagator_qnam.cpp
src/libsync/propagator_qnam.h
src/libsync/syncengine.cpp
src/libsync/syncengine.h
src/mirall/syncjournaldb.cpp
2014-11-08 10:48:36 +01:00
Volkan Gezer
260c8e0227
fix typo
2014-11-07 17:51:15 +01:00
Daniel Molkentin
f25d175b5d
Merge remote-tracking branch 'origin/1.7'
2014-11-06 19:54:20 +01:00
Klaas Freitag
ef16c409ef
Merge pull request #2393 from svkurowski/issue-2215
...
Switch monochrome systray icon color depending on systray brightness
2014-10-29 14:54:33 +01:00
Klaas Freitag
b9b9f3c136
Propagator: Schedule a resync immediately if file is modified during upload
2014-10-29 13:10:56 +01:00
Christian Kamm
4e20a02fe5
SyncJournalDB: Add filesize column to metadata.
...
* Alter table to include column.
* Make get/set in SyncJournalDB store and load it.
* Make csync recover the stat_t's size member from it.
2014-10-29 09:53:36 +01:00
Daniel Molkentin
dc1e73dcb7
Merge remote-tracking branch 'origin/1.7'
...
Conflicts:
src/libsync/syncjournaldb.cpp
test/CMakeLists.txt
2014-10-28 23:27:58 -04:00
Brandon Coleman
e5b03634ae
correct spelling on user is empty error.
2014-10-25 11:01:58 -05:00
Sascha Vincent Kurowski
59f18583d1
Switch monochrome systray icon color depending on systray brightness.
...
https://github.com/owncloud/mirall/issues/2215
As of version 10.10 Yosemite, Mac OS X offers the user the option to use
a dark version of the dock and menu bar. The systray icon was black even
on the dark menu bar, thus rendering it nearly impossible to spot.
2014-10-24 21:52:41 +02:00
Christian Kamm
c832226aa1
Merge remote-tracking branch 'origin/1.7' into master
2014-10-22 12:25:58 +02:00
Christian Kamm
a20375372d
Blacklist: Don't ignore error files forever. #2247
...
Instead try them again regularly, but don't show the user any
error messages if the error persists.
2014-10-22 12:25:18 +02:00
Christian Kamm
7ae0338f5c
Merge remote-tracking branch 'origin/1.7'
...
Conflicts:
src/CMakeLists.txt
src/cmd/cmd.cpp
src/gui/socketapi.h
src/libsync/syncengine.h
test/CMakeLists.txt
2014-10-22 10:41:55 +02:00
Olivier Goffart
50e718b1e7
Merge branch '1.7'
...
Conflicts:
src/CMakeLists.txt
src/cmd/cmd.cpp
src/gui/folder.cpp
src/gui/socketapi.cpp
translations/mirall_ca.ts
translations/mirall_cs.ts
translations/mirall_de.ts
translations/mirall_el.ts
translations/mirall_en.ts
translations/mirall_es.ts
translations/mirall_es_AR.ts
translations/mirall_et.ts
translations/mirall_eu.ts
translations/mirall_fa.ts
translations/mirall_fi.ts
translations/mirall_fr.ts
translations/mirall_gl.ts
translations/mirall_hu.ts
translations/mirall_it.ts
translations/mirall_ja.ts
translations/mirall_nl.ts
translations/mirall_pl.ts
translations/mirall_pt.ts
translations/mirall_pt_BR.ts
translations/mirall_ru.ts
translations/mirall_sk.ts
translations/mirall_sl.ts
translations/mirall_sv.ts
translations/mirall_th.ts
translations/mirall_tr.ts
translations/mirall_uk.ts
translations/mirall_zh_CN.ts
translations/mirall_zh_TW.ts
2014-09-18 17:10:21 +02:00
Klaas Freitag
bcff1ced5e
Merge branch '1.7'
...
Conflicts:
src/CMakeLists.txt
src/cmd/cmd.cpp
src/gui/folderman.cpp
src/gui/wizard/owncloudadvancedsetuppage.cpp
src/libsync/account.cpp
2014-08-29 20:40:33 +02:00
Dominik Schmidt
89aec52503
Add checkbox to general settings to disable the crash reporter
2014-08-28 16:19:17 +02:00
Daniel Molkentin
cf12a56b4c
Merge remote-tracking branch 'origin/1.7'
...
Conflicts:
src/gui/socketapi.cpp
2014-08-27 18:22:07 +02:00
Dominik Schmidt
17e16f5e79
Add "Crash" entry to systray if started with --debug
2014-08-26 15:46:24 +02:00
Dominik Schmidt
b176ff6626
Don't use CMAKE_INSTALL_PREFIX for RPATH
2014-08-26 15:19:46 +02:00
Daniel Molkentin
e5471d8318
Build after merge
2014-08-26 14:33:21 +02:00
Daniel Molkentin
902bb7a198
Merge remote-tracking branch 'origin/master' into move_lib_to_sep_dir
...
Conflicts:
src/CMakeLists.txt
src/gui/accountsettings.cpp
src/gui/folderwizard.cpp
src/gui/settingsdialog.cpp
src/libsync/syncengine.h
2014-08-26 11:29:42 +02:00
Daniel Molkentin
4fc044d368
Merge branch 'master' into move_lib_to_sep_dir
...
Conflicts:
cmake/modules/NSIS.template.in
src/CMakeLists.txt
src/creds/shibboleth/authenticationdialog.cpp
src/creds/shibboleth/authenticationdialog.h
src/gui/owncloudgui.cpp
src/libsync/creds/shibboleth/authenticationdialog.cpp
src/libsync/creds/shibboleth/authenticationdialog.h
src/libsync/mirallaccessmanager.cpp
src/mirall/authenticationdialog.cpp
src/mirall/authenticationdialog.h
2014-08-12 21:08:44 +02:00
Daniel Molkentin
bb32831a60
Merge remote-tracking branch 'origin/master' into move_lib_to_sep_dir
...
Conflicts:
src/gui/folderman.cpp
2014-07-17 11:31:45 +02:00
Daniel Molkentin
df3c3bca02
Split into three separate projects: library, gui and cmd
2014-07-11 11:07:31 +02:00