Tom Nichols
e8d37b409c
make the scheduler a daemon thread to prevent hanging when the main thread exits.
2010-06-28 11:04:18 -04:00
Tom Nichols
898f96f265
print the traceback if we can't load a plugin for some reason
2010-06-28 11:03:46 -04:00
Brian Beggs
c0a6291fea
More digest-md5 changes
2010-06-21 09:23:56 -04:00
Brian Beggs
f5d0466462
working on digest-md5 authentication
2010-06-18 09:51:29 -04:00
Brian Beggs
f659e3081e
Merge remote branch 'tom/hacks'
2010-06-10 10:52:58 -04:00
Thom Nichols
bf2bf29fc6
fixed mis-named variable, doc typo and using conformant Condition methods.
2010-06-08 09:02:51 -04:00
Thom Nichols
34dc236126
added documentation for transition_ctx and removed some superfluous comment lines
2010-06-07 14:41:42 -04:00
Thom Nichols
9464736551
added __str__
2010-06-07 13:58:15 -04:00
Thom Nichols
47f1fb1690
context manager now returns a boolean 'result' as the context variable to indicate whether the transition timed out or if you are actually locked when entering the context body
2010-06-07 13:43:37 -04:00
Thom Nichols
66cf0c2021
context manager is working but there's a fatal flaw: inside the body of the 'with' statement, there's no way to tell whether or not the transition occurred or timed out.
2010-06-07 13:16:02 -04:00
Thom Nichols
e7c37c4ec5
connect uses the new function-on-state-transition so when the connect method returns you are guaranteed to be either in the 'connected' or 'disconnected' state. Could remove the 'connecting' state except uses it.
2010-06-04 17:00:51 -04:00
Brian Beggs
1aa34cb0fc
Merge remote branch 'tom/hacks'
2010-06-04 12:52:52 -04:00
Thom Nichols
919c8c5633
tweaked connectTCP call slightly to reduce possibility of 'connecting' state limbo
2010-06-03 15:21:26 -04:00
Thom Nichols
f54501a346
added function execution on transition, and more unit tests.
2010-06-03 14:12:06 -04:00
Thom Nichols
d20cd6b3e6
added function execution on transition, and more unit tests.
2010-06-03 13:51:11 -04:00
Brian Beggs
3f96226e29
Added additional logging when a plugin fails to import correctly.
2010-06-03 10:02:55 -04:00
Thom Nichols
da6e1e47dc
whups, somehow I lost the 'connecting' lock in connect()
2010-06-03 08:09:09 -04:00
Thom Nichols
2f0f18a8c6
added function to retrieve the current state
2010-06-03 08:07:56 -04:00
Thom Nichols
1c32668e18
fixed quiesce algorithm; state transition if connect fails; note about use_tls instance variable.
2010-06-03 07:47:27 -04:00
Thom Nichols
1f3cfb98f1
Merge branch 'master' into hacks
2010-06-02 14:18:46 -04:00
Thom Nichols
4295a66c70
reconnection quiesce logic
2010-06-02 14:18:09 -04:00
Thom Nichols
8227affd7f
removed unnecessary flags and arguments from disconnect method
2010-06-02 14:17:36 -04:00
Thom Nichols
3a2f989c5e
Merge branch 'master' into hacks
2010-06-02 14:15:07 -04:00
Nathan Fritz
85a2715c7d
hack fix for session before bind
2010-06-03 01:30:24 +08:00
Nathan Fritz
b03e6168a8
if binding and session are advertised in the same go, do session first
2010-06-03 01:30:23 +08:00
Brian Beggs
2a43f59a58
added try/catch block to plugin loading
2010-06-03 01:29:49 +08:00
Brian Beggs
184f7cb8a4
moddified plugin loading so plugins located outside of the plugins directory in sleek may be loaded. Added optional argument pluginModule that is a string that represents the module the desired plugin should be loaded from.
...
An exception on plugin loading now also will not cause the program to exit. The exception is caught and loading of other plugins contains.
2010-06-03 01:29:49 +08:00
Thom Nichols
7930ed22f2
overhauled state machine. Now allows for atomic transitions.
...
Next step: atomic function calls (and maybe 'handlers') on state transition.
2010-06-02 12:39:54 -04:00
Thom Nichols
060b4c3938
Merge branch 'hacks' of github.com:tomstrummer/SleekXMPP
2010-06-01 22:55:01 -04:00
Thom Nichols
49f5767aea
merged changes from fritzy
2010-06-01 22:54:30 -04:00
Thom Nichols
4eb210bff5
fixed some major reconnection errors
2010-06-01 22:51:49 -04:00
Thom Nichols
1780ca900a
merged a lot of fritzy's changes
2010-06-01 22:40:37 -04:00
Nathan Fritz
e6c2fde283
included jobs plugin
2010-06-01 22:07:53 +08:00
Nathan Fritz
ecf902bf16
Scheduler waits too longer, and pubsubstate registration was backwards
2010-06-01 22:07:53 +08:00
Lance stout
d76c0931ef
Added missing 'internal-server-error' condition to error stanza interface.
2010-06-01 22:07:53 +08:00
Lance stout
e18793152f
Touched up the style of creating an Iq stanza.
2010-06-01 22:07:53 +08:00
Lance stout
e388680269
Added 'resource-constraint' to the list of error conditions.
2010-06-01 22:07:53 +08:00
Lance Stout
8e3227ae5e
Updated the XEP-0030 plugin to work with stanza objects instead of manipulating XML directly.
...
Four new events have been added:
disco_info - A disco#info result has been received
disco_info_request - A disco#info request has been received
disco_items - A disco#items result has been received
disco_items_request - A disco#items request has been received
For disco_info_request and disco_items_request two default handlers are registered. These handlers will only run if they are the only handler for these two events so that multiple responses are not returned and cause errors.
In your own handlers for these two events, you can call the default handlers to preserve the static node behaviour as so:
self.plugin['xep_0030'].handle_disco_info(iq, True)
The forwarded=True will disable the check for other registered handlers.
Agents can now dynamically respond to disco requests by using these events.
(cherry picked from commit 0fc3381492a8bd75e6a9858539a972334881d8ff)
2010-06-01 22:07:53 +08:00
Nathan Fritz
257bcadd96
control-c fixes
2010-06-01 22:07:52 +08:00
Nathan Fritz
194e6bcb51
added pubsub state stanzas and scheduled events
2010-06-01 22:07:52 +08:00
Nathan Fritz
2e7024419a
adding scheduler
2010-06-01 22:07:52 +08:00
Nathan Fritz
a2719b0bb0
plugins now are checked for post_init having ran when process() is called
2010-06-01 22:07:51 +08:00
Hernan E Grecco
d452085049
Fixed error registering a plugin. To add a feature to another plugin, it should look into xmpp.plugin dict
2010-06-01 22:07:51 +08:00
Nathan Fritz
8b3b8aca9e
updated README, index fix for component
2010-06-01 22:07:51 +08:00
Lance Stout
e00dea7c0c
Added a flag to registerPlugin to control calling the plugin's post_init method.
2010-06-01 22:07:51 +08:00
Lance Stout
520bf72e11
Modified the return values for several methods so that they can be chained.
...
For example:
iq.reply().error().setPayload(something.xml).send()
2010-06-01 22:07:51 +08:00
Lance Stout
040f426f1a
Added the error attribute 'code' to the Error object interface.
2010-06-01 22:07:51 +08:00
Nathan Fritz
226b0e4297
added plugin indexing to components
2010-06-01 22:07:50 +08:00
Lance Stout
56b5cbe5b1
Added del_event_handler to remove handler functions for a given event.
...
All registered handlers for the event which use the given function will
be removed.
Using this method allows agents to reconfigure their behaviour on the fly
without needing to add extra state information to event handling functions.
2010-06-01 22:07:50 +08:00
Nathan Fritz
fa92bc866b
fixed dns unicode problem
2010-05-26 11:37:01 -07:00
Nathan Fritz
f4bc9d9722
plugins now are checked for post_init having ran when process() is called
2010-05-26 10:51:51 -07:00
Hernan E Grecco
f18c790824
Fixed error registering a plugin. To add a feature to another plugin, it should look into xmpp.plugin dict
2010-05-26 06:49:01 +08:00
Nathan Fritz
f165b4b52b
Merge branch 'master' of git@github.com:fritzy/SleekXMPP
2010-05-24 19:34:49 -07:00
Nathan Fritz
7ebc006516
updated README, index fix for component
2010-05-24 19:33:24 -07:00
Lance Stout
5ca4ede5ac
Added a flag to registerPlugin to control calling the plugin's post_init method.
2010-05-25 07:28:48 +08:00
Lance Stout
35f4ef3452
Modified the return values for several methods so that they can be chained.
...
For example:
iq.reply().error().setPayload(something.xml).send()
2010-05-25 07:28:43 +08:00
Lance Stout
828cba875f
Added the error attribute 'code' to the Error object interface.
2010-05-25 07:28:43 +08:00
Nathan Fritz
3920ee3941
added plugin indexing to components
2010-05-24 14:27:13 -07:00
Lance Stout
c004f042f9
Added del_event_handler to remove handler functions for a given event.
...
All registered handlers for the event which use the given function will
be removed.
Using this method allows agents to reconfigure their behaviour on the fly
without needing to add extra state information to event handling functions.
2010-05-21 03:54:48 +08:00
Thom Nichols
3e83b16a58
Merge branch 'hacks' of github.com:tomstrummer/SleekXMPP
2010-05-18 16:11:27 -04:00
Tom Nichols
de4d611d30
fixed SRV query - should use dns.rdatatype.SRV
2010-05-14 11:22:17 -04:00
Tom Nichols
8e95ae2948
attempt to add support for self-signed certificate certs
2010-05-13 13:49:00 -04:00
Tom Nichols
341c110b6a
Merge branch 'master' of git@github.com:tomstrummer/SleekXMPP into hacks
2010-05-13 13:48:27 -04:00
Nathan Fritz
7522839141
added test for unsolicided unavailable presence and fixed bug to make it pass
2010-05-14 01:47:19 +08:00
Nathan Fritz
4c410dd48a
fixed a rather large memory leak
2010-05-14 01:47:19 +08:00
Nathan Fritz
ae41c08fec
added test for unsolicided unavailable presence and fixed bug to make it pass
2010-05-12 18:07:20 -07:00
Tom Nichols
a92075a659
merged
2010-05-12 16:54:01 -04:00
Tom Nichols
7552efee5c
some reconnetion fixes
2010-05-12 16:51:14 -04:00
Nathan Fritz
223507f36f
fixed a rather large memory leak
2010-05-12 13:45:36 -07:00
Brian Beggs
e0c32b6d9b
Fixes for disconnection problems detailed in http://github.com/fritzy/SleekXMPP/issues/#issue/20
...
Fixes to both ClientXMPP & xmlstream. ClientXMPP was not tracking the changes to authenticated and sessionstarted after the client was disconnected.
xmlstream had some funkyness with state in the _process method that was cleaned up and hopefully made a little cleaner.
Also changed a DNS issue that was occuring that rendered me unable to disconnect. I would recieve the following error upon reconnect.
Exception in thread process:
Exception in thread process:
Traceback (most recent call last):
File "/usr/local/lib/python2.6/threading.py", line 532, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.6/threading.py", line 484, in run
self.__target(*self.__args, **self.__kwargs)
File "/home/macdiesel/tmp/workspace/SleekXMPP/sleekxmpp/xmlstream/xmlstream.py", line 202, in _process
self.reconnect()
File "/home/macdiesel/tmp/workspace/SleekXMPP/sleekxmpp/__init__.py", line 134, in reconnect
XMLStream.reconnect(self)
File "/home/macdiesel/tmp/workspace/SleekXMPP/sleekxmpp/xmlstream/xmlstream.py", line 289, in reconnect
self.connect()
File "/home/macdiesel/tmp/workspace/SleekXMPP/sleekxmpp/__init__.py", line 99, in connect
answers = dns.resolver.query("_xmpp-client._tcp.%s" % self.server, "SRV")
File "/usr/local/lib/python2.6/site-packages/dns/resolver.py", line 732, in query
return get_default_resolver().query(qname, rdtype, rdclass, tcp, source)
File "/usr/local/lib/python2.6/site-packages/dns/resolver.py", line 617, in query
source=source)
File "/usr/local/lib/python2.6/site-packages/dns/query.py", line 113, in udp
wire = q.to_wire()
File "/usr/local/lib/python2.6/site-packages/dns/message.py", line 404, in to_wire
r.add_question(rrset.name, rrset.rdtype, rrset.rdclass)
File "/usr/local/lib/python2.6/site-packages/dns/renderer.py", line 152, in add_question
self.output.write(struct.pack("!HH", rdtype, rdclass))
TypeError: unsupported operand type(s) for &: 'unicode' and 'long'
Seems I was getting this error when calling line 99 in ClientXMPP. You can't bit-shift a 1 and a string and this is why this error is coming up. I removed the "SRV" argument and used the default of 1. not sure exactly what this should be so it may need to be fixed back before it's merged back to trunk.
The line in question:
answers = dns.resolver.query("_xmpp-client._tcp.%s" % self.server, "SRV")
2010-05-13 04:43:25 +08:00
Nathan Fritz
8515cef117
refactored presence tracking and fixed jidInRoom
2010-05-11 15:12:13 -07:00
Nathan Fritz
c4fa3ab654
pubsub test work
2010-04-23 01:34:28 -07:00
Nathan Fritz
602a6d8491
bugfixes and continuing to work on pubsub tests
2010-04-22 21:24:28 -07:00
Nathan Fritz
37b571c55a
added pubsub#event stanzas, multi-subtypes iterable stanzas, pubsub#event test coverage
2010-04-21 23:51:37 -07:00
Nathan Fritz
2a30e3fe0c
started work on pubsub#event stanzas
2010-04-20 00:53:13 -07:00
Nathan Fritz
212660091f
added pubsub tests and fixed match on iterator error
2010-04-19 01:03:27 -07:00
Nathan Fritz
35c157f9d8
changed_status event now happens with got_offline/got_online events
2010-04-18 21:16:47 -07:00
Nathan Fritz
80e7e0d0ee
adding tests, fixed stanzapath matching to match keys, fixed pubsub#owner stanzas
2010-04-14 01:23:17 -07:00
Nathan Fritz
2f9f649d98
bugfix for .disconnect() hanging
2010-04-13 19:48:35 -07:00
Nathan Fritz
fef511fd51
bugfix for .disconnect() hanging
2010-04-13 19:35:47 -07:00
Matthias Rieber
85c3d97d2a
fixed presence stanza. priority can be set.
2010-04-08 15:15:15 +08:00
Nathan Fritz
2384858f5e
fixed html-im stanza plugin
2010-04-07 23:56:44 -07:00
Nathan Fritz
dd77d2165d
added missing docstrings to tests and added deprecated warning to basexmpp.send when using xml mask waiting
2010-04-07 23:32:15 -07:00
Nathan Fritz
ecd5a172ed
replaced usage of deprecated iq result on send. Fixed old send result to use stanzas instead of ElementTree
2010-04-07 23:10:32 -07:00
Nathan Fritz
935ee4d14e
changed license to MIT
2010-03-26 14:32:16 -07:00
Nathan Fritz
bf5dc0f7b8
closed bug #8 -- double auth response
2010-03-26 14:02:10 -07:00
Nathan Fritz
ec97c351de
fixed bug #7 -- muc roster leak
2010-03-26 13:59:29 -07:00
Nathan Fritz
0fc9072e5d
fixed bug #16 Roster not updating
2010-03-26 13:55:03 -07:00
Nathan Fritz
0659ddeff0
added memleak test and attempted to fix presence leak
2010-03-26 13:27:13 -07:00
Nathan Fritz
7383f72367
stanzabase indent fix
2010-03-24 17:18:39 -07:00
Nathan Fritz
95d2614f21
fix for bug #18
2010-03-24 16:03:16 -07:00
Nathan Fritz
d4a490e3f0
fixed xmlstream filesocket issue
2010-03-15 10:19:45 -07:00
Nathan Fritz
c239fb1f90
added muc functionality
2010-03-04 09:47:42 -08:00
Nathan Fritz
8d5dbfa691
fixed some presence bugs
2010-02-27 02:02:08 +00:00
Nathan Fritz
e06cdec81a
fixed some unicode problems for 2.6
2010-02-25 01:12:15 +00:00
Nathan Fritz
ed60867a63
Merge branch 'develop'
2010-02-15 21:44:50 -08:00
Nathan Fritz
0dcbe92d1e
got rid of stupid iq set/get/error/result methods
2010-02-15 21:42:27 -08:00
Nathan Fritz
ac1d76b23d
tweaked presence handler
2010-02-15 15:45:57 -08:00
Nathan Fritz
58375955a9
added send queueing to avoid mixed sending
2010-02-15 02:13:44 -08:00
Nathan Fritz
06fa1fcf33
Merge branch 'develop'
2010-01-29 23:58:14 -08:00