summaryrefslogtreecommitdiff
path: root/sleekxmpp/clientxmpp.py
AgeCommit message (Collapse)Author
2012-07-30Add stream feature for server support of subscription pre-approvals.Lance Stout
2012-07-24Modify update_roster() to only change the information provided.Lance Stout
Before: Not specifying the groups, name, etc would remove them from the roster entry. After: Any parameters not specified are populated with the current roster entry's values.
2012-07-10Add method to unregister stream features.Lance Stout
2012-07-06dereference iq stanza only once for roster processingJay Farrimond
2012-06-19PEP8 formatting updates.Lance Stout
2012-06-18Add initial support for xml:lang for streams and stanza plugins.Lance Stout
Remaining items are suitable default actions for language supporting interfaces.
2012-05-22Add better certificate handling.Lance Stout
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-04-25Prevent corrupting roster_update event with iq result.Lance Stout
2012-04-07Tidy up roster_received event and callbacks.Lance Stout
2012-04-07Prevent roster_update from firing twice after retrieving the roster.Lance Stout
2012-03-30Add better DNS resolver wrapper.Lance Stout
2012-03-07Add support for roster versioning.Lance Stout
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-02-17More import cleanups based on pyflakes results.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-01-20Add an extra config dict to store SASL credentials.Lance Stout
We'll need extra things beyond just a password, such as api_key.
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-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-12Update Roster stanza to use RosterItem substanzas.Lance Stout
get_roster() now returns the Iq result stanza instead of True (stanzas also evaluate to True).
2012-01-10Make get_roster(block=False) work properly.Lance Stout
Fixes issue #136
2012-01-06Fix client_roster when the bare JID changes after binding.Lance Stout
Adds session_bind event.
2011-12-05Updated last bit of core files to use new API format.Lance Stout
2011-11-19Tidy up logging calls.Lance Stout
2011-11-20This change stops sleekxmpp from spending huge amounts of time unnecessarily ↵Vijay Pandurangan
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-14Fix typoLance Stout
2011-11-11Add use_ssl parameter to ClientXMPP.connectLance Stout
2011-09-28Allow SASL mechanism to be set when creating a ClientXMPP instance.Lance Stout
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-08-25Session timeout now defaults to 45sec, but can be adjusted.Lance Stout
e.g. self.session_timeout = 15 It is also managed by XMLStream instead of ClientXMPP now.
2011-08-18PEP8 editsLance Stout
2011-08-18added inline documentation for new dns methodsNathan Fritz
2011-08-18fixed manual address definitionNathan Fritz
2011-08-18Fix exceptions for Python3Lance Stout
2011-08-18DNS is now properly checked and different answers are tried for each ↵Nathan Fritz
reconnect until exhausted
2011-08-12Merge branch 'develop' into rosterLance Stout
Conflicts: setup.py sleekxmpp/clientxmpp.py
2011-08-12Merge branch 'exceptions' into developNathan Fritz
2011-08-04added block as process option and updated documentation. added typical use ↵Nathan Fritz
example to ClientXMPP.
2011-08-04Merge branch 'develop' into rosterLance Stout
Conflicts: setup.py
2011-08-03Merge branch 'develop' into stream_featuresLance Stout
2011-08-03Integrate a modified version of Dave Cridland's Suelta SASL library.Lance Stout
2011-07-27Merge branch 'develop' into exceptionsLance Stout
2011-07-27Merge branch 'develop' into rosterLance Stout
2011-07-27Fix error with DNS selection.Lance Stout
Missed a renaming of 'priority' to 'item'
2011-07-16Do a weighted choice among the highest prioritized items based on weight ↵Kim Alvefur
instead of a weighted choice based on priorities.
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-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-16Integrate roster with ClientXMPP.Lance Stout
Roster updates are now passed through to the roster when using self.update_roster, etc.