summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-06-02Merge remote branch 'tom/hacks'Brian Beggs
2010-06-02overhauled state machine. Now allows for atomic transitions.Thom Nichols
Next step: atomic function calls (and maybe 'handlers') on state transition.
2010-06-02added try/catch block to plugin loadingBrian Beggs
2010-06-02moddified plugin loading so plugins located outside of the plugins directory ↵Brian Beggs
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-02Added .pydevproject to the .gitignoreBrian Beggs
2010-06-02Merge remote branch 'tom/hacks'Brian Beggs
2010-06-01fixed some major reconnection errorsThom Nichols
2010-06-01merged a lot of fritzy's changesThom Nichols
2010-06-01included jobs pluginNathan Fritz
2010-06-01Scheduler waits too longer, and pubsubstate registration was backwardsNathan Fritz
2010-06-01Added missing 'internal-server-error' condition to error stanza interface.Lance stout
2010-06-01Touched up the style of creating an Iq stanza.Lance stout
2010-06-01Added 'resource-constraint' to the list of error conditions.Lance stout
2010-06-01Added unit tests for the new XEP-0030 stanza objects. All pass.Lance Stout
(cherry picked from commit e1b814f27bf160f20bb30c315ca30769d217482d)
2010-06-01Updated the XEP-0030 plugin to work with stanza objects instead of ↵Lance Stout
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-01control-c fixesNathan Fritz
2010-06-01added pubsubjobs testNathan Fritz
2010-06-01added pubsub state stanzas and scheduled eventsNathan Fritz
2010-06-01adding schedulerNathan Fritz
2010-06-01added muc room to readmeNathan Fritz
2010-06-01plugins now are checked for post_init having ran when process() is calledNathan Fritz
2010-06-01Changed example.py to register first Xep_0030.Hernan E Grecco
This a simple fix to prevent getting a key error as many plugins add features to Xep_0030. A better fix would be to call pos_init after all plugins are loaded. An even better fix would be to define dependencies for each plugin and registering on demand.
2010-06-01Fixed error registering a plugin. To add a feature to another plugin, it ↵Hernan E Grecco
should look into xmpp.plugin dict
2010-06-01updated README, index fix for componentNathan Fritz
2010-06-01Added a flag to registerPlugin to control calling the plugin's post_init method.Lance Stout
2010-06-01Modified the return values for several methods so that they can be chained.Lance Stout
For example: iq.reply().error().setPayload(something.xml).send()
2010-06-01Added the error attribute 'code' to the Error object interface.Lance Stout
2010-06-01added plugin indexing to componentsNathan Fritz
2010-06-01added test_events and testing new del_event_handlerNathan Fritz
2010-06-01Added del_event_handler to remove handler functions for a given event.Lance Stout
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-14fixed SRV query - should use dns.rdatatype.SRVTom Nichols
2010-05-14updated ignore fileTom Nichols
2010-05-14Merge branch 'master' of https://github.com/macdiesel/SleekXMPPBrian Beggs
2010-05-14Merge remote branch 'tom/master'Brian Beggs
2010-05-13attempt to add support for self-signed certificate certsTom Nichols
2010-05-13Merge branch 'master' of git@github.com:tomstrummer/SleekXMPP into hacksTom Nichols
2010-05-14added test for unsolicided unavailable presence and fixed bug to make it passNathan Fritz
2010-05-14fixed a rather large memory leakNathan Fritz
2010-05-13Merge commit 'fritzy/master'Brian Beggs
2010-05-12added test for unsolicided unavailable presence and fixed bug to make it passNathan Fritz
2010-05-12mergedTom Nichols
2010-05-12some reconnetion fixesTom Nichols
2010-05-12updated ignore fileTom Nichols
2010-05-12fixed a rather large memory leakNathan Fritz
2010-05-13Fixes for disconnection problems detailed in ↵Brian Beggs
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-12Merge remote branch 'fritzy/master'Brian Beggs
2010-05-11refactored presence tracking and fixed jidInRoomNathan Fritz
2010-05-11Merge branch 'master' of git@github.com:fritzy/SleekXMPPNathan Fritz
2010-05-11use pubsub settingsNathan Fritz
2010-05-04Fixes for disconnection problems detailed in ↵Brian Beggs
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")