With the lastest build of 2.5 trying to log in to a RC1 NC 14 the client is stuck without an error message.
This happens using app passwords and also "normal" login (with 2FA though).
The log seems to indicate that somewhere a protocol string is missing after successful login:
[OCC::OwncloudSetupWizard::slotSystemProxyLookupDone No system proxy set by OS
[OCC::AccessManager::createRequest 2 "" "https://cloud.domain.com/status.php" has X-Request-ID "ff086ea1-0460-4278-b3b7-1ca1d599b556"
[OCC::AbstractNetworkJob::start OCC::CheckServerJob created for "https://cloud.domain.com" + "status.php" "OCC::OwncloudSetupWizard"
[OCC::CheckServerJob::finished status.php returns: QJsonDocument({"edition":"","installed":true,"maintenance":false,"needsDbUpgrade":false,"productname":"Cloud","version":"14.0.0.17","versionstring":"14.0.0 RC 1"}) QNetworkReply::NetworkError(NoError) Reply: QNetworkReplyHttpImpl(0x563e7906f820)
[OCC::DetermineAuthTypeJob::start Determining auth type for QUrl("https://cloud.domain.com/remote.php/webdav/")
[OCC::AccessManager::createRequest 2 "" "https://cloud.domain.com/remote.php/webdav/" has X-Request-ID "567bcf99-3745-434e-9ba0-8edd1da079b9"
[OCC::AbstractNetworkJob::start OCC::SimpleNetworkJob created for "https://cloud.domain.com" + "" "OCC::Account"
[OCC::AccessManager::createRequest 6 "PROPFIND" "https://cloud.domain.com/remote.php/webdav/" has X-Request-ID "6d6df2e0-180b-48a8-99cc-856bd15f6391"
[OCC::AbstractNetworkJob::start OCC::SimpleNetworkJob created for "https://cloud.domain.com" + "" "OCC::Account"
[OCC::DetermineAuthTypeJob::checkBothDone Auth type for QUrl("https://cloud.domain.com/remote.php/webdav/") is 3
[OCC::WebViewPage::initializePage Url to auth at: "https://cloud.domain.com/index.php/login/flow"
[unknown QPixmap::scaled: Pixmap is a null pixmap
[unknown QPixmap::scaled: Pixmap is a null pixmap
[unknown QPixmap::scaled: Pixmap is a null pixmap
[OCC::WebViewPageUrlSchemeHandler::requestStarted Got user: "aleho" , server: "cloud.domain.com"
[OCC::WebViewPage::urlCatched Got user: "aleho" , server: "cloud.domain.com"
[OCC::WebViewPage::urlCatched URL: "https://cloud.domain.com"
[OCC::OwncloudSetupWizard::slotConnectToOCUrl Connect to url: "cloud.domain.com"
[OCC::WebFlowCredentials::createQNAM Get QNAM
[OCC::AccessManager::createRequest 6 "PROPFIND" "cloud.domain.com/remote.php/webdav/" has X-Request-ID "a8353786-3810-4058-9dd0-bff86389f6c3"
[OCC::AbstractNetworkJob::start OCC::PropfindJob created for "://cloud.domain.com" + "/" "OCC::OwncloudSetupWizard"
[OCC::WebFlowCredentials::slotFinished request finished
[OCC::AbstractNetworkJob::slotFinished QNetworkReply::NetworkError(ProtocolUnknownError) "Protocol \"\" is unknown" QVariant(Invalid)
[OCC::WebFlowCredentials::stillValid Still valid?
[OCC::WebFlowCredentials::stillValid QNetworkReply::NetworkError(ProtocolUnknownError)
[OCC::WebFlowCredentials::stillValid "Protocol \"\" is unknown"
[OCC::PropfindJob::finished PROPFIND of QUrl("") FINISHED WITH STATUS "ProtocolUnknownError Protocol \"\" is unknown"
[OCC::PropfindJob::finished *not* successful, http result code is 0 ""
[OCC::WebFlowCredentials::stillValid Still valid?
[OCC::WebFlowCredentials::stillValid QNetworkReply::NetworkError(ProtocolUnknownError)
[OCC::WebFlowCredentials::stillValid "Protocol \"\" is unknown"
Could be related to #592
I traced the missing protocol string back to an event (?) where apparently the host is used instead of the full URL, so I quickly checked whether the patch below would fix my problems, but apparently the request is not authorized.
diff --git a/src/gui/wizard/webviewpage.cpp b/src/gui/wizard/webviewpage.cpp
index 3ce0c4cf9..141c69ac8 100644
--- a/src/gui/wizard/webviewpage.cpp
+++ b/src/gui/wizard/webviewpage.cpp
@@ -63,11 +63,13 @@ void WebViewPage::urlCatched(QString user, QString pass, QString host) {
_user = user;
_pass = pass;
+ QString url = field("OCUrl").toString();
+
AccountPtr account = _ocWizard->account();
- account->setUrl(host);
+ account->setUrl(url);
- qCInfo(lcWizardWebiewPage()) << "URL: " << field("OCUrl").toString();
- emit connectToOCUrl(host);
+ qCInfo(lcWizardWebiewPage()) << "URL: " << url;
+ emit connectToOCUrl(url);
}
}
[OCC::OwncloudSetupWizard::slotSystemProxyLookupDone No system proxy set by OS
[OCC::AccessManager::createRequest 2 "" "https://cloud.domain.com/status.php" has X-Request-ID "6355bc92-542a-4ec6-90e3-6f1a5d2cd703"
[OCC::AbstractNetworkJob::start OCC::CheckServerJob created for "https://cloud.domain.com" + "status.php" "OCC::OwncloudSetupWizard"
[OCC::CheckServerJob::finished status.php returns: QJsonDocument({"edition":"","installed":true,"maintenance":false,"needsDbUpgrade":false,"productname":"Cloud","version":"14.0.0.18","versionstring":"14.0.0 RC 2"}) QNetworkReply::NetworkError(NoError) Reply: QNetworkReplyHttpImpl(0x5569c3f38d80)
[OCC::DetermineAuthTypeJob::start Determining auth type for QUrl("https://cloud.domain.com/remote.php/webdav/")
[OCC::AccessManager::createRequest 2 "" "https://cloud.domain.com/remote.php/webdav/" has X-Request-ID "05270ca2-3f03-4a9c-b119-eb5fbfeb53a7"
[OCC::AbstractNetworkJob::start OCC::SimpleNetworkJob created for "https://cloud.domain.com" + "" "OCC::Account"
[OCC::AccessManager::createRequest 6 "PROPFIND" "https://cloud.domain.com/remote.php/webdav/" has X-Request-ID "4fca73f8-81d3-41c3-a35e-cdfeabb283a8"
[OCC::AbstractNetworkJob::start OCC::SimpleNetworkJob created for "https://cloud.domain.com" + "" "OCC::Account"
[OCC::DetermineAuthTypeJob::checkBothDone Auth type for QUrl("https://cloud.domain.com/remote.php/webdav/") is 3
[OCC::WebViewPage::initializePage Url to auth at: "https://cloud.domain.com/index.php/login/flow"
[OCC::WebViewPageUrlSchemeHandler::requestStarted Got user: "aleho" , server: "cloud.domain.com"
[OCC::WebViewPage::urlCatched Got user: "aleho" , server: "cloud.domain.com"
[OCC::WebViewPage::urlCatched URL: "https://cloud.domain.com"
[OCC::OwncloudSetupWizard::slotConnectToOCUrl Connect to url: "cloud.domain.com"
[OCC::WebFlowCredentials::createQNAM Get QNAM
[OCC::AccessManager::createRequest 6 "PROPFIND" "https://cloud.domain.com/remote.php/webdav/" has X-Request-ID "a349fed4-8b01-4c8e-831f-8143c346f6c6"
[OCC::AbstractNetworkJob::start OCC::PropfindJob created for "https://cloud.domain.com" + "/" "OCC::OwncloudSetupWizard"
[OCC::WebFlowCredentials::slotFinished request finished
[OCC::WebFlowCredentials::stillValid Still valid?
[OCC::WebFlowCredentials::stillValid QNetworkReply::NetworkError(AuthenticationRequiredError)
[OCC::WebFlowCredentials::stillValid "Error transferring https://cloud.domain.com/remote.php/webdav/ - server replied: "
[OCC::PropfindJob::finished PROPFIND of QUrl("https://cloud.domain.com/remote.php/webdav/") FINISHED WITH STATUS "AuthenticationRequiredError Error transferring https://cloud.domain.com/remote.php/webdav/ - server replied: "
[OCC::PropfindJob::finished *not* successful, http result code is 401 ""
[OCC::WebFlowCredentials::stillValid Still valid?
[OCC::WebFlowCredentials::stillValid QNetworkReply::NetworkError(AuthenticationRequiredError)
[OCC::WebFlowCredentials::stillValid "Error transferring https://cloud.domain.com/remote.php/webdav/ - server replied: "
Nginx Log:
127.0.0.1 - - [03/Sep/2018:23:13:47 +0200] "PROPFIND /remote.php/webdav/ HTTP/2.0" 401 414 "-" "Mozilla/5.0 (Linux) mirall/2.5.0git (Nextcloud)"
Please let me know if you cannot reproduce my setup and need an environment to test against. I'd be happy to provide you with a test account.
Oh, and for the sake of completness: Access via WebDAV works in Nautilus.
@aleho could you provide me with test credentials to your instance?
With pleasure! How can I contact you?
@aleho o sorry I missed your notification. roeland at nextcloud.com works :)
So I tested with the credentials you send me.
I can login just fine using the normal flow. With and without 2FA.
However I can reproduce the manual apptoken issue. I'll see if I can fix that.
Fix for the apptoken is in https://github.com/nextcloud/server/pull/12177
I'll make sure that gets backported as well.
@aleho can you still reproduce it with a regular login?
I can confirm that regular logins work now, tested on two systems.
Glad it works now.
Most helpful comment
Glad it works now.