summaryrefslogtreecommitdiff
path: root/sleekxmpp/clientxmpp.py
AgeCommit message (Collapse)Author
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.
2011-06-01Begin experimental use of exceptions.Lance Stout
Provides IqTimeout and IqError which are raised when an Iq response does not arrive in time, or it arrives with type='error'.
2011-05-31Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/clientxmpp.py
2011-05-31Merge branch 'develop' into rosterLance Stout
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-20Merge branch 'develop' into stream_featuresLance Stout
2011-05-20Merge branch 'develop' into rosterLance Stout
2011-05-20Handle callback return value case.Lance Stout
2011-05-20Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/clientxmpp.py
2011-05-20Merge branch 'develop' into rosterLance Stout
Conflicts: sleekxmpp/clientxmpp.py tests/test_stream_roster.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-03-22Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/clientxmpp.py
2011-03-22Merge branch 'develop' into rosterLance Stout
2011-03-22Updated doc for connect()Lance Stout
2011-03-22May pass use_tls=False to connect().Lance Stout
Will disable the use of TLS for the session.
2011-02-14Merge branch 'develop' into stream_featuresLance Stout
Conflicts: sleekxmpp/xmlstream/stanzabase.py
2011-02-14Merge branch 'develop' into rosterLance Stout
Conflicts: sleekxmpp/clientxmpp.py
2011-02-14Remap old method names in a better way.Lance Stout
This should prevent some reference cycles that will cause garbage collection issues.
2011-02-02Merge branch 'develop' into rosterLance Stout
Conflicts: sleekxmpp/basexmpp.py
2011-01-28First pass at re-worked stream features.Lance Stout
Stream features now use stanza objects! Features are given a ranking that expresses the dependency relationships (since only one feature is negotiated at a time, the dependency graph can be replaced by a line). >>> xmpp.register_feature('my_feature', _my_handler, >>> restart=True, # Requires stream restart >>> order=600) # Ranking (out of ~ 10,000, >>> # lower #'s executed first) SASL mechanisms may now be added or disabled as needed. Each mechanism is given a priority value indicating the order in which the client wishes for mechanisms to be tried. Higher priority numbers are executed first. >>> xmpp.register_sasl_mechanism('SASL-MECH', _mech_handler, >>> priority=0) Disabling a SASL mechanism: >>> xmpp.remove_sasl_mechanism('ANONYMOUS')
2011-01-23My hunch is that these should also be updated.Stefan de Konink
2011-01-20Do not traceback when DNS resolution time out.Florent Le Coz
Just log that the resolution timed out, and fall back to the hostname from the JID in this case
2011-01-09Merge branch 'develop' into rosterLance Stout
2011-01-07Add reattempt to ClientXMPP.connectLance Stout
2010-11-18Merge branch 'develop' of github.com:fritzy/SleekXMPP into rosterLance Stout
2010-11-17Fix Node set to None error.Lance Stout
2010-11-17Cleaned up names.Lance Stout
2010-11-17First pass at integrating the new roster manager.Lance Stout
2010-11-09Doesn't fail if host has NO SRV recordFlorent Le Coz
Just catch an other exception type coming from the dns resolver that could be raised with hosts like "anon.example.com" which just don't have any SRV record.
2010-11-06Logging no longer uses root logger.Lance Stout
Each module should now log into its own logger.
2010-10-24Fixed error in client roster handling.Lance Stout
The roster result iq was not being passed to the roster update handler.
2010-10-20misc small tweakssleek-1.0-Beta11.0-Beta1Nathan Fritz
2010-10-20pep8 fixes on core libraryNathan Fritz
2010-10-20reconnect if session isn't established within 15 secondsNathan Fritz
2010-10-17Underscore names by default.Lance Stout
Stanza objects now accept the use of underscored names. The CamelCase versions are still available for backwards compatibility, but are discouraged. The property stanza.values now maps to the old getStanzaValues and setStanzaValues, in addition to _set_stanza_values and _get_stanza_values.
2010-10-16Cleanup, restore PEP8.Lance Stout
2010-10-17Remove deprecation warningsFlorent Le Coz
Remove all the deprecation warnings by using only boundjid. And also fix a indentation error.
2010-10-17Anonymous authenticationFlorent Le Coz
Implemented ANONYMOUS authentication on the ClientXMPP class. To use it, you just need to provide a domain (e.g 'anon.example.com') with an optional resource (e.g 'anon.example.com/resource') as the JID, with no password. The JID class has been improved to accept domains as fulljid. You can test this with echo_client.py python echo_client.py -j anon.louiz.org/ # anonymous with a resource # defined by the server python echo_client.py -j anon.louiz.org/resource # anonymous with given # resource The "normal" authentication method still works exactly like before.
2010-10-14fixed stream test not disconnecting cleanlyNathan Fritz
2010-10-14deprecated jid, fulljid, server, user, resource properties and added ↵Nathan Fritz
boundjid JID
2010-10-14fixed socket name collision in xmlstream.py and fixed python 3.x compatibilityNathan Fritz
2010-10-13new state machine in placeNathan Fritz
2010-10-06Updated method names.Lance Stout
Using underscored names where possible.