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
Lance Stout
33d01fb694
Fix requesting receipts on a message that has not been bound to a stream.
2012-03-16 23:42:55 -07:00
Lance Stout
ab2e43d052
Re-add support for special case of 'presence' expiry value.
2012-03-16 23:42:34 -07:00
Lance Stout
eb25998e72
Update subscription event expiry value to use time objects.
2012-03-16 23:16:17 -07:00
Lance Stout
eafd2aee93
Add events for configuration and subscription notifications.
...
New events:
pubsub_config
pubsub_subscription
2012-03-16 23:12:38 -07:00
Lance Stout
a6f3d740a2
Fix error when assigning form values that include booleans.
2012-03-16 22:02:21 -07:00
Lance Stout
19a6f61b44
Fix requiring receipt request messages to have ID values.
2012-03-16 22:01:56 -07:00
Lance Stout
58e0f1e6c3
Expand support for XEP-0184.
...
New stanza interfaces:
Adding a message receipt request:
msg['request_receipt'] = True
Adding a message receipt:
msg['receipt'] = '123-24234'
Retrieving the acked message ID:
ack_id = msg['receipt']
print(ack_id)
'123-24234'
New configuration options:
auto_ack:
If True, auto reply to messages that request receipts.
Defaults to True
auto_request:
If True, auto add receipt requests to appropriate outgoing
messages.
Defaults to False
2012-03-16 10:51:25 -07:00
Lance Stout
96ff2d43c0
Explicitly set the desired SASL mech to ANONYMOUS if no username is provided.
2012-03-13 12:24:41 -07:00
Lance Stout
1b00b7e8df
Correct handling SASL auth failures when forcing the use of a specific mechanism.
2012-03-13 11:07:14 -07:00
Lance Stout
7284ceb90c
Move feature_rosterver to new system.
2012-03-12 20:04:11 -07:00
Lance Stout
24ec448b7f
Move feature_starttls to new system.
2012-03-12 19:57:20 -07:00
Lance Stout
ed5a2f400d
Move feature_session to new system.
2012-03-12 19:52:20 -07:00
Lance Stout
9596616b42
Move feature_mechanisms to new system.
2012-03-12 19:52:01 -07:00
Lance Stout
8d38fb511b
Move feature_bind to new system.
2012-03-12 19:49:43 -07:00
Lance Stout
5a2cbbb731
Move XEP-0172 to new system.
2012-03-12 19:32:20 -07:00
Lance Stout
32d6f85649
Move XEP-0118 to the new system.
2012-03-12 19:32:20 -07:00
Lance Stout
a2b47e5749
Move XEP-0108 to new system.
2012-03-12 19:32:20 -07:00
Lance Stout
14d4062f4a
Move XEP-0107 to new system.
2012-03-12 19:32:20 -07:00
Lance Stout
67972c5e84
Move XEP-0080 to the new system.
2012-03-12 19:32:20 -07:00
Lance Stout
3467ac18cc
Move XEP-0163 to new system.
...
Also includes new register_pep() method for doing the necessary stanza
and disco registration, plus pubsub node event mapping.
2012-03-12 19:32:20 -07:00
Lance Stout
cabf27424f
Cleanup plugin import logic.
...
Checking for a 'xep' or 'rfc' attribute is more reliable
for detecting an old style plugin than 'name'.
2012-03-12 19:32:20 -07:00
Lance Stout
162e955bd6
Enable using post_init() to resolve circular dependencies.
...
We really shouldn't have any. However, we may later introduce one
with XEP-0030 and XEP-0059.
2012-03-12 19:32:20 -07:00
Lance Stout
57d761b8a2
Move XEP-0115 to the new system.
2012-03-12 19:32:20 -07:00
Lance Stout
8b2023225c
Remove extra logging statement, add backward compatible references.
2012-03-12 19:32:20 -07:00
Lance Stout
f8f2b541db
Handle loading plugins on demand.
...
Plugins that are referenced as dependencies, but have not been
registered now will be imported. Newer plugins should register
themselves automatically, but older style plugins will be
explicitly registered after import.
2012-03-12 19:32:20 -07:00
Lance Stout
9d645ad5cd
Update the list of all stream feature plugins.
2012-03-12 19:32:20 -07:00
Lance Stout
610d366bdb
Ensure the adhoc command items node exists.
...
If the plugin is loaded and no commands are defined, we can at least
return a proper empty response instead of an item-not-found error.
2012-03-12 19:32:20 -07:00
Lance Stout
64c46562d3
Move XEP-0249 to the new system.
2012-03-12 19:32:20 -07:00
Lance Stout
87d6ade06d
Move XEP-0224 to new system.
2012-03-12 19:32:20 -07:00
Lance Stout
4a009515c1
Move XEP-0203 to new system.
2012-03-12 19:32:20 -07:00
Lance Stout
6497857495
Move XEP-0202 to new system.
2012-03-12 19:32:20 -07:00
Lance Stout
5a324c01de
Move XEP-0199 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
17279de4a3
Move XEP-0184 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
34a7a62c35
Move XEP-0128 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
2305cc61fd
Move XEP-0092 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
2f677c98f8
Move XEP-0086 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
3fda053606
Move XEP-0085 to the new system.
...
Optimized handlers so that only one is needed.
2012-03-12 19:32:19 -07:00
Lance Stout
6d855ec06c
Move XEP-0082 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
23cc62fe7c
Move XEP-0078 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
26ea67d211
Move XEP-0045 to new system.
...
Still needs updating to the new format.
2012-03-12 19:32:19 -07:00
Lance Stout
d43cd9fa54
Move XEP-0033 to new system.
...
Still needs updating to the new format.
2012-03-12 19:32:19 -07:00
Lance Stout
6f337b5425
Move XEP-0012 to new system.
...
Still needs to update to the current plugin format though.
2012-03-12 19:32:19 -07:00
Lance Stout
d104a5fe75
Move XEP-0009 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
cdd69c6842
Move XEP-0077 to the new system.
2012-03-12 19:32:19 -07:00
Lance Stout
4a3a9067d4
Move XEP-0066 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
1aecb2293a
Move XEP-0060 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
ad8fd91b7a
Move XEP-0050 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
1f5a3a4445
Move XEP-0047 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
be363e0b46
Move XEP-0004 to new system.
2012-03-12 19:32:19 -07:00
Lance Stout
a104cd6dae
Tidy up disco plugin.
2012-03-12 19:32:19 -07:00
Lance Stout
e287282782
Moving backwards compatibility shims to __init__ files.
2012-03-12 19:32:07 -07:00
Lance Stout
8b06d10415
Update XEP-0030 and XEP-0059 to new system.
2012-03-12 16:24:18 -07:00
Lance Stout
01b2499915
Introduce new plugin system.
...
The new system is backward compatible and will load older style plugins.
The new plugin framework allows plugins to track their dependencies, and
will auto-enable plugins as needed.
Dependencies are tracked via a class-level set named `dependencies` in
each plugin.
Plugin names are no longer tightly coupled with the plugin class name,
Pso EP8 style class names may be used.
Disabling plugins is now allowed, but ensuring proper cleanup is left to
the plugin implementation.
The use of a `post_init()` method is no longer needed for new style
plugins, but plugins following the old style will still require a
`post_init()` method.
2012-03-12 16:24:18 -07:00
Lance Stout
9f43d31bf5
Add setting for maximum number of reconnection attempts.
...
Setting self.reconnect_max_attempts to a non-None value will limit
the number of times a connection attempt will be made before quiting
and raising a 'connection_failed' event.
2012-03-12 16:19:18 -07:00
Lance Stout
a318beded4
Update plugin list and use correct names.
2012-03-11 16:34:41 -07:00
Lance Stout
5f4b528e6b
Ensure that result stanzas are returned, as expected.
2012-03-11 16:13:19 -07:00
Lance Stout
f759b0ada1
Add support for XEP-0108: User Activity.
2012-03-11 12:37:54 -07:00
Lance Stout
7d89fa27a8
Expand support of XEP-0172 (user nickname) to include PEP.
2012-03-11 00:22:28 -08:00
Lance Stout
10ec92f7c6
Add support for XEP-0107, User Mood.
2012-03-10 23:32:20 -08:00
Lance Stout
58d2f317a0
Fix plugin loading logs for XEP-0118 and XEP-0163.
2012-03-10 23:31:54 -08:00
Lance Stout
34b094561f
Add support for XEP-0080.
2012-03-10 12:54:31 -08:00
Lance Stout
91155444c0
Resolve plugin dependency chains with XEP-0115.
...
The post_init() system can only reliably handle a single layer
of dependencies between plugins, but PEP plugins with XEP-0115
exceed that limit and plugins can be post_init'ed out of order. To
resolve this, we will special case XEP-0115 to be post_init'ed
first until the new plugin system with dependency tracking is
stable.
2012-03-10 12:48:35 -08:00
Lance Stout
7f71ac7e0a
Add user tune feature to disco, not just notifications.
2012-03-10 10:54:24 -08:00
Lance Stout
e5fc59a4c6
Ensure post init works for XEP-0118.
2012-03-10 10:44:53 -08:00
Lance Stout
549a9ab472
Add support for XEP-0118.
...
See examples/user_tune.py for a demonstration using the currently
playing song in iTunes.
2012-03-10 10:30:32 -08:00
Lance Stout
09720dcf42
Fix XEP-0163's updating of caps.
2012-03-10 10:20:06 -08:00
Lance Stout
ec044affd4
Only auto-broadcast caps changes after a session has started.
2012-03-10 10:19:43 -08:00
Lance Stout
af39945009
Add XEP-0163 plugin.
...
This is just a very simple wrapper for XEP-0030, XEP-0115, and XEP-0060
for adding interests to caps information, and publishing.
2012-03-10 09:23:47 -08:00
Lance Stout
78a50d0237
Add support for pubsub notification events.
...
Publishes, retractions, purges, and deletions now raise the events:
- pubsub_publish
- pubsub_retract
- pubsub_purge
- pubsub_delete
In addition, custom events may be raised based on the node that
generated the notification. For example:
xmpp['xep_0060'].map_node_event('http://jabber.org/protocol/tune ',
'user_tune')
will allow for using the events:
- user_tune_publish
- user_tune_retract
- user_tune_purge
- user_tune_delete
2012-03-10 00:07:56 -08:00
Lance Stout
861d279b08
Correct missing pubsub#event stanzas and interfaces.
2012-03-10 00:07:15 -08:00
Lance Stout
4cb8a8d389
Modify the cert event to provide the PEM encoded cert in all cases.
2012-03-07 15:03:35 -08:00
Lance Stout
a71823dc04
Add support for roster versioning.
...
This was XEP-0237, but is now part of RFC 6121.
Roster backends should now expose two additional methods:
version(jid):
Return the version of the given JID's roster.
set_version(jid, version):
Update the version of the given JID's roster.
A new state field will be passed to the backend if an item
has been marked for removal. This is 'removed' which will
be set to True.
2012-03-07 14:55:27 -08:00
Lance Stout
d41ada6b66
Cleanup logging when loading a custom plugin.
2012-03-05 11:30:36 -08:00
Lance Stout
fdfe2cd64f
Propagate save option when setting a roster backend.
2012-03-05 11:28:10 -08:00
Lance Stout
7b51c6f5cc
Save existing roster content when setting a new backend.
2012-03-05 11:12:13 -08:00
Lance Stout
be7f07ad12
Prevent excess loading from the roster db.
...
Fixes issue #148
2012-03-05 11:11:35 -08:00
Lance Stout
830db11b41
Ensure that roster nodes aren't empty strings.
...
This would happen when receiving presence without a 'to' field, which
happens when receiving presence from other resources for the same account.
2012-03-05 11:08:57 -08:00
Lance Stout
53bcd33e1d
Let disconnect() wait for its lock for a few seconds.
...
This should eliminate most debug statements about not being
able to acquire a lock during disconnect.
2012-02-22 07:57:13 -08:00
Lance Stout
e3d596c9fa
Update XEP-0085 plugin to work with both ElementTree and cElementTree
...
Each state element must have its own stanza class now. A stanza class
with an empty name field causes errors in ElementTree, even though
it works fine with cElementTree.
2012-02-19 20:28:31 -08:00
Lance Stout
ecd6ad6930
Fix incompatibility with clearing an element between ElementTree and cElementTree
2012-02-19 20:27:53 -08:00
Lance Stout
c36073b40e
xml.etree.ElementTree raises ExpatError instead of SyntaxError or ParseError.
2012-02-19 20:27:19 -08:00
Lance Stout
afe0d16797
Centralize references to ET to make switching implementations easier.
2012-02-19 20:26:40 -08:00
Lance Stout
977fcc0632
Fix instances of using undefined variables.
2012-02-18 11:56:10 -08:00
Lance Stout
94b57d232d
More pyflakes cleanup.
2012-02-18 11:44:05 -08:00
Lance Stout
7cdedb2ec0
More import cleanup based on pyflakes.
2012-02-18 11:40:34 -08:00
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
Correl Roush
31d3e3b2b6
Updated XEP-0009 to handle unicode strings
2012-02-17 12:24:44 -05: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
Lance Stout
1ae219025a
Don't dump exception logs for XML stream parsing errors.
...
The exceptions are handled, so we don't need to clutter the output logs.
2012-01-12 22:26:15 -08:00
Lance Stout
e8b2dd6698
Update Roster stanza to use RosterItem substanzas.
...
get_roster() now returns the Iq result stanza instead of True (stanzas
also evaluate to True).
2012-01-12 17:21:43 -08:00
Lance Stout
c0074f95b1
update_caps() can now do presence broadcasting.
...
As part of adding this feature:
- fixed bug in update_caps() not assigning verstrings
- fixed xep_0004 typo
- can now use None as a roster key which will map to boundjid.bare
- fixed using JID objects in disco node handlers
- fixed failing test related to get_roster
Several of these bugs I've fixed before, so I either didn't push them
earlier, or I clobbered something when merging. *shrug*
2012-01-11 16:39:55 -08:00
Lance Stout
1eb69f7075
Make the roster easier to inspect.
...
The __repr__ version now looks like a regular dictionary.
2012-01-10 20:03:22 -08:00
Lance Stout
a86935a42f
Make get_roster(block=False) work properly.
...
Fixes issue #136
2012-01-10 19:57:38 -08:00
Lance Stout
6b9a55e62d
Sync with Suelta.
2012-01-07 00:19:08 -05:00
Lance Stout
c578ddeb1a
Add support for MSN with X-MESSENGER-OAUTH2 SASL support.
...
NOTE: This requires already having the access token. It does NOT
perform any OAuth requests.
2012-01-06 23:31:58 -05:00
Lance Stout
8ef7188dae
Fix client_roster when the bare JID changes after binding.
...
Adds session_bind event.
2012-01-06 23:30:14 -05:00
Lance Stout
8fd2efa2fa
Merge branch 'develop-1.1' into develop
2012-01-05 11:33:47 -05:00
Lance Stout
79f1aa0e1b
Update version and README for 1.0 release.
2012-01-03 17:04:15 -05:00
Lance Stout
fb5a6a7d71
Merge pull request #132 from rhcarvalho/master
...
Fix a typo in several files.
2012-01-02 13:10:46 -08:00
Rodolfo Carvalho
7d1c5f4a2b
Fix a typo in several files.
...
This fixes several instances of "intial" for "initial".
2012-01-02 18:59:39 -02:00
Lance Stout
27c658922e
Fix handing caps in Python3, allow update_caps() call before process()
2011-12-31 21:15:40 -05:00
Lance Stout
35954cdc90
Fix a few holes in caps.
...
Protip: Don't test using a custom disco handler that always returns the
same feature set :p
2011-12-31 19:18:00 -05:00
Lance Stout
e0545bf0bc
Merge branch 'develop' into develop-1.1
2011-12-31 01:29:12 -05:00
Lance Stout
03bc38f7e3
Add docs on using Iq stanzas.
2011-12-31 01:28:41 -05:00
Lance Stout
4e23a4e08e
Merge pull request #130 from rhcarvalho/master
...
Some small fixes
2011-12-30 20:14:54 -08:00
Lance Stout
d817d64c65
Enable caps stream feature.
2011-12-30 22:34:57 -05:00
Lance Stout
8a29ec67ac
Add XEP-0115 plugin.
...
Finally
2011-12-30 21:45:25 -05:00
Lance Stout
6722b0224a
Add option to disable condensing and converting form values.
...
XEP-0115 needs to use the raw XML character data.
2011-12-30 21:43:39 -05:00
Lance Stout
8eb225bdec
Add option for disabling identity and feature deduplication.
...
XEP-0115 requires detecting duplicates, so we can't always silently
ignore them.
2011-12-30 20:53:18 -05:00
Lance Stout
a7df76a275
Add 'supports' and 'has_identity' node handlers.
2011-12-30 20:52:44 -05:00
Lance Stout
efae8f3369
Automatically use local disco based on the JID.
2011-12-30 20:51:41 -05:00
Lance Stout
a11e6c0b77
Be more lenient on required arguments to disco node handlers.
2011-12-30 20:51:02 -05:00
Lance Stout
1bb0b38868
Make the disco logs nicer.
2011-12-30 20:50:15 -05:00
Rodolfo Carvalho
b74ea47650
Fix docstring of a method of Message stanzas.
2011-12-30 17:08:32 -02:00
Lance Stout
4df1641689
Add set_info disco handler.
2011-12-28 11:46:13 -05:00
Lance Stout
5ef0b96d5c
Fix caching for clients.
2011-12-28 11:37:05 -05:00
Lance Stout
d979b5f2b9
Add caching support to xep_0030.
...
New plugin configuration options:
use_cache - Enable caching disco info results. Defaults to True
wrap_results - Always return disco results in an Iq stanza. Defaults
to False
Node handler changes:
Handlers now take four arguments: jid, node, ifrom, data
Most older style handlers will still work, depending on if they
raise a TypeError for incorrect number of arguments. Handlers that
used *args may not work.
New get_info options:
cached - Passing cached=True to get_info() will attempt to load
results from the cache. If nothing is found, a query
will be sent as normal. If set to False, the cache
will be skipped, even if it contains results.
New method:
supports() - Given a JID/node pair and a feature, return True
if the feature is supported, False if not, and
None if there was a timeout. By default, the search
will use the cache.
2011-12-28 10:16:31 -05:00
Lance Stout
1a61bdb302
Ensure that stanza plugins work as expected if the XML is appended.
2011-12-28 09:53:22 -05:00
Lance Stout
2f2ebb37e4
Merge branch 'develop' into develop-1.1
2011-12-27 18:05:42 -05:00
Lance Stout
522f0dac16
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-12-27 18:03:08 -05:00
Lance Stout
42a86fe0d4
Disconnect when a SyntaxError is found.
...
This should resolve issue #102
2011-12-27 18:01:26 -05:00
Correl Roush
e928b9c434
XEP-0009: Updated tests to work in python 3
2011-12-20 21:19:51 -05:00
Lance Stout
fb55d9e9d1
Add comma to fix pubsub error conditions.
...
Fixes issue #127
2011-12-20 12:30:35 -05:00
Correl Roush
6c58b8cc4b
XEP-0009: Updated RPC value conversion code
...
Updated the XML-RPC value conversion to correctly apply namespaces, and
fixed an error uncovered by the tests in the XML -> Python conversion of
dateTime values.
2011-12-20 02:03:06 -05:00
Correl Roush
9950208d06
Fixes Issue #123 : Corrected boolean xml to python conversion
2011-12-16 17:41:16 +00:00
Correl Roush
c98a22e065
Fixed Issue 93: ACL.check jid parameter should be a string value
2011-12-15 21:58:33 +00:00
Lance Stout
d496417deb
Allow XEP-0082 to return datetime objects without having to format and reparse.
2011-12-15 12:02:08 -08:00
Lance Stout
f6e30edbc4
Log received data AFTER filtering.
...
This allows applications to filter out sensitive information, such
as passwords, so that it won't appear in the logs.
It does mean that the debug logs will not show the actual received
data, and there will be no indication of tampering, unless the
filter author explicitly logs and notes that a change was made.
2011-12-14 21:14:27 -08:00
Lance Stout
dcb0d8b00e
Merge branch 'develop' into develop-1.1
2011-12-13 09:38:27 -08:00
Lance Stout
116bb6e1b9
Use OrderedDicts instead of regular dictionaries when returning values from forms.
2011-12-13 09:00:45 -08:00
Lance Stout
9c6dde5d22
Ensure that item fields have the proper type.
...
The item fields were not setting their type based on the reported
field's type attribute, so values were not being encoded properly.
Fixes issue #121
2011-12-13 08:59:39 -08:00
Lance Stout
cb635dcd5a
Add parameter docs for add_filter.
2011-12-12 22:37:19 -08:00
Lance Stout
eff3330e75
Add support for incoming/outgoing filters.
...
A filter accepts and returns a stanza, but potentially modified.
To prevent sending/receiving a stanza, a filter may return None.
Incoming:
self.add_filter('in', in_filter)
Outgoing:
self.add_filter('out', out_filter)
Filters are applied in the order thay are added. However, you may
add an order parameter, which is the place in the list to insert the
filter:
self.add_filter('in', in_filter, order=0)
2011-12-12 22:17:07 -08:00
Lance Stout
fc8a13df5a
Allow disco info/items handlers to return full Iq stanzas.
...
Only allowing handlers to return a DiscoInfo/DiscoItem stanza works
for the majority of cases, but does not allow for the addition of
an RSM stanza, or other extensions.
An Iq stanza returned by a handler must already be configured as
a reply.
2011-12-12 19:38:32 -08:00
Lance Stout
85e9042db6
Pass the Iq stanza to disco item handlers.
2011-12-12 16:34:24 -08:00
Lance Stout
62e6d6fb4c
Fix iterable substanzas when added as normal plugin.
...
If an iterable plugin was an enabled, it wasn't added to
the iterables list.
2011-12-11 17:04:58 -08:00
Lance Stout
16c72e8efd
Use UTC for xep_0082.date.
2011-12-09 23:59:33 -08:00
Lance Stout
efe1b9f5a9
Allow sending stanzas on session_end.
...
May set self.disconnect_wait=True so that all disconnect
calls wait for the send queue to empty, unless explicitly
overridden with wait=False.
The session_end now fires before closing the socket so
that final stanzas may be sent, such as unavailable presences
for components.
2011-12-09 23:56:39 -08:00
Lance Stout
65dbddb6b6
Fix logging when loading plugins.
2011-12-09 20:57:08 -08:00
Lance Stout
2a67a31120
Prevent hang when terminating during delayed connection.
2011-12-07 22:16:58 -08:00
Lance Stout
a720c3348b
Updated last bit of core files to use new API format.
2011-12-05 20:37:47 -08:00
Lance Stout
e01c2d222a
More doc updates
2011-12-05 08:55:05 -08:00
Lance Stout
8922e2050a
Update the API docs for XMLStream
2011-12-04 20:35:17 -08:00
Lance Stout
a85891c611
Add API docs for the scheduler
2011-12-04 16:43:05 -08:00
Lance Stout
2586fdffda
Update api docs for handlers and matchers
2011-12-04 16:26:14 -08:00
Lance Stout
b9332142c9
Update api docs for JID
2011-12-04 13:42:46 -08:00
Lance Stout
b7b53362e1
Ensure that adhoc command clients have form plugin registered.
...
The form plugin was being registered on first use for providers,
but not for clients receiving the form.
NOTE: Use of non-form payloads will have this issue - adhoc command
clients will need to have an expectation beforehand of what
the command payload will be to properly load stanza plugins.
2011-12-04 01:24:35 -08:00
Lance Stout
68cf66a5fe
Ensure that saving a roster item includes the correct subscription value.
...
Fixes issue #118
2011-11-28 15:00:35 -08:00
Florent Le Coz
4eb7eeb40f
Send the encoded data (bytes) and not the str, on the socket.
2011-11-25 01:45:43 +08:00
Lance Stout
a1d64fa215
Experimental support for handling SSL write errors.
2011-11-23 23:59:05 -08:00
Lance Stout
5f44c0e678
Add docs for filesocket
2011-11-22 16:33:38 -08:00
Lance Stout
b87c4d786d
Update tostring docs, plus more doc cleanup
2011-11-22 16:25:33 -08:00
Lance Stout
6906c15e8e
Update docs for tostring
2011-11-22 15:25:02 -08:00
Lance Stout
4498e992a2
Add more stanzabase docs
2011-11-21 23:17:39 -08:00
Lance Stout
2b0a05ee32
Update stanzabase docs
2011-11-21 21:51:19 -08:00
Lance Stout
862a2a1440
Ensure that reconnection happens properly after connection loss.
...
Calling reconnect() simultaneously from multiple threads (like when
using XEP-0199 keepalive) could break because the connection state
can transition and break the state expectations in one of the
reconnect() calls.
2011-11-20 12:18:37 -08:00
Lance Stout
fba60ffff1
Convert daemon threads back into normal threads.
...
This may need to be reverted if CTRL-C handling breaks, but everything
works fine so far in testing.
Resolves issue #95 .
2011-11-20 12:17:35 -08:00
Lance Stout
d1a945a305
Tidy up logging some more
2011-11-19 19:18:43 -08:00
Lance Stout
685b9ab102
Fix logging exceptions from formatting issues.
2011-11-19 19:08:27 -08:00
Lance Stout
24f27c0fe3
Pass generic connection errors to XMLStream.exception()
2011-11-19 19:01:07 -08:00
Lance Stout
3019c82d8a
Use a list comprehension instead of filter() to work with Python3.
2011-11-19 18:49:18 -08:00
Lance Stout
b54cc97e4c
Merge remote-tracking branch 'vijayp/master' into HEAD
...
Conflicts:
examples/ping.py
sleekxmpp/basexmpp.py
sleekxmpp/clientxmpp.py
sleekxmpp/features/feature_bind/bind.py
sleekxmpp/features/feature_mechanisms/mechanisms.py
sleekxmpp/plugins/gmail_notify.py
sleekxmpp/plugins/jobs.py
sleekxmpp/plugins/xep_0009/remote.py
sleekxmpp/plugins/xep_0009/rpc.py
sleekxmpp/plugins/xep_0012.py
sleekxmpp/plugins/xep_0045.py
sleekxmpp/plugins/xep_0050/adhoc.py
sleekxmpp/plugins/xep_0078/legacyauth.py
sleekxmpp/plugins/xep_0085/chat_states.py
sleekxmpp/plugins/xep_0199/ping.py
sleekxmpp/plugins/xep_0224/attention.py
sleekxmpp/xmlstream/handler/waiter.py
sleekxmpp/xmlstream/matcher/xmlmask.py
sleekxmpp/xmlstream/xmlstream.py
Conflicts:
examples/ping.py
sleekxmpp/basexmpp.py
sleekxmpp/clientxmpp.py
sleekxmpp/features/feature_bind/bind.py
sleekxmpp/features/feature_mechanisms/mechanisms.py
sleekxmpp/plugins/gmail_notify.py
sleekxmpp/plugins/jobs.py
sleekxmpp/plugins/xep_0009/remote.py
sleekxmpp/plugins/xep_0009/rpc.py
sleekxmpp/plugins/xep_0012.py
sleekxmpp/plugins/xep_0045.py
sleekxmpp/plugins/xep_0050/adhoc.py
sleekxmpp/plugins/xep_0078/legacyauth.py
sleekxmpp/plugins/xep_0085/chat_states.py
sleekxmpp/plugins/xep_0199/ping.py
sleekxmpp/plugins/xep_0224/attention.py
sleekxmpp/xmlstream/handler/waiter.py
sleekxmpp/xmlstream/matcher/xmlmask.py
sleekxmpp/xmlstream/xmlstream.py
2011-11-19 18:23:26 -08:00
Vijay Pandurangan
e3b9d5abbf
double copy
2011-11-19 16:03:17 -08:00
Vijay Pandurangan
2332970cf2
elide unnecessary copy
2011-11-19 16:02:41 -08:00
Vijay Pandurangan
48af3d3322
remove unnecessary copies when only one handler matches. This was taking up ~ 15% of CPU on moderate load.
2011-11-19 15:59:38 -08:00
Lance Stout
429c94d6a9
Tidy up logging calls.
2011-11-19 12:07:57 -08:00
Vijay Pandurangan
deb52ad350
This change stops sleekxmpp from spending huge amounts of time unnecessarily computing logging data that may never be used. This is a HUGE performance improvement; in some of my test runs, unnecessary string creation was accounting for > 60% of all CPU time.
...
Note that using % in a string will _always_ perform the sting substitutions, because the strings are constructed before the function is called. So log.debug('%s' % expensiveoperation()) will take about the same CPU time whether or not the logging level is DEBUG or INFO. if you use , no substitutions are performed unless the string is actually logged
2011-11-20 03:39:05 +08:00
Vijay Pandurangan
6f3cc77bb5
This change stops sleekxmpp from spending huge amounts of time unnecessarily computing logging data that may never be used. This is a HUGE performance improvement; in some of my test runs, unnecessary string creation was accounting for > 60% of all CPU time.
...
Note that using % in a string will _always_ perform the sting substitutions, because the strings are constructed before the function is called. So log.debug('%s' % expensiveoperation()) will take about the same CPU time whether or not the logging level is DEBUG or INFO. if you use , no substitutions are performed unless the string is actually logged
2011-11-19 11:30:44 -08:00
Lance Stout
1baf139ca4
Bump next release version to 1.0-RC4
2011-11-18 16:40:17 -08:00
Lance Stout
d4c1ff5309
Also fire changed_status when the status text changes for a resource.
2011-11-18 13:57:41 -08:00
Lance Stout
22868c3924
Fix changed_status event
...
Once again only fires when a resource's presence show value changes.
2011-11-18 13:39:02 -08:00
Lance Stout
0c86f8288d
No need to continue processing loop if an error ocurred and auto_reconnect=False.
2011-11-14 11:21:05 -08:00
Lance Stout
5a6a65fd9f
Fix typo
2011-11-14 11:20:53 -08:00
Lance Stout
43c4d23896
Explicitly test for inequality in JIDs.
...
Fixes issue #113
2011-11-14 09:15:43 -08:00
Lance Stout
9f9e8db814
Add use_ssl parameter to ClientXMPP.connect
2011-11-11 01:52:18 -08:00
Lance Stout
b8efcc7cf0
Don't just call self.disconnect in self.reconnect.
...
It messes up the auto_reconnect value and causes the XML processing
loop to spin wildly with errors on a stream disconnect.
2011-11-08 19:23:53 -08:00
Lance Stout
888e286a09
Continue trying to reconnect, even if the attempt fails.
...
The transition from disconnected to connected states must be done in a
loop in case the transition fails, not just once and hope it worked.
2011-11-07 01:13:34 -08:00
Lance Stout
1a93a187f0
Fix a crash when removing a contact.
...
Original author: louiz
2011-11-06 08:33:03 -08:00
Lance Stout
a8d5da5091
Restore original behaviour for auto_authorize and auto_subscribe.
...
The change to using the new roster broke the original auto_* values
and used per-roster versions. The original auto_* values will now set
the behaviour globally. Use the per-roster values to override for a
specific JID.
2011-11-06 08:25:29 -08:00
Lance Stout
e2720fac9e
FIX SCRAM-SHA-1-PLUS
...
The mechanism name was being correctly de-plussed, but then we used the
original, -PLUS, name to extract the hash, finding SHA-1-PLUS and therefore
finding no match.
Test-Information:
Tested with Sleek against an Isode M-Link with SCRAM-SHA-1-PLUS available.
Author: dwd
2011-10-27 15:16:54 -04:00
Lance Stout
4374729f20
Update the docs for XEP-0060 publish method.
2011-10-11 20:37:50 -04:00
Lance Stout
87999333cb
Fix MUC methods to optionally specify the sending JID.
...
Should fix issue #107
2011-10-10 11:31:03 -04:00
Lance Stout
335dc2927b
Break reference cycle to fix potential memory leaks for callback handlers.
2011-10-08 17:31:30 -04:00
Lance Stout
ccbef6b696
Fix typos in the roster update method.
2011-10-07 18:13:50 -04:00
Lance Stout
3e384d3cfe
XEP-0009 will likely be updated to use <base64 /> instead of <Base64 />
...
Both are supported when reading, but <base64 /> will be used for output.
2011-10-05 12:09:50 -04:00
Lance Stout
e33949c397
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-10-04 10:37:42 -04:00
Lance Stout
eccac859ad
Fix missing import statement.
...
Fixes issue #105
2011-10-04 10:36:52 -04:00
Correl Roush
3607c5b792
Make RPC events threaded
...
Allows, for example, an RPC service to make remote RPC calls with its
own connection without blocking its own thread waiting for the result.
2011-10-03 14:32:48 -04:00
Lance Stout
e37adace62
Allow SASL mechanism to be set when creating a ClientXMPP instance.
...
Instead of using:
ClientXMPP(jid, password, plugin_config={
'feature_mechanisms': {'use_mech': 'SOME-MECH'}})
You can use:
ClientXMPP(jid, password, sasl_mech='SOME-MECH')
If you need to change the mechanism after instantiation, use:
xmpp['feature_mechanisms'].sasl.mech = 'SCRAM-MD5'
2011-09-28 22:48:30 -04:00
Lance Stout
d10f591bf4
Expand live stream testing capabilities.
2011-09-28 17:26:29 -04:00
Lance Stout
262da78ca7
Fix del_event_handler for Python3 (different semantics for filter()).
...
Fixes issue #103
2011-09-23 12:03:49 -04:00
Lance Stout
0b83edf439
Fix regression for handling the case where the server terminates the stream.
...
The processing loop was continuing to call __read_xml after </stream>
was received, which caused SyntaxErrors (can't find starting element).
This should fix issue #102
2011-09-22 01:32:44 -04:00
Nathan Fritz
cf7fcf496e
SyntaxError requires a restart
2011-09-19 11:53:09 -07:00
Lance Stout
1765271f84
Make get_node_config block by default.
2011-09-02 11:52:56 -07:00
Lance Stout
0ec79f8dc3
Tweak setup.py, and bump dev version to RC3.
2011-09-01 16:47:30 -07:00
Lance Stout
6f72c05ebf
Add whitespace keepalive option.
...
May be disabled by setting:
self.whitespace_keepalive = False
The keepalive interval can be adjusted using:
self.whitespace_keepalive_interval = 300
The default interval is 5min.
2011-09-01 16:24:09 -07:00
Nathan Fritz
20cacc84ba
remove ping schedule on disconnect
2011-09-01 15:51:43 -07:00
Lance Stout
24a14a0284
Mark pubsub state stanzas as non-standard.
2011-09-01 15:29:05 -07:00
Lance Stout
efa4a9b330
More stanza cleanup for pubsub.
2011-09-01 14:20:58 -07:00
Lance Stout
39ec1cff19
Some more minor cleanup.
2011-09-01 14:03:11 -07:00
Lance Stout
24c5f8d374
Clean up pubsub#event stanzas.
2011-09-01 14:01:58 -07:00
Lance Stout
d6b0158ddb
Clean up pubsub#owner stanzas.
2011-09-01 13:47:55 -07:00
Lance Stout
7e5e9542e9
Add support for notify attribute when retracting an item.
2011-09-01 13:36:11 -07:00
Lance Stout
d7fc2aaa9c
Add ability to get global/node default subscription options.
2011-09-01 13:25:35 -07:00
Lance Stout
8471a485d1
Clean up pubsub stanzas.
2011-09-01 13:12:26 -07:00
Lance Stout
462b375c8f
Owners can modify subscriptions/affiliations. With tests.
...
94% coverage for the main pubsub plugin! (91% including stanzas)
2011-09-01 12:09:24 -07:00
Lance Stout
afbd506cfc
Users can retrieve their affiliations now, with tests.
2011-09-01 11:30:55 -07:00
Lance Stout
ec01e45ed1
Add ability for a user to get retrieve subscriptions, with tests.
2011-09-01 11:19:25 -07:00
Lance Stout
993829b23f
Add tests for pubsub subscription options.
2011-09-01 10:44:14 -07:00
Lance Stout
002257b820
Add tests for retrieving pubsub items.
2011-09-01 09:27:10 -07:00
Lance Stout
0af35c2224
Fix memory reference bugs.
2011-09-01 00:50:45 -07:00
Lance Stout
76bc0a2ba6
XEP-0060 v1.13 dictates publishing/retracting one item at a time.
2011-08-31 23:48:22 -07:00
Lance Stout
3f9ca0366b
Add test for purging a pubsub node.
2011-08-31 21:09:25 -07:00
Lance Stout
b68785e19e
Retract stanzas are behaving oddly when using stanza values.
2011-08-31 16:03:32 -07:00
Lance Stout
46f23f7348
Test publishng an item with options.
2011-08-31 14:55:37 -07:00
Lance Stout
09252baa71
Test publishing a single item.
2011-08-31 14:31:20 -07:00
Lance Stout
3623a7a16a
More pubsub unit tests!
2011-08-31 14:05:29 -07:00
Lance Stout
cc504ab07c
Fix pubsub get_items.
...
- item_ids checked for None
- pubsub node is set
2011-08-31 10:56:43 -07:00
Lance Stout
2500a0649b
Fix requesting pubsub node configuration, and add tests.
...
- <default /> doesn't have a type attribute in the XEP
- <configure /> isn't used anymore for requesting default configuration
2011-08-31 10:43:33 -07:00
Lance Stout
5ec4e4a026
Added pubsub error stanza.
...
iq['error']['pubsub']['condition']
iq['error']['pubsub']['unsupported']
2011-08-31 00:42:37 -07:00
Lance Stout
c3df4dd052
Create a tox config for automating tests for different Python versions.
...
To use:
sudo pip install tox
tox
2011-08-31 00:00:12 -07:00
Lance Stout
628978fc8c
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-30 23:11:11 -07:00
Nathan Fritz
7fb9d68714
fixed form accessors in pubsub stanzas
2011-08-30 23:10:13 -07:00
Lance Stout
e0a1c477d0
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-30 23:03:51 -07:00
Nathan Fritz
b70565720f
fixed test further... but now I have an out of order problem
2011-08-30 23:03:04 -07:00
Lance Stout
33ac0c9dd6
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-30 22:45:08 -07:00
Nathan Fritz
4699bdff60
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-30 22:44:34 -07:00
Nathan Fritz
354641a3ce
added publish-options element
2011-08-30 22:44:19 -07:00
Lance Stout
58a43e40c7
Get/set pubsub subscription options.
2011-08-30 22:27:21 -07:00
Lance Stout
13fdab0139
Test and fix XEP-0060 delete_node()
2011-08-30 21:57:11 -07:00
Lance Stout
2ce617b2ce
Fix typo
2011-08-30 09:24:46 -07:00
Lance Stout
63e0496c30
Finish up all major actions in the current XEP-0060.
...
Still need tests and docs.
2011-08-29 23:05:14 -07:00
Lance Stout
850e3bb99b
Stub out missing functionality for pubsub
2011-08-29 21:38:41 -07:00
Lance Stout
2d90deb96a
The ifrom parameter doesn't need special treatment.
2011-08-26 22:06:32 -07:00
Lance Stout
3fb3f63e51
Add docs + extended Iq send arguments to pubsub methods.
2011-08-26 16:57:37 -07:00
Lance Stout
d12949ff1c
Fix typos in XEP-0060, start of docs and tests.
2011-08-26 12:14:57 -07:00
Lance Stout
e3e985220e
Simplify the main process loop.
2011-08-25 17:08:20 -07:00
Lance Stout
802dd8393d
Make the timeout for event queue checks configurable.
...
Now defaults xmlstream.WAIT_TIMEOUT, and settable with
self.wait_timeout.
The new default timeout is 1sec instead of 5sec.
2011-08-25 16:45:34 -07:00
Lance Stout
fe6bc31c60
Added XMLStream.configure_dns.
...
This can be overridden to do custom configuration for the DNS resolver,
or any other DNS related tasks such as calling the system's res_init().
2011-08-25 16:18:26 -07:00
Lance Stout
2162d6042e
Session timeout now defaults to 45sec, but can be adjusted.
...
e.g.
self.session_timeout = 15
It is also managed by XMLStream instead of ClientXMPP now.
2011-08-25 15:40:13 -07:00
Lance Stout
b8a4ffece9
Handle sending stanzas in chunks if the socket has poor performance.
2011-08-25 15:08:45 -07:00
Lance Stout
d929e0deb2
Shutdown socket before closing.
2011-08-25 13:48:43 -07:00
Lance Stout
4c08c9c524
Update scheduler with locks and ability to remove tasks.
...
Scheduled tasks must have a unique name.
2011-08-25 13:34:30 -07:00
Lance Stout
63b8444abe
Add overridable method self.configure_socket().
...
Allows for setting app specific socket timeouts and other socket options.
2011-08-25 00:22:26 -07:00
Lance Stout
84f9505a8d
Fix handling of DNS exceptions.
2011-08-24 22:40:57 -07:00
Lance Stout
ede59ab40e
Clean and get setup.py working once and for all.
...
Fixes:
README.rst now included
Double line spacing removed from long_description
Source package now includes tests, examples, etc using Manifest.in
README.rst typos fixed
Added README.rst section on installing dnspython for Python3
Version bumped to RC2
Version is now taken from sleekxmpp.version.__version__ without
having to pull in the entire library
Added 'test' command for setup.py
Simplified testall.py
Docs build cleanly from source package after installation
2011-08-24 22:09:02 -07:00
Lance Stout
f92f96325a
Make Iq exceptions more discoverable and simpler to use.
...
IqError and IqTimeout now extend XMPPError, so if you don't care
about the difference, you can use:
try:
self.do_something_with_iqs()
except XMPPError:
# Error? Timeout? I don't care!
pass
If you do need to distinguish between timeouts and error replies,
you can still continue to use:
try:
self.do_somethin_with_iqs()
except IqError as err:
pass
except IqTimeout:
pass
If you don't catch any Iq errors and you're processing a stanza
then an error response will be sent, just like normal if you raise
XMPPError or any other exception, except that the error messages
will be generic to prevent leaking too much information.
2011-08-19 01:04:20 -07:00
Lance Stout
e02a42a008
Route all unhandled exceptions through XMLStream.exception.
...
Or through an equivalent override.
2011-08-18 16:12:51 -07:00
Lance Stout
3e51126e18
PEP8 edits
2011-08-18 02:46:48 -07:00
Lance Stout
a714fa82b2
Remove extra, unhelpful presence debug log.
2011-08-18 02:46:08 -07:00
Lance Stout
e86e6eae81
Up the timeout to 30sec instead of 10sec.
2011-08-18 01:10:25 -07:00
Nathan Fritz
f75b6bf955
added inline documentation for new dns methods
2011-08-18 01:04:01 -07:00
Nathan Fritz
fb78bf0996
fixed manual address definition
2011-08-18 00:59:27 -07:00
Lance Stout
cd7cd30b4c
Fix exceptions for Python3
2011-08-18 00:47:07 -07:00
Nathan Fritz
4ea22ff69b
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-18 00:35:37 -07:00
Nathan Fritz
3853898ab3
DNS is now properly checked and different answers are tried for each reconnect until exhausted
2011-08-18 00:35:18 -07:00
Lance Stout
3fc20e10f5
Add some convenience methods to rosters.
...
Can now use len(self.client_roster) to get the number of JIDs in
the roster, and self.client_roster.groups() to get a dict of
groups and the JIDs in those groups.
2011-08-18 00:07:37 -07:00
Lance Stout
004eabf809
Update plugins that use Iq stanzas to work with new exceptions.
2011-08-17 21:30:47 -07:00
Lance Stout
62230fc970
Return '' instead of None from form fields with no values.
2011-08-17 21:22:03 -07:00
Lance Stout
9fdd85d9f1
I've seen people complain about Sleek taking so long to disconnect.
...
Added logging to say that we're waiting for the server to end the stream
from its end.
2011-08-13 08:58:07 -07:00
Lance Stout
331db30f8f
Add form.field back in for backwards compatibility.
2011-08-13 08:34:23 -07:00
Lance Stout
017d7ec62b
Add tests for setting a form's type to 'submit' or 'cancel'.
...
Form fields now remember their current type if the type is deleted. This
allows for fields to properly format their values if set after the form
has been changed to the 'submit' type.
2011-08-13 01:28:18 -07:00
Lance Stout
c26b716164
Update XEP-0050 to use new IQ exceptions.
...
IqError is now caught and forwarded to the command error handler referenced
in the session.
Errors are now caught and processed by the session's error handler
whether or not the results Iq stanza includes the <command> substanza.
Added the option for blocking command calls. The blocking option is set
during start_command with block=True. Subsequent command flow methods use
session['block'] to determine their blocking behaviour.
If you use blocking commands, then you will need to wrap your command calls
in a try/except block for IqTimeout exceptions.
2011-08-13 00:10:06 -07:00
Lance Stout
bd427849fb
Reduce the maximum delay between connection retries to 10min.
2011-08-12 17:17:05 -07:00
Lance Stout
484efff156
Merge branch 'develop' into roster
...
Conflicts:
setup.py
sleekxmpp/clientxmpp.py
2011-08-12 16:47:58 -07:00
Nathan Fritz
8f1d0e7a79
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-12 16:36:03 -07:00
Nathan Fritz
88184ff955
fixed indenting and merged in exceptions branch
2011-08-12 16:35:36 -07:00
Nathan Fritz
bd8c110f00
Merge branch 'exceptions' into develop
2011-08-12 16:35:15 -07:00
Nathan Fritz
0050c51124
updated pubsub plugin to use stanzas
2011-08-12 16:32:09 -07:00
Lance Stout
9b7ed73f95
Reorganize XEP-0004.
...
Changes:
May now use underscored method names
form.field is replaced by form['fields']
form.get_fields no longer accepts use_dict parameter, it always
returns an OrderedDict now
form.set_fields will accept either an OrderedDict, or a list
of (var, dict) tuples as before.
Setting the form type to 'submit' will remove extra meta data
from the form fields, leaving just the 'var' and 'value'
Setting the form type to 'cancel' will remove all fields.
2011-08-11 21:59:55 -07:00
Lance Stout
156b3200e3
Don't include ping stanza in the ping result.
2011-08-10 09:05:43 -07:00
Lance Stout
572becad44
Enable forcing a specififc SASL mech:
...
xmpp = ClientXMPP(jid, password, {
'feature_mechanisms': {'use_mech':'PLAIN'}})
2011-08-09 00:51:49 -07:00
Lance Stout
75f23d1130
Fix XEP-0078 using the new stream feature workflow.
...
Honestly, this is mainly just a demo/proof of concept that we
can handle dependencies and ordering issues with stream features.
DON'T use XEP-0078 if you are able to use the normal SASL method,
which should be the case unless you are dealing with a very old
XMPP server implementation.
2011-08-06 12:30:56 -07:00
Lance Stout
e83fae3a6f
Save the stream ID when the stream starts.
2011-08-06 00:44:32 -07:00
Lance Stout
5be5b8c02b
If no config for a plugin is given, try using self.plugin_config.
...
Sleek loads a few plugins by default, which made it difficult to
configure or even disable them.
Now, if a plugin is registered without any configuration, then
sleek will try finding a configuration in self.plugin_config.
2011-08-06 00:41:14 -07:00
Lance Stout
6c4cb2bf00
Merge branch 'master' into develop
...
Adds hotfix for ANONYMOUS mech support.
Conflicts:
sleekxmpp/__init__.py
2011-08-05 14:08:32 -07:00
Lance Stout
148a23579c
Hotfix for ANONYMOUS mech support.
...
Updates version to 1.0-Beta6.1
2011-08-05 14:06:58 -07:00
Lance Stout
ea95811c4c
The next release will be 1.0 RC1
2011-08-05 09:01:50 -07:00
Lance Stout
47bc50d9fb
Cosmetic PEP8 fixes.
2011-08-04 22:37:22 -07:00
Lance Stout
93a4a3f8a0
Fix Python3 issue with dict.has_key()
2011-08-04 22:36:23 -07:00
Lance Stout
b7cd119b0c
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-04 21:50:14 -07:00
Nathan Fritz
7f90de887a
added block as process option and updated documentation. added typical use example to ClientXMPP.
2011-08-04 21:49:32 -07:00
Lance Stout
6c8a135612
Fix imports using __all__.
2011-08-04 21:49:15 -07:00
Lance Stout
caec2976d7
Fix Python3 bug.
...
Use int() instead of long()
2011-08-04 20:34:23 -07:00
Lance Stout
4d8933abdf
Actually, we can work around needing dateutil.
...
If dateutil is present, we'll use that. If not, we'll use
some regexes from the fixed_datetime module.
2011-08-04 20:22:07 -07:00
Lance Stout
6eac0606cf
Merge branch 'develop' of github.com:fritzy/SleekXMPP into develop
2011-08-04 19:07:04 -07:00
Lance Stout
89cffd43f4
Merge branch 'develop' into roster
...
Conflicts:
setup.py
2011-08-04 11:52:17 -07:00
Lance Stout
b9764cc120
Clean up and unify tostring once and for all.
...
Packaging for Python3 just got easier.
2011-08-04 11:41:36 -07:00
Lance Stout
7cd39a6aad
Fix imports for xep_0060
2011-08-04 11:38:14 -07:00
Lance Stout
a0767f6af6
Sadly, dateutil is not actually part of the standard lib.
...
Thus, using the XEP-0082 and XEP-0202 introduces a dependency
on the dateutil package (installable using pip install python-dateutil).
Maybe we'll be able to rework how these plugins work to avoid
needing dateutil, but for now this will have to do.
2011-08-04 00:07:30 -07:00
Nathan Fritz
9ffdba8643
the great xep_0060 re-organization in preperation for rewrite
2011-08-03 23:56:24 -07:00
Lance Stout
9591cd3a7e
Merge branch 'stream_features' into develop
2011-08-03 18:35:01 -07:00
Nathan Fritz
db92fa2330
started transition to xep_0060 rewrite
2011-08-03 18:11:00 -07:00
Lance Stout
d94517d9ca
Merge branch 'develop' into stream_features
2011-08-03 17:37:15 -07:00
Lance Stout
0bec040cfe
Make sure to keep David Cridland's license and copyright.
2011-08-03 17:08:45 -07:00
Lance Stout
3918ddb075
Merge branch 'develop' into stream_features
2011-08-03 17:02:33 -07:00
Lance Stout
d4091dbde6
Integrate a modified version of Dave Cridland's Suelta SASL library.
2011-08-03 17:00:51 -07:00
Lance Stout
d7fe724145
Merge branch 'develop' into exceptions
2011-07-27 19:36:04 -07:00
Lance Stout
ad978700fc
Merge branch 'develop' into roster
2011-07-27 19:35:42 -07:00
Lance Stout
e022b2a36c
Add support for HTTP Proxy connections.
2011-07-27 19:35:03 -07:00
Lance Stout
ad032e5ed7
Fix error with DNS selection.
...
Missed a renaming of 'priority' to 'item'
2011-07-27 18:40:57 -07:00
Kim Alvefur
45412fd404
Do a weighted choice among the highest prioritized items based on weight instead of a weighted choice based on priorities.
2011-07-16 11:00:59 +08:00
Lance Stout
1d22a04721
Added support for custom OOB transfer handlers.
...
Accepting download requests can be done using:
self['xep_0066'].register_url_handler(handler=self.oob_download)
# Add jid=... to specify a handler for a particular JID for a
# componenent.
def oob_download(self, iq):
if iq['from'] not in self.custom_oob_whitelist:
raise XMPPError('not-authorized')
try:
data = urllib2.urlopen(iq['oob_transfer']['url'])
file = open('oob_download', 'w+')
file.write(data.read())
file.close()
data.close()
except:
raise XMPPError('item-not-found')
2011-07-05 09:22:17 -07:00
Lance Stout
5efb170e1d
Added wait parameter to disconnect.
...
If wait=True, then the disconnect call will block until
the send queue has emptied.
WARNING: Using wait=True when more stanzas are being added to the
queue than can be processed such that the queue is never empty
will cause the disconnect call to block indefinitely without actually
disconnecting.
2011-07-04 18:47:57 -07:00
Lance Stout
cccccdcc0a
Add logging to XEP-0066.
2011-07-03 20:39:03 -07:00
Lance Stout
8d384ce44f
Added XEP-0224 Attention plugin.
2011-07-03 20:37:21 -07:00
Lance Stout
4d6e7c7dbb
Update version number to beta6.
...
XEP-0092 now uses sleekxmpp.__version__ as a default version number.
2011-07-03 15:47:12 -07:00
Lance Stout
9c5885c6b6
Let XEP-0202 specify the local timezone offset in the config.
2011-07-03 15:41:22 -07:00
Lance Stout
ec3a14e6d9
Updated XEP-0202 plugin to new format and use XEP-0082.
2011-07-03 15:30:06 -07:00
Lance Stout
c98f5d4450
Fix some bugs in time handling.
...
Namely, minutes and seconds were reversed.
2011-07-03 13:41:15 -07:00
Lance Stout
2e8e542bc9
Added XEP-0203 Delayed Delivery plugin.
2011-07-03 12:43:34 -07:00
Lance Stout
7ccc67c06d
Added XEP-0082 plugin.
...
This should make things much easier for any stanza that uses timestamps.
2011-07-03 12:21:47 -07:00
Lance Stout
20df6348a4
Merge branch 'develop' into exceptions
2011-07-03 00:39:14 -07:00