summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-07-02SASL failure event now includes the failure stanza.Lance Stout
Broke SASL stanzas into separate files. Fixed typo in feature_bind.
2011-07-02Fix ordering bug when retrieving an error condition.Lance Stout
2011-07-02It isn't 2010 anymore.Lance Stout
I keep forgetting to update the copyright on new code.
2011-07-02Use a set to track negotiated features.Lance Stout
Added guards to prevent renegotiating STARTTLS or SASL in cases where servers don't behave properly.
2011-07-02Simplify SASL mech registration.Lance Stout
Moved SASL registration completely to the feature plugin, instead of keeping a portion of it in ClientXMPP.
2011-07-02Finish cleaning up stream feature organization.Lance Stout
Fixed missing references that weren't caught due to leftover pyc file allowing tests to keep working when they shouldn't have.
2011-07-01Merge branch 'develop' into stream_featuresLance Stout
2011-07-01So using sys.excepthook to catch errors only works once.Lance Stout
The error bubbles through the event processing loop, breaking it and hanging the application. Instead, there is now a .exception(e) method on XMLStream which may be overridden or reassigned that will receive all unhandled exceptions (read: not XMPPError) from event and stream handlers.
2011-07-01Continued reorganization and streamlining.Lance Stout
2011-06-30Reorganize features into plugins.Lance Stout
2011-06-29Fix SASL mechanism selection bug.Lance Stout
ANONYMOUS was being treated as PLAIN, mechanism was being chosen purely from supported mechanisms, not those provided by the server. Broke nested handler methods into top-level methods.
2011-06-28Reorganized stream level stanzas.Lance Stout
2011-06-20Merge branch 'develop' into stream_featuresLance Stout
2011-06-20Fix stanza clobbering when replying to errors.sleek-1.0.0-beta5sleek-1.0-Beta51.0.0-beta51.0-Beta5Lance Stout
If a stanza handler raised an exception, the exception was processed and replied by the modified stanza, not a stanza with the original content. A copy is now made before handler processing, and if an exception occurs it is the copy that processes the exception using the original content.
2011-06-15Merge branch 'develop' into stream_featuresLance Stout
2011-06-15Fix another roster issue.Lance Stout
Caused by same issue of a JID being in the roster, but with an incomplete entry.
2011-06-14Merge branch 'develop' into stream_featuresLance Stout
2011-06-14Fix issue with components and roster.Lance Stout
If the roster contained a JID, but not any resource presence data, then an error would occur when accessing self.roster[jid]['presence'].
2011-06-10Merge branch 'develop' into stream_featuresLance Stout
2011-06-10old xep_0050 plugin is now loadableNathan Fritz
2011-06-08Added session_end event and some docs.Lance Stout
For now, session_end is the same as disconnected, but once support is added later for stream management, the two events will become distinct. Plugins should add handlers for session_end for cleaning any session state.
2011-06-08Merge branch 'develop' into stream_featuresLance Stout
2011-06-08Fix XEP-0050 issue with Unicode string type checking.Lance Stout
2011-06-08Send component handshake immediately.Lance Stout
2011-06-01Merge branch 'develop' into stream_featuresLance Stout
2011-06-01Cache stanza if sending fails.Lance Stout
The stanza will be sent first once the send queue is reactivated after session start. Stanzas sent by skipping the queue will not be cached.
2011-05-31Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/clientxmpp.py
2011-05-31Apply connection backoff to reconnect attempts.Lance Stout
Backoff was only being done for the initial connection attempt before. Now any reconnection will start with a minimum 1 sec delay which will approximately double between attempts.
2011-05-31Cleanup logging and exception handling.Lance Stout
The syntax and attribute errors raised during a disconnect/reconnect attempt are now caught and produce nicer log messages.
2011-05-27Don't use the send queue for stream initialization.Lance Stout
Use the parameter now=True to skip the queue when sending Iq stanzas, or using xmpp.send().
2011-05-27Fix typo for SSL certificate use.Lance Stout
2011-05-27Add exponential backoff to connection attempts.Lance Stout
Delay will approximately double between attempts (random variation). See issue #67.
2011-05-27Added support for testind disconnect errors.Lance Stout
2011-05-25Merge branch 'develop' into stream_featuresLance Stout
2011-05-25Fix test for get_roster().Lance Stout
Python2.6 has issues passing a Unicode string as a keyword name.
2011-05-20Merge branch 'develop' into stream_featuresLance Stout
2011-05-20Fix test timeout issue.Lance Stout
A better method than using time.sleep is needed. Maybe use queue.task_done to detect when event processing has ended? Research time!
2011-05-20Make roster test a little more robust.Lance Stout
2011-05-20Fix double roster entry issue with Unicode.Lance Stout
JIDs with Unicode values were being encoded by the JID class instead of leaving them as just Unicode strings. It may still be a good idea to use from __future__ import unicode_literals pretty much everywhere though. Fixes issue #88.
2011-05-20Merge branch 'develop' into stream_featuresLance Stout
2011-05-20Handle callback return value case.Lance Stout
2011-05-20Merge branch 'stream_features' of github.com:fritzy/SleekXMPP into ↵Lance Stout
stream_features
2011-05-20Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/clientxmpp.py
2011-05-20Resolve timeout errors for get_roster.Lance Stout
See issue #89 Using get_roster will now return the same types of values as Iq.send. If a timeout occurs, then the event 'roster_timeout' will be fired. A successful call to get_roster will also raise the 'roster_received' event. To ensure that the get_roster call was successful, here is a pattern to follow: def __init__(self, ...): ... self.add_event_handler('session_start', self.session_start) self.add_event_handler('roster_timeout', self.roster_timeout) self.add_event_handler('roster_received', self.roster_received) def session_start(self, e): self.send_presence() self.get_roster() def roster_timeout(self, e): # Optionally increase the timeout period self.get_roster(timeout=self.response_timeout * 2) def roster_received(self, iq): # Do stuff, roster has been initialized. ...
2011-05-13Ensure that the XEP-0086 plugin is loaded.Lance Stout
Since the XEP-0086 plugin auto adds error code values, it must be reliably loaded or unloaded when certain tests are run so that stanzas may be matched. In this case, we ensure that the plugin is used.
2011-04-26Merge branch 'develop' into stream_featuresLance Stout
2011-04-26Add support for testing that no stanzas are sent in tests.Lance Stout
Use: self.send(None)
2011-04-14Pubsub/Unsubscribe was not getting registeredNathan Fritz
2011-04-11Merge branch 'develop' into stream_featuresLance Stout
2011-04-11Mark scheduler thread as a daemon.Lance Stout