summaryrefslogtreecommitdiff
path: root/sleekxmpp/xmlstream
AgeCommit message (Collapse)Author
2012-03-12Add setting for maximum number of reconnection attempts.Lance Stout
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-07Modify the cert event to provide the PEM encoded cert in all cases.Lance Stout
2012-02-22Let disconnect() wait for its lock for a few seconds.Lance Stout
This should eliminate most debug statements about not being able to acquire a lock during disconnect.
2012-02-19Fix incompatibility with clearing an element between ElementTree and ↵Lance Stout
cElementTree
2012-02-19xml.etree.ElementTree raises ExpatError instead of SyntaxError or ParseError.Lance Stout
2012-02-18More pyflakes cleanup.Lance Stout
2012-02-17Make last_xml usage a little more explict.Lance Stout
2012-02-17Fix undeclared variable usage for reconnect.Lance Stout
2012-02-16Fix fixing remove_stanza()Lance Stout
Fixes issue #146
2012-02-16Don't retrieve cert until a connection is made.Lance Stout
2012-02-16Fix remove_stanza().Lance Stout
Fixes issue #146
2012-02-10Don't shutdown completely after handling SyntaxError.Lance Stout
The ``shutdown = True`` line was preventing the stream from reconnecting after handling the error. Fixes issues #101, #145
2012-02-10Fix undefined variable references when DNS timeouts.Lance Stout
2012-02-10Fix IPv6 query logging.Lance Stout
2012-02-09Add support for querying and connecting to IPv6 addresses.Lance Stout
Tested using servers provided by Florian Jensen (flosoft.biz) during the 2012 FOSDEM XMPP Summit. Fixes issue #94.
2012-02-04Add ssl_cert event (direct).Lance Stout
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-02Fix typo s/is_set/is_set()Lance Stout
2012-01-28Make socket_error run as a direct event to ensure that it is handled.Lance Stout
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-18Revert "Remove stream feature handlers on session_start."Lance Stout
This reverts commit 4274f49ada77d709b931f65e34d3a64e75b81638. The SASL mech was choking on this, so let's send it back for some more refining.
2012-01-17Hash JIDs based on full JID string.Lance Stout
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-17Pre-parse StanzaPath paths to speed up matching.Lance Stout
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-17Remove stream feature handlers on session_start.Lance Stout
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-14Don't serialize XML unless we need to.Lance Stout
2011-12-31Merge branch 'develop' into develop-1.1Lance Stout
2011-12-31Add docs on using Iq stanzas.Lance Stout
2011-12-28Ensure that stanza plugins work as expected if the XML is appended.Lance Stout
2011-12-27Merge branch 'develop' into develop-1.1Lance Stout
2011-12-27Disconnect when a SyntaxError is found.Lance Stout
This should resolve issue #102
2011-12-14Log received data AFTER filtering.Lance Stout
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-12Add parameter docs for add_filter.Lance Stout
2011-12-12Add support for incoming/outgoing filters.Lance Stout
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-11Fix iterable substanzas when added as normal plugin.Lance Stout
If an iterable plugin was an enabled, it wasn't added to the iterables list.
2011-12-09Allow sending stanzas on session_end.Lance Stout
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-07Prevent hang when terminating during delayed connection.Lance Stout
2011-12-04Update the API docs for XMLStreamLance Stout
2011-12-04Add API docs for the schedulerLance Stout
2011-12-04Update api docs for handlers and matchersLance Stout
2011-12-04Update api docs for JIDLance Stout
2011-11-25Send the encoded data (bytes) and not the str, on the socket.Florent Le Coz
2011-11-23Experimental support for handling SSL write errors.Lance Stout
2011-11-22Add docs for filesocketLance Stout
2011-11-22Update tostring docs, plus more doc cleanupLance Stout
2011-11-22Update docs for tostringLance Stout
2011-11-21Add more stanzabase docsLance Stout
2011-11-21Update stanzabase docsLance Stout
2011-11-20Ensure that reconnection happens properly after connection loss.Lance Stout
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-20Convert daemon threads back into normal threads.Lance Stout
This may need to be reverted if CTRL-C handling breaks, but everything works fine so far in testing. Resolves issue #95.
2011-11-19Tidy up logging some moreLance Stout
2011-11-19Fix logging exceptions from formatting issues.Lance Stout
2011-11-19Pass generic connection errors to XMLStream.exception()Lance Stout