Commit graph

73 commits

Author SHA1 Message Date
tomk
4504861084 fixed handling of SSL errors 2008-08-09 12:16:42 +00:00
tomk
cbfa9d97df - TLS classes refactored - NonBlockingTLS is now plugged to NonBlockingTCP and
derived (was plugged to NonBlockingClient which made it unusable for BOSH)
- Fixed HTTP CONNECT proxy socket
- Implemented workaround for the bug with insecure-connection warning dialog
  (unfortunately, this is not over - I just forbid the transport to send
  BOSH empty bodies until auth module is plugged, which is wrong and will
  break if user will wait more than "inactivity" (usualy thirty) seconds
  before clicking the dialog.
  This workaround works with ejb and opf, and also breaks connection with
  both of them if delay is too long.
- Implemented basic TLS over BOSH. It works only with OPF and poorly.
2008-08-05 23:52:35 +00:00
tomk
56e0ad7a96 basic proxy authentication for BOSH connections implemented 2008-07-28 18:53:00 +00:00
tomk
af3f1a9dd4 - implemented BOSH key sequencing, acknowledgements
- improved HTTP persistent connections
- added alarm-unregister method to idlequeue
- extended proxy managing dialog for BOSH proxy
2008-07-26 22:42:40 +00:00
tomk
a58618c843 persistent HTTP connections in BOSH roughly implemented, added hack for openfire incapability of after-SASL-stream-restart-response in BOSH, changed doubles quotes to single 2008-07-18 00:34:49 +00:00
tomk
3d860f40a6 BOSHClient transformed to NonBlockingBOSH transport - it's easier to maintain more connections from below, implemented handling of non-persistent HTTP connections - it runs with ejabberd, improved NonBlockingTransport interface, minor changes in BOSHDispatcher 2008-07-13 22:22:58 +00:00
tomk
e1899f34dc new BOSHDispatcher (in dispatcher_nb), improved BOSHClient class, minor changes in other xmpp modules 2008-07-07 23:04:10 +00:00
Yann Leboulanger
f379d06d2c fix connection for ipv6 2008-07-03 06:26:39 +00:00
tomk
952e4a1569 moved bosh code from client_nb.py to bosh.py, replaced debug logging with debug.py by logging in whole xmpppy (debug.py is now unused) 2008-07-02 23:29:10 +00:00
tomk
937bb01a69 moved TLS and SSL classes from transports_nb to new tls_nb module, fixed HTTP CONNECT proxy transport 2008-06-30 23:02:12 +00:00
tomk
f3820706fb - Refactored non-blocking transport and client classes - getaddrinfo is called
in Client now
- Added NonBlockingHttpBOSH transport (to tranports_nb) and BOSHClient
(to client_nb)
- Extended possible proxy types in configuration by "BOSH" proxy
- Rewrote NonBlockingTLS to invoke success callback only after successful TLS handshake is over (formerly, the TLS Plugin returned right after sending <starttls>)
2008-06-30 00:02:32 +00:00
tomk
65644ca13f added stub for new transports module plus basic test for it, testing code reorganized 2008-06-18 23:58:19 +00:00
tomk
16e274b9ec added test script for NonBlockingClient (test/test_client_nb.py) 2008-06-12 23:54:46 +00:00
tomk
6a15c9b9c9 initial cleanup of xmpppy perfomed, see #3260 2008-06-09 00:32:02 +00:00
tomk
cb2d629535 added prototype of BOSHClient class and script for usage example, removed import of common.gajim from transports_nb 2008-05-31 16:51:40 +00:00
Brendan Taylor
b0aeefcbb5 flush xmpppy's send queue before disconnecting 2008-05-19 20:04:14 +00:00
Yann Leboulanger
a3827fe5d0 new XEP-0115 implementation (version 1.5) 2008-04-20 22:58:47 +00:00
Yann Leboulanger
3aefee4700 try all IPs of a given host in case first one fails. Fixes #2958 2008-04-16 11:02:01 +00:00
Yann Leboulanger
3c2a220c65 handle all PyopenSSL errors. fixes #3686 2008-01-23 19:04:35 +00:00
Stephan Erb
e25ac90068 Improving readability (little) by shifting some boolean checks to a lambda function. 2007-12-27 22:28:40 +00:00
Yann Leboulanger
14f1232308 get SSL error message where it is in Error instance 2007-12-15 12:10:25 +00:00
Yann Leboulanger
b7cc062d7d [shprotx] fix loading of multiple SSL certificates and better error message. fixes #3619 2007-12-15 08:31:42 +00:00
Yann Leboulanger
46aac301c8 SSL certificate verification, certificate fingerprint verification. fixes #720, #2499 2007-12-04 09:38:39 +00:00
Yann Leboulanger
465b2f20c3 "iSocket is already connected" error has a different number under OpenBSD. fixes #3396 2007-08-26 20:45:07 +00:00
Tomasz Melcer
401a9b4c02 Some comments added. 2007-06-07 22:49:47 +00:00
Yann Leboulanger
ecd995fda3 [omega] Don't check the fingerprint of the SSL certificats with a fixed list, but use OpenSSL to check if the certificat is valid. 2007-06-03 14:15:50 +00:00
Yann Leboulanger
efaa1a18e7 add a now argument to the send function, so that stanza is sent instantly instead of added to queue. Use it to send answer to adhoc command when we disconnect. fixes #3008 and #2808 2007-03-15 12:53:29 +00:00
junglecow
bbed22a410 - Workaround for #2846: Make the error silent. Fixes #2846.
- Workaround for #2838: Use synchronous (blocking) SSL handshake. Fixes #2838.
2007-03-03 20:13:43 +00:00
Yann Leboulanger
cba44a43a1 handle proxy errors. fixes #799 (socks5 proxies should now be supported. tests needed) 2007-02-07 22:05:52 +00:00
Yann Leboulanger
9a6b090506 begining of socks5 proxy support. error handling is missing. see #799 2007-01-24 21:50:59 +00:00
junglecow
37ffd5585b Removed an old-style logging command, as _owner may not always exist. Partial attempt at #2928 2007-01-23 20:06:07 +00:00
junglecow
9814451e07 - [dcraven] Fixed spelling error. Fixes #2580.
- Demoted some error messages from error to debug level.
2007-01-01 02:11:15 +00:00
junglecow
5529852ded - Fix TB on fingerprint mismatch
- Add debug message on import failure of PyOpenSSL
 - Update gajim.org digest after migration to new server
2006-12-29 01:46:46 +00:00
junglecow
e1ad5b15d0 - Removed unnecessary import
- Fixed name of transport_nb's logger
2006-12-28 11:15:44 +00:00
junglecow
c16642c838 Catch socket.gaierror. Fixes #2840. 2006-12-27 22:45:23 +00:00
junglecow
e816b38a0f Check if self._sock exists before trying to close it. Fixes #2839. 2006-12-27 20:44:21 +00:00
junglecow
847d9fe6e9 - Enhanced parsing of -l/--loglevel option
- Demote one message w/exception to debug
 - Hopefully improved user error message when fingerprint is bad
2006-12-27 18:38:50 +00:00
junglecow
9deb76a8ad - Started new way of logging, with configurable level for each subsystem
- Added -q, --quiet (speaks for itself)
   - Added -l, --loglevel subsystem=LEVEL,subsystem2=LEVEL2,...
 - Quell winsock 10035 error. (Equivalent of EINPROGRESS, but winsock likes to have its own error numbers.)
 - Hide SSL certificate debug stuff unless gajim.c.x.transports loglevel is DEBUG or lower
 - Avoid unicode problems if we set a profile
 - Move fingerprint checks from _register_handlers to _connect_success
 - Some enhancements to fpr checking code
2006-12-23 21:18:07 +00:00
junglecow
44674f7e75 - Implement matching of fingerprints against servers.xml
- Add support for fingerprints to servers.xml parser.
 - Add support for 'hidden' servers to servers.xml parser.
 - Add some fingerprints to servers.xml, for testing and as example for the new format.
 - Force asynchronous (nonblocking) SSL handshake in all case
 - Add logging to c/connection.py

Known issues:
 - Checking of fingerprints doesn't work on in-band SSL (Typically port 5222) because of stuff happening out of sequence. Workaround: use immediate SSL mode ("Legacy SSL" option in server config). Because there is as of yet no other way to /force/ SSL, this is also the most secure setting.
 - A lot of code is still looking for a better place to live.
2006-12-22 23:30:23 +00:00
junglecow
35ecad1188 - Switch back to TLSv1 method
- Remove debug prints in stdlib ssl compatibility code
2006-12-21 18:08:17 +00:00
junglecow
62350adb36 - PyOpenSSL branch merged to trunk
Welcome to the world of PyOpenSSL! Please install PyOpenSSL, thanks!

svn merge -r 7426:HEAD svn://svn.gajim.org/gajim/branches/pyopenssl
2006-12-20 21:52:40 +00:00
junglecow
fddb000a89 [Trunk]
- In verbose mode, print encodings. (Especially for Windows users who don't have Python) (gajim.py)
 - Attempt at fixing traceback when getting user's home directory in Windows. See #2812. (c/configpaths.py)
 - Show 'error' icon next to account while waiting for reconnect. Fixes #2786. (c/connection_handlers.py, c/gajim.py, c/connection.py)
[PyOpenSSL]
 - Fix 100% CPU usage and hanging connection when server closes connection on us. (c/x/transports_nb.py)
 - Fix 'hanging' connection when server closes the connection on us before we can open the XML stream. (Disconnect handler didn't get called.) (c/x/client_nb.py)
 - Change prints to logger calls, various enhancements to debug printing, reduce spam (c/x/transports_nb.py)
 - this → self (c/x/transports_nb.py)
 - Call _do_receive() once to collect error message from socket, when error flag is raised in scheduler. (c/x/transports_nb.py)
2006-12-20 20:40:08 +00:00
junglecow
8c78a14c3c - In [7647], reading of PID file was moved out of try..except block. Fixed.
- [PyOpenSSL] Small fix to error handling.
2006-12-15 10:57:25 +00:00
junglecow
c09e6e0b93 [PyOpenSSL]
- Improved data extraction from exceptions
 - Clearer error messages
 - Reduced exception spam
2006-12-13 20:15:22 +00:00
junglecow
7c0696093a - Trying to connect to server every 20 seconds forever is extremely rude to its owner. Let's be polite and do exponential back-off. (See #2411)
- [PyOpenSSL] Ported [7443] to pyopenssl branch.
2006-12-08 21:19:01 +00:00
junglecow
4a58bc4797 [pyopenssl] Yet more exception fixes 2006-12-01 22:23:45 +00:00
junglecow
236ed0463a [pyopenssl] More exception fixes 2006-11-28 22:12:03 +00:00
junglecow
5cb241b8c0 [trunk]
- Typo
[pyopenssl]
- Better exception handling
- Prevent 100% cpu usage when ssl handshake is slow
2006-11-28 01:02:31 +00:00
Yann Leboulanger
a37b946098 [sgala] IPV6 support for connection fith server. see #1969 2006-11-25 11:50:31 +00:00
junglecow
3c77ffd406 [PyOpenSSL branch]
- Close connection after creating account. Fixes #2676
- Handle normal connection close by server. Fixes #2671
- Do not disconnect if we haven't received starttag yet. Fixes #2668. Fixes unticketed bug causing account creation not to work with PyOpenSSL and asynchronous handshake (see also #2671). Behaviour of #2634 is also improved but now results in deadlock.
2006-11-18 15:09:40 +00:00