mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-09-27 18:19:33 +02:00
83b84c5bd3
Conflicts: smack-core/src/main/java/org/jivesoftware/smack/StanzaListener.java smack-core/src/main/java/org/jivesoftware/smack/XMPPConnection.java smack-core/src/main/java/org/jivesoftware/smack/packet/Stanza.java smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java version.gradle
112 lines
3.8 KiB
Java
112 lines
3.8 KiB
Java
/**
|
|
*
|
|
* Copyright the original author or authors
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
package org.jivesoftware.smackx.bytestreams.socks5;
|
|
|
|
import org.jivesoftware.smack.packet.EmptyResultIQ;
|
|
import org.jivesoftware.smack.packet.IQ;
|
|
import org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream;
|
|
import org.jivesoftware.smackx.disco.packet.DiscoverInfo;
|
|
import org.jivesoftware.smackx.disco.packet.DiscoverItems;
|
|
import org.jxmpp.jid.Jid;
|
|
|
|
/**
|
|
* A collection of utility methods to create XMPP packets.
|
|
*
|
|
* @author Henning Staib
|
|
*/
|
|
public class Socks5PacketUtils {
|
|
|
|
/**
|
|
* Returns a SOCKS5 Bytestream initialization request packet. The Request doesn't contain any
|
|
* SOCKS5 proxies.
|
|
*
|
|
* @param from the initiator
|
|
* @param to the target
|
|
* @param sessionID the session ID
|
|
* @return SOCKS5 Bytestream initialization request packet
|
|
*/
|
|
public static Bytestream createBytestreamInitiation(Jid from, Jid to, String sessionID) {
|
|
Bytestream bytestream = new Bytestream();
|
|
bytestream.setFrom(from);
|
|
bytestream.setTo(to);
|
|
bytestream.setSessionID(sessionID);
|
|
bytestream.setType(IQ.Type.set);
|
|
return bytestream;
|
|
}
|
|
|
|
/**
|
|
* Returns a response to a SOCKS5 Bytestream initialization request. The stanza(/packet) doesn't contain
|
|
* the uses-host information.
|
|
*
|
|
* @param from the target
|
|
* @param to the initiator
|
|
* @return response to a SOCKS5 Bytestream initialization request
|
|
*/
|
|
public static Bytestream createBytestreamResponse(Jid from, Jid to) {
|
|
Bytestream streamHostInfo = new Bytestream();
|
|
streamHostInfo.setFrom(from);
|
|
streamHostInfo.setTo(to);
|
|
streamHostInfo.setType(IQ.Type.result);
|
|
return streamHostInfo;
|
|
}
|
|
|
|
/**
|
|
* Returns a response to an item discovery request. The stanza(/packet) doesn't contain any items.
|
|
*
|
|
* @param from the XMPP server
|
|
* @param to the XMPP client
|
|
* @return response to an item discovery request
|
|
*/
|
|
public static DiscoverItems createDiscoverItems(Jid from, Jid to) {
|
|
DiscoverItems discoverItems = new DiscoverItems();
|
|
discoverItems.setFrom(from);
|
|
discoverItems.setTo(to);
|
|
discoverItems.setType(IQ.Type.result);
|
|
return discoverItems;
|
|
}
|
|
|
|
/**
|
|
* Returns a response to an info discovery request. The stanza(/packet) doesn't contain any infos.
|
|
*
|
|
* @param from the target
|
|
* @param to the initiator
|
|
* @return response to an info discovery request
|
|
*/
|
|
public static DiscoverInfo createDiscoverInfo(Jid from, Jid to) {
|
|
DiscoverInfo discoverInfo = new DiscoverInfo();
|
|
discoverInfo.setFrom(from);
|
|
discoverInfo.setTo(to);
|
|
discoverInfo.setType(IQ.Type.result);
|
|
return discoverInfo;
|
|
}
|
|
|
|
/**
|
|
* Returns a response IQ for a activation request to the proxy.
|
|
*
|
|
* @param from JID of the proxy
|
|
* @param to JID of the client who wants to activate the SOCKS5 Bytestream
|
|
* @return response IQ for a activation request to the proxy
|
|
*/
|
|
public static IQ createActivationConfirmation(Jid from, Jid to) {
|
|
IQ response = new EmptyResultIQ();
|
|
response.setFrom(from);
|
|
response.setTo(to);
|
|
return response;
|
|
}
|
|
|
|
}
|