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
Olivier Goffart
c91de092e5
Setup wizard: Fix the http fallback logic
...
Also don't allow to go back from the advanced settings page because
this break everything
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
Olivier Goffart
5c2298fa37
Discovery phase: fix a few warnings
2015-01-20 18:50:03 +01:00
Olivier Goffart
08043bed21
csync_update: Leave a margin of 1sec when comparing the time for the timezone changes
...
Because FAT has a bad resolution, when the timezone is changed, there may be
one second of difference.
Issue #2438
2015-01-20 18:34:24 +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
ce0e7e4a5d
Propagator download: Do not assume the server do not support ranges if we cannot parse the Content-Range header
...
There are several reason why start==0
* The Content-Range header was not present
* We can't parse it
* Or it is actually 0
If we can't parse it, we cannot assume anything and must error out.
So only in the first case we should discard the temporary file and continue.
Issue #2708
2015-01-15 17:56:49 +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
c9f1b3229b
Add Folder Wizard: fix wording
...
(Relates #2663 )
2015-01-15 13:55:48 +01:00
Olivier Goffart
2b8b204cfc
SelectiveSyncDialog::estimatedSize: return qint64 because -1 in case of error
2015-01-15 13:07:16 +01:00
Olivier Goffart
264471af43
csync: cleanup some unused error code
2015-01-15 12:19:06 +01:00
Olivier Goffart
e31514f769
csync propfind: Rename the directDownload property
...
The owncloud server has a different name because if it was named the same
it would break the 1.7 client
Issue #2614
2015-01-15 11:52:55 +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
Olivier Goffart
f654c53c35
fixing testOctetsToString
2015-01-15 09:58:40 +01:00
Olivier Goffart
ac0e8b1fe1
Qt 4 fix
2015-01-14 16:30:10 +01:00
Olivier Goffart
da0f7317b4
Wizard: Show the size of the folders that will be downloaded
...
Part of #2580
2015-01-14 16:11:07 +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