Code Monkey home page Code Monkey logo

Comments (25)

Lcstyle avatar Lcstyle commented on July 21, 2024

Here is the dump output when you try to attach a file in a gmail msg.

Bailing out for wakeup...
ShuffleWorker complete!
Adding ShuffleWorker connection...
ShuffleWorker: EOF!!!!
ShuffleWorker: EOF!!!!
ShuffleWorker: EOF!!!!
ShuffleWorker: EOF!!!!
ShuffleWorker: EOF!!!!
ShuffleWorker: EOF!!!!
ShuffleWorker: EOF!!!!

from convergence.

Lcstyle avatar Lcstyle commented on July 21, 2024

I know moxie hates g00gle and could care less but, widespread adoption for this project hinges on it being bug free. I have not been able to put my finger on this issue in ShuffleWorker.js

from convergence.

ewanm89 avatar ewanm89 commented on July 21, 2024

actually, it looks to be an issue with multipart upload over https to be precise. Still looking into the exact details. And Moxie doesn't hate google, he just believes google shouldn't know everything about us. I point out there that facebook is no better.

from convergence.

Lcstyle avatar Lcstyle commented on July 21, 2024

Makes sense. The behavior seen in the console seems to indicate that dragging the file into the attachment area spawns a bunch of connections, where as actually clicking "attach file" only spawns a few, and actually works too.

from convergence.

ewanm89 avatar ewanm89 commented on July 21, 2024

And we likely end up MITM and contacting the notaries for every one of those connections.

from convergence.

Lcstyle avatar Lcstyle commented on July 21, 2024

Not sure if that's true (at least not the contacting the notary for each connection part). We cache certs locally in the client.

The MITM part is obvious, I think. Is there anything (any connection) that escapes the convergence proxy?

from convergence.

ewanm89 avatar ewanm89 commented on July 21, 2024

Yes, but these are parallel connections. By the time we get the notary connect for the first one back, we have had several other cache missed connections. Serializing is the only real solution, but that defeats the point of the multipart, and makes the later connections start to time out.

from convergence.

Lcstyle avatar Lcstyle commented on July 21, 2024

@ewanm89 no idea what you are trying to say. We cache the google mail ssl cert signature locally. Compare it with what we get from google. No need to talk to a notary unless we haven't visited the website before. I agree the problem is probably related to the way that the google apps code is handling the attachment uploading. As far as parallel versus serializing, are you referring to connections to notaries or mitm connections to dest. web server?

from convergence.

ewanm89 avatar ewanm89 commented on July 21, 2024

The ones we are MITM are parallel connections to the same server, now if we haven't seen that specific connection, we go off to the notary, right. now what if we get 5 connections to that same server mere milliseconds apart? The response from the notary hasn't come back, so no cert cached yet.

from convergence.

Lcstyle avatar Lcstyle commented on July 21, 2024

Yes I agree that might happen the first time you use google mail, but this problem is not specific to a first time use case. Which means that the cert would be locally cached.

from convergence.

ewanm89 avatar ewanm89 commented on July 21, 2024

Well, it's rather hard to tell what is going on with it being a flash uploader, does flash use the windows certificate list, if so the convergence CA won't be in there, while maybe the connections are being routed through firefox and therefore we are still MITM the connections, need to run gmail on a device with no flash at all to check this one.

from convergence.

ewanm89 avatar ewanm89 commented on July 21, 2024

No, I looked at the source (I was surprised by this myself): http://dl.dropbox.com/u/28532909/gmailflash.png

from convergence.

Lcstyle avatar Lcstyle commented on July 21, 2024

I looked through also, but missed this. Good catch. Valid points. Technically if flash uploader is running in browser it should respect proxy settings right? Meaning it should go through Convergence Client.

Also : I disabled my FireFox Flash Extension and tried the uploader. It still worked. Not sure how.

from convergence.

ewanm89 avatar ewanm89 commented on July 21, 2024

Yes, well, firebug picks up the HTTPS GET upload and gives me the headers. I can't seem to get that upload itself to fail at the moment.

from convergence.

Lcstyle avatar Lcstyle commented on July 21, 2024

for some reason my email attachments with google mail is now working when I click attach. But not when I drag and drop.

Can you confirm with Flash enabled and Convergence enabled that you have problems with sending gmail attachments using drag and not with clicking attach?

from convergence.

ewanm89 avatar ewanm89 commented on July 21, 2024

hmm, it's hanging about 60-75% upload but not giving the error...

from convergence.

Lcstyle avatar Lcstyle commented on July 21, 2024

The hang is the problem, as noted in my original case note. Not sure what error you are referring to. Thank you for confirming.

from convergence.

ewanm89 avatar ewanm89 commented on July 21, 2024

Yeah, I'm not getting the ShuffleWorker: EOF errors though.

from convergence.

ewanm89 avatar ewanm89 commented on July 21, 2024

Oh, and I've reproduced it with a 188KB file.

from convergence.

Lcstyle avatar Lcstyle commented on July 21, 2024

Yep, I can reliably reproduce it down to 50KB

from convergence.

Lcstyle avatar Lcstyle commented on July 21, 2024

Found the following on a google Support forum, and I suspected some such behavior from flash:

"I experienced the same problem: attachment using the flash uploader fails just before the progress bar reaches the end. I was using a proxy setting on my Firefox / Chrome browsers that was different from my internet explorer...
It turns out that at the end of the upload process - there is a http request being sent to the site mail.google.com BUT instead of using the proxy setting for the browser it uses the proxy for the machine (i.e. whatever is configured for internet explorer).

I confirmed this with Firefox 3.6.10 and Chrome v7.0.517.41
Firefox uses separate proxy settings from IE so that is easy to configure - for Chrome I used a pac file by running the pac file as a command line parameter (--proxy-pac-url=)

Attachments would always fail just before the end until I modified the proxy settings for Internet explorer to use the same proxy for mail.google.com which was otherwise blocked.

I suspect therefore that the flash control makes an http request at the end of the upload but somehow manages to ignore the proxy settings for the Firefox or Chrome browser and uses the default settings for the machine.

http://www.google.com/support/forum/p/gmail/thread?tid=6380603d95fc20e4&hl=en

from convergence.

Lcstyle avatar Lcstyle commented on July 21, 2024

Found an Issue ticket here:
http://code.google.com/p/chromium/issues/detail?id=96275

from convergence.

ewanm89 avatar ewanm89 commented on July 21, 2024

Yeah, I think flash uses the cert and proxy settings of windows itself, and not the browser it's running from (pretty stupid right?) However, the click and drag upload fails even when one has disabled the flash plugin.

from convergence.

moxie0 avatar moxie0 commented on July 21, 2024

I think this issue should be fixed as of 0bb44f5 if anyone could confirm.

from convergence.

moxie0 avatar moxie0 commented on July 21, 2024

Should be fixed in v0.07 release, closing.

from convergence.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.