Lance Stout
676324805e
Use JID objects when dealing with roster items.
2012-02-18 11:39:47 -08:00
Lance Stout
7d74a7b027
More extraneous import cleanup.
2012-02-17 14:59:56 -08:00
Lance Stout
9d5eb864d1
More import cleanups based on pyflakes results.
2012-02-17 14:41:31 -08:00
Lance Stout
86a482e032
Fix pyflakes complaints for XEP-0115 plugin.
2012-02-17 11:40:51 -08:00
Lance Stout
c43c7be86c
Make last_xml usage a little more explict.
2012-02-17 11:40:07 -08:00
Lance Stout
c58462f154
Fix undeclared variable usage for reconnect.
2012-02-17 11:12:48 -08:00
Lance Stout
fb2582e53b
Fix fixing remove_stanza()
...
Fixes issue #146
2012-02-16 07:25:44 -08:00
Lance Stout
d807613117
Don't retrieve cert until a connection is made.
2012-02-16 07:02:56 -08:00
Lance Stout
6d922d00c3
Fix remove_stanza().
...
Fixes issue #146
2012-02-16 07:02:19 -08:00
Lance Stout
61ea84093b
Don't shutdown completely after handling SyntaxError.
...
The ``shutdown = True`` line was preventing the stream from reconnecting
after handling the error.
Fixes issues #101 , #145
2012-02-10 19:28:12 -08:00
Lance Stout
e76d6a481f
Fix undefined variable references when DNS timeouts.
2012-02-10 19:20:17 -08:00
Lance Stout
c1357717d9
Use '=' as base64 value for empty string SASL results.
2012-02-09 22:01:11 -08:00
Lance Stout
ca5145c210
Fix IPv6 query logging.
2012-02-10 06:46:51 +01:00
Lance Stout
1a272fd276
Add support for querying and connecting to IPv6 addresses.
...
Tested using servers provided by Florian Jensen (flosoft.biz)
during the 2012 FOSDEM XMPP Summit.
Fixes issue #94 .
2012-02-09 21:28:28 -08:00
Lance Stout
952260b423
Add ssl_cert event (direct).
...
The payload is a dictionary of parsed cert data, as provided by
Python's getpeercert() socket method. It unfortunately does not
provide much detail beyond basic info.
2012-02-04 14:16:37 +01:00
Lance Stout
caa967105c
Add more XEP-0047 tests.
2012-02-03 16:29:38 +01:00
Lance Stout
d565e4be20
Fix XEP-0184 imports
2012-02-03 16:08:27 +01:00
Lance Stout
85dd005abc
Fix infinite callback loop.
2012-02-03 16:03:46 +01:00
Lance Stout
021c57205f
Don't assume data is ASCII in saslprep.
2012-02-03 16:01:54 +01:00
Lance Stout
261a501afc
Merge remote-tracking branch 'whooo/master' into develop
2012-02-03 15:23:01 +01:00
Erik Larsson
9a38a101d2
Added fritzy to the copyright for xep_0184
2012-02-03 15:17:01 +01:00
Lance Stout
4665c5cf1a
Fix data stanza based on test results.
2012-02-02 19:19:50 +01:00
Lance Stout
bd52a5e6c1
Initial, mostly working XEP-0047 plugin.
...
This is inspired by the version from macdiesel and tomstrummer, but
their version was heavily linked with XEP-0096 and focused solely
on file transfer. This version is a more generic implementation.
2012-02-02 18:27:23 +01:00
Lance Stout
f98e5a03de
Fix typo s/is_set/is_set()
2012-02-02 18:14:48 +01:00
Erik Larsson
2217c69757
Added plugin for XEP-0184
2012-02-02 14:29:27 +01:00
Lance Stout
3ab7c8bcc3
Make socket_error run as a direct event to ensure that it is handled.
...
Socket errors that occur before stream processing begins could not be
handled as the event loop would not be running yet.
Resolves issue #142
2012-01-28 18:54:46 -08:00
Lance Stout
8f25acd0f3
Bump version number in develop branch to 1.0.1dev.
2012-01-25 20:44:41 -08:00
Lance Stout
999f1932cc
Merge pull request #138 from rhcarvalho/patch-2
...
Set default argument value.
2012-01-25 20:41:45 -08:00
Lance Stout
13158e3cdf
Revert the X-GOOGLE-TOKEN mech to not perform HTTP requests.
...
Added new example for how to retrieve a Google token, following
the best case, non-browser, workflow. Other thirdparty auth
mechs (Facebook, MSN) follow a similar pattern of using an
access token.
2012-01-23 23:58:40 -08:00
Rodolfo Carvalho
2735b680b9
Fix ValueError when line has more than one '='.
2012-01-22 18:32:32 -02:00
Rodolfo Henrique Carvalho
5f1d4ce433
Set default argument value.
...
Without this features/feature_mechanisms/mechanisms.py throws an error when calling the method `process' without arguments on this mechanism.
2012-01-22 01:53:07 -02:00
Lance Stout
25f87607aa
Add support for X-GOOGLE-TOKEN.
...
This is mainly just useful for authenticating without using TLS.
If an access token is not provided, an attempt will be made to
retrieve one from Google.
2012-01-21 00:44:03 -08:00
Lance Stout
f81fb6af44
Require explicitly setting access_token value.
...
Silently substituting the password field was nice, but for mechs
that can use either the password or an access token, it makes
things very difficult. This really only affects MSN clients since
Facebook clients should already be setting the api key.
2012-01-21 00:19:59 -08:00
Lance Stout
bb0a5186d6
Handle SASLCancelled and SASLError exceptions.
2012-01-21 00:19:08 -08:00
Lance Stout
baad907422
Add missing SASL <abort /> stanza
2012-01-21 00:17:49 -08:00
Lance Stout
1022fc0060
Make things work with Python3's byte semantics.
2012-01-20 02:27:30 -08:00
Lance Stout
3a22d798f8
Allow attempting multiple SASL mechs during a single stream.
...
Instead of disconnecting when the first chosen mech fails, we will
try all of them once.
2012-01-20 02:01:08 -08:00
Lance Stout
71ea430c62
Add support for X-FACEBOOK-PLATFORM SASL mechanism.
...
This requires an extra credential for SASL authentication:
xmpp = ClientXMPP('user@chat.facebook.com', '...access_token...')
xmpp.credentials['api_key'] = '...api_key...'
2012-01-20 01:24:05 -08:00
Lance Stout
0d2125e737
Add an extra config dict to store SASL credentials.
...
We'll need extra things beyond just a password, such as api_key.
2012-01-20 01:08:25 -08:00
Lance Stout
02f4006153
Add basic start for a client side XEP-0077 plugin.
2012-01-19 02:37:36 -08:00
Lance Stout
b25668b5b7
Fix detecting end of result set paging.
2012-01-18 19:57:49 -08:00
Lance Stout
1e01903072
Revert "Remove stream feature handlers on session_start."
...
This reverts commit 4274f49ada
.
The SASL mech was choking on this, so let's send it back for some
more refining.
2012-01-18 11:51:00 -08:00
Lance Stout
3672856ab4
Fix roster key issue for non-JID keys.
2012-01-17 23:10:14 -08:00
Lance Stout
86d8736dcc
Hash JIDs based on full JID string.
...
This makes JID objects equivalent to strings in dictionaries, etc.
>>> j = JID('foo@example.com')
>>> s = 'foo@example.com'
>>> d = {j: 'yay'}
>>> d[j]
'yay'
>>> d[s]
'yay'
>>> d[s] = 'yay!!'
>>> d[j]
'yay!!'
2012-01-17 23:03:48 -08:00
Lance Stout
2923f56561
Pre-parse StanzaPath paths to speed up matching.
...
The parsing and namespace cleaning isn't terribly expensive, but it does
add up. It was adding an extra 5sec when processing 100,000 basic
message stanzas.
2012-01-17 22:28:44 -08:00
Lance Stout
4274f49ada
Remove stream feature handlers on session_start.
...
Based on profiling, using around 35 stream handlers quarters the number
of basic message stanzas that can be processed in a second, in
comparison to only using the bare minimum of four handlers.
To help, we can drop handlers for stream features once the session
has started. So that we can re-enable these handlers when a stream
must restart, the 'stream_start' event has been added which fires
whenever a stream header is received.
The 'stream_start' event is a more generic replacement for the
existing start_stream_handler() method.
2012-01-17 22:14:24 -08:00
Rodolfo Henrique Carvalho
f49b6fa79f
Use jid.bare as a key instead of a JID instance.
2012-01-16 16:59:45 -02:00
Lance Stout
7b854a190e
Tidy up and update the plugin __init__ file.
2012-01-15 22:51:59 -08:00
Lance Stout
947d1ffbb3
Fix xep_0030 reference warning.
2012-01-14 17:12:39 -08:00
Lance Stout
de35848500
Don't serialize XML unless we need to.
2012-01-14 10:54:48 -08:00