'Handle authenticating using SASL.
Arguments:
features -- The stream features stanza.'

def _handle_sasl_auth(self, features):

    if ('mechanisms' in self.xmpp.features):
        return False
    enforce_limit = False
    limited_mechs = self.use_mechs
    if (limited_mechs is None):
        limited_mechs = set()
    elif (limited_mechs and (not isinstance(limited_mechs, set))):
        limited_mechs = set(limited_mechs)
        enforce_limit = True
    if self.use_mech:
        limited_mechs.add(self.use_mech)
        enforce_limit = True
    if enforce_limit:
        self.use_mechs = limited_mechs
    self.mech_list = set(features['mechanisms'])
    return self._send_auth()
