Commit graph

10588 commits

Author SHA1 Message Date
Olivier Goffart
039ff0ca8e PropagateDownload: fix possible crash
Backtrace looks like this:
Crash: EXCEPTION_ACCESS_VIOLATION_READ at 0x0
  File "propagatedownload.cpp", line 234, in OCC::GETFileJob::slotReadyRead
  File "moc_propagatedownl_CA5CFSHZDTX34X.cpp", line 86, in OCC::GETFileJob::qt_static_metacall
  File "qobject.cpp", line 495, in QMetaCallEvent::placeMetaCall
  File "qobject.cpp", line 1256, in QObject::event
  File "qapplication.cpp", line 3804, in QApplicationPrivate::notify_helper

GETFileJob::slotReadyRead can be called with a QueuedConnection when the
bendwith manager is involved. In that case, if the QNAM was reset
in between, the reply might have been destroyed.
(This is only speculation based on the backtrace)
2017-03-28 18:04:19 +02:00
Olivier Goffart
85afa4788b AccountState: Attempt to fix a crash
Backtrace from the crash reporter:

Crash: EXCEPTION_ACCESS_VIOLATION_READ at 0x21
  File "qcoreapplication.cpp", line 1281, in QCoreApplication::postEvent
  File "qobject.cpp", line 2125, in QObject::deleteLater
  File "connectionvalidator.cpp", line 240, in OCC::ConnectionValidator::reportResult
  File "connectionvalidator.cpp", line 206, in OCC::ConnectionValidator::slotAuthFailed
  File "moc_connectionvalidator.cpp", line 127, in OCC::ConnectionValidator::qt_static_metacall
  File "qobject.cpp", line 3716, in QMetaObject::activate
  File "moc_networkjobs.cpp", line 653, in OCC::PropfindJob::finishedWithError
  File "networkjobs.cpp", line 570, in OCC::PropfindJob::finished

I believe the problem is caused because 'this' was deleted in ConnectionValidator::reportResult
as the signal connectionResult gets emited. The AccountState::slotConnectionValidatorResult
slot does indeed call slotInvalidCredentials which might call {Shibboleth,Http}Credentials::fetchFromKeychain
which might emit fetched directly, which will call AccountState::slotCredentialsFetched
which deletes the _connectionValidator

So use deleteLater when deleting the _connectionValidator, hoping this helps
2017-03-28 18:04:19 +02:00
Jenkins for ownCloud
3ca071c612 [tx-robot] updated from transifex 2017-03-28 02:18:27 +02:00
Jenkins for ownCloud
d78b84a12f [tx-robot] updated from transifex 2017-03-27 02:18:28 +02:00
Olivier Goffart
5c2b185374 VERSION: 2.3.1 was release, this branch is now for 2.3.2 2017-03-25 09:06:59 +01:00
Jenkins for ownCloud
8339ff3c1c [tx-robot] updated from transifex 2017-03-25 02:18:28 +01:00
Jenkins for ownCloud
73e58fa090 [tx-robot] updated from transifex 2017-03-25 01:15:15 +01:00
Jenkins for ownCloud
4e70a14c29 [tx-robot] updated from transifex 2017-03-24 02:18:28 +01:00
Jenkins for ownCloud
14131cf020 [tx-robot] updated from transifex 2017-03-23 02:18:37 +01:00
Jenkins for ownCloud
dd5b36779d [tx-robot] updated from transifex 2017-03-22 02:18:28 +01:00
Jenkins for ownCloud
34bb950889 [tx-robot] updated from transifex 2017-03-21 02:18:29 +01:00
Samuel Alfageme
489efa24f7 Fixing a typo on an issue reference
(cherry picked from commit ed03cdf45a)
2017-03-20 17:29:36 +01:00
Matthew Setter
9840ae9e96 Fix incorrect documentation for the ownCloud command-line client
This fixes #5609.
2017-03-20 17:29:16 +01:00
Samuel Alfageme
d375e9b86c Including some info on the proxy config. in the docs.
This was a request of @michaelstingl to document how to configure the proxy manually via the .cfg file for config provisioning purposes.
- Restructured the bullet points into 3 different tables; I believe it's a cleaner approach; maybe this is also applicable to other sections.
- Would be logical to include also settings on proxy auth?
2017-03-20 11:55:02 +01:00
Olivier Goffart
722918abd6 Folder::showSyncResultPopup: Fix undefined behavior when there is no errors
When there is no errors  _syncResult.firstItemError() is NULL, and accessing
it's _file member is an undefined behavior. (Thankfully, createGuiLog did not
use the string when the count was 0, but we are not supposed to create
null references.

Found with the UB sanitizer:

src/gui/folder.cpp:348:49: runtime error: member access within null pointer of type 'OCC::SyncFileItem'
src/gui/folder.cpp:348:19: runtime error: reference binding to null pointer of type 'const QString'
2017-03-20 11:53:13 +01:00
Jenkins for ownCloud
48fe8d1cb8 [tx-robot] updated from transifex 2017-03-20 02:18:28 +01:00
Jenkins for ownCloud
1000cdda09 [tx-robot] updated from transifex 2017-03-19 02:18:28 +01:00
Jenkins for ownCloud
d71b59b817 [tx-robot] updated from transifex 2017-03-18 02:18:35 +01:00
Jenkins for ownCloud
95b92c12ac [tx-robot] updated from transifex 2017-03-17 02:18:36 +01:00
Olivier Goffart
a60370255e ActivityListModel: attempt to fix a crash.
The backtrace seems to indicate that the account is invalid.
I don't know how this can happen, maybe the account's display
name was changed while the app is running?

Backtrace:
Crash: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS at 0x18
  Module "owncloud", in OCC::AccountState::account
  Module "owncloud", in OCC::ActivityListModel::data
  Module "owncloud", in OCC::ActivityItemDelegate::paint
  Module "QtWidgets", in QListView::paintEvent
  Module "QtWidgets", in QWidget::event
  Module "QtWidgets", in QFrame::event
  Module "QtWidgets", in QAbstractScrollArea::viewportEvent
  Module "QtWidgets", in QAbstractItemView::viewportEvent
  Module "QtWidgets", in QAbstractScrollAreaFilter::eventFilter
  Module "QtCore", in QCoreApplicationPrivate::sendThroughObjectEventFilters
2017-03-16 14:31:15 +01:00
Olivier Goffart
21909cae04 Propagator: change order of destruction
The destructor of the PropagateItemJob will access the propagator's
_activeJobList. So the _rootJob needs to be destroyed before it.
Order of destruction is the reverse of the order of the members in
the class. So put it at the end so it can be destroyed first.

(This made TestSyncEngine::testDirDownloadWithError crash sometimes
in the master branch)
2017-03-16 14:24:25 +01:00
Markus Goetz
176ea20fef ChangeLog for 2.3.1 2017-03-16 14:19:23 +01:00
Christian Kamm
1a279ca158 About: Show the runtime versions of Qt and OpenSSL #5592
I didn't want to touch this visible translated string in a
patch release so I just switched the data.

For Qt versions before 5, we continue to show the build-time version
of OpenSSL but it's clearly marked as such.
2017-03-16 12:40:42 +01:00
Olivier Goffart
0ed929f24b SyncEngine: fix test regression in TestChunkingNG::testCreateConflictWhileSyncing
In 8ef11a38c9, we started blacklisting
SoftError for 0 seconds.  But if the two sync happen with less than
1s interval, we would still prevent them to happen.
So make sure we expire if 0 seconds have expired
2017-03-16 10:17:08 +01:00
Jenkins for ownCloud
41eeed981f [tx-robot] updated from transifex 2017-03-16 02:18:29 +01:00
Olivier Goffart
8e68e0321c Attempt to fix a crash in FolderStatusModel::slotUpdateDirectories
The backtrace looks like:

  File "atomic_base.h", line 396, in QString::~QString
  File "qlist.h", line 442, in OCC::FolderStatusModel::slotUpdateDirectories

This is the only QList operation, and it may crash if the list is empty.
It can be empty if the propfind returned empty results.
I'm not sure how this can be possible to have an empty list there since
the server is always supposed to return at least one entry, for the directory
itself. But it can happen if a directory was transformed in a file, or
if there is a bug on the server.
2017-03-15 17:23:39 +01:00
Christian Kamm
881b32521b HttpCreds: Update app passwords url #5605
See also owncloud/core#27360
2017-03-15 16:30:08 +01:00
Christian Kamm
b98876e265 Account server version: Helper to create versions
Hex literals don't work well with version 10: 0x100000 doesn't do
the right thing.
2017-03-15 16:30:08 +01:00
Olivier Goffart
dbb5bcb784 Ignore list editor: adjust the size
The previous patch on this file made it a bit too big, so make it a bit smaller
For issue #5600
2017-03-15 16:00:48 +01:00
Jenkins for ownCloud
d95b43f347 [tx-robot] updated from transifex 2017-03-15 02:18:36 +01:00
Christian Kamm
9ca9773e9d Add more versions to --version #5592
* Add git revision, if available
* Add SSL runtime version
* Add compile-time Qt version
2017-03-14 16:13:52 +01:00
Christian Kamm
13b2568358 Windows/NTFS: Do not attempt to upload inaccessible files #5544
It is possible to create files with filenames that differ
only by case in NTFS, but most operations such as stat and
open only target one of these by default.

When that happens, we want to avoid uploading incorrect data
and give up on the file.

Typically this situation should never occurr during normal use
of Windows. It can happen, however, when a NTFS partition is
mounted in another OS.
2017-03-14 16:03:08 +01:00
Jenkins for ownCloud
7a2d12bb47 [tx-robot] updated from transifex 2017-03-14 02:18:30 +01:00
Olivier Goffart
2152bc5fca Ignore list editor: adjust the size of the columns in the table
So the title of the column is fully visible.
Adjust the default size and the size policy of the label so it behave
correctly as the window get resized

Issue #5600
2017-03-13 17:05:24 +01:00
Jenkins for ownCloud
11aecf1af2 [tx-robot] updated from transifex 2017-03-13 02:18:30 +01:00
Jenkins for ownCloud
903d6c80fe [tx-robot] updated from transifex 2017-03-12 02:18:30 +01:00
Jenkins for ownCloud
585221c58c [tx-robot] updated from transifex 2017-03-11 02:18:38 +01:00
Christian Kamm
8ef11a38c9 Blacklist: Escalate repeated SoftError to NormalError #5500 2017-03-10 15:51:55 +01:00
Jenkins for ownCloud
f94a15b0fa [tx-robot] updated from transifex 2017-03-10 02:18:30 +01:00
Olivier Goffart
9c83c57f1c Propagator: Attempt to fix a crash in OwncloudPropagator::scheduleNextJob
The crash reporter shows many crashes in OwncloudPropagator::scheduleNextJob.
We don't really know what could be the cause, but it's probably because
the _activeJobList contains dangling pointer.
So this patch makes sure to remove all the jobs from this list as they get
destroyed.
2017-03-09 15:48:52 +01:00
Jenkins for ownCloud
1d0ef83078 [tx-robot] updated from transifex 2017-03-09 02:18:30 +01:00
Jenkins for ownCloud
4ab217ba04 [tx-robot] updated from transifex 2017-03-08 02:18:33 +01:00
Christian Kamm
4a1a5fa076 AbstractNetworkJob: Improve redirect handling #5555
* For requests:
  - reuse the original QNetworkRequest, so headers and attributes
    are the same as in the original request
  - determine the original http method from the reply and the request
    attributes
  - keep the original request body around such that it can be sent
    again in case the request is redirected

* Simplify the interface that is used for creating new requests in
  AbstractNetworkJob.
2017-03-07 13:18:01 +01:00
Jenkins for ownCloud
298684aaa0 [tx-robot] updated from transifex 2017-03-07 02:18:31 +01:00
Jenkins for ownCloud
005c027274 [tx-robot] updated from transifex 2017-03-07 01:15:15 +01:00
Olivier Goffart
f4495c5c80 ActivityListModel: fix possible crash in slotActivitiesReceived
Backtrace from the crash reporter:

Crash: EXCEPTION_ACCESS_VIOLATION_READ at 0x401
  File "moc_activitylistmo_M5OEXJ7XGJYTWT.cpp", line 92, in OCC::ActivityListModel::qt_static_metacall
  File "qobject.cpp", line 3730, in QMetaObject::activate
  File "moc_networkjobs_7AMNCW4BBANVRK.cpp", line 1342, in OCC::JsonApiJob::jsonReceived
  File "networkjobs.cpp", line 714, in OCC::JsonApiJob::finished
  File "abstractnetworkjob.cpp", line 207, in OCC::AbstractNetworkJob::slotFinished
  File "moc_abstractnetwor_PFI2TXGQHRE33H.cpp", line 98, in OCC::AbstractNetworkJob::qt_static_metacall
  File "qobject.cpp", line 3730, in QMetaObject::activate
  File "moc_qnetworkreply.cpp", line 367, in QNetworkReply::finished
  File "qnetworkreplyhttpimpl.cpp", line 2100, in QNetworkReplyHttpImplPrivate::finished
  File "qnetworkreplyhttpimpl.cpp", line 279, in QNetworkReplyHttpImpl::abort

My theory is that the AccountState stored in a property of the job was destroyed.
before the job timed out.
Therefore, the qobject_cast within the qvariant_cast would call the metaObject()
virtual function on a dangling pointer.

Fix it by storing a QPointer instead which will track the deletion.
2017-03-06 17:25:22 +01:00
Olivier Goffart
f862c626a1 Propagator: Fix finished signal of directory being emited twice and causing crash
When there is a FatalError, we ended up emiting the finished signal for
the directory job several times, which would lead to crashes

Issue #5578
2017-03-06 16:14:04 +01:00
Markus Goetz
6487bb071b NSIS: Don't display link on finish page 2017-03-06 15:40:10 +01:00
Jenkins for ownCloud
e7296d03d3 [tx-robot] updated from transifex 2017-03-05 02:18:29 +01:00
Jenkins for ownCloud
139bb8f094 [tx-robot] updated from transifex 2017-03-04 02:18:29 +01:00