Olivier Goffart
1e788d3d60
folderwizard: fix possible use of null pointer
...
Coverity issue 12907
2014-06-20 11:29:28 +02:00
Olivier Goffart
83171bf025
accountsettings: remove unused function
...
It was moved into owncloudgui before
And it was broken (bad use of QUrl and use of null pointer
2014-06-20 11:27:37 +02:00
Olivier Goffart
2e51721851
owncloudgui: Fix compilation
2014-06-20 11:26:41 +02:00
Olivier Goffart
4d4a0148e4
owncloudgui: use QUrl::fromLocalFile
2014-06-20 11:21:36 +02:00
Daniel Molkentin
6b041b0846
Fix use-after-free in QNAM propagator
...
This fixes Coverity CID 12929
2014-06-20 10:58:03 +02:00
Olivier Goffart
02355696ff
engine: When restoring the file, use the mtime and fileid from the server
...
Important to switch the things around as we are going to write them in the DB
2014-06-18 16:15:14 +02:00
Olivier Goffart
646eafb05d
Legacy propagator jobs: Do not limit bandwidth when aborting
...
When aborting, we want the last job to be as fast as possible
as it blocks the UI. So don't limit the bandwidth in that case
2014-06-18 15:09:19 +02:00
Olivier Goffart
0880444e37
Syncengine: Wait for the neon thead to be finished before destroying the Propagator and calling csync_commit
...
The legacy job might still need the neon session and the propagator.
We need to make sure the thread exits before.
This fixes crash when pausing a sync made with the legacy jobs
(for example when there is network limitation)
This should fix https://github.com/owncloud/enterprise/issues/200
2014-06-18 15:08:23 +02:00
Klaas Freitag
b71881d300
SyncEngine: Use QSet for the seenFiles rather than QHash.
...
We can save some memory here as the seenFiles list can be long.
2014-06-17 16:30:11 +02:00
Olivier Goffart
c759e8bb8f
permission: read them from the tree
2014-06-17 14:50:24 +02:00
Olivier Goffart
b83f6c0b3a
sync engine: try to respect permission
...
This is still Work in progress
2014-06-17 14:44:58 +02:00
Olivier Goffart
2f361278d2
Merge remote-tracking branch 'origin/1.6' into 'il'
2014-06-16 16:41:48 +02:00
Klaas Freitag
2d234cd96f
Propagator: Handle file open error properly and log error message.
2014-06-16 13:35:50 +02:00
Klaas Freitag
1230e87330
Propagator: Give a more specific error message on file remove.
...
If the file is removed during it is synced up, there is now a correct
error message saying that, rather than "the file has changed during
upload."
2014-06-16 13:34:59 +02:00
Olivier Goffart
2caa69e0cb
blacklist: use the _ERROR instruction instead of _IGNORE
...
When something is in the blacklist, still use the _ERROR instruction
that way the applications can still report errors for blacklisted
items
2014-06-13 11:19:31 +02:00
Klaas Freitag
c72c72a106
FolderWizard: Get folder map from FolderMan rather than store locally.
...
If the Folder::Map object is kept locally in the wizard, changes to
the map are not reflected there, as they happen when signing out.
This fixes bug #1875
2014-06-12 23:17:13 +02:00
Klaas Freitag
ed26bcb3e7
Theme: Show the stringified app version rather than the major version.
...
This was a regression, we changed that by accident in 1.6.0.
(cherry picked from commit 760ecd71fc
)
2014-06-10 17:05:15 +02:00
Olivier Goffart
18e9357aaf
network limits: Fix warning
...
About the order of initialization
2014-06-07 12:20:54 +02:00
Olivier Goffart
46b8260693
network limits: Do not read them from the config file in the engine
...
Do that from the folder, because the engine can be used in app where
the MirallConfigFile is not accessible
2014-06-07 12:09:22 +02:00
Markus Goetz
8dbfcd782b
CSync: Fetch permissions from server for whole tree on server update
2014-06-06 17:10:07 +02:00
Markus Goetz
70ff928381
CSync & statedb: Parse 'perm' from server
...
ownCloud 6 sends this.
2014-06-06 15:24:17 +02:00
Markus Goetz
b48ab79a92
CSync & statedb: Remove uid/gid
...
Columns are still in the DB as we don't want to break any compatibility.
2014-06-06 13:41:16 +02:00
Markus Goetz
fd4642d827
Folder: Don't add ignored files on startup
...
Before each sync is enough.
(We could do it at startup only, but so far it is good to have
it at each sync so we can easier see stuff in the log)
2014-06-05 17:50:18 +02:00
Daniel Molkentin
3934fa019e
SocketAPI: proper name for pipe on windows
2014-06-05 12:02:57 +02:00
Daniel Molkentin
7fcf6f9f79
Merge branch '1.6'
2014-06-05 12:01:50 +02:00
Olivier Goffart
7a7b0e8939
propagator: Ignore new directory inside removed directory.
...
This fixes te bug if one create a tree of folders and subfolders
and delete them while they are uploading. Some folder would
reappears
2014-06-04 16:37:46 +02:00
Olivier Goffart
a4f6370774
propagator: do not update perent directory etag before sub directories are removed
...
Direcotries are removed at the end, and we don't want to update
parent directory etag before the delete is performed, or the next
sync may read from db and think the files are not removed.
Issue #1845
2014-06-04 12:31:30 +02:00
Markus Goetz
233450d850
CSync: Remove config dir setting
2014-06-04 10:56:56 +02:00
Olivier Goffart
582a8fe7fd
Merge branch '1.6'
2014-06-03 17:27:12 +02:00
Olivier Goffart
abafbef985
Optimize move
...
Do not send the mtime for each file without a directory, because the server now keeps it
2014-06-03 17:27:06 +02:00
Olivier Goffart
6e10b8c5c4
Propagator: Recover from 'precondition failed' error
...
When we detect a precondition failed, it is possible that it is
because the etag in the database is wrong. We must therefore not
read from the database on the next sync. In order to avoid that, we
reset the etag of parent directories to invalid values
Fixes #1767
2014-06-03 17:22:40 +02:00
Olivier Goffart
24616bead4
Fix syncing a folder with '#' in the name
...
Or an url with '#'
Fixes #1838
The problem is a bug fixed in Qt5 now breaks.
In Qt4, QUrl::setPath() did not properly handle path with '#' in them
and QUrl::toString would restitute the '#'.
But csync will blindly do "uri + path" before passing the path to
VIO. because csync_update has no idea that the VIO plugin need special
encoding, the encoding cannot be done there. But csync_owncloud then
encodes the full path. So if the uri contains '#', it must not be already
encoded or there will be two encoding.
2014-06-03 15:45:10 +02:00
Markus Goetz
4d4eab8b1c
CSync & Propagator: Support a direct download URL
...
This is for server file backends that support sending a
direct URL.
2014-06-03 14:55:34 +02:00
Markus Goetz
b8e20b412c
CSync: We can access the context directly
2014-06-03 11:51:12 +02:00
Markus Goetz
5ee00a8df7
CSync: Simplify csync_owncloud stat/resource handling
2014-06-03 11:51:12 +02:00
Klaas Freitag
1af3d3f18b
More descriptive error message when querying the database without hit.
2014-06-03 09:50:09 +02:00
Klaas Freitag
f54248c0a7
Minor cleanups and changes
2014-06-03 09:50:09 +02:00
Klaas Freitag
2911c0e1c4
Add a recursiveFolderStatus method
2014-06-03 09:50:09 +02:00
Daniel Molkentin
746c15b4aa
Remove debug layout
2014-06-02 19:38:04 +02:00
Markus Goetz
022a3fcd92
OS X: Fix localFileNameClash
...
We need to compare the other way round and compare only the file name
because our sync directory might be symlinked and then resolve to
another canonical path (but we were only interested in the filename part
anyway)
2014-05-30 15:47:53 +02:00
Olivier Goffart
0151682a53
Make sure that OwncloudPropgator::finished is only emit once
...
When we abort, each job currently running may result in a call to finished().
It used to cause a crash because we would unlock the _syncMutex twice
Fixes #1793
2014-05-29 12:15:13 +02:00
Olivier Goffart
864f2cdc7d
remove the _syncMutex and replace it by a simple bool
2014-05-29 11:35:13 +02:00
Daniel Molkentin
0c1ab533e6
Do not trim serial numbers
...
This broke in a refactoring. The 'true' was interpreted as length of 1.
Fixes part of #1436
2014-05-28 21:16:00 +02:00
Olivier Goffart
1dd7f736d0
Fix another crash at exit
...
Fixes #1794
2014-05-28 19:59:35 +02:00
Olivier Goffart
571c199db8
remove broken connection
...
Fixes #1822
2014-05-28 18:11:39 +02:00
Daniel Molkentin
3d2a2df86f
Allow to set a smaller timeout value in the config file
...
Added to debug #1724
2014-05-28 16:28:22 +02:00
Olivier Goffart
ebe1f986f1
Only remove session cookies
...
This should disconnect without loosing long lived cookie
2014-05-28 15:24:14 +02:00
Olivier Goffart
dd1152dd4f
Clear all cookies when loging out
2014-05-28 11:41:06 +02:00
Daniel Molkentin
f591ac6549
CookieJar: Reduce debug noise
2014-05-28 10:05:32 +02:00
Klaas Freitag
e275ad3866
Emit the sync finished signal a bit delayed.
...
This allows folder watcher events comnig in before the sync is marked
finished. This avoids "endless syncing" as described in bug #1808
2014-05-27 11:35:07 +02:00
Olivier Goffart
5813f63df8
Do not runs the check connection timer when there is no configured account
...
in order to avoid popup of the wizzard every 32 seconds
Fixes #1812
2014-05-27 11:05:09 +02:00
Klaas Freitag
449c00f019
No need to check for case preserving filesystem here.
...
That is done in the utility function instead.
2014-05-26 18:28:52 +02:00
Klaas Freitag
6017eb7ca6
Case clash check for local remove plus native separators.
2014-05-26 18:28:25 +02:00
Klaas Freitag
f1b2417967
Add check for case clash for legacy propagator download.
2014-05-26 18:28:25 +02:00
Klaas Freitag
181383e5f1
Check for case preserving file system in localCaseClash
2014-05-26 18:28:25 +02:00
Markus Goetz
c1b9d5c653
Propagator: Implement localFileNameClash for OS X
2014-05-26 17:36:52 +02:00
Klaas Freitag
964c3ac7bf
Check for local file name clash before local renaming.
...
Return a proper error message in case.
2014-05-26 17:00:40 +02:00
Daniel Molkentin
6d8afabf41
Find export macro
2014-05-26 16:33:04 +02:00
Daniel Molkentin
0a7dbeb778
Export CookieJar
2014-05-26 16:29:26 +02:00
Olivier Goffart
81f410970f
ammend previous change
2014-05-26 15:01:26 +02:00
Olivier Goffart
e75c5236f2
Properly report errors when renaming a file
...
That is especially usefull when renaming to an existing file with a different case
2014-05-26 14:51:53 +02:00
Olivier Goffart
8a671c40d1
Make FolderMan a member of the application
...
The goal here is that it is going to be destroyed with the application
It need to be destoyed so the folder are destroyed, which is required
for properly finishing the sync while exiting.
It must not be destroyed after the application because the QSQLite plugin
may be already destroyed in that case.
Since the constructor of FolderMan is called earlier, we can't call the
config file too early
fixes 1793
2014-05-26 14:37:15 +02:00
Olivier Goffart
50ce0f9681
Fix crash at exit when there is a log after the Logger has been destroyed
...
Use a proper static Logger instead of allocating one, and cleanup
the QTMessageLogger when it is destroyed
2014-05-26 14:37:14 +02:00
Daniel Molkentin
a60902b33d
Make sure the settings window is brought up when minimized
...
Fixes #1804
2014-05-26 14:32:08 +02:00
Olivier Goffart
5220786cf2
do not blacklist fatal error
2014-05-26 12:27:16 +02:00
Olivier Goffart
99cead68f5
Fix crash when aborting
...
When aborting, the slotFinished will destroy all the Jobs, but they need
one more even loop to finish cleanups
Fixes #1793
2014-05-26 12:23:25 +02:00
Olivier Goffart
7a209ba376
leak fix
2014-05-26 12:07:00 +02:00
Olivier Goffart
f9263da3de
Fix crash when the account config is gone and there are still folder
...
In rare case (due to a bug in QSettings) the account config may disapear
We should not crash in that case
2014-05-26 11:08:32 +02:00
Daniel Molkentin
3f724e1c6a
Fix Pref window for good
...
This was forgotten in 18677dbc3f
2014-05-26 09:37:43 +02:00
Volkan Gezer
9abffdb1a6
fix typo
2014-05-24 15:04:42 +02:00
Volkan Gezer
5b0307446a
fix spacing
2014-05-24 15:03:45 +02:00
Klaas Freitag
1b2875c20a
Use the moved implementation of the name clash detection method.
2014-05-23 18:58:21 +02:00
Klaas Freitag
bbdf7bf955
Check for case clash on downloads.
2014-05-23 18:58:21 +02:00
Klaas Freitag
57359968ed
Added method localFileNameClash
...
Also reordered the implementations a bit.
2014-05-23 18:58:08 +02:00
Klaas Freitag
ea9f302b7a
Read the blacklist entries case insensitive in case the file
...
system is only case preserving.
2014-05-23 16:13:35 +02:00
Klaas Freitag
ef0a3c212e
Add a utility function fsCasePreserving.
...
Returns true if the underlying file system is case preserving instead
of case sensitive. That is true for Mac and Windows currently. Only
Linux has a case sensitive file system usually.
2014-05-23 16:13:35 +02:00
Daniel Molkentin
18677dbc3f
Fix on-top/below-others window problem
...
- Don't give the settings window an always-on-top hint, or else
sub dialogs will pop-under. Also, people seem to (ab-)use it
as a status monitor... well
- raiseWidget() can only really do one thing: remove the dialog status
from dialogs without a parent due to a bug in Qt. The previous
implementation never really worked. Tested on Mac and Gnome 3 so far.
Fixes #1795
Fixes parts of #1775
2014-05-23 16:00:50 +02:00
Klaas Freitag
7e8b403116
More progress on the CI problem detection.
2014-05-22 17:12:59 +02:00
Daniel Molkentin
b995cd318c
Fix/cleanup PropagateLocalMkDir::start()
2014-05-22 10:16:33 +02:00
Daniel Molkentin
ed19107161
Remove useless check. QFile::exists() is CI on CI filesystems
...
Tested on OS X and Windows
2014-05-22 10:06:10 +02:00
Daniel Molkentin
5b298abba1
Revert "Set an "active" role for the menubar icon on Mac"
...
Apart from a small mistake in this commit, there seems to be
something else wrong.
This reverts commit 97362cff32
.
2014-05-21 13:00:20 +02:00
Daniel Molkentin
4edbeece49
Fix connection following the update of the QtSingleApplication classes
2014-05-21 12:31:44 +02:00
Daniel Molkentin
97362cff32
Set an "active" role for the menubar icon on Mac
...
Fixes #1730
2014-05-21 11:19:38 +02:00
Daniel Molkentin
3db3c7b876
Update QtSingleApplication and QtLockedFile
...
Fixes stale temp file issues, and is needed for blocking support.
2014-05-21 11:19:38 +02:00
Klaas Freitag
d0b9b002e4
Show the sync icon in case the status is not yet defined.
...
This fixes the problem that on the first sync, no proper status icon is
shown on a potential long update phase.
2014-05-21 11:09:01 +02:00
Olivier Goffart
bdba56f60b
Always wait on the thread before emiting finished
...
This ensure that there would be no way to have two thread running
Refactor all the location where finished is called in a single function
2014-05-20 12:32:06 +02:00
Daniel Molkentin
7ade4bb6e6
AccountSettings: Handle button states more correctly
...
Fixes #1779
2014-05-19 15:46:23 +02:00
Daniel Molkentin
86117aed0d
autostart unix impl: use mkpath instead of mkdir
...
Fixes TestUtility::testLaunchOnStartup(), if .config/ does not exist.
2014-05-19 12:42:04 +02:00
Klaas Freitag
43fe7b0d55
Detect directory case sensitivity clash on windows
2014-05-16 15:24:01 +02:00
Olivier Goffart
e1f8eb5aa5
Another way to force a sync when choosing 'Keep files'
2014-05-15 19:36:01 +02:00
Olivier Goffart
f40a054cb7
Revert "Re-sync immediatly after "Keep files" when all files were removed"
...
This causes infinite sync loops
This reverts commit 8b469d3992
.
2014-05-15 19:29:40 +02:00
Daniel Molkentin
81c768099e
Folder: Correctly reflect paused state after restart
2014-05-15 15:04:48 +02:00
Olivier Goffart
8b469d3992
Re-sync immediatly after "Keep files" when all files were removed
...
Fixes #1710
2014-05-15 11:48:01 +02:00
Olivier Goffart
bb929db7e6
fix warning
2014-05-15 11:29:23 +02:00
Olivier Goffart
90ee274744
We need to call csync_commit in every error cases
...
Else there will still be outdated tree in the memory and the further sync
will be confused
Relates to #1710
2014-05-15 11:18:06 +02:00
Klaas Freitag
ef44a59bed
Better debugability.
2014-05-15 09:45:50 +02:00
Klaas Freitag
d96139f698
Commented verbose logging.
2014-05-15 09:45:50 +02:00
Daniel Molkentin
de970eb0a5
Fix wizard flow with shibboleth
2014-05-15 09:43:26 +02:00
Daniel Molkentin
17a2e224c4
Fix memleak
2014-05-14 12:53:12 +02:00
Daniel Molkentin
5ed4710d64
Merge pull request #1726 from owncloud/debian_bsd
...
Make Debian GNU/kFreeBSD compile
2014-05-14 12:20:17 +02:00