Sandro Munda
289b052338
Renamed Query to Socks5 in the xep_0065.
...
Renamed the 'q' plugin_attrib of the Socks5 stanza to 'socks'.
2012-06-07 19:14:37 +02:00
Sandro Munda
26147f5ae0
Added a top level field to the xep_0065 class:
...
name = 'xep_0065'
2012-06-07 19:08:20 +02:00
Sandro Munda
ae01f1071a
Fixed the callback names of the xep_0065:
...
In-Band bytestreams -> Socks5 bytestreams
2012-06-07 19:04:24 +02:00
Sandro Munda
dcdf5dcd09
Added the Socksipy module in the thirdparty of SleekXMPP.
...
Updated the LICENSE file with the license of the Socksipy
module (New-BSD).
2012-06-07 19:02:09 +02:00
Sandro Munda
c59a6d0f51
Sent a socks_closed when the socket is closed in the xep_0065 plugin.
2012-06-07 18:38:57 +02:00
Sandro Munda
2cd936318d
Improved the close of the proxy thread (and the socket) in the xep_0065 plugin.
2012-06-07 18:38:57 +02:00
Sandro Munda
2f38857681
Changed the description of the xep_0065 plugin
2012-06-07 18:38:56 +02:00
Sandro Munda
39505ae1ff
The xep_0065 plugin supports now multiple stream (multiple connected
...
sockets).
To send data over a stream, we need to pass the SID in order to
retrieve the good proxy thread (and so, the good socket).
2012-06-07 18:38:56 +02:00
Sandro Munda
44ee0633f2
Renamed the _handle_on_recv to the on_recv method.
...
Renamed requester_thread and target_thread to proxy. The send method is now simpler.
2012-06-07 18:38:56 +02:00
Sandro Munda
b52d2768b0
Added some comments to the get_network_address method
2012-06-07 18:38:56 +02:00
Sandro Munda
cf24b870b1
Registered stanza plugin in the stanza module
2012-06-07 18:38:56 +02:00
Sandro Munda
69cffce7dc
Used the namespace in all stanzas
2012-06-07 18:38:56 +02:00
Sandro Munda
a14979375b
Added a partial support of the XEP 0065 - Socks5 Bytestreams
2012-06-07 18:38:56 +02:00
Lance Stout
f5652a667b
Add 'presence' event, raised for all incoming presence stanzas.
2012-06-06 16:10:25 -07:00
Lance Stout
3b2c865a58
Bump version to 1.1.2
2012-06-06 12:26:15 -07:00
Lance Stout
db0e683d01
Don't request registration forms unless the register event is handled.
...
Some servers end the stream if registration can not be completed
in-band, which means always requesting the form can prevent regular
login.
2012-06-06 12:23:40 -07:00
Lance Stout
e29a9e0394
Bump version for 1.1.1 minor release.
2012-06-04 11:56:53 -07:00
Lance Stout
edf65f4f52
Include the default, unnamed group in self.client_roster.groups()
2012-06-04 11:54:25 -07:00
Lance Stout
98677fd602
Don't add cert expiration timer if no certs are being used.
2012-06-04 11:53:58 -07:00
Lance Stout
61a4f76c8d
Update version and README for 1.1
2012-06-01 14:13:17 -07:00
Lance Stout
856a826eea
Fix syntax error in line continuation.
2012-06-01 14:09:14 -07:00
Lance Stout
387ef513d6
Check that the session is still alive before sending data.
...
Fixes issue #168
2012-06-01 13:50:38 -07:00
Lance Stout
2858dbf57f
Update development version number to prepare for 1.1 release.
2012-05-31 22:07:36 -07:00
Lance Stout
350a2b8bbc
Preemptively mark threads as exited if calling disconnect().
2012-05-31 22:04:45 -07:00
Lance Stout
c9093c9972
Handle not being able to connect using IPv6 if the host does not support it.
2012-05-27 16:33:21 -07:00
Lance Stout
d1ad31696e
Fix X-FACEBOOK-PLATFORM mechanism to work with Python3.
2012-05-25 11:04:46 -07:00
Lance Stout
f49311ef9e
Add better certificate handling.
...
Certificate host names are now matched (using DNS, SRV, XMPPAddr, and
Common Name), along with expiration check.
Scheduled event to reset the stream once the server's cert expires.
Handle invalid cert trust chains gracefully now.
2012-05-22 03:56:06 -07:00
Lance Stout
678e529efc
Remove unused xmlstream test client.
...
It's in the repo history if we need it later.
2012-05-17 22:27:03 -07:00
Lance Stout
7842c55da3
Add auth_success event.
...
The auth_success event is triggered upon successful SASL negotiation.
2012-05-15 14:26:25 -07:00
Lance Stout
f5beac2afa
Use SASLPrepFailure as the exception name instead of UnicodeError.
2012-05-14 23:12:54 -07:00
Lance Stout
8a23f28dfa
Add an exception handler for SASLprep failures.
2012-05-14 22:26:06 -07:00
Lance Stout
4ded34ebc9
Add MUC events for room configuration changes.
...
New events:
groupchat_config_status
muc::[room JID]::config_status
2012-05-14 16:10:22 -07:00
Lance Stout
e918a86028
Make the error message better regarding hanged threads.
...
All event handlers which call disconnect() MUST be registered using
`add_event_handler(..., threaded=True)` in order to prevent temporarily
deadlocking until a timeout occurs.
This is required because disconnect() waits for the main threads to
exit before returning, including the event processing thread. Since
handlers registered without `threaded=True` run in the event processing
thread, the disconnect() call will deadlock.
2012-05-10 10:22:38 -07:00
Lance Stout
03dedfc871
Windows doesn't support inet_pton.
2012-05-06 12:17:50 -07:00
Lance Stout
9e86a7b357
Tidy up and add tests for multi_attrib plugins.
2012-05-05 14:01:13 -07:00
Lance Stout
6a32417957
Merge pull request #163 from whooo/master
...
factory for recurring substanzas
2012-05-05 11:34:29 -07:00
Lance Stout
97a7be7dfa
Fix loading plugins from custom modules when passing the module itself.
...
Loading plugins from custom modules when passed as a string still works.
2012-05-04 09:51:02 -07:00
Erik Larsson
fa86f956ef
added multifactory and support for it to register_stanza_plugin
2012-04-30 22:19:17 +02:00
Lance Stout
a9acff5294
Collapse initial payload to a single stanza instead of a list if only one stanza is found.
2012-04-30 11:16:10 -07:00
Lance Stout
ad5b61de50
Add full support for initial payloads with adhoc commands, plus test.
2012-04-30 11:07:54 -07:00
Lance Stout
f53b815855
Allow providing initial payload to adhoc commands.
2012-04-30 08:27:10 -07:00
Lance Stout
bf8a9dc20d
Add logging note about potential cause of disconnect() deadlock.
2012-04-29 14:48:14 -07:00
Lance Stout
08716c35fd
Set a timeout when waiting for threads.
...
If calling disconnect() from a non-threaded event handler, deadlock can
happen as disconnect() is waiting for threads to close, but the event
runner is blocked by a handler waiting for disconnect() to return.
It is best to specify threaded=True for event handlers which may call
disconnect().
2012-04-29 14:45:00 -07:00
Lance Stout
fd81bab906
Use the correct 'from' jid when requesting vcards for avatars.
2012-04-29 13:33:53 -07:00
Lance Stout
1cf55c14b0
Don't raise errors when receiving an iq error for vcards.
2012-04-29 13:33:30 -07:00
Lance Stout
8b47159788
Populate the to attribute for message and presence stanzas if the server leaves it blank.
2012-04-26 15:46:18 -07:00
Lance Stout
2eeaf4d80c
Use provided stanza ID.
2012-04-25 13:55:46 -07:00
Lance Stout
4d89d26a1c
Prevent corrupting roster_update event with iq result.
2012-04-25 11:03:33 -07:00
Lance Stout
0cc14cee4d
Ensure that SSL errors are handled in Py3.3
2012-04-24 16:11:49 -07:00
Lance Stout
a20a9c505d
Track threads to ensure all have exited when disconnecting.
2012-04-22 18:13:36 -07:00
Lance Stout
913738444e
Count and track the main threads, so we can delay disconnecting until all have quit.
2012-04-21 10:36:39 -07:00
Lance Stout
8ee30179ea
Add _use_daemons flag to XMLStream to run all threads in daemon mode.
...
This WILL make the Python interpreter produce exceptions on shutdown.
2012-04-20 15:21:31 -07:00
Lance Stout
cb2469322b
Handle using provided weakrefs as stanza parent references.
...
Fixes issue #159
2012-04-14 11:13:38 -04:00
Lance Stout
94aa6673ca
Check for the stop event more aggressively in the send thread.
2012-04-13 08:27:11 -04:00
Lance Stout
4b2b2d16b8
Reset attempted SASL mech set after no suitable mechs are found.
2012-04-11 12:53:22 -04:00
Lance Stout
4cd5d3b3b5
Fix DNS resolution results for IP literals.
2012-04-10 14:08:33 -04:00
Lance Stout
01189376e2
Add initial support for XEP-0153.
2012-04-09 21:41:59 -04:00
Lance Stout
60195cf2dc
Initial support for XEP-0231.
2012-04-08 23:27:19 -04:00
Lance Stout
15ef273141
Add a prefix to stanza ID values to ensure that they are unique per client.
2012-04-08 21:15:53 -04:00
Lance Stout
eed6da538a
Undo the additional Iq result checks until further testing is done.
...
Revert "Check for Iq results based on both the sender's JID and the ID value."
This reverts commit 9ffde5ab37
.
2012-04-08 16:30:52 -04:00
Lance Stout
d3e8993e22
Fix looking up local and cached vcards.
2012-04-08 16:01:47 -04:00
Lance Stout
8a8926c5e8
Fix errors in caps related to unwrapped disco data and full JIDs.
2012-04-08 16:00:36 -04:00
Lance Stout
f9d0ee824b
Ensure that wrapped disco results retain requesting iq id.
2012-04-08 16:00:07 -04:00
Lance Stout
af099737ab
Ensure that accessing self.api.settings works for plugins.
2012-04-08 15:59:47 -04:00
Lance Stout
9ffde5ab37
Check for Iq results based on both the sender's JID and the ID value.
2012-04-08 15:58:48 -04:00
Lance Stout
272ddf9f01
Add nickname element to the XEP-0054 plugin.
2012-04-07 21:16:36 -04:00
Lance Stout
259c84e99a
Add initial XEP-0054 plugin.
2012-04-07 20:50:02 -04:00
Lance Stout
7391288668
Tidy up roster_received event and callbacks.
2012-04-07 17:30:25 -04:00
Lance Stout
7734aee7ad
Prevent roster_update from firing twice after retrieving the roster.
2012-04-07 17:22:29 -04:00
Lance Stout
9f855b9679
Trigger got_online after resource information has been saved.
2012-04-07 16:23:24 -04:00
Lance Stout
aedbecd673
Correct the statemachine's ensure_any method.
...
It had not been updated to use the new condition instead of the old
threading event.
2012-04-06 17:39:51 -04:00
Lance Stout
83c5a4cd2f
Pass JID objects to API callbacks and not strings.
2012-04-06 15:22:36 -04:00
Lance Stout
9c61c2882f
Add support for XEP-0027
2012-04-06 15:22:23 -04:00
Lance Stout
e0dd9c3618
Simplify registering API handler defaults.
2012-04-06 15:09:26 -04:00
Lance Stout
4921c44d0a
Don't break test plugins that use None instead of a stream object.
2012-04-06 15:09:26 -04:00
Lance Stout
3161f104c7
Update XEP-0012 plugin to use new api.
2012-04-06 15:09:26 -04:00
Lance Stout
898f5f4b51
Allow for registering a handler and setting it as default in one step.
2012-04-06 15:09:26 -04:00
Lance Stout
3ee3fdca91
Fix XEP-0115 with the new API registry.
2012-04-06 15:09:26 -04:00
Lance Stout
488f7ed886
Begin experiment with a centralized API callback registry.
...
The API registry generalizes the node handler system from the xep_0030
plugin so that other plugins can use it.
2012-04-06 15:09:25 -04:00
Lance Stout
51e5aee830
Add default mapping of localhost to ::1 and 127.0.0.1
2012-04-06 15:08:21 -04:00
Lance Stout
af13bea2b8
Fix MUC invite events so that they actually work.
2012-04-03 22:41:37 -07:00
Lance Stout
cdf0b353db
Fix memory leak with adhoc command sessions.
...
Fixes issue #155
2012-04-03 11:02:55 -07:00
Lance Stout
48504ed5e2
Display IPv6 literal addresses in brackets.
2012-04-01 19:32:12 -07:00
Lance Stout
4d4d1e0ee5
Improve connection handling by not delaying until all DNS records are tried.
2012-03-30 10:12:44 -07:00
Lance Stout
c1d36cad46
Add better DNS resolver wrapper.
2012-03-30 10:12:43 -07:00
Lance Stout
aad2eb31fc
Fix typo
2012-03-30 09:01:15 -07:00
Lance Stout
1bd7824f24
Tidy up the state machine and use a threading condition instead of an event.
...
Fixes issue #154
2012-03-28 23:58:38 -07:00
Lance Stout
912463ed6a
Fix sending data after </stream>
...
Clearing the session_started_event before sending </stream> will
pause the send loop so that we don't continue sending data after
the </stream>.
2012-03-28 23:53:55 -07:00
Lance Stout
dda2473d35
Reset stream management state on session_end.
2012-03-27 23:27:24 -07:00
Lance Stout
94923ae898
Improve handling disconnections.
...
- Add option for disconnecting without sending </stream>:
self.disconnect(send_close=False)
- Optionally distinguish between session_end and disconnected based
on if </stream> was sent.
self.end_session_on_disconnect = False
2012-03-27 23:24:42 -07:00
Lance Stout
a1ddd88208
Add support for a new type of stanza interface: bool
...
The set of bool_interfaces provides default behaviour for
checking/setting the presence of empty subelements.
The prime example of this would be:
bool_interfaces = set(['required'])
This would mean that ``stanza['required']`` would return ``True`` for:
<stanza>
<required />
</stanza>
and ``False`` for:
<stanza />
Likewise, assigning ``stanza['required'] = True`` would add an empty
``<required />`` element, and setting it to ``False`` would remove
such an element if it exists.
2012-03-27 21:05:50 -07:00
Lance Stout
ee6a9b981a
Simplify sending whitespace keepalives.
...
Now that we have the send lock, we can use now=True.
2012-03-27 20:53:27 -07:00
Lance Stout
9879c7af59
Make the XEP-0198 ack debug message less confusing.
2012-03-27 20:52:31 -07:00
Lance Stout
fa4c52e499
Correct handling of acks for XEP-0198 under heavy load.
2012-03-21 13:00:43 -07:00
Lance Stout
d5484808a7
Respect reattempt=False setting when reconnecting.
2012-03-21 10:28:26 -07:00
Lance Stout
59d1b8e131
Correct connect() documentation, don't delay attempts if reattempt=False.
...
See issue #152
2012-03-20 09:56:39 -07:00
Lance Stout
859822ff05
Fix unicode issues in test cases for Py3+ introduced by issue #150 .
2012-03-19 14:24:45 -07:00
Lance Stout
3acc7d0914
Merge pull request #150 from correl/rpc_value_fixes
...
Updated XEP-0009 to handle unicode strings
2012-03-19 14:06:36 -07:00
Lance Stout
73cabcb6ae
Add initial support for XEP-0198 for stream management.
2012-03-18 01:02:19 -07:00
Lance Stout
fbdf2bed49
Add out_sync filter category.
...
Added option to XMLStream.send() to skip applying filters.
Filters in the out_sync group are synced with placing stanza content
either on the wire directly or into the send queue. Because of this,
out_sync filters should not block.
2012-03-18 00:59:45 -07:00