NEW 179101
[GTK] Problem with SquirrelMail
https://bugs.webkit.org/show_bug.cgi?id=179101
Summary [GTK] Problem with SquirrelMail
bugzilla-ok
Reported 2017-10-31 19:50:33 PDT
Login to SquirrelMail okay, but clicking menu items fails with a request for login. Using Xubuntu 17.10 with latest version of Web (epiphany-browser) in Ubuntu repository. WebKit libwebkit2gtk-4.0-37 SquirrelMail version 1.4.22 Works correctly with uzbl (WebKit+) web browser. Also fails with Qupzilla (WebKit2 QT) web browser.
Attachments
SquirrelMail source (954.59 KB, application/octet-stream)
2018-05-16 15:05 PDT, bugzilla-ok
no flags
bugzilla-ok
Comment 1 2017-11-01 23:48:02 PDT
Fails in MiniBrowser (WebKit2) but works as expected in Surf-2 (WebKit2).
bugzilla-ok
Comment 2 2017-11-02 18:39:39 PDT
Surf-2 appears to use curl to download from the server and MiniBrowser lets WebKit download through libsoup. Maybe curl manages the cookies correctly?
Michael Catanzaro
Comment 3 2018-04-24 12:31:43 PDT
Could possibly be https://bugzilla.gnome.org/show_bug.cgi?id=792130. Please test with libsoup 2.62.1, where I loosened the cookie policy a bit.
bugzilla-ok
Comment 4 2018-04-24 13:44:10 PDT
Looking at what is currently installed: libsoup-gnome2.4-1 libsoup2.4-1 These are the latest versions in Ubuntu repository. Newer version of libsoup not convenient. Surf-2 works as expected. The problem does not *appear* to be related to this.
Michael Catanzaro
Comment 5 2018-04-24 16:01:18 PDT
(In reply to bugzilla-ok from comment #4) > Looking at what is currently installed: libsoup-gnome2.4-1 libsoup2.4-1 That's the API version. You'll need to check the package version. Unfortunately libsoup does control cookie policy, so to test if this is fixed you're going to need libsoup 2.62.1. Looks like Ubuntu 17.10 has libsoup 2.60.1, and I highly doubt that will be updated. But Ubuntu 18.04 has 2.62.1. Rumor has it the release date is tomorrow. Or you can build it yourself.... There's one more thing we can check: try changing the cookie policy to "always accept" in Epiphany's preferences dialog. If that fixes it, then there's a good chance the libsoup update will resolve the problem. If not, then the libsoup update will definitely not resolve the problem.
bugzilla-ok
Comment 6 2018-04-24 16:31:39 PDT
Good suggestion. That's much easier to test! Same problem with "always accept."
Michael Catanzaro
Comment 7 2018-04-24 18:22:41 PDT
OK, then we know this is not fixed in libsoup after all.
bugzilla-ok
Comment 8 2018-04-24 21:44:03 PDT
True! It's probably something simple, but it's a puzzle.
bugzilla-ok
Comment 9 2018-05-13 15:49:31 PDT
Problem persists. Any ideas what to try next?
Michael Catanzaro
Comment 10 2018-05-14 06:33:57 PDT
Nope, though I'm suspecting some problem with cookies.
bugzilla-ok
Comment 11 2018-05-15 12:24:02 PDT
Makes sense. Epiphany and MiniBrowser can't read cookies saved by SquirrelMail or perhaps save them incorrectly. Surf-2 works fine, so maybe it handles cookies itself rather than relying on WebKit. WebKit1 worked fine too. Presumably something changed moving from WebKit1 to WebKit2? Would it be helpful to continue with this bug?
Michael Catanzaro
Comment 12 2018-05-15 12:42:55 PDT
(In reply to bugzilla-ok from comment #11) > Makes sense. Epiphany and MiniBrowser can't read cookies saved by > SquirrelMail or perhaps save them incorrectly. Are you sure? I said I suspected a problem, that doesn't mean I'm right. Check in the Storage tab of the web inspector to see what it's doing. Make sure cookie policy is set to always save. (And remember cookies are not persistent in MiniBrowser, unless you have the latest trunk with https://trac.webkit.org/changeset/231637/webkit and are setting the right options.) > Surf-2 works fine, so maybe > it handles cookies itself rather than relying on WebKit. WebKit1 worked fine > too. Presumably something changed moving from WebKit1 to WebKit2? I dunno what Surf does. WebKit1 was such a long time ago that comparisons are not going to be helpful. > Would it be helpful to continue with this bug? Yes, so far all signs point to a WebKit bug, so please leave it open.
Adrian Perez
Comment 13 2018-05-15 12:50:52 PDT
(In reply to Michael Catanzaro from comment #12) > (In reply to bugzilla-ok from comment #11) > > Makes sense. Epiphany and MiniBrowser can't read cookies saved by > > SquirrelMail or perhaps save them incorrectly. > > Are you sure? I said I suspected a problem, that doesn't mean I'm right. > Check in the Storage tab of the web inspector to see what it's doing. Make > sure cookie policy is set to always save. (And remember cookies are not > persistent in MiniBrowser, unless you have the latest trunk with > https://trac.webkit.org/changeset/231637/webkit and are setting the right > options.) > > > Surf-2 works fine, so maybe > > it handles cookies itself rather than relying on WebKit. WebKit1 worked fine > > too. Presumably something changed moving from WebKit1 to WebKit2? > > I dunno what Surf does. WebKit1 was such a long time ago that comparisons > are not going to be helpful. Surf 2.x uses WebKit2, by the way. It uses the WebKitCookieManager with the cookies as plain text (WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT). See here: https://git.suckless.org/surf/tree/surf.c#n1121 > > Would it be helpful to continue with this bug? > > Yes, so far all signs point to a WebKit bug, so please leave it open.
bugzilla-ok
Comment 14 2018-05-15 13:08:36 PDT
>Surf 2.x uses WebKit2, by the way. And Epiphany uses WebKit2-GTK? The two are substantially different? >It uses the WebKitCookieManager with the cookies as plain text (WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT). Epiphany and MiniBrowser handle cookies differently? Maybe SquirrelMail cookies fail if they aren't handled as plain text?
Michael Catanzaro
Comment 15 2018-05-15 15:42:41 PDT
(In reply to bugzilla-ok from comment #14) > >Surf 2.x uses WebKit2, by the way. > > And Epiphany uses WebKit2-GTK? The two are substantially different? > > >It uses the WebKitCookieManager with the cookies as plain text (WEBKIT_COOKIE_PERSISTENT_STORAGE_TEXT). > > Epiphany and MiniBrowser handle cookies differently? Epiphany uses an SQLite database. MiniBrowser just stores them in memory until you close the browser, unless you use the command line flags that Carlos Garcia added last week, in which case you can choose whether it uses SQLite or a text file. > Maybe SquirrelMail > cookies fail if they aren't handled as plain text? I suppose it might be possible. Should be straightforward to test by building MiniBrowser from WebKit trunk. Look over https://trac.webkit.org/changeset/231637/webkit to review how to switch from SQLite to text database format by changing the filename of the cookie storage file.
bugzilla-ok
Comment 16 2018-05-15 20:18:42 PDT
It sounds like when you say plain text cookies, you are talking about how they are stored rather than what is exchanged. Problems with storage might be a problem, but not having trouble anywhere but SquirrelMail. Also, MiniBrowser fails with cookies in memory, so method of saving to disk shouldn't matter. The problem would seem to be something else to do with cookies. Or perhaps JavaScript?
Adrian Perez
Comment 17 2018-05-16 08:29:09 PDT
(In reply to bugzilla-ok from comment #16) > It sounds like when you say plain text cookies, you are talking about how > they are stored rather than what is exchanged. Problems with storage might > be a problem, but not having trouble anywhere but SquirrelMail. Also, > MiniBrowser fails with cookies in memory, so method of saving to disk > shouldn't matter. The problem would seem to be something else to do with > cookies. Or perhaps JavaScript? Yes, of course I was referring to the format in which cookies are stored on disk. As you cleverly wrote, the fact that MiniBrowser has the issue with cookies in memory should make us think that the problem is elsewhere and not in the handling of on-disk cookie persistence.
Michael Catanzaro
Comment 18 2018-05-16 13:24:06 PDT
Does squirrelmail use any redirects? Could it be bug #184948?
bugzilla-ok
Comment 19 2018-05-16 15:05:59 PDT
Created attachment 340527 [details] SquirrelMail source Yes, SquirrelMail does redirect. I have attached the source. . . .
Note You need to log in before you can comment on or make changes to this bug.