Zotero doing a duplicate HTTP request (2090368446)
I work for Ebsco Publishing. We've noticed that when working through Ezproxy in proxy-by-port mode, Zotero can create at least one duplicate access, where the same URL is sent in twice. In Ebsco's case, this can cause an error response on the second access. The page that is shown to the user is the correct one based on the first request, but I can see the invalid second request and response in a Fiddler trace.
I reported bugid 2090368446, but I have no idea whether the information in that report actually relates to what we're seeing.
I have a Fiddler trace if there's a place to upload it.
I reported bugid 2090368446, but I have no idea whether the information in that report actually relates to what we're seeing.
I have a Fiddler trace if there's a place to upload it.
Didn't look as helpful as I would have hoped. :-(
Craig
For you to use it, I'd need to add a username and password for you.
The notable thing about this problem is that Zotero doesn't need to be active for it to happen. Just enabled.
http://ezport.lib.ebscopub.net:2048/login?url=http://search.ebscohost.com/login.aspx?direct=true&db=a9h&AN=85407980&site=ehost-live
Login with dstillman/Zotero
If Zotero is disabled in Firefox, you'll see this sequence:
1. /login port 2048, 200
2. /login port 2048, 302
3. /connect port 2048, 302
4. /login.aspx port 2060, 302,
5. /Community.aspx port 2060, 302
6. /plink port 2072, 302
7. /ehost/detail port 2072, 200
With Zotero enabled, you'll see:
1. /login port 2048, 200
2. /login port 2048, 302
3. /connect port 2048, 302
4. /login.aspx port 2060, 302,
5. /Community.aspx port 2060, 302
6. /plink port 2072, 302
7. /plink port 2072, 302
8. /login port 2048, 302
9. /plink port 2072, 200
10. /ehost/detail port 2072, 200
The access in (6) is the problem one. It is transmitted with no cookies, which results in the redirect that results in the (8) and (9) accesses. However, the access in (9) is a retransmission of the one in (7). That particular URL of ours can only be used once, result in the error result seen in the body of (9).
Craig
Note that in the case I've been able to duplicate, only a single duplicate transaction occurs. However, we've seen in our error logs where a loop appears to occur in the background. I've seen the loop send us well over 10,000 erroneous transactions per hour. It's all in the background so the user of the browser never notices a problem, other than perhaps some browser and network slowness. A packet trace of one of these loops from the Ezproxy side showed that these cookieless accesses were involved.
I have noted that when Ezproxy is in proxy-by-hostname mode, the extra access does not occur. This agrees with our logs, which never seem to show loops from Ezproxy instances in proxy-by-hostname mode.
I'm not entirely sure what would cause the loop, but I'm pretty sure we can eliminate it by not following the redirects after the request without cookies.
As you indicate, it's probably OK as long as you don't chase the resulting redirect. The extra access is going to the Ezproxy. As far as I know only the chased redirects are going on to the database provider.
Which Beta will this be included in?
I have a customer who can replicate the loop fairly readily. What would be the best way for him to test it? Should I tell him to get in touch with you?
Based on https://wiki.mozilla.org/RapidRelease/Calendar, Firefox 20 is supposed to drop a week from today, so I'm assuming that this will need to be released soon.
I'm not sure if we'll do a Beta 2, but 4.0 Final will indeed be released by the time Firefox 20 ships.
It seems like OCLC and Zotero could collaborate to eliminate even the one extra access. For example, the hostname corresponding to the redirected-to port could be added as an extra "X-" HTTP header when redirecting a session to a new port. There would be no extra information exposure, as the hostname can always be inferred by doing what Zotero does now.
Does it work at all with IE?
We're trying to ascertain whether any of the other errors we've seen may have been related to Zotero.
I'm wondering if users who are unwilling to upgrade Firefox may still be able to upgrade Zotero.
Anyone using a pre-17 FF version (which is the latest ESR release) doesn't receive security updates anymore and should be strongly discouraged from using the internet ...