Commit Graph
100 Commits
Author SHA1 Message Date
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
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 49fb37fefc t_recall.pl: add a test for the recall feature 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
Olivier Goffart aebadfcda2 FolderWizard: Add missing Q_OBJECT which prevent translations from working 2015-05-21 12:53:55 +02: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
Olivier Goffart 6a7f2089e8 tests: Make them more verbose in case of failures 2015-05-20 14:34:11 +02:00
Olivier Goffart f595fc2f9c Fix opening external links for some labels
Issue #3135
2015-05-15 18:44:19 +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
Olivier Goffart dd5a49bc78 Application: Disable to workaround of QLockFile bug for Qt versions that are fixed 2015-05-12 17:26:32 +02:00
Olivier Goffart c2dacd03a5 BandwidthManager: fix warnings
Unused variables
2015-05-12 16:35:27 +02:00
Olivier Goffart 505dba5b23 csync walk tree: Try to find the 'other_node' in the source directory in case of renames
This fixes t2.pl
2015-05-12 16:32:00 +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
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 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
Olivier Goffart 9d88ef5432 Restore submodule 2015-04-13 13:03:46 +02:00
Olivier Goffart c917251e9e Reconcile: Fix clang warning
csync_reconcile.c:159:26: warning: address of array 'tmp->path' will always evaluate to 'true' [-Wpointer-bool-conversion]
                if( tmp->path ) {
                ~~  ~~~~~^~~~

csync_file_stat_s::path is an array so it is never null
What was meant here is to check if the string was not empty
2015-04-09 15:06:48 +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
Olivier Goffart f4e2c84111 AccountState: Fix uninitialized memory access spotted by valgrind
QuotaInfo's constructor uses the AccountState's _state which is
initialized after
2015-04-06 16:21:05 +02:00
Olivier Goffart 71d9f23068 theme: fix compilation of libsync without QtGui 2015-04-03 11:27:06 +02: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
Olivier Goffart 9c05150c12 SSLButton: Fix a crash
Made with danimo.
Attempt to fix a crash seen on breakpad reports.
(cc06b990-0c10-40eb-bcec-4d3902150320)
2015-03-23 18:30:53 +01:00
Olivier Goffart 4df455f2e0 Add-folder Wizard: Select the newly created folder 2015-03-23 16:50:37 +01:00
Olivier Goffart 653a00d63d Add-folder wizard: Make sure there is a scrollbar if folder names are too long
Fixes #2962
2015-03-23 16:32:41 +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
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
Olivier Goffart 4d85f1daec setup wizard: use a PROPFIND instead of a GET on the webdav url
In order to initiate the conneciton, we should not send a GET on the
webdav URL because that is not a valid webdav command on a collection.

Issue #2911
2015-03-03 16:03:53 +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
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
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
Olivier Goffart 276dd50650 Update GetGitRevisionDescription.cmake
From https://github.com/rpavlik/cmake-modules
2015-02-20 10:11:30 +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 66fc8e9e27 Merge branch 'master' into 1.8 2015-02-19 11:32:16 +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
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
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
Olivier Goffart 04bb67ef45 Fix Qt4 build
The automatic registration of metatype only came with qt5
2015-02-13 21:41:09 +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
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
Olivier Goffart 4f202e5f4c Fix TokenCredentials compilation 2015-02-11 18:10:01 +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
Olivier Goffart eedb5d0dae Revert "cmake: Clearly Define qtmain.lib link policy on Windows"
It make jenkins fail with the error:

CMake Error at CMakeLists.txt:3 (cmake_policy):
  Policy "CMP0020" is not known to this version of CMake.

This reverts commit 6d380c8548.
2015-02-06 17:46:57 +01:00
Olivier Goffart 6e8527e66d Wizard: Show the remote folder name when the theme has one
Relates to issue #2788
2015-02-06 14:50:52 +01:00
Olivier Goffart 70c8803a79 SelectiveSync: show a message in case of error or if there is no subfolder
Usefull when the folder does not exist (for example in case the theme
has a defaultServerFolder that does not yet exist, #2788)

But also to avoid confusion (issue #2663)
2015-02-06 12:27:54 +01:00
Olivier Goffart 0d2fb0754c Wizard: Fix the advanced setup page when the theme has a defaultServerFolder
Especially the selective sync dialog

Task #2788
2015-02-06 12:27:54 +01:00
Olivier Goffart 2a88f5083c t6.pl: Add a test that re-upload a chunked file with lot of chunks 2015-02-06 10:23:20 +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
Olivier Goffart 3169a6f170 SelectiveSync: change the wording of the dialog on the wizard
Have different wording depending on the wizardSelectiveSyncDefaultNothing theme option

Relates to #2580
2015-02-05 16:22:04 +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 21345b81f1 wizard: fix the EntityExistJob URL
We need to add the davPath in there.
Otherwise there will be a redirect which will break shiboleth
(We want to only enter the password once)

Issue #2739 and #2780
2015-02-05 12:53:04 +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 11f1229c31 Fix Qt4 build 2015-02-04 18:04:50 +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
Olivier Goffart 68ec24797b Add some define.
Since Qt5.4, on release build, qDebug do not provide anymore the line
number unless we define QT_MESSAGELOGCONTEXT

Also define QT_USE_QSTRINGBUILDER while i'm on it (free optimisation)
2015-02-04 13:43:02 +01:00
Olivier Goffart 26132fd14e owncloudconnectionmethoddialog: typo 2015-02-04 13:42:49 +01:00
Olivier Goffart ca68ccd76a Fix Qt4 build 2015-02-03 20:04:04 +01:00
Olivier Goffart 1f9d7c41e8 owncloudconnectionmethoddialog: Change order of buttons, fix wording, and add the URL 2015-02-03 17:55:01 +01:00
Olivier Goffart 52d330d8e5 csync: add neon include directories 2015-02-03 16:00:55 +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
Olivier Goffart 22d3a4a48f csync_owncloud: don't deref null pointer 2015-01-28 14:16:33 +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
Olivier Goffart b0dbb49ca8 Shib: fix broken signal/slot connections 2015-01-26 16:23:43 +01:00
Olivier Goffart 3169833cd7 gui: Still give a decent experience if there is no system tray
Helps for tasks #1138, #2023, #2123
2015-01-26 13:00:45 +01:00
Olivier Goffart fb79211514 Merge remote-tracking branch 'remotes/origin/win_context_menu' 2015-01-23 18:02:55 +01:00
Olivier Goffart 502e7081cf Make it compile with neon 2015-01-23 17:59:07 +01: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
Olivier Goffart a999884adf osx integration: adapt to socket api changes 2015-01-23 16:13:16 +01:00
Olivier Goffart 807277c0ae Socket API: Do not broadcast the shared menu entry on all socket when one connects to the socket API
Now we reply to the command SHARE_MENU_TITLE
2015-01-23 16:09:38 +01:00
Olivier Goffart 0af97156c9 Windows shell integration: Make the share entry work by adding a Sleep
Timeouts don't work with named pipe, so wait for 50ms to let time
for the client to answer
2015-01-23 15:43:03 +01:00
Olivier Goffart 560759ede8 Windows shell integration: Reduce the timeout time of WaitNamedPipe
This is maybe what causes the troubles of task #2576
2015-01-22 16:30:02 +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
Olivier Goffart 168c89aba7 Wizard: fix spacing 2015-01-22 15:11:03 +01:00
Olivier Goffart 5860e5a46b Exclude *.tmp (as requested in #2424 ) 2015-01-22 14:08:31 +01:00
Olivier Goffart f2a7e0b28f Selective sync dialog: give a proper size by default 2015-01-21 15:37:00 +01: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