1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2025-09-10 01:29:38 +02:00

1. Added support for TLS. SMACK-76

2. Added support for SASL. SMACK-24

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@2732 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
Gaston Dombiak 2005-08-27 02:29:04 +00:00 committed by gato
parent 59e393e2ef
commit ad6be5887c
2 changed files with 142 additions and 25 deletions

View file

@ -154,6 +154,10 @@ class PacketWriter {
listenerThread.start();
}
void setWriter(Writer writer) {
this.writer = writer;
}
/**
* Shuts down the packet writer. Once this method has been called, no further
* packets will be written to the server.
@ -187,14 +191,7 @@ class PacketWriter {
private void writePackets() {
try {
// Open the stream.
StringBuffer stream = new StringBuffer();
stream.append("<stream:stream");
stream.append(" to=\"" + connection.getHost() + "\"");
stream.append(" xmlns=\"jabber:client\"");
stream.append(" xmlns:stream=\"http://etherx.jabber.org/streams\">");
writer.write(stream.toString());
writer.flush();
stream = null;
openStream();
// Write out packets from the queue.
while (!done) {
Packet packet = nextPacket();
@ -273,6 +270,24 @@ class PacketWriter {
}
}
/**
* Sends to the server a new stream element. This operation may be requested several times
* so we need to encapsulate the logic in one place. This message will be sent while doing
* TLS, SASL and resource binding.
*
* @throws IOException If an error occurs while sending the stanza to the server.
*/
void openStream() throws IOException {
StringBuffer stream = new StringBuffer();
stream.append("<stream:stream");
stream.append(" to=\"").append(connection.serviceName).append("\"");
stream.append(" xmlns=\"jabber:client\"");
stream.append(" xmlns:stream=\"http://etherx.jabber.org/streams\"");
stream.append(" version=\"1.0\">");
writer.write(stream.toString());
writer.flush();
}
/**
* A wrapper class to associate a packet filter with a listener.
*/
@ -282,7 +297,7 @@ class PacketWriter {
private PacketFilter packetFilter;
public ListenerWrapper(PacketListener packetListener,
PacketFilter packetFilter)
PacketFilter packetFilter)
{
this.packetListener = packetListener;
this.packetFilter = packetFilter;