Commit graph

362 commits

Author SHA1 Message Date
Yann Leboulanger
567f1e17c1 [thorstenp] di not use emtpy except clauses 2008-10-11 09:37:13 +00:00
Yann Leboulanger
84e717c8df [thorstenp] use startswith and endswith instead of array indices on strings 2008-10-11 09:32:59 +00:00
Yann Leboulanger
9d7c80d522 [thorstenp] replace has_key by key in dict. Fixes #4392 2008-10-07 20:41:59 +00:00
Yann Leboulanger
32b583986f [Jelmer Vernooij] Kerberos (GSSAPI) SASL authentication mechanism added 2008-09-27 14:59:12 +00:00
Yann Leboulanger
3d46bf0b6e [dwd] fix reconnection when we get wrong XML with undeclared namespaces. Fixes #3083 2008-09-27 14:26:50 +00:00
Yann Leboulanger
e236382f3d handle XEP-0203 (Delayed Delivery) and use it when forwarding unread messages via adhoc commands. Fixes #4347 2008-09-26 11:11:38 +00:00
Yann Leboulanger
3e2f9fcbec prevent affiliatio spoofing by checking namespace. Fixes #4323 2008-09-16 08:30:27 +00:00
tomk
a7c36048b9 - renamed src/common/nslookup.py to resolver.py
- refactored resolver code and added asynchronous resolver based on patch by Damien Thebault[1]
  * Uses libasyncns-python[2]. If it's not available, old nslookup resolver is used)
  * works for SRV requests only at the moment

[1] https://www.lagaule.org/pipermail/gajim-devel/2008-July/000460.html
[2] https://code.launchpad.net/libasyncns-python
2008-08-31 23:40:06 +00:00
tomk
acdf4ff143 improved disconnect handling, added comments, fixed minor bugs 2008-08-17 22:57:48 +00:00
tomk
a76c173816 - improved SSL connections with BOSH - SSL over HTTP proxy is possible now,
Gajim will do HTTP CONNECT on proxy to reach the BOSH Conn manager and try
  to estabilish TLS (same as what firefox do when approaching HTTPS server via
  proxy)
- moved proxy-connecting code to xmpp/proxy_connectors.py
- debugged SOCKS5 proxy code
- tested with Tigase server
2008-08-14 21:48:43 +00:00
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
Yann Leboulanger
673052f1b8 handle disconnection while insecure connetion dialog is opened. fixes #4138 2008-07-30 15:43:53 +00:00
js
8605cd3f38 For historical reasons, we have a tab width of 3. This is strange, but
we have that in all files. To at least lesser the confusion a bit, add
vim tags for that.
Additionally, fix wrong #! in a few files.
2008-07-29 19:49:31 +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
js
3bd76e406a Partially fix #4098.
This is, however, only a half fix as this fixes that it fails when
there's None in waiting_descriptors[2], but actually, there never
should be None, so I have to investigate why there was none.

This patch is, however, correct and needed and the other queues also
have that check. It's just that I also need to fix the reason for
the None in the queue.
2008-07-15 23:23:31 +00:00
Brendan Taylor
814c9c118a XEP-0116 support discovery 2008-07-14 00:26:05 +00:00
tomk
cecce21c53 added hack for Openfire that doesn\'t add xmlns to child iqs of sent body stanzas 2008-07-13 23:10:11 +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
js
408d3b4ff6 Revert r9859 as this killed the stream.
This isn't an easy fix, we need to stop using expat in namespace aware
mode.
2008-06-29 01:40:49 +00:00
js
23cdc3fd6f Don't disconnect on unbound prefixes.
Fixes #3083. I can't believe this was unfixed for so long, as it's
really a rather easy fix.
2008-06-29 01:25:52 +00:00
Yann Leboulanger
a62328ecd3 remove duplicate function, simplify logic 2008-06-26 11:30:13 +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
js
abdd43e5eb Type in NS. 2008-06-17 18:13:23 +00:00
js
9634f98250 * Implemented XEP-0184 section 5.
* Added NS_RECEIPTS to protocol namespace list.
* Show our support of XEP-0184 in caps.
* Added a big, fat warning to get_contact as this does not work as
  expected.
* There was some strangeness in our XEP-0022, it added an id tag to
  the x tag, which isn't mentioned anywhere in the XEP. And for some
  strange reason, that id even was the same all the time.
* Fixed a typo.
2008-06-17 16:03:21 +00:00
Yann Leboulanger
1d745c1c9d use SSLv23 method (it support SSLv2, v3 and TLSv1) instead of only TLSv1 method as some server (gmail) don't support TLSv1 method. fixes #3786 2008-06-16 14:12:59 +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
da3e8a7328 remove a connect_failure callback when we are connected. Fixes #3914 2008-05-05 08:50:07 +00:00
Yann Leboulanger
a3827fe5d0 new XEP-0115 implementation (version 1.5) 2008-04-20 22:58:47 +00:00
Yann Leboulanger
ef97e91a1d put namespace name in protocol.py 2008-04-18 18:19:33 +00:00
Yann Leboulanger
041969309d add many supported features to disco#info reply. fixes #3872 2008-04-18 18:10:12 +00:00
Jean-Marie Traissard
968b2acc4f http://python.org/dev/peps/pep-0008/ " Comparisons to singletons like None should always be done with
'is' or 'is not', never the equality operators."
Comparisons to None part; second one...
roster_win.py is NOT checked here (waiting for modelfilter)
2008-04-18 00:26:07 +00:00
Jean-Marie Traissard
2ce13dc40e http://python.org/dev/peps/pep-0008/ " Comparisons to singletons like None should always be done with 'is' or 'is not', never the equality operators."
Comparisons to None part
roster_win.py is NOT checked here (waiting for modelfilter)
2008-04-18 00:02:56 +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
55eed6bda6 Revert r9252 for now. E2E was affected and task is shifted to next releas anyway. See #3694 2008-01-20 23:24:03 +00:00
Stephan Erb
9e74881ed6 Merge xmpp.py 4.1 simplexml.py
See #3694


 * WARNING! Incompartible change! Now newtag=n.T.newtag do not creates new tag
but only returns existing one (if possible). If you need to create tag use
either .NT. method or attribute set (i.e. n.T.newtag=something).

 * Added CDATA extracting method to xml node.

 * added xmlns safety check

 * Fixed node attribute deletion with "del node[attr]" syntax.

 * Ordering fix for when addChild and addData are used on the same node (may increase memory usage, might need to watch for that)

 * Fixes for children node fetching, still not perfect, but much better
2008-01-18 20:55:18 +00:00
Yann Leboulanger
62924fcf38 fix traceback when we get a presence with no fram attribute. see #3666 2008-01-09 19:05:38 +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