Commit Graph
100 Commits
Author SHA1 Message Date
Olivier Goffart 86d8079739 Reconcile: Make sure not to loose new files added in a directory removed on the server
Found while investigating #2296

The problem is that we should not remove a directory locally if it contains
modified files.
But the modification time of the directory is not necessarily chaning (so
the instruction of the directory may still be NONE)

We have to move the child_modified test a bit down to be recursive
2014-10-21 10:38:21 +02:00
Olivier Goffart a5bd437d48 Propagator: Fix renaming of files and case confflicts
Better fix for #1385 and #2318
2014-10-17 16:15:03 +02:00
Olivier Goffart 08156186fa Revert "propagator: Do not check for case clash when renaming"
This caused test regressions in t8.pl (#2318)

This reverts commit dad8c1c27c.
2014-10-17 16:15:03 +02:00
Olivier Goffart 2bba4134fb owncloudgui: Fix a small leak
The systray icon were not destroyed while qutting
2014-10-15 18:11:52 +02:00
Olivier GoffartandDaniel Molkentin 7804bf0a9a Windows Shell Integration: Use the right parametter to SHChangeNotify 2014-10-15 16:47:08 +02:00
Olivier GoffartandDaniel Molkentin bb37e93f52 Windows shell integration: Do proper wait 2014-10-15 16:09:35 +02:00
Olivier GoffartandDaniel Molkentin aa0f2c64ff Windows Shell Integration: fixeWindows Shell Integration: fixe 2014-10-15 15:57:15 +02:00
Olivier Goffart e66ca267f4 Windows Shell Integration: try to wait for connection 2014-10-15 15:13:04 +02:00
Olivier Goffart 4b001a77b3 Windows Shell Integration: Use the QLocalSocket on windo and do the request assynchroniously
Squashed commit of the following:

commit 4d9b072f560fa171a1390b7c74425614aa20e955
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Tue Oct 14 16:04:02 2014 +0200

    Remove useless variable

commit 8e85de0307ec5f31bf3f92a7de793fed7d41c2ea
Author: Daniel Molkentin <danimo@owncloud.com>
Date:   Tue Oct 14 16:01:52 2014 +0200

    Make Windows Explorer Extension build

commit 8e2942cd9fd32e3af72d60cba0d06bd9d6222a45
Author: Daniel Molkentin <danimo@owncloud.com>
Date:   Tue Oct 14 11:39:37 2014 +0200

    Fix compilation

commit 0fc0c0e0e0c7e58ad97f62700256c7d1f8c0670b
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Tue Oct 14 11:48:32 2014 +0200

    Windows Shell Integration: Try to let the thread notify about changes when there are changes

commit 4a1712b7c03269ca3007f167b8f313ea47655967
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Tue Oct 14 11:35:20 2014 +0200

    Windows Shell Integration: Share the RemotePathChecker amongst all the OCOverlay instances

commit 2d87408e9af5a4d7ab71c460ce606ba1f367c09f
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Mon Oct 13 18:55:15 2014 +0200

    Windows Shell Integration: Attempts to wait on multiple objects (WIP)

commit e448e427b6d1561ad7a40d08fc6632f4d2b4ef44
Author: Daniel Molkentin <danimo@owncloud.com>
Date:   Mon Oct 13 17:58:02 2014 +0200

    Introduce a worker thread

commit 2344407ec0bc1ce173ebbacadcf3992d62d94078
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Mon Oct 13 17:03:47 2014 +0200

    Windows Shell Integration:  try to keep the socket open using a thread (WIP)

commit ea6d5273ed60d8bc3f1c5d5c6936364d783a1c0f
Author: Daniel Molkentin <danimo@owncloud.com>
Date:   Mon Oct 13 15:27:46 2014 +0200

    Make Explorer plugin work again with named pipes

    This is a temporary hack, which needs more refactoring.

commit 44a3437a44082379efa0078c9afd7b8bbde930de
Author: Daniel Molkentin <danimo@owncloud.com>
Date:   Sat Oct 11 07:31:24 2014 +0200

    Fix code

commit 123390a0f3516c0078309d7048c6d2acb9293676
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Fri Oct 10 16:29:35 2014 +0200

    Windows shell integration: Use named pipe  (WIP)

commit 9eea7e2321abeac6b8db0bd85bfce612dbf6bb20
Author: Olivier Goffart <ogoffart@woboq.com>
Date:   Wed Oct 1 12:04:13 2014 +0200

    Windows Shell Integration: Simplify StringUtil

    This fixes a memory leak in CommunicationSocket::ReadLine
2014-10-14 16:05:48 +02:00
Olivier Goffart 7e898cf60c SelectiveSync: rename blacklist to selectiveSyncBlackList in some places
Issue #2301
2014-10-11 16:24:45 +02:00
Olivier Goffart 282abdd804 Sync engine: Restart sync when we get a precondition failed error 2014-10-11 15:40:28 +02:00
Olivier Goffart 9b178c5bb2 Sync engine: Do not write to the database too early
It is possible that we have should_update_etag set to true for files
that we also need to propagate.  In which case we must not write to the DB
too early as this could cause data loss.  (cf: issue #2296)
2014-10-11 15:40:28 +02:00
Olivier Goffart 100d1361b6 Add Folder wizard: Sort the folders when selecting the remote folder
Issue #1872
2014-10-10 16:56:05 +02:00
Olivier Goffart d880f2ffbc propagator: Do not show an error message saying it was done by user interaction if it was not
There is many reasons why we could abort (for example timeouts)
And in this case we should not show to the user it was aborted
by user interaction
2014-10-10 14:58:56 +02:00
Olivier Goffart 661fe5df66 csync_statedb: fix inverted logic in testing if the sqlite was compiled with threads 2014-10-10 10:12:54 +02:00
Olivier Goffart b20752f13e Fix the build with clang and Qt4 2014-10-09 17:54:46 +02:00
Olivier Goffart 4c83653d5d Selective sync: do not upload or rename file that would ends up in a not selected folder
Issue #2283
2014-10-09 16:50:03 +02:00
Olivier Goffart 621a37be15 Selective sync: Remove the etag of parent folders in the db when adding or removing items in the selective sync blacklist 2014-10-09 15:28:51 +02:00
Olivier Goffart 6de104a03a Selective Sync: ensure that the blacklist contains the last '/'
In the sync engine.  Because that makes tha tthe lower_bounds in selective sync works properly.

For example, if both "Test" and "Test Test" are in the list,  then "Test/Foo" would match the "Test Test"
 because slash is after space

Task #2289
2014-10-09 15:11:04 +02:00
Olivier Goffart 97560509ea Selective sync: change the text of the label.
Selective sync is a black list.  Unchecked folder are blacklisted
Partially checked folders are not in the blacklist and the files there
are sync'ed
2014-10-09 14:36:26 +02:00
Olivier Goffart 0d303f1d1f SelectiveSync: sort the item instead of using the order from the server
Task #2259
2014-10-01 13:47:24 +02:00
Olivier Goffart 147fa60f81 Merge branch 'socketapi_localsocket' into 1.7 2014-10-01 12:34:22 +02:00
Olivier Goffart a1b9405e2e Windows has not been ported back to QLocalSocket 2014-10-01 12:33:54 +02:00
Olivier Goffart db02d44c6a No need to update mtime and etag after a move
The server keeps the mtime and etag anyway.
And changing the mtime also changes the etag and so make other clients re-download
the file instead of detecting the move
2014-10-01 11:22:00 +02:00
Olivier Goffart a587148c73 SocketApi: Save the socket in $XDG_RUNTIME/<appname>/socket 2014-09-29 13:54:13 +02:00
Olivier Goffart 9acd3a58ee SocketApi: Use QLocalSocket after all for windows and linux
Relates issue #2189
2014-09-29 12:19:33 +02:00
Olivier Goffart 10989d13e4 Folder: Remove slotTerminateAndPauseSync
This make no sens to just set the pause config flag here. It make selective sync to mark
the folder as posed on restart
2014-09-26 12:43:54 +02:00
Olivier Goffart fe1653ede6 csync_update: don't recurse into ignored directory.
This save some time when selective sync deselected a large tree
2014-09-26 12:35:56 +02:00
Olivier Goffart b4071cec01 DiscoveryPhase: fix the name of a function
It was renamed from white list to black list long ago
2014-09-26 12:35:56 +02:00
Olivier Goffart a3d70b3cf6 Attempt to fix a crash
The reply might be null at the point we are timing out.
Issue #2246
2014-09-26 10:04:36 +02:00
Olivier Goffart dad8c1c27c propagator: Do not check for case clash when renaming
Issue #1385

When renaming, we would normaly already have an error if the file already exist.
And we want to allow the renaming to chang ethe case (Eg. "hello" -> "HELLO"
2014-09-24 16:43:01 +02:00
Olivier Goffart 292a7357bd t1.cfg.in: saner placeholder executable name
Now it is owncloudcmd and not csync
2014-09-17 14:39:34 +02:00
Olivier Goffart 9b1779bb06 Fix compilation
qFatal does not work with <<
2014-09-15 18:03:44 +02:00
Olivier Goffart 97cc05eeea journaldb: Assert in case of SQL error
relates issue #2106
2014-09-15 14:27:39 +02:00
Olivier Goffart 5870a57002 wizard: fix start a clean sync
The problem was that the backup function failed as we tried to
move  /home/xxx/ownCloud/  to /home/xxx/ownCloud/.oC_bak
The intention was to move it to /home/xxx/ownCloud.oC_bak

Issue #1989
2014-09-15 13:49:13 +02:00
Olivier Goffart 278bc5a8cd owncloudcmd: ask for the login and password and put it in the url (if it's not there already)
Because we cannot rely on HTTPCredentials to open windows in a command line tool

Fixes #1860
2014-09-15 13:24:31 +02:00
Olivier Goffart af5e8ee18c AbstractNetworkJob
Abort the transfer in case of timeout.

This avoid that a connection that never replies blocks mirall

Issue #2148
2014-09-12 18:06:29 +02:00
Olivier Goffart 52e8343f76 ConnecitonValidator: Handle the timeout
otherwise the account may be stuck in a disconnect case if there is a timeout

Issue #2148
2014-09-12 18:06:17 +02:00
Olivier Goffart a4dbf5942c owncloudcmd: restart the sync if required
Fixes #2038
2014-09-12 17:23:01 +02:00
Olivier Goffart 79052ba7c6 Blacklist: ignore problems that don't have HTTP error code and are possibly problem on the local file system
Issue #1985
2014-09-12 14:13:04 +02:00
Olivier Goffart a84b7dc27e Restart the sync when we detect we need to redo a sync
Fixes #1968
Relates #2038
2014-09-10 17:27:33 +02:00
Olivier GoffartandDaniel Molkentin 79ee6c2f3b csync_vio_local on windows: fix overflow when computing the size of file > 4GiB
MAXDWORD is 0xFFFFFFFF, so if we add one, it overflows and is 0.
We need to cast it to 64 bits before
2014-09-10 13:21:31 +02:00
Olivier Goffart fa962b7f53 csync_update: fix compilation warning 2014-09-10 11:08:00 +02:00
Olivier Goffart 71408bab60 I forgot to rename one of the while list to the blacklist 2014-09-10 11:01:38 +02:00
Olivier Goffart 291231c561 Merge missing commits from 1.6.2-themefix into 1.7
Conflicts:
	VERSION.cmake
2014-08-30 17:57:58 +02:00
Olivier Goffart 5d19426930 Propagator: When the server don't support ranges, reset the counter so the progress is not messed up
Issue #2081
2014-08-29 19:33:20 +02:00
Olivier Goffart 1b51a10b19 Socket API: be consistant in the VERSION command and add the VERSION at the beginning 2014-08-29 17:28:36 +02:00
Olivier Goffart aab870af32 desktop file: add a Comment
Fixes #2130
2014-08-29 17:14:40 +02:00
Olivier Goffart 34a27c748a Progress: in case of resuming chunks, advance directly at startup by the amount of chunk already done
Fixes #2103
2014-08-29 16:06:56 +02:00
Olivier Goffart a73fbccf8c t4.pl: add a test to test that ignored file are not deleted 2014-08-28 19:33:52 +02:00
Olivier Goffart d4bbd28757 csync: remove ignored_cleanup: it's not used anymore 2014-08-28 17:16:51 +02:00
Olivier Goffart 98b7248df0 reconcile/update: don't remove directory that contains ignored files 2014-08-28 17:16:17 +02:00
Olivier Goffart 0fb0f2c204 Selective sync: start a sync when the selective sync settings changes 2014-08-28 16:27:46 +02:00
Olivier Goffart 79d13d9242 Selective sync: deselecting a folder removes it from the local file system 2014-08-28 15:53:49 +02:00
Olivier Goffart 79f00c2a2a Wizard: adjust alignements 2014-08-28 13:32:14 +02:00
Olivier Goffart e5068e7543 Selective sync: if one click twice on the button in the wizard, it should keep the blacklist 2014-08-28 12:25:44 +02:00
Olivier Goffart 858218ac34 Wizard: new layout 2014-08-28 12:18:19 +02:00
Olivier Goffart a73316306d Selective sync: new design in the wizard 2014-08-27 19:03:11 +02:00
Olivier Goffart 928652e4cf Selective sync: rename the button 'choose what to sync' 2014-08-27 17:31:57 +02:00
Olivier Goffart 7950b49cb1 Selective sync dialog: fix fetching sub directory when the folder is not the root folder 2014-08-27 17:19:36 +02:00
Olivier Goffart ea381392a7 SocketAPI: fix the BROADCAST message 2014-08-27 13:55:06 +02:00
Olivier Goffart bb7f63dcfd AccountSettings: be less verbose in the status string 2014-08-27 13:51:14 +02:00
Olivier Goffart 253d65727b Socket api: Add a VERSION command 2014-08-27 13:51:14 +02:00
Olivier Goffart 2356601bb3 folder: Make sure not to pol the server if the account is disconnected
Fixes #2108
2014-08-26 16:23:19 +02:00
Olivier Goffart 9b88c7d3c1 SSLButton: fix memleak 2014-08-26 15:59:19 +02:00
Olivier Goffart 302499b483 uploading: make sure to cast to uint64 to avoid integer overflow 2014-08-26 15:58:55 +02:00
Olivier Goffart aabcf80774 Sync engine: Take also in account the fact that the instruction can be IGNORE on both tree 2014-08-21 11:33:38 +02:00
Olivier Goffart 1cf956ec21 Discovery phase: clear the callbacks after use 2014-08-21 11:27:25 +02:00
Olivier Goffart 9c98883bea propagator mkcol: If the server replies with a file-id in the header, use it
Newer server will have a file id directly in the file header.
https://github.com/owncloud/core/issues/9000
2014-08-18 20:42:43 +02:00
Olivier Goffart 2fb19e25b5 Fix clang 3.0 compilation 2014-08-18 19:44:18 +02:00
Olivier Goffart c291eb3db4 Fix compilation error 2014-08-18 15:45:58 +02:00
Olivier Goffart 7f38ce8908 Selective sync: the button should only be enabled while connected 2014-08-18 15:45:38 +02:00
Olivier Goffart 1781400340 fix compilation 2014-08-18 15:28:24 +02:00
Olivier Goffart 3760f14da8 Restore the log window 2014-08-18 15:16:33 +02:00
Olivier Goffart dc18366111 DiscoveryPhase: put in namespace Mirall 2014-08-18 14:45:48 +02:00
Olivier Goffart 936252765a Merge branch 'master' into selective_sync
Conflicts:
	src/mirall/syncengine.cpp
	src/mirall/syncengine.h
2014-08-18 14:44:43 +02:00
Olivier Goffart 9575271fcd Selective sync: hide the header 2014-08-15 16:49:22 +02:00
Olivier Goffart b6eda9076e Selective sync: add a page in the folder wizard 2014-08-15 16:40:11 +02:00
Olivier Goffart 4c4d02c0d0 Selective Sync: refactor the widget in its own class 2014-08-15 14:58:16 +02:00
Olivier Goffart c1831f4946 Selective sync: use a black list instead of a white list 2014-08-15 12:29:10 +02:00
Olivier Goffart 4b2c1bacd1 Merge remote-tracking branch 'origin/master' into selective_sync 2014-08-15 10:28:50 +02:00
Olivier Goffart 255330d342 Add a "Skip Folder Configuration" button in the wizard
This allow to start owncloud the first time but not automatically sync
everything, but let the user configure sub folders instead
2014-08-12 17:34:54 +02:00
Olivier Goffart ad139e19ab Fix error reported by address sanitizer
Qt allow to call deleteLater on a null object, but it is an undefined behaviour
2014-08-12 17:34:54 +02:00
Olivier Goffart 4ff0e7e0a2 Silent some warnings 2014-08-12 14:03:04 +02:00
Olivier Goffart 12459bf07e selective sync: fix whitelist matching 2014-08-12 11:43:42 +02:00
Olivier Goffart b25ef28e82 Selective sync: remember the old list when accepting the dialog even if the tree was not expanded 2014-08-12 11:12:58 +02:00
Olivier Goffart 7e009667a2 Selective sync: ignore the files that are not in the selective sync white list 2014-08-11 18:42:24 +02:00
Olivier Goffart 1f1eb933d1 Move the update job in a new file named discoveryphase
"Discovery" is a better name than "update"
2014-08-11 18:42:24 +02:00
Olivier Goffart aa85e875bd Selective sync: Add UI to select paths 2014-08-11 18:42:24 +02:00
Olivier Goffart 95a77e5ccc Merge branch 'il' 2014-08-07 14:29:27 +02:00
Olivier Goffart 21783ecef7 SyncEngine: fix permission detection of moves
Two problems:
- "M" was used instead of "V"
- The extraction of the parent folder of the destination was wrong
2014-08-07 14:27:27 +02:00
Olivier Goffart 6827f9977c Merge branch 'il'
Conflicts:
	doc/ocdoc
2014-08-07 12:15:50 +02:00
Olivier Goffart 6d24bd0361 journaldb: Fix that fileid might be missing in the db
When recovering from a inalid move operation, we call
avoidReadFromDbOnNextSync. This will remove the fileid from the db so
we don't detect a move on the next sync.  But we want the next sync to fetch
the file id again, and this can only happen if we don't read them
from the db and do the actual PROPFIND, this is done by avoidReadFromDbOnNextSync

However, if there is propagation in that source directory later, it
will overide the invalid etag with the real one and we will not uissue the PROPFIND
to fetch the fileid.
We must therefore also protect the future write to the DB when calling
avoidReadFromDbOnNextSync
2014-08-07 12:14:45 +02:00
Olivier Goffart 55567f8dd2 remove unused variable 2014-08-06 10:20:58 +02:00
Olivier Goffart cfdfd6a860 wizard: don't call initializePage
It is called automatically by QWizard and do not need to be called explicitly

But setVisibla(false) don't really have an effect there since show() is going
to be called on the page
2014-07-30 12:36:30 +02:00
Olivier Goffart f1ad82d0ba t2.pl Fix the test testing that moving a file that was just added do not create duplicate 2014-07-29 13:58:21 +02:00
Olivier Goffart 5254c9785c shibboleth: Fix connection when the URL do not have a path
When the url do not have a path (for example: "http://example.com" as
opposed to "http://example.com/"),  its path is not a prefix of the
root path of the cookie (usually '/')

By adding the dav path, we make sure the URL has a path.

This made a bug when the owncloud url was just a domain name and did not
have a path
2014-07-28 13:50:24 +02:00
Olivier Goffart 3d0c009719 propagator_qnam: Limit the HTTP buffer size when downloading
Otherwise the buffer might fill up too quickly and get too large and consume
too much memory which could lead to crash in extreme cases

Should fix issue #1974
2014-07-24 15:43:28 +02:00
Olivier Goffart 208011f6ab propagator_qnam: add debug output in cae the file changed localy
In order to debug https://github.com/owncloud/core/issues/9781
2014-07-24 11:17:59 +02:00
Olivier Goffart 1d9d88ca85 Always use the dummy crendential while trying to determine the credentials
Otherwise the SHibbolethCredential may be set and it has hook to intercept 401

This should fix issue #1908
2014-07-23 14:38:50 +02:00