Bug #1647

boobank: HTTPSConnectionPool(host='online.wellsfargo.com', port=443): Read timed out.

Added by grant tzabro over 2 years ago. Updated about 2 years ago.

Status:Resolved Start:2014-10-27
Priority:Normal Due date:
Assigned to:Oleg Plakhotniuk % Done:

100%

Category:Application / boobank Spent time: -
Target version:1.1
Module:wellsfargo Branch:devel

Description

unable to log in to wellsfargo (using devel branch of repository):

boobank> logging debug
boobank> list
                 Account                     Balance    Coming 
------------------------------------------+----------+----------
2014-10-27 09:53:08,393:DEBUG:bcall:1.1:bcall.py:81:backend_process <Backend 'wellsfargo'>: Calling function <bound method Boobank._do_complete of <weboob.applications.boobank.boobank.Boobank object at 0x7f3f9f0a5450>>
2014-10-27 09:53:08,394:DEBUG:bcall:1.1:bcall.py:90:backend_process <Backend 'wellsfargo'>: Called function <bound method Boobank._do_complete of <weboob.applications.boobank.boobank.Boobank object at 0x7f3f9f0a5450>> returned: <generator object _do_complete_iter at 0x7f3f9d368050>
2014-10-27 09:53:08,395:INFO:urllib3.connectionpool:1.1:connectionpool.py:696:_new_conn Starting new HTTPS connection (2): online.wellsfargo.com
Bug(wellsfargo): HTTPSConnectionPool(host='online.wellsfargo.com', port=443): Read timed out.
Traceback (most recent call last):
  File "/home/user/weboob/devel/weboob/core/bcall.py", line 95, in backend_process
    for subresult in result:
  File "/home/user/weboob/devel/weboob/tools/application/base.py", line 284, in _do_complete_iter
    for i, sub in enumerate(res):
  File "/home/user/weboob/devel/modules/wellsfargo/browser.py", line 84, in iter_accounts
    self.to_activity()
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 674, in inner
    browser.do_login()
  File "/home/user/weboob/devel/modules/wellsfargo/browser.py", line 57, in do_login
    self.login.go()
  File "/home/user/weboob/devel/weboob/browser/url.py", line 99, in go
    r = self.browser.location(self.build(**kwargs), params=params, data=data)
  File "/home/user/weboob/devel/modules/wellsfargo/browser.py", line 67, in location
    r = super(WellsFargo, self).location(*args, **kwargs)
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 618, in location
    response = self.open(*args, **kwargs)
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 605, in open
    return super(PagesBrowser, self).open(callback=internal_callback, *args, **kwargs)
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 505, in open
    return super(DomainBrowser, self).open(req, *args, **kwargs)
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 283, in open
    background_callback=async and inner_callback)
  File "/home/user/weboob/devel/weboob/browser/sessions.py", line 151, in send
    return sup(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 558, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 387, in send
    raise Timeout(e)
Timeout: HTTPSConnectionPool(host='online.wellsfargo.com', port=443): Read timed out.

------------------------------------------+----------+----------
                                    Total       0.00       0.00

Associated revisions

Revision c5095312c82e3af93b646fdd25b3f823f7ca9e04
Added by grant tzabro over 2 years ago

Force TLS v1.0 for Wells Fargo module. Fixes #1647

History

Updated by Oleg Plakhotniuk over 2 years ago

Hmm... It looks like the problem is with internet connection or firewall settings, rather than with the module.

I just tried to run "boobank ls" on my laptop and on a freshly created Amazon EC2 instance. I tried both tag "1.0" and latest commit in devel repo: e5067a43b8e1237f4db83b95072857e0b03ad283. It worked OK in all cases.

Check if you can open https://online.wellsfargo.com from your regular browser on the same machine/user/environment you're running boobank on.

Updated by Oleg Plakhotniuk over 2 years ago

  • Status changed from New to Feedback

Updated by grant tzabro over 2 years ago

definitely not a firewall issue - can connect with browser, wget, and perl HTTP::Request

any way to increase the debug verbosity?

Updated by Laurent Bachelier over 2 years ago

There's a few things to try:

import requests; requests.get('https://online.wellsfargo.com/')

In a Python interactive console.

Interestingly, on my system, it DOES timeout (or more exactly, blocks with no response) with my request test.

Another way to debug:

openssl s_client -connect online.wellsfargo.com:443

Especially since Python uses OpenSSL.

On my system, I get:

CONNECTED(00000003)

Then it hangs.

I've tried openssl s_client -tls1_1 -connect online.wellsfargo.com:443:


CONNECTED(00000003)
140005890303632:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:345:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 7 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1.1
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1414516280
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---

Then with -tls1_2

CONNECTED(00000003)

And it hangs.

So, there's something going on with this server and some OpenSSL flavors. I'm using OpenSSL 1.0.1j from Gentoo.

Updated by Laurent Bachelier over 2 years ago

Same issue from a Debian OpenSSL 1.0.1e

Connecting to google.com works.

Updated by Laurent Bachelier over 2 years ago

Solved it by forcing TLS 1.0!

openssl s_client -tls1 -connect online.wellsfargo.com:443

Updated by Laurent Bachelier over 2 years ago

We should import something like http://toolbelt.readthedocs.org/en/latest/user.html#ssladapter into Browser.

I thought we had the functionality already, but I can't find it.

Updated by Laurent Bachelier over 2 years ago

prepare_request() in modules/hsbc/browser.py seem to do this, though I'm not sure if it is the best way to do it.

Updated by grant tzabro over 2 years ago

i'm unable to get it to work with openssl and tls 1.0 (version 1.0.1f-1ubuntu2.7):

> openssl s_client -tls1 -connect online.wellsfargo.com:443
CONNECTED(00000003)
depth=3 C = US, O = "VeriSign, Inc.", OU = Class 3 Public Primary Certification Authority
verify error:num=19:self signed certificate in certificate chain
verify return:0
---
Certificate chain
 0 s:/C=US/ST=California/L=San Francisco/O=Wells Fargo and Company/OU=CBT-PSG/CN=online.wellsfargo.com
   i:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)10/CN=VeriSign Class 3 International Server CA - G3
 1 s:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)10/CN=VeriSign Class 3 International Server CA - G3
   i:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5
 2 s:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign, Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary Certification Authority - G5
   i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
 3 s:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
   i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFUTCCBDmgAwIBAgIQLnf8g17HZ5sgnozfDKE2zzANBgkqhkiG9w0BAQUFADCB
vDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2Ug
YXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykxMDE2MDQGA1UEAxMt
VmVyaVNpZ24gQ2xhc3MgMyBJbnRlcm5hdGlvbmFsIFNlcnZlciBDQSAtIEczMB4X
DTE0MDYyNTAwMDAwMFoXDTE1MDYyNTIzNTk1OVowgY4xCzAJBgNVBAYTAlVTMRMw
EQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHFA1TYW4gRnJhbmNpc2NvMSAwHgYD
VQQKFBdXZWxscyBGYXJnbyBhbmQgQ29tcGFueTEQMA4GA1UECxQHQ0JULVBTRzEe
MBwGA1UEAxQVb25saW5lLndlbGxzZmFyZ28uY29tMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAu+v+5QDf0oGKrIXAhzkbtJN5EGvZfq+JjQEVuOaNJ6gr
Y5T+46J4L35qFhu88x5ltareYRfpmYvaejJgJghVg65BfozzDYvq585XXw3O/LR3
kFp0vBs21wnhoguo0+vmb52fdAY6gKPrKUgvttRzUyexNxov/eE3DIJANiLAWY7g
pPCrCD2CJwkDEOQDS2dejMLYv9ZW9DV1uTNjbIUc1v6ZCSkCAFKzxnkUnUvNXjar
EDl2E83DwePT75gwPGwXJdLRZ3Ptv2Qy9QPxXoVPQ2EUi5MWv33Kjczvl/VYxXD+
DgDXR9/cGoQtJ723y9NYLieW4dA403HpY9DkqzZ/MwIDAQABo4IBeTCCAXUwIAYD
VR0RBBkwF4IVb25saW5lLndlbGxzZmFyZ28uY29tMAkGA1UdEwQCMAAwDgYDVR0P
AQH/BAQDAgWgMCgGA1UdJQQhMB8GCCsGAQUFBwMBBggrBgEFBQcDAgYJYIZIAYb4
QgQBMGUGA1UdIAReMFwwWgYKYIZIAYb4RQEHNjBMMCMGCCsGAQUFBwIBFhdodHRw
czovL2Quc3ltY2IuY29tL2NwczAlBggrBgEFBQcCAjAZGhdodHRwczovL2Quc3lt
Y2IuY29tL3JwYTAfBgNVHSMEGDAWgBTXm3zYIqAV992tX84pm1jDvEYAtTArBgNV
HR8EJDAiMCCgHqAchhpodHRwOi8vc2Uuc3ltY2IuY29tL3NlLmNybDBXBggrBgEF
BQcBAQRLMEkwHwYIKwYBBQUHMAGGE2h0dHA6Ly9zZS5zeW1jZC5jb20wJgYIKwYB
BQUHMAKGGmh0dHA6Ly9zZS5zeW1jYi5jb20vc2UuY3J0MA0GCSqGSIb3DQEBBQUA
A4IBAQBPIvnhnawEgde87Xtf0BmudAhWSP+lRB+NkLp+Wm+dqdU9h4iXobb7nLSv
EGh37ndR6frkHgpTdtGoOv6uX9K0COUuFWZIlLT272j+muM/9Pboh6k6EnIw/+Ai
z/adYudGgWPDhxN6oCO16jTz2ZTryMfNiBVQkfhJKJ2SMCxQaZdhoGsiL9Ddfz8Q
Er2Xgx5BcEP0icClMyytMr83YTaJu5LgcG7Y6qqY84NZFj0Lbb3bPEH76LMEAICm
XeRQNWzZFb42hMGsRTG+OU4FbFbmjbSWURY41UKLB5yjX2UoQlR8id3LlqJ1jtvH
UKEnrv4wvj1z7wR5OsBuJ9qgV8Bs
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=San Francisco/O=Wells Fargo and Company/OU=CBT-PSG/CN=online.wellsfargo.com
issuer=/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=Terms of use at https://www.verisign.com/rpa (c)10/CN=VeriSign Class 3 International Server CA - G3
---
No client certificate CA names sent
---
SSL handshake has read 4984 bytes and written 527 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-SHA
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : RC4-SHA
    Session-ID: B5ADACEE6E3A7FDEBE2EB12D0F82F6B9AC375E74915AEE9018B43CBBFB054E4A
    Session-ID-ctx: 
    Master-Key: 855AA07084E2E95900FDC702FF6C3A9AF99CBE38DDCFC1C9A6CFDB60A4D9A3B7FFF4755EB67AAFF14920D09A1252E354
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1414517195
    Timeout   : 7200 (sec)
    Verify return code: 19 (self signed certificate in certificate chain)
---

it hangs at this point.

but DOES return promptly with tls 1.1. no certificate found though:

> openssl s_client -tls1_1 -connect online.wellsfargo.com:443
CONNECTED(00000003)
139876799411872:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:337:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 7 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1.1
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1414517460
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---
> (it returns at this point)

don't think tls 1.2 is working properly (note write:errno=104 on second line, and it takes a LONG time, ie 30s)

> openssl s_client -tls1_2 -connect online.wellsfargo.com:443
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1414517745
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---

when I connect with a browser, i believe it's using TLS1.0, and I see the same certificate as with openssl -tls1

Updated by Laurent Bachelier over 2 years ago

i'm unable to get it to work with openssl and tls 1.0

I believe it works. Compare to something like google.com.

Updated by grant tzabro over 2 years ago

any suggestions on how to force the wellsfargo module to use tls 1.0?

Updated by grant tzabro over 2 years ago

got it to work a bit better by doing as Laurent suggested: adding to browser.py:

    def prepare_request(self, req):
        preq = super(WellsFargo, self).prepare_request(req)

        conn = self.session.adapters['https://'].get_connection(preq.url)
        conn.ssl_version = ssl.PROTOCOL_TLSv1

        return preq

(and an import ssl)

now it is able to log in, but fails after getting the first account:

boobank> logging debug
boobank> list
                 Account                     Balance    Coming 
------------------------------------------+----------+----------
2014-10-31 12:05:22,278:DEBUG:bcall:1.1:bcall.py:81:backend_process <Backend 'wellsfargo'>: Calling function <bound method Boobank._do_complete of <weboob.applications.boobank.boobank.Boobank object at 0x7f18a40eb450>>
[wellsfargo] Username (hidden input): 
[wellsfargo] Password (hidden input): 
2014-10-31 12:05:29,469:DEBUG:bcall:1.1:bcall.py:90:backend_process <Backend 'wellsfargo'>: Called function <bound method Boobank._do_complete of <weboob.applications.boobank.boobank.Boobank object at 0x7f18a40eb450>> returned: <generator object _do_complete_iter at 0x7f18a23b10f0>
2014-10-31 12:05:29,478:INFO:urllib3.connectionpool:1.1:connectionpool.py:696:_new_conn Starting new HTTPS connection (1): online.wellsfargo.com
2014-10-31 12:05:29,788:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:05:29,916:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "GET / HTTP/1.1" 200 None
2014-10-31 12:05:30,065:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/ with LoginPage
2014-10-31 12:05:30,068:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:05:30,142:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "POST /das/cgi-bin/session.cgi?screenid=SIGNON HTTP/1.1" 200 2063
2014-10-31 12:05:30,145:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/das/cgi-bin/session.cgi?screenid=SIGNON with LoginProceedPage
2014-10-31 12:05:30,148:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:05:30,251:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "POST /das/cgi-bin/session.cgi?screenid=SIGNON HTTP/1.1" 200 None
2014-10-31 12:05:30,256:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/das/cgi-bin/session.cgi?screenid=SIGNON with LoginRedirectPage
2014-10-31 12:05:30,258:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:05:32,293:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "GET /das/cgi-bin/session.cgi?screenid=SIGNON_PORTAL_PAUSE HTTP/1.1" 200 None
2014-10-31 12:05:32,527:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/das/cgi-bin/session.cgi?screenid=SIGNON_PORTAL_PAUSE with LoggedInPage
2014-10-31 12:05:32,529:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:05:32,859:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "GET /das/channel/accountSummary HTTP/1.1" 200 None
2014-10-31 12:05:33,010:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/das/channel/accountSummary with SummaryPage
2014-10-31 12:05:33,013:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:05:33,347:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "GET /das/cgi-bin/session.cgi?sessargs=Btsjf6-ZhpSaGBPlmPvMXaa51DQ5KvgJ HTTP/1.1" 200 None
2014-10-31 12:05:33,430:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/das/cgi-bin/session.cgi?sessargs=Btsjf6-ZhpSaGBPlmPvMXaa51DQ5KvgJ with ActivityCashPage
2014-10-31 12:05:33,437:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:05:33,530:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "POST /das/cgi-bin/session.cgi?sessargs=ZxiH4hyp23ghKPm9PqWVEPpJEhWTKXeT HTTP/1.1" 302 None
2014-10-31 12:05:33,532:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:05:33,842:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "GET /das/cgi-bin/session.cgi?sessargs=SJsWJY9NxLfW69Rq9QLxqltldph9N-r7 HTTP/1.1" 200 None
Bug(wellsfargo): [Errno 2] No such file or directory
Traceback (most recent call last):
  File "/home/user/weboob/devel/weboob/core/bcall.py", line 95, in backend_process
    for subresult in result:
  File "/home/user/weboob/devel/weboob/tools/application/base.py", line 284, in _do_complete_iter
    for i, sub in enumerate(res):
  File "/home/user/weboob/devel/modules/wellsfargo/browser.py", line 95, in iter_accounts
    self.to_activity(id_)
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 675, in inner
    return func(browser, *args, **kwargs)
  File "/home/user/weboob/devel/modules/wellsfargo/browser.py", line 113, in to_activity
    self.page.to_account(id_)
  File "/home/user/weboob/devel/modules/wellsfargo/pages.py", line 130, in to_account
    form.submit()
  File "/home/user/weboob/devel/weboob/browser/pages.py", line 314, in submit
    return self.page.browser.location(self.request, **kwargs)
  File "/home/user/weboob/devel/modules/wellsfargo/browser.py", line 76, in location
    r = super(WellsFargo, self).location(*args, **kwargs)
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 618, in location
    response = self.open(*args, **kwargs)
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 605, in open
    return super(PagesBrowser, self).open(callback=internal_callback, *args, **kwargs)
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 505, in open
    return super(DomainBrowser, self).open(req, *args, **kwargs)
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 285, in open
    inner_callback(self, response)
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 273, in inner_callback
    return callback(response)
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 594, in internal_callback
    page = url.handle(response)
  File "/home/user/weboob/devel/weboob/browser/url.py", line 179, in handle
    page = self.klass(self.browser, response, m.groupdict())
  File "/home/user/weboob/devel/modules/wellsfargo/pages.py", line 344, in __init__
    self._parser = StatementParser(self.doc)
  File "/home/user/weboob/devel/modules/wellsfargo/parsers.py", line 64, in __init__
    self._pdf = decompress_pdf(pdf)
  File "/home/user/weboob/devel/weboob/tools/pdf.py", line 43, in decompress_pdf
    subprocess.call(['mutool', 'clean', '-d', inname, outname])
  File "/usr/lib/python2.7/subprocess.py", line 522, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

 #1 (wellsfargo) CHECKING XXXXXXYYYY        XXXX.XX  
------------------------------------------+----------+----------
                                    Total   XXXX.XX       X.XX
boobank> 

Updated by grant tzabro over 2 years ago

ahh, was missing mupdf-tools (installed version 1.3-2)

after installing, getting a new problem (perhaps with mutool itself? is a newer version than 1.3-2 needed?):

boobank> logging debug
boobank> list
                 Account                     Balance    Coming 
------------------------------------------+----------+----------
2014-10-31 12:51:40,606:DEBUG:bcall:1.1:bcall.py:81:backend_process <Backend 'wellsfargo'>: Calling function <bound method Boobank._do_complete of <weboob.applications.boobank.boobank.Boobank object at 0x7f4170e61450>>
[wellsfargo] Username (hidden input): 
[wellsfargo] Password (hidden input): 
2014-10-31 12:51:51,670:DEBUG:bcall:1.1:bcall.py:90:backend_process <Backend 'wellsfargo'>: Called function <bound method Boobank._do_complete of <weboob.applications.boobank.boobank.Boobank object at 0x7f4170e61450>> returned: <generator object _do_complete_iter at 0x7f416f1270f0>
2014-10-31 12:51:51,680:INFO:urllib3.connectionpool:1.1:connectionpool.py:696:_new_conn Starting new HTTPS connection (1): online.wellsfargo.com
2014-10-31 12:51:52,010:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:51:52,165:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "GET / HTTP/1.1" 200 None
2014-10-31 12:51:52,326:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/ with LoginPage
2014-10-31 12:51:52,329:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:51:52,405:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "POST /das/cgi-bin/session.cgi?screenid=SIGNON HTTP/1.1" 200 2063
2014-10-31 12:51:52,407:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/das/cgi-bin/session.cgi?screenid=SIGNON with LoginProceedPage
2014-10-31 12:51:52,410:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:51:52,515:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "POST /das/cgi-bin/session.cgi?screenid=SIGNON HTTP/1.1" 200 None
2014-10-31 12:51:52,520:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/das/cgi-bin/session.cgi?screenid=SIGNON with LoginRedirectPage
2014-10-31 12:51:52,522:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:51:54,076:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "GET /das/cgi-bin/session.cgi?screenid=SIGNON_PORTAL_PAUSE HTTP/1.1" 200 None
2014-10-31 12:51:54,323:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/das/cgi-bin/session.cgi?screenid=SIGNON_PORTAL_PAUSE with LoggedInPage
2014-10-31 12:51:54,325:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:51:54,699:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "GET /das/channel/accountSummary HTTP/1.1" 200 None
2014-10-31 12:51:54,852:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/das/channel/accountSummary with SummaryPage
2014-10-31 12:51:54,855:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:51:55,273:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "GET /das/cgi-bin/session.cgi?sessargs=-X25-OeoD0grQELQfG5Ongt28orXINoH HTTP/1.1" 200 None
2014-10-31 12:51:55,401:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/das/cgi-bin/session.cgi?sessargs=-X25-OeoD0grQELQfG5Ongt28orXINoH with ActivityCashPage
2014-10-31 12:51:55,408:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:51:55,499:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "POST /das/cgi-bin/session.cgi?sessargs=EKQCPlgTjh1-nER87cz9jH50Q1xYKSBp HTTP/1.1" 302 None
2014-10-31 12:51:55,502:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:375:_make_request Setting read timeout to 10.0
2014-10-31 12:51:55,913:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "GET /das/cgi-bin/session.cgi?sessargs=JIwA5QBf57BH3YBhvMG7CsPMP3renn4s HTTP/1.1" 200 None
error: cannot recognize version marker
warning: trying to repair broken xref
warning: ignoring invalid character in hex string
warning: ... repeated 1950 times ...
warning: lexical error (unexpected '>')
warning: ignoring invalid character in hex string
warning: ... repeated 148 times ...
warning: lexical error (unexpected '>')
warning: ignoring invalid character in hex string
warning: ... repeated 19009 times ...
2014-10-31 12:51:56,104:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/das/cgi-bin/session.cgi?sessargs=JIwA5QBf57BH3YBhvMG7CsPMP3renn4s with LoggedInPage
Bug(wellsfargo): 
Traceback (most recent call last):
  File "/home/user/weboob/devel/weboob/core/bcall.py", line 95, in backend_process
    for subresult in result:
  File "/home/user/weboob/devel/weboob/tools/application/base.py", line 284, in _do_complete_iter
    for i, sub in enumerate(res):
  File "/home/user/weboob/devel/modules/wellsfargo/browser.py", line 95, in iter_accounts
    self.to_activity(id_)
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 675, in inner
    return func(browser, *args, **kwargs)
  File "/home/user/weboob/devel/modules/wellsfargo/browser.py", line 114, in to_activity
    assert self.is_activity()
AssertionError

 #1 (wellsfargo) CHECKING XXXXXXYYYY        XXXX.XX  
------------------------------------------+----------+----------
                                    Total   XXXX.XX       X.XX
boobank> 

Updated by grant tzabro over 2 years ago

installing the dev branch of mupdf from the git repo did not solve the problem:

2014-10-31 13:07:13,419:DEBUG:urllib3.connectionpool:1.1:connectionpool.py:415:_make_request "GET /das/cgi-bin/session.cgi?sessargs=fzxl4c00D8WowecAyVwvMrpIHZfG3wZI HTTP/1.1" 200 None
error: cannot recognize version marker
warning: trying to repair broken xref
2014-10-31 13:07:13,500:DEBUG:backend.wellsfargo.browser:1.1:browsers.py:596:internal_callback Handle https://online.wellsfargo.com/das/cgi-bin/session.cgi?sessargs=fzxl4c00D8WowecAyVwvMrpIHZfG3wZI with LoggedInPage
Bug(wellsfargo): 
Traceback (most recent call last):
  File "/home/user/weboob/devel/weboob/core/bcall.py", line 95, in backend_process
    for subresult in result:
  File "/home/user/weboob/devel/weboob/tools/application/base.py", line 284, in _do_complete_iter
    for i, sub in enumerate(res):
  File "/home/user/weboob/devel/modules/wellsfargo/browser.py", line 93, in iter_accounts
    self.to_activity()
  File "/home/user/weboob/devel/weboob/browser/browsers.py", line 675, in inner
    return func(browser, *args, **kwargs)
  File "/home/user/weboob/devel/modules/wellsfargo/browser.py", line 111, in to_activity
    assert self.is_activity()
AssertionError

Updated by Oleg Plakhotniuk over 2 years ago

Thanks for fixing TLS version! I'll test it and make a patch.

Regarding assertion error, the problem seems to be with web page parsing, not mupdf. Module fails to navigate to the account activity page. The last log entry should look like ".... handled by ActivityCashPage" or "...ActivityCardPage". Currently it's being handled with generic "LoggedInPage", which is a stub for all pages unknown to the module.

I tested this module only with mine account. Apparently, your Wells Fargo page looks different, so we need to make some adjustments.

If you can run boobank with "-adv" options and send me full HTTP responses (after obfuscating sensitive data of course), that'll help. Or you can debug the issue on your side and send the patch!

Updated by Oleg Plakhotniuk over 2 years ago

  • Status changed from Feedback to To merge

Grant, thank you! I pushed TLS version patch here: http://git.symlink.me/?p=oleg/weboob.git;a=shortlog;h=refs/heads/issue1647

Regarding assertion error, I created a separate ticket for this: #1660. I suggest we continue related discussion there.

Updated by Oleg Plakhotniuk over 2 years ago

  • % Done changed from 0 to 100

Updated by grant tzabro over 2 years ago

  • Status changed from To merge to Resolved

Updated by Romain Bignon about 2 years ago

  • Target version set to 1.1

Also available in: Atom PDF