Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic auth does not allow to log out #9545

Closed
TheOneRing opened this issue Mar 23, 2022 · 11 comments · Fixed by #9547
Closed

Basic auth does not allow to log out #9545

TheOneRing opened this issue Mar 23, 2022 · 11 comments · Fixed by #9547
Assignees
Labels
Early-Adopter:CERN Needs info p2-high Escalation, on top of current planning, release blocker
Milestone

Comments

@TheOneRing
Copy link
Member

When cancel is selected the popup appears again and again rendering the client useless.
image

@TheOneRing TheOneRing added this to the 2.10.1 milestone Mar 23, 2022
@fmoc fmoc changed the title Basic out does not allow to log out Basic auth does not allow to log out Mar 23, 2022
TheOneRing added a commit that referenced this issue Mar 24, 2022
@TheOneRing TheOneRing linked a pull request Mar 24, 2022 that will close this issue
@gabi18 gabi18 mentioned this issue Mar 24, 2022
55 tasks
@gabi18
Copy link
Contributor

gabi18 commented Mar 24, 2022

Reproduced with testpilotcloud-client 2.10.1-rc1 on Windows 10 with winVFS ON:

  • start client
  • add a new account and connect to demo.owncloud.org
  • log out from account
    Result: instead of logging out from account the "Enter Password" popup appears and reappears again and again when "Cancel" is clicked
  • login again by entering the password
  • log out -> no popup
  • login
    Result: the popup appears and 'Cancel' is possible

@gabi18
Copy link
Contributor

gabi18 commented Mar 24, 2022

Not reproducible with testpilotcloud 2.10.1-rc1 on openSUSE 15.3

  • first try to log out works, no popup
  • nothing written to logfile
  • login in again
  • 'Cancel'
    Result: the popup disappears and doesn't pop up again

testpilotcloud.cfg.gz

@Talank
Copy link
Contributor

Talank commented Mar 25, 2022

Is this expected for testpilotcloud 2.10.1-rc2 on windows 10?
The popup asking for password appears multiple times even if I press cancel.
multiple instances of relogin wizard

@fmoc
Copy link
Contributor

fmoc commented Mar 25, 2022

Cannot reproduce this with both the testpilotcloud and ownCloud clients on Linux. The dialog has not automatically popped up within about 10 minutes. I assume this is VFS-related (something is trying to access files in the background, which does not work due to the client not being logged in).

The behavior we see in the .gif is correct: you dismiss the dialog, on the top left it then says "logged out". This is what the fix implemented. This is a different problem, so please open a new issue.

@fmoc
Copy link
Contributor

fmoc commented Mar 28, 2022

We just reviewed this again. The issue persists apparently. Therefore reopening.

The issue only occurs when using VFS on Windows, it seems. It seems like the VFS code doesn't benefit from the fix in #9547, it does not see that the user is logged out after pressing cancel. Note that this only happens on the first re-login attempt after logging out. Logging in, then logging out again does not trigger the dialog again.

@fmoc fmoc reopened this Mar 28, 2022
@gabi18
Copy link
Contributor

gabi18 commented Mar 28, 2022

Logs from ownCloud 2.10.1-rc1 on Windows 10 VFS ON show that there is an endless loop with 'host requires authentication' ("Der Host verlangt eine Authentifizierung")

03-22 19:06:11:369 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:      Network job finished OCC::CheckServerJob("https://demo.owncloud.org/status.php", "25730bf8-5a7
     5-43b0-a2ff-cc5c9f9932d7", "25730bf8-5a75-43b0-a2ff-cc5c9f9932d7")
 406 03-22 19:06:11:424 [ info sync.httplogger ]:    "5f8ca442-b3f8-40bc-b576-f6f627ca9c00: Response: PROPFIND 401 https://demo.owncloud.org/remote.php/webdav/ Header: { Cache-Control: no-store,
     no-cache, must-revalidate, Content-Length: 412, Content-Security-Policy: default-src 'none';, Content-Type: application/xml; charset=utf-8, Date: Mon, 28 Mar 2022 07:24:55 GMT, Expires: Thu,
      19 Nov 1981 08:52:00 GMT, Pragma: no-cache, Referrer-Policy: strict-origin-when-cross-origin, Server: Apache, Strict-Transport-Security: max-age=315360000; preload, Www-Authenticate: Basic
     realm=\"ownCloud\", charset=\"UTF-8\", X-Content-Type-Options: nosniff, X-Download-Options: noopen, X-Frame-Options: SAMEORIGIN, X-Permitted-Cross-Domain-Policies: none, X-Robots-Tag: none,
     X-Xss-Protection: 0, } Data: [<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<d:error xmlns:d=\"DAV:\" xmlns:s=\"http://sabredav.org/ns\">\n  <s:exception>Sabre\\DAV\\Exception\\NotAuthenticate
     d</s:exception>\n  <s:message>No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured, No 'Authorization: Basic' header found. Either the cl
     ient didn't send one, or the server is misconfigured</s:message>\n</d:error>\n]"
 407 03-22 19:06:11:426 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::needsRetry ]:        Not Retry auth job OCC::DetermineAuthTypeJob("https://demo.owncloud.org/remote.php/webdav/", "
     5f8ca442-b3f8-40bc-b576-f6f627ca9c00", "5f8ca442-b3f8-40bc-b576-f6f627ca9c00", "Der Host verlangt eine Authentifizierung") QUrl("https://demo.owncloud.org/remote.php/webdav/")
 408 03-22 19:06:11:426 [ info sync.networkjob.determineauthtype ]:  Auth type for QUrl("https://demo.owncloud.org/remote.php/webdav/") is OCC::DetermineAuthTypeJob::AuthType::Basic
 409 03-22 19:06:11:431 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:      Network job finished OCC::DetermineAuthTypeJob("https://demo.owncloud.org/remote.php/webdav/",
      "5f8ca442-b3f8-40bc-b576-f6f627ca9c00", "5f8ca442-b3f8-40bc-b576-f6f627ca9c00", "Der Host verlangt eine Authentifizierung")
 410 03-22 19:06:12:556 [ info sync.accessmanager ]: 6 "PROPFIND" "https://client-test.owncloud.works/remote.php/dav/files/admin/" has X-Request-ID "f2f82f62-8fb3-4d05-85bf-824c109a146c"
 411 03-22 19:06:12:556 [ debug sync.cookiejar ]     [ OCC::CookieJar::cookiesForUrl ]:      QUrl("https://client-test.owncloud.works/remote.php/dav/files/admin/") requests: (QNetworkCookie("octc
     ra33x7lp=fjo13asaa94rj8tm75ol0oaoq0; secure; HttpOnly; domain=client-test.owncloud.works; path=/"), QNetworkCookie("oc_sessionPassphrase=X9AaM6bA6RTxyrJtYX5n1uhIpBJuMEe%2F0qTBDZlMGAGFYQlR8u6
     CLvvn%2FlwfDmcTVqwPmxvrSXhKSlm4UePTfc%2BRDvyVpB3YKg1%2BaNrbt%2FgvcHKQdS70nqZKlHaqHpdP; secure; HttpOnly; domain=client-test.owncloud.works; path=/"))
 412 03-22 19:06:12:556 [ info sync.httplogger ]:    "f2f82f62-8fb3-4d05-85bf-824c109a146c: Request: PROPFIND https://client-test.owncloud.works/remote.php/dav/files/admin/ Header: { Depth: 0, Au
     thorization: Bearer [redacted], User-Agent: Mozilla/5.0 (Windows) mirall/2.10.1rc1 (build 7023) (ownCloud, windows-10.0.19042 ClientArchitecture: x86_64 OsArchitecture: x86_64), Accept: */*,
      Content-Type: text/xml; charset=utf-8, X-Request-ID: f2f82f62-8fb3-4d05-85bf-824c109a146c, Original-Request-ID: f2f82f62-8fb3-4d05-85bf-824c109a146c, Content-Length: 144, Cookie: octcra33x7
     lp=fjo13asaa94rj8tm75ol0oaoq0; oc_sessionPassphrase=X9AaM6bA6RTxyrJtYX5n1uhIpBJuMEe%2F0qTBDZlMGAGFYQlR8u6CLvvn%2FlwfDmcTVqwPmxvrSXhKSlm4UePTfc%2BRDvyVpB3YKg1%2BaNrbt%2FgvcHKQdS70nqZKlHaqHpdP
     , } Data: [<?xml version=\"1.0\" encoding=\"utf-8\"?><d:propfind xmlns:d=\"DAV:\"><d:prop><d:quota-available-bytes/><d:quota-used-bytes/></d:prop>M</d:propfind>\n]"
 413 03-22 19:06:12:556 [ info sync.networkjob ]:    Created OCC::PropfindJob("https://client-test.owncloud.works/remote.php/dav/files/admin/", "f2f82f62-8fb3-4d05-85bf-824c109a146c", "f2f82f62-8
     fb3-4d05-85bf-824c109a146c") for OCC::QuotaInfo(0x23f40c65398)

log-logout.txt.gz

I will retest with rc2 and provide the logs.

@gabi18
Copy link
Contributor

gabi18 commented Mar 28, 2022

Same behaviour with owncloud-client 2.10.1-rc2: on Windows 10 VFS ON the first attempt to logout results in an endless loop for "Host requires authentication":

03-28 13:04:30:401 [ info sync.networkjob.determineauthtype ]:  Determining auth type for QUrl("https://demo.owncloud.org/remote.php/webdav/")
03-28 13:04:30:401 [ info sync.accessmanager ]: 6 "PROPFIND" "https://demo.owncloud.org/remote.php/webdav/" has X-Request-ID "17520068-557c-436e-abfa-4407c4d103b3"
03-28 13:04:30:401 [ debug sync.cookiejar ]     [ OCC::CookieJar::cookiesForUrl ]:      QUrl("https://demo.owncloud.org/remote.php/webdav/") requests: (QNetworkCookie("ocws4wc2yznf=2boqo4p9489pcddi6vf0oecuj8; secure; HttpOnly; domain=demo.owncloud.org; path=/"), QNetworkCookie("oc_sessionPassphrase=fT2esXmOFCglrHdblY%2FsXXCec1TnC3AVWU2ozNJfsP%2F48QqEyOwiQO7G9URp7vnbRRbv4tRWe3w4cZRo2q%2FyDq6vwi5ys8v7IzLQ8zX7XMYzjHCIcs4J3MsgbY4bTW0k; secure; HttpOnly; domain=demo.owncloud.org; path=/"))
03-28 13:04:30:401 [ info sync.httplogger ]:    "17520068-557c-436e-abfa-4407c4d103b3: Request: PROPFIND https://demo.owncloud.org/remote.php/webdav/ Header: { User-Agent: Mozilla/5.0 (Windows) mirall/2.10.1rc2 (build 7080) (ownCloud, windows-10.0.19042 ClientArchitecture: x86_64 OsArchitecture: x86_64), Accept: */*, Content-Type: text/xml; charset=utf-8, X-Request-ID: 17520068-557c-436e-abfa-4407c4d103b3, Original-Request-ID: 17520068-557c-436e-abfa-4407c4d103b3, Cookie: ocws4wc2yznf=2boqo4p9489pcddi6vf0oecuj8; oc_sessionPassphrase=fT2esXmOFCglrHdblY%2FsXXCec1TnC3AVWU2ozNJfsP%2F48QqEyOwiQO7G9URp7vnbRRbv4tRWe3w4cZRo2q%2FyDq6vwi5ys8v7IzLQ8zX7XMYzjHCIcs4J3MsgbY4bTW0k, } Data: []"
03-28 13:04:30:402 [ info sync.networkjob ]:    Created OCC::DetermineAuthTypeJob("https://demo.owncloud.org/remote.php/webdav/", "17520068-557c-436e-abfa-4407c4d103b3", "17520068-557c-436e-abfa-4407c4d103b3") for OCC::OwncloudSetupWizard(0x20b80637340)
03-28 13:04:30:402 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:      Network job finished OCC::CheckServerJob("https://demo.owncloud.org/status.php", "250a793d-c475-472f-9db3-0883d3e79db9", "250a793d-c475-472f-9db3-0883d3e79db9")
03-28 13:04:30:454 [ info sync.httplogger ]:    "17520068-557c-436e-abfa-4407c4d103b3: Response: PROPFIND 401 https://demo.owncloud.org/remote.php/webdav/ Header: { Cache-Control: no-store, no-cache, must-revalidate, Content-Length: 412, Content-Security-Policy: default-src 'none';, Content-Type: application/xml; charset=utf-8, Date: Mon, 28 Mar 2022 11:04:39 GMT, Expires: Thu, 19 Nov 1981 08:52:00 GMT, Pragma: no-cache, Referrer-Policy: strict-origin-when-cross-origin, Server: Apache, Strict-Transport-Security: max-age=315360000; preload, Www-Authenticate: Basic realm=\"ownCloud\", charset=\"UTF-8\", X-Content-Type-Options: nosniff, X-Download-Options: noopen, X-Frame-Options: SAMEORIGIN, X-Permitted-Cross-Domain-Policies: none, X-Robots-Tag: none, X-Xss-Protection: 0, } Data: [<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<d:error xmlns:d=\"DAV:\" xmlns:s=\"http://sabredav.org/ns\">\n  <s:exception>Sabre\\DAV\\Exception\\NotAuthenticated</s:exception>\n  <s:message>No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured, No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured</s:message>\n</d:error>\n]"
03-28 13:04:30:454 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::needsRetry ]:        Not Retry auth job OCC::DetermineAuthTypeJob("https://demo.owncloud.org/remote.php/webdav/", "17520068-557c-436e-abfa-4407c4d103b3", "17520068-557c-436e-abfa-4407c4d103b3", "Host requires authentication") QUrl("https://demo.owncloud.org/remote.php/webdav/")
03-28 13:04:30:454 [ info sync.networkjob.determineauthtype ]:  Auth type for QUrl("https://demo.owncloud.org/remote.php/webdav/") is OCC::DetermineAuthTypeJob::AuthType::Basic
03-28 13:04:30:459 [ debug sync.networkjob ]    [ OCC::AbstractNetworkJob::slotFinished ]:      Network job finished OCC::DetermineAuthTypeJob("https://demo.owncloud.org/remote.php/webdav/", "17520068-557c-436e-abfa-4407c4d103b3", "17520068-557c-436e-abfa-4407c4d103b3", "Host requires authentication")
03-28 13:04:37:160 [ info sync.account ]:       Clearing cookies
03-28 13:04:37:160 [ info gui.wizard ]: Connect to url:  "https://demo.owncloud.org"
03-28 13:04:37:160 [ debug gui.wizard ] [ OCC::OwncloudSetupWizard::slotConnectToOCUrl ]:       Trying to connect to "https://demo.owncloud.org"
...

Maybe that's the reason for the problem: "No 'Authorization: Basic' header found. Either the client didn't send one ..."

03-28 13:04:30:454 [ info sync.httplogger ]:    "17520068-557c-436e-abfa-4407c4d103b3: Response: PROPFIND 401 https://demo.owncloud.org/remote.php/webdav/ Header: { Cache-Control: no-store, no-cache, must-revalidate, Content-Length: 412, Content-Security-Policy: default-src 'none';, Content-Type: application/xml; charset=utf-8, Date: Mon, 28 Mar 2022 11:04:39 GMT, Expires: Thu, 19 Nov 1981 08:52:00 GMT, Pragma: no-cache, Referrer-Policy: strict-origin-when-cross-origin, Server: Apache, Strict-Transport-Security: max-age=315360000; preload, Www-Authenticate: Basic realm=\"ownCloud\", charset=\"UTF-8\", X-Content-Type-Options: nosniff, X-Download-Options: noopen, X-Frame-Options: SAMEORIGIN, X-Permitted-Cross-Domain-Policies: none, X-Robots-Tag: none, X-Xss-Protection: 0, } Data: [<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<d:error xmlns:d=\"DAV:\" xmlns:s=\"http://sabredav.org/ns\">\n  <s:exception>Sabre\\DAV\\Exception\\NotAuthenticated</s:exception>\n  <s:message>No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured, No 'Authorization: Basic' header found. Either the client didn't send one, or the server is misconfigured</s:message>\n</d:error>\n]"

log-logout2.txt.gz

@fmoc fmoc modified the milestones: 2.10.1, 2.10 Mar 30, 2022
@TheOneRing TheOneRing modified the milestones: 2.10, 2.11 May 11, 2022
@TheOneRing TheOneRing self-assigned this Jul 8, 2022
@TheOneRing TheOneRing modified the milestones: 3.0, 4.0 Sep 8, 2022
@fmoc fmoc modified the milestones: 4.0, 3.1 Nov 4, 2022
@TheOneRing TheOneRing modified the milestones: 3.1, 3.0 Nov 7, 2022
@TheOneRing
Copy link
Member Author

The basic auth code changed dramatically, is the issue still reproducible?

@michaelstingl michaelstingl added ReadyToTest QA, please validate the fix/enhancement p2-high Escalation, on top of current planning, release blocker and removed ReadyToTest QA, please validate the fix/enhancement labels Nov 9, 2022
@HanaGemela
Copy link
Contributor

I can log out with mac client 3.0.0 beta 1, oc 10.11.0 with basic auth

@bishwasojha
Copy link

Steps performed

  • client starts
  • connection to server established

then account is added

when account is logout

  • message says : Signed out from demo://server as demouser

then login

  • the dialog box has two options login and logout

if login is performed with authenticated password , connection is establish
logout button makes account in Signed out

Screenshots

when account is logout
Screenshot from 2022-11-09 17-03-53

then login
Screenshot from 2022-11-09 16-54-56

login is performed with authenticated password, connection is establish
Screenshot from 2022-11-09 17-10-17

  • I can log out and log in with windows client ownCloud 3.0.0.9005-beta1 [6b12ec] oc 10

@fmoc
Copy link
Contributor

fmoc commented Nov 9, 2022

Works for me on Ubuntu, too. Let's call this one resolved. Thanks!

@fmoc fmoc closed this as completed Nov 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Early-Adopter:CERN Needs info p2-high Escalation, on top of current planning, release blocker
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

8 participants