static XMPPTCPConnection getConnectedConnection(SmackIntegrationTestEnvironment environment, int connectionId) throws KeyManagementException, NoSuchAlgorithmException, InterruptedException, SmackException, IOException, XMPPException { Configuration config = environment.configuration; XMPPTCPConnectionConfiguration.Builder builder = getConnectionConfigurationBuilder(config); XMPPTCPConnection connection = new XMPPTCPConnection(builder.build()); connection.connect(); UsernameAndPassword uap = IntTestUtil.registerAccount(connection, environment, connectionId); connection.login(uap.username, uap.password); return connection; }
public static boolean supportsIbr(DomainBareJid xmppDomain) throws SmackException, IOException, XMPPException, InterruptedException, KeyManagementException, NoSuchAlgorithmException { XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder() .setXmppDomain(xmppDomain); TLSUtils.acceptAllCertificates(configBuilder); XMPPTCPConnectionConfiguration config = configBuilder.build(); XMPPTCPConnection connection = new XMPPTCPConnection(config); connection.connect(); try { return supportsIbr(connection); } finally { connection.disconnect(); } }
public static boolean createAccount(DomainBareJid xmppDomain, Localpart username, String password) throws KeyManagementException, NoSuchAlgorithmException, SmackException, IOException, XMPPException, InterruptedException { XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder() .setXmppDomain(xmppDomain); TLSUtils.acceptAllCertificates(configBuilder); XMPPTCPConnectionConfiguration config = configBuilder.build(); XMPPTCPConnection connection = new XMPPTCPConnection(config); connection.connect(); try { if (!supportsIbr(connection)) return false; AccountManager accountManager = AccountManager.getInstance(connection); accountManager.createAccount(username, password); return true; } finally { connection.disconnect(); } } }
/** * Check that the server is returning the correct error when trying to login using an invalid * (i.e. non-existent) user. * * @throws InterruptedException * @throws XMPPException * @throws IOException * @throws SmackException * @throws NoSuchAlgorithmException * @throws KeyManagementException */ @SmackIntegrationTest public void testInvalidLogin() throws SmackException, IOException, XMPPException, InterruptedException, KeyManagementException, NoSuchAlgorithmException { final String nonExistentUserString = StringUtils.insecureRandomString(24); XMPPTCPConnectionConfiguration conf = getConnectionConfiguration().setUsernameAndPassword( nonExistentUserString, "invalidPassword").build(); XMPPTCPConnection connection = new XMPPTCPConnection(conf); connection.connect(); try { connection.login(); fail("Exception expected"); } catch (SASLErrorException e) { assertEquals(SASLError.not_authorized, e.getSASLFailure().getSASLError()); } }
@Test public void shouldBlockAndUnblockTest() throws InterruptedException, BrokenBarrierException, NotConnectedException, XmppStringprepException { XMPPTCPConnection connection = new XMPPTCPConnection("user", "pass", "example.org"); final PacketWriter pw = connection.new PacketWriter(); connection.packetWriter = pw;
.setResource(middlefix + '-' + testRunResult.testRunId); XMPPTCPConnection connection = new XMPPTCPConnection(builder.build()); connection.connect(); if (config.isAccountRegistrationPossible()) {
XMPPTCPConnection connection = new XMPPTCPConnection(builder.build());
public static void iotScenario(String dataThingJidString, String dataThingPassword, String readingThingJidString, String readingThingPassword, IotScenario scenario) throws Exception { final EntityBareJid dataThingJid = JidCreate.entityBareFrom(dataThingJidString); final EntityBareJid readingThingJid = JidCreate.entityBareFrom(readingThingJidString); final XMPPTCPConnectionConfiguration dataThingConnectionConfiguration = XMPPTCPConnectionConfiguration.builder() .setUsernameAndPassword(dataThingJid.getLocalpart(), dataThingPassword) .setXmppDomain(dataThingJid.asDomainBareJid()).setSecurityMode(SecurityMode.disabled) .enableDefaultDebugger().build(); final XMPPTCPConnectionConfiguration readingThingConnectionConfiguration = XMPPTCPConnectionConfiguration .builder().setUsernameAndPassword(readingThingJid.getLocalpart(), readingThingPassword) .setXmppDomain(readingThingJid.asDomainBareJid()).setSecurityMode(SecurityMode.disabled) .enableDefaultDebugger().build(); final XMPPTCPConnection dataThingConnection = new XMPPTCPConnection(dataThingConnectionConfiguration); final XMPPTCPConnection readingThingConnection = new XMPPTCPConnection(readingThingConnectionConfiguration); dataThingConnection.setReplyTimeout(TIMEOUT); readingThingConnection.setReplyTimeout(TIMEOUT); dataThingConnection.setUseStreamManagement(false); readingThingConnection.setUseStreamManagement(false); try { dataThingConnection.connect().login(); readingThingConnection.connect().login(); scenario.iotScenario(dataThingConnection, readingThingConnection); } finally { dataThingConnection.disconnect(); readingThingConnection.disconnect(); } }
@Override protected XMPPConnection createInstance() throws Exception { XMPPTCPConnectionConfiguration connectionConfig = this.connectionConfiguration; if (connectionConfig == null) { XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder() .setHost(this.host) .setPort(this.port); if (StringUtils.hasText(this.resource)) { builder.setResource(this.resource); } if (StringUtils.hasText(this.serviceName)) { builder.setUsernameAndPassword(this.user, this.password) .setXmppDomain(this.serviceName); } else { builder.setUsernameAndPassword(XmppStringUtils.parseLocalpart(this.user), this.password) .setXmppDomain(this.user); } connectionConfig = builder.build(); } return new XMPPTCPConnection(connectionConfig); }
What was Connection connection = new XMPPConnection() is XMPPConnection connection = new XMPPTCPConnection() in Smack 4 and will become AbstractXMPPConnection connection = new XMPPTCPConnection() in Smack 4.1
XMPPConnection con = new XMPPTCPConnection("igniterealtime.org"); con.connect();
AbstractXMPPConnection conn = new XMPPTCPConnection("xxx", "yyy", "zzz"); conn.connect(); conn.login();
@Override public void afterPropertiesSet() throws XMPPException, IOException, SmackException { XMPPTCPConnectionConfiguration configuration = createConnectionConfiguration(host, port, serviceName); Assert.notNull(configuration, "'configuration' must not be null"); Assert.hasText(username, "'username' must not be empty"); Assert.hasText(password, "'password' must not be empty"); connection = new XMPPTCPConnection(configuration); try { connection.connect(); if (StringUtils.hasText(resource)) { connection.login(username, password, Resourcepart.from(resource)); } else { connection.login(username, password); } } catch (InterruptedException e) { throw new IOException(e); } }
@Override public void afterPropertiesSet() throws XMPPException, IOException, SmackException { XMPPTCPConnectionConfiguration configuration = createConnectionConfiguration(host, port, serviceName); Assert.notNull(configuration, "'configuration' must not be null"); Assert.hasText(username, "'username' must not be empty"); Assert.hasText(password, "'password' must not be empty"); connection = new XMPPTCPConnection(configuration); try { connection.connect(); if (StringUtils.hasText(resource)) { connection.login(username, password, Resourcepart.from(resource)); } else { connection.login(username, password); } } catch (InterruptedException e) { throw new IOException(e); } }
@Override public void afterPropertiesSet() throws XMPPException, IOException, SmackException { XMPPTCPConnectionConfiguration configuration = createConnectionConfiguration(host, port, serviceName); Assert.notNull(configuration, "'configuration' must not be null"); Assert.hasText(username, "'username' must not be empty"); Assert.hasText(password, "'password' must not be empty"); connection = new XMPPTCPConnection(configuration); try { connection.connect(); if (StringUtils.hasText(resource)) { connection.login(username, password, Resourcepart.from(resource)); } else { connection.login(username, password); } } catch (InterruptedException e) { throw new IOException(e); } }
XMPPTCPConnection connection = new XMPPTCPConnection(); ServiceDiscoveryManager sdm = ServiceDiscoveryManager .getInstanceFor(connection); sdm.addFeature("http://jabber.org/protocol/geoloc"); sdm.addFeature("http://jabber.org/protocol/geoloc+notify"); EntityCapsManager capsManager = EntityCapsManager .getInstanceFor(connection); capsManager.enableEntityCaps(); PEPProvider pepProvider = new PEPProvider(); pepProvider.registerPEPParserExtension( "http://jabber.org/protocol/geoloc", new UserLocationProvider()); ProviderManager.addExtensionProvider("event", "http://jabber.org/protocol/pubsub#event", pepProvider); PEPManager pepManager = new PEPManager(connection); pepManager.addPEPListener(PEP_LISTENER); connection.connect(); connection.login(username, password);
public void init(String userId,String pwd ) { Log.i("XMPP", "Initializing!"); this.userName = userId; this.passWord = pwd; XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder(); configBuilder.setUsernameAndPassword(userName, passWord); configBuilder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled); configBuilder.setResource("Android"); configBuilder.setServiceName(DOMAIN); configBuilder.setHost(HOST); configBuilder.setPort(PORT); //configBuilder.setDebuggerEnabled(true); connection = new XMPPTCPConnection(configBuilder.build()); connection.addConnectionListener(connectionListener); }
@Override protected XMPPConnection createInstance() throws Exception { XMPPTCPConnectionConfiguration connectionConfiguration = this.connectionConfiguration; if (this.connectionConfiguration == null) { XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder() .setHost(this.host) .setPort(this.port) .setResource(this.resource) .setUsernameAndPassword(this.user, this.password) .setServiceName(this.serviceName); if (!StringUtils.hasText(this.serviceName) && StringUtils.hasText(this.user)) { builder.setUsernameAndPassword(XmppStringUtils.parseLocalpart(this.user), this.password) .setServiceName(XmppStringUtils.parseDomain(this.user)); } connectionConfiguration = builder.build(); } this.connection = new XMPPTCPConnection(connectionConfiguration); return this.connection; }
public AbstractXMPPConnection initXMPPTCPConnection() { SmackConfiguration.DEBUG = true; try { mSSLContext = SSLContext.getInstance("TLS"); mSSLContext.init(null, new TrustManager[]{new MyTrustManager()}, null); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("connecting failed", e); } XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder(); // builder.setUsernameAndPassword(USER_NAME, PASSWORD); builder.setHost(HOST); builder.setServiceName(SERVICE_NAME);//此处只能使用域名或PC机器名称 builder.setPort(PORT); builder.setCompressionEnabled(false);//连接套将使用流压缩。 // builder.setConnectTimeout(5000); // builder.setDebuggerEnabled(true); // builder.setSendPresence(true);//上线通知系统 builder.setSecurityMode(ConnectionConfiguration.SecurityMode.required);//安全模式 builder.setCustomSSLContext(mSSLContext);//https不验证证书方式(信任所有证书) builder.setHostnameVerifier(new MyHostnameVerifier()); SASLAuthentication.unBlacklistSASLMechanism("SCRAM-SHA-1"); SASLAuthentication.unBlacklistSASLMechanism("PLAIN"); SASLAuthentication.unBlacklistSASLMechanism("DIGEST-MD5"); // SASLAuthentication.registerSASLMechanism(new SASLPlainMechanism()); mXMPPTCPConnection = new XMPPTCPConnection(builder.build()); return mXMPPTCPConnection; }
private XMPPTCPConnection connect(long senderId, String apiKey) throws XMPPException, IOException, SmackException { ConnectionConfiguration config = new ConnectionConfiguration(GCM_SERVER, GCM_PORT); config.setSecurityMode(ConnectionConfiguration.SecurityMode.enabled); config.setReconnectionAllowed(true); config.setRosterLoadedAtLogin(false); config.setSendPresence(false); config.setSocketFactory(SSLSocketFactory.getDefault()); XMPPTCPConnection connection = new XMPPTCPConnection(config); connection.connect(); connection.addConnectionListener(new LoggingConnectionListener()); connection.addPacketListener(this, new PacketTypeFilter(Message.class)); connection.login(senderId + "@gcm.googleapis.com", apiKey); return connection; }