Java 类org.jivesoftware.smack.sasl.SASLMechanism.Failure 实例源码

项目:EIM    文件:PacketParserUtils.java   
/**
 * Parses SASL authentication error packets.
 * 
 * @param parser the XML parser.
 * @return a SASL Failure packet.
 * @throws Exception if an exception occurs while parsing the packet.
 */
public static Failure parseSASLFailure(XmlPullParser parser) throws Exception {
    String condition = null;
    boolean done = false;
    while (!done) {
        int eventType = parser.next();

        if (eventType == XmlPullParser.START_TAG) {
            if (!parser.getName().equals("failure")) {
                condition = parser.getName();
            }
        }
        else if (eventType == XmlPullParser.END_TAG) {
            if (parser.getName().equals("failure")) {
                done = true;
            }
        }
    }
    return new Failure(condition);
}
项目:androidpn_enhanced_client    文件:PacketParserUtils.java   
/**
 * Parses SASL authentication error packets.
 * 
 * @param parser the XML parser.
 * @return a SASL Failure packet.
 * @throws Exception if an exception occurs while parsing the packet.
 */
public static Failure parseSASLFailure(XmlPullParser parser) throws Exception {
    String condition = null;
    boolean done = false;
    while (!done) {
        int eventType = parser.next();

        if (eventType == XmlPullParser.START_TAG) {
            if (!parser.getName().equals("failure")) {
                condition = parser.getName();
            }
        }
        else if (eventType == XmlPullParser.END_TAG) {
            if (parser.getName().equals("failure")) {
                done = true;
            }
        }
    }
    return new Failure(condition);
}
项目:androidPN-client.    文件:PacketParserUtils.java   
/**
 * Parses SASL authentication error packets.
 * 
 * @param parser the XML parser.
 * @return a SASL Failure packet.
 * @throws Exception if an exception occurs while parsing the packet.
 */
public static Failure parseSASLFailure(XmlPullParser parser) throws Exception {
    String condition = null;
    boolean done = false;
    while (!done) {
        int eventType = parser.next();

        if (eventType == XmlPullParser.START_TAG) {
            if (!parser.getName().equals("failure")) {
                condition = parser.getName();
            }
        }
        else if (eventType == XmlPullParser.END_TAG) {
            if (parser.getName().equals("failure")) {
                done = true;
            }
        }
    }
    return new Failure(condition);
}
项目:xmppsupport_v2    文件:PacketParserUtils.java   
/**
 * Parses SASL authentication error packets.
 * 
 * @param parser
 *            the XML parser.
 * @return a SASL Failure packet.
 * @throws Exception
 *             if an exception occurs while parsing the packet.
 */
public static Failure parseSASLFailure(XmlPullParser parser)
        throws Exception {
    String condition = null;
    boolean done = false;
    while (!done) {
        int eventType = parser.next();

        if (eventType == XmlPullParser.START_TAG) {
            if (!parser.getName().equals("failure")) {
                condition = parser.getName();
            }
        } else if (eventType == XmlPullParser.END_TAG) {
            if (parser.getName().equals("failure")) {
                done = true;
            }
        }
    }
    return new Failure(condition);
}
项目:AndroidPNClient    文件:PacketParserUtils.java   
/**
 * Parses SASL authentication error packets.
 * 
 * @param parser the XML parser.
 * @return a SASL Failure packet.
 * @throws Exception if an exception occurs while parsing the packet.
 */
public static Failure parseSASLFailure(XmlPullParser parser) throws Exception {
    String condition = null;
    boolean done = false;
    while (!done) {
        int eventType = parser.next();

        if (eventType == XmlPullParser.START_TAG) {
            if (!parser.getName().equals("failure")) {
                condition = parser.getName();
            }
        }
        else if (eventType == XmlPullParser.END_TAG) {
            if (parser.getName().equals("failure")) {
                done = true;
            }
        }
    }
    return new Failure(condition);
}
项目:java-bells    文件:PacketParserUtils.java   
/**
 * Parses SASL authentication error packets.
 * 
 * @param parser the XML parser.
 * @return a SASL Failure packet.
 * @throws Exception if an exception occurs while parsing the packet.
 */
public static Failure parseSASLFailure(XmlPullParser parser) throws Exception {
    String condition = null;
    boolean done = false;
    while (!done) {
        int eventType = parser.next();

        if (eventType == XmlPullParser.START_TAG) {
            if (!parser.getName().equals("failure")) {
                condition = parser.getName();
            }
        }
        else if (eventType == XmlPullParser.END_TAG) {
            if (parser.getName().equals("failure")) {
                done = true;
            }
        }
    }
    return new Failure(condition);
}
项目:telegraph    文件:PacketParserUtils.java   
/**
 * Parses SASL authentication error packets.
 * 
 * @param parser the XML parser.
 * @return a SASL Failure packet.
 * @throws Exception if an exception occurs while parsing the packet.
 */
public static Failure parseSASLFailure(XmlPullParser parser) throws Exception {
    String condition = null;
    boolean done = false;
    while (!done) {
        int eventType = parser.next();

        if (eventType == XmlPullParser.START_TAG) {
            if (!parser.getName().equals("failure")) {
                condition = parser.getName();
            }
        }
        else if (eventType == XmlPullParser.END_TAG) {
            if (parser.getName().equals("failure")) {
                done = true;
            }
        }
    }
    return new Failure(condition);
}
项目:NewCommunication-Android    文件:PacketParserUtils.java   
/**
 * Parses SASL authentication error packets.
 * 
 * @param parser the XML parser.
 * @return a SASL Failure packet.
 * @throws Exception if an exception occurs while parsing the packet.
 */
public static Failure parseSASLFailure(XmlPullParser parser) throws Exception {
    String condition = null;
    boolean done = false;
    while (!done) {
        int eventType = parser.next();

        if (eventType == XmlPullParser.START_TAG) {
            if (!parser.getName().equals("failure")) {
                condition = parser.getName();
            }
        }
        else if (eventType == XmlPullParser.END_TAG) {
            if (parser.getName().equals("failure")) {
                done = true;
            }
        }
    }
    return new Failure(condition);
}
项目:asmack-mini    文件:PacketParserUtils.java   
/**
 * Parses SASL authentication error packets.
 * 
 * @param parser the XML parser.
 * @return a SASL Failure packet.
 * @throws Exception if an exception occurs while parsing the packet.
 */
public static Failure parseSASLFailure(XmlPullParser parser) throws Exception {
    String condition = null;
    boolean done = false;
    while (!done) {
        int eventType = parser.next();

        if (eventType == XmlPullParser.START_TAG) {
            if (!parser.getName().equals("failure")) {
                condition = parser.getName();
            }
        }
        else if (eventType == XmlPullParser.END_TAG) {
            if (parser.getName().equals("failure")) {
                done = true;
            }
        }
    }
    return new Failure(condition);
}
项目:jamppa    文件:PacketReader.java   
private void parseFailure(Element failureEl) throws Exception {
    if ("urn:ietf:params:xml:ns:xmpp-tls".equals(failureEl.getNamespace()
            .getURI())) {
        throw new Exception("TLS negotiation has failed");
    } else if ("http://jabber.org/protocol/compress".equals(failureEl
            .getNamespace().getURI())) {
        connection.streamCompressionDenied();
    } else {
        final Failure failure = new Failure(failureEl);
        processPacket(failure);
        connection.getSASLAuthentication().authenticationFailed(
                failure.getCondition());
    }
}
项目:androidPN-client.    文件:BOSHPacketReader.java   
/**
 * Parse the received packets and notify the corresponding connection.
 * 
 * @param event the BOSH client response which includes the received packet.
 */
public void responseReceived(BOSHMessageEvent event) {
    AbstractBody body = event.getBody();
    if (body != null) {
        try {
            if (connection.sessionID == null) {
                connection.sessionID = body.getAttribute(BodyQName.create(BOSHConnection.BOSH_URI, "sid"));
            }
            if (connection.authID == null) {
                connection.authID = body.getAttribute(BodyQName.create(BOSHConnection.BOSH_URI, "authid"));
            }
            final XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
            parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES,
                    true);
            parser.setInput(new StringReader(body.toXML()));
            int eventType = parser.getEventType();
            do {
                eventType = parser.next();
                if (eventType == XmlPullParser.START_TAG) {
                    if (parser.getName().equals("body")) {
                        // ignore the container root element
                    } else if (parser.getName().equals("message")) {
                        connection.processPacket(PacketParserUtils.parseMessage(parser));
                    } else if (parser.getName().equals("iq")) {
                        connection.processPacket(PacketParserUtils.parseIQ(parser, connection));
                    } else if (parser.getName().equals("presence")) {
                        connection.processPacket(PacketParserUtils.parsePresence(parser));
                    } else if (parser.getName().equals("challenge")) {
                        // The server is challenging the SASL authentication
                        // made by the client
                        final String challengeData = parser.nextText();
                        connection.getSASLAuthentication()
                                .challengeReceived(challengeData);
                        connection.processPacket(new Challenge(
                                challengeData));
                    } else if (parser.getName().equals("success")) {
                        connection.send(ComposableBody.builder()
                                .setNamespaceDefinition("xmpp", BOSHConnection.XMPP_BOSH_NS)
                                .setAttribute(
                                        BodyQName.createWithPrefix(BOSHConnection.XMPP_BOSH_NS, "restart", "xmpp"),
                                        "true")
                                .setAttribute(
                                        BodyQName.create(BOSHConnection.BOSH_URI, "to"),
                                        connection.getServiceName())
                                .build());
                        connection.getSASLAuthentication().authenticated();
                        connection.processPacket(new Success(parser.nextText()));
                    } else if (parser.getName().equals("features")) {
                        parseFeatures(parser);
                    } else if (parser.getName().equals("failure")) {
                        if ("urn:ietf:params:xml:ns:xmpp-sasl".equals(parser.getNamespace(null))) {
                            final Failure failure = PacketParserUtils.parseSASLFailure(parser);
                            connection.getSASLAuthentication().authenticationFailed();
                            connection.processPacket(failure);
                        }
                    } else if (parser.getName().equals("error")) {
                        throw new XMPPException(PacketParserUtils.parseStreamError(parser));
                    }
                }
            } while (eventType != XmlPullParser.END_DOCUMENT);
        }
        catch (Exception e) {
            if (connection.isConnected()) {
                connection.notifyConnectionError(e);
            }
        }
    }
}
项目:telegraph    文件:BOSHPacketReader.java   
/**
 * Parse the received packets and notify the corresponding connection.
 * 
 * @param event the BOSH client response which includes the received packet.
 */
public void responseReceived(BOSHMessageEvent event) {
    AbstractBody body = event.getBody();
    if (body != null) {
        try {
            if (connection.sessionID == null) {
                connection.sessionID = body.getAttribute(BodyQName.create(BOSHConnection.BOSH_URI, "sid"));
            }
            if (connection.authID == null) {
                connection.authID = body.getAttribute(BodyQName.create(BOSHConnection.BOSH_URI, "authid"));
            }
            final XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
            parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES,
                    true);
            parser.setInput(new StringReader(body.toXML()));
            int eventType = parser.getEventType();
            do {
                eventType = parser.next();
                if (eventType == XmlPullParser.START_TAG) {
                    if (parser.getName().equals("body")) {
                        // ignore the container root element
                    } else if (parser.getName().equals("message")) {
                        connection.processPacket(PacketParserUtils.parseMessage(parser));
                    } else if (parser.getName().equals("iq")) {
                        connection.processPacket(PacketParserUtils.parseIQ(parser, connection));
                    } else if (parser.getName().equals("presence")) {
                        connection.processPacket(PacketParserUtils.parsePresence(parser));
                    } else if (parser.getName().equals("challenge")) {
                        // The server is challenging the SASL authentication
                        // made by the client
                        final String challengeData = parser.nextText();
                        connection.getSASLAuthentication()
                                .challengeReceived(challengeData);
                        connection.processPacket(new Challenge(
                                challengeData));
                    } else if (parser.getName().equals("success")) {
                        connection.send(ComposableBody.builder()
                                .setNamespaceDefinition("xmpp", BOSHConnection.XMPP_BOSH_NS)
                                .setAttribute(
                                        BodyQName.createWithPrefix(BOSHConnection.XMPP_BOSH_NS, "restart", "xmpp"),
                                        "true")
                                .setAttribute(
                                        BodyQName.create(BOSHConnection.BOSH_URI, "to"),
                                        connection.getServiceName())
                                .build());
                        connection.getSASLAuthentication().authenticated();
                        connection.processPacket(new Success(parser.nextText()));
                    } else if (parser.getName().equals("features")) {
                        parseFeatures(parser);
                    } else if (parser.getName().equals("failure")) {
                        if ("urn:ietf:params:xml:ns:xmpp-sasl".equals(parser.getNamespace(null))) {
                            final Failure failure = PacketParserUtils.parseSASLFailure(parser);
                            connection.getSASLAuthentication().authenticationFailed();
                            connection.processPacket(failure);
                        }
                    } else if (parser.getName().equals("error")) {
                        throw new XMPPException(PacketParserUtils.parseStreamError(parser));
                    }
                }
            } while (eventType != XmlPullParser.END_DOCUMENT);
        }
        catch (Exception e) {
            if (connection.isConnected()) {
                connection.notifyConnectionError(e);
            }
        }
    }
}
项目:NewCommunication-Android    文件:BOSHPacketReader.java   
/**
 * Parse the received packets and notify the corresponding connection.
 * 
 * @param event the BOSH client response which includes the received packet.
 */
public void responseReceived(BOSHMessageEvent event) {
    AbstractBody body = event.getBody();
    if (body != null) {
        try {
            if (connection.sessionID == null) {
                connection.sessionID = body.getAttribute(BodyQName.create(BOSHConnection.BOSH_URI, "sid"));
            }
            if (connection.authID == null) {
                connection.authID = body.getAttribute(BodyQName.create(BOSHConnection.BOSH_URI, "authid"));
            }
            final XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
            parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES,
                    true);
            parser.setInput(new StringReader(body.toXML()));
            int eventType = parser.getEventType();
            do {
                eventType = parser.next();
                if (eventType == XmlPullParser.START_TAG) {
                    if (parser.getName().equals("body")) {
                        // ignore the container root element
                    } else if (parser.getName().equals("message")) {
                        connection.processPacket(PacketParserUtils.parseMessage(parser));
                    } else if (parser.getName().equals("iq")) {
                        connection.processPacket(PacketParserUtils.parseIQ(parser, connection));
                    } else if (parser.getName().equals("presence")) {
                        connection.processPacket(PacketParserUtils.parsePresence(parser));
                    } else if (parser.getName().equals("challenge")) {
                        // The server is challenging the SASL authentication
                        // made by the client
                        final String challengeData = parser.nextText();
                        connection.getSASLAuthentication()
                                .challengeReceived(challengeData);
                        connection.processPacket(new Challenge(
                                challengeData));
                    } else if (parser.getName().equals("success")) {
                        connection.send(ComposableBody.builder()
                                .setNamespaceDefinition("xmpp", BOSHConnection.XMPP_BOSH_NS)
                                .setAttribute(
                                        BodyQName.createWithPrefix(BOSHConnection.XMPP_BOSH_NS, "restart", "xmpp"),
                                        "true")
                                .setAttribute(
                                        BodyQName.create(BOSHConnection.BOSH_URI, "to"),
                                        connection.getServiceName())
                                .build());
                        connection.getSASLAuthentication().authenticated();
                        connection.processPacket(new Success(parser.nextText()));
                    } else if (parser.getName().equals("features")) {
                        parseFeatures(parser);
                    } else if (parser.getName().equals("failure")) {
                        if ("urn:ietf:params:xml:ns:xmpp-sasl".equals(parser.getNamespace(null))) {
                            final Failure failure = PacketParserUtils.parseSASLFailure(parser);
                            connection.getSASLAuthentication().authenticationFailed();
                            connection.processPacket(failure);
                        }
                    } else if (parser.getName().equals("error")) {
                        throw new XMPPException(PacketParserUtils.parseStreamError(parser));
                    }
                }
            } while (eventType != XmlPullParser.END_DOCUMENT);
        }
        catch (Exception e) {
            if (connection.isConnected()) {
                connection.notifyConnectionError(e);
            }
        }
    }
}