aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--juick-common/src/main/java/com/juick/server/xmpp/extensions/JuickMessage.java162
-rw-r--r--juick-common/src/main/java/com/juick/server/xmpp/extensions/JuickUser.java65
-rw-r--r--juick-server-xmpp/src/main/java/com/juick/server/XMPPServer.java20
3 files changed, 8 insertions, 239 deletions
diff --git a/juick-common/src/main/java/com/juick/server/xmpp/extensions/JuickMessage.java b/juick-common/src/main/java/com/juick/server/xmpp/extensions/JuickMessage.java
deleted file mode 100644
index 6956a99a..00000000
--- a/juick-common/src/main/java/com/juick/server/xmpp/extensions/JuickMessage.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Juick
- * Copyright (C) 2008-2011, Ugnich Anton
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package com.juick.server.xmpp.extensions;
-
-import com.juick.Tag;
-import com.juick.xmpp.StanzaChild;
-import com.juick.xmpp.utils.XmlUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.text.StringEscapeUtils;
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-
-import java.io.IOException;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.TimeZone;
-/**
- *
- * @author Ugnich Anton
- */
-public class JuickMessage extends com.juick.Message implements StanzaChild {
- public final static String XMLNS = "http://juick.com/message";
- public final static String TagName = "juick";
- private SimpleDateFormat df;
- public JuickMessage() {
- df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- df.setTimeZone(TimeZone.getTimeZone("UTC"));
- }
-
- @Override
- public String getXMLNS() {
- return XMLNS;
- }
- @Override
- public JuickMessage parse(XmlPullParser parser) throws XmlPullParserException, IOException, ParseException {
- JuickMessage jmsg = new JuickMessage();
- final String sMID = parser.getAttributeValue(null, "mid");
- if (sMID != null) {
- jmsg.setMid(Integer.parseInt(sMID));
- }
- final String sRID = parser.getAttributeValue(null, "rid");
- if (sRID != null) {
- jmsg.setRid(Integer.parseInt(sRID));
- }
- final String sReplyTo = parser.getAttributeValue(null, "replyto");
- if (sReplyTo != null) {
- jmsg.setReplyto(Integer.parseInt(sReplyTo));
- }
- final String sPrivacy = parser.getAttributeValue(null, "privacy");
- if (sPrivacy != null) {
- jmsg.setPrivacy(Integer.parseInt(sPrivacy));
- }
- final String sFriendsOnly = parser.getAttributeValue(null, "friendsonly");
- if (sFriendsOnly != null) {
- jmsg.FriendsOnly = true;
- }
- final String sReadOnly = parser.getAttributeValue(null, "readonly");
- if (sReadOnly != null) {
- jmsg.ReadOnly = true;
- }
- jmsg.setTimestamp(df.parse(parser.getAttributeValue(null, "ts")).toInstant());
- jmsg.setAttachmentType(parser.getAttributeValue(null, "attach"));
- while (parser.next() == XmlPullParser.START_TAG) {
- final String tag = parser.getName();
- final String xmlns = parser.getNamespace();
- if (tag.equals("body")) {
- jmsg.setText(XmlUtils.getTagText(parser));
- } else if (tag.equals(JuickUser.TagName) && xmlns != null && xmlns.equals(JuickUser.XMLNS)) {
- jmsg.setUser(new JuickUser().parse(parser));
- } else if (tag.equals("tag")) {
- jmsg.getTags().add(new Tag(XmlUtils.getTagText(parser)));
- } else {
- XmlUtils.skip(parser);
- }
- }
- return jmsg;
- }
- @Override
- public String toString() {
- StringBuilder ret = new StringBuilder("<").append(TagName).append(" xmlns=\"").append(XMLNS).append("\"");
- if (getMid() > 0) {
- ret.append(" mid=\"").append(getMid()).append("\"");
- }
- if (getRid() > 0) {
- ret.append(" rid=\"").append(getRid()).append("\"");
- }
- if (getReplyto() > 0) {
- ret.append(" replyto=\"").append(getReplyto()).append("\"");
- }
- ret.append(" privacy=\"").append(getPrivacy()).append("\"");
- if (FriendsOnly) {
- ret.append(" friendsonly=\"1\"");
- }
- if (ReadOnly) {
- ret.append(" readonly=\"1\"");
- }
- if (getTimestamp() != null) {
- ret.append(" ts=\"").append(df.format(Date.from(getTimestamp()))).append("\"");
- }
- if (getAttachmentType() != null) {
- ret.append(" attach=\"").append(getAttachmentType()).append("\"");
- }
- ret.append(">");
- if (getUser() != null) {
- ret.append(JuickUser.toString(getUser()));
- }
- if (getText() != null) {
- ret.append("<body>").append(StringEscapeUtils.escapeXml10(StringUtils.defaultString(getText()))).append("</body>");
- }
- for (Tag Tag : getTags()) {
- ret.append("<tag>").append(StringEscapeUtils.escapeXml10(Tag.getName())).append("</tag>");
- }
- ret.append("</").append(TagName).append(">");
- return ret.toString();
- }
- @Override
- public boolean equals(Object obj) {
- if (!(obj instanceof JuickMessage)) {
- return false;
- }
- JuickMessage jmsg = (JuickMessage) obj;
- return (this.getMid() == jmsg.getMid() && this.getRid() == jmsg.getRid());
- }
- @Override
- public int compareTo(Object obj) throws ClassCastException {
- if (!(obj instanceof JuickMessage)) {
- throw new ClassCastException();
- }
- JuickMessage jmsg = (JuickMessage) obj;
- if (this.getMid() != jmsg.getMid()) {
- if (this.getMid() > jmsg.getMid()) {
- return -1;
- } else {
- return 1;
- }
- }
- if (this.getRid() != jmsg.getRid()) {
- if (this.getRid() < jmsg.getRid()) {
- return -1;
- } else {
- return 1;
- }
- }
- return 0;
- }
-} \ No newline at end of file
diff --git a/juick-common/src/main/java/com/juick/server/xmpp/extensions/JuickUser.java b/juick-common/src/main/java/com/juick/server/xmpp/extensions/JuickUser.java
deleted file mode 100644
index 534efcc9..00000000
--- a/juick-common/src/main/java/com/juick/server/xmpp/extensions/JuickUser.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Juick
- * Copyright (C) 2008-2011, Ugnich Anton
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package com.juick.server.xmpp.extensions;
-import com.juick.xmpp.StanzaChild;
-import com.juick.xmpp.utils.XmlUtils;
-import org.apache.commons.text.StringEscapeUtils;
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-
-import java.io.IOException;
-/**
- *
- * @author Ugnich Anton
- */
-public class JuickUser extends com.juick.User implements StanzaChild {
- public final static String XMLNS = "http://juick.com/user";
- public final static String TagName = "user";
- public JuickUser() {
- }
- @Override
- public String getXMLNS() {
- return XMLNS;
- }
- @Override
- public JuickUser parse(final XmlPullParser parser) throws XmlPullParserException, IOException {
- JuickUser juser = new JuickUser();
- String strUID = parser.getAttributeValue(null, "uid");
- if (strUID != null) {
- juser.setUid(Integer.parseInt(strUID));
- }
- juser.setName(parser.getAttributeValue(null, "uname"));
- XmlUtils.skip(parser);
- return juser;
- }
- public static String toString(com.juick.User user) {
- String str = "<" + TagName + " xmlns='" + XMLNS + "'";
- if (user.getUid() > 0) {
- str += " uid='" + user.getUid() + "'";
- }
- if (user.getName() != null && user.getName().length() > 0) {
- str += " uname='" + StringEscapeUtils.escapeXml10(user.getName()) + "'";
- }
- str += "/>";
- return str;
- }
- @Override
- public String toString() {
- return toString(this);
- }
-} \ No newline at end of file
diff --git a/juick-server-xmpp/src/main/java/com/juick/server/XMPPServer.java b/juick-server-xmpp/src/main/java/com/juick/server/XMPPServer.java
index c4f6bb19..a324282c 100644
--- a/juick-server-xmpp/src/main/java/com/juick/server/XMPPServer.java
+++ b/juick-server-xmpp/src/main/java/com/juick/server/XMPPServer.java
@@ -19,7 +19,6 @@ package com.juick.server;
import com.juick.server.xmpp.s2s.*;
import com.juick.service.UserService;
-import com.juick.server.xmpp.extensions.JuickMessage;
import com.juick.xmpp.extensions.StreamError;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -29,7 +28,6 @@ import org.springframework.stereotype.Component;
import org.xmlpull.v1.XmlPullParserException;
import rocks.xmpp.addr.Jid;
import rocks.xmpp.core.stanza.model.Stanza;
-import rocks.xmpp.util.XmppUtils;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
@@ -37,20 +35,19 @@ import javax.inject.Inject;
import javax.net.ssl.*;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-import java.io.*;
-import java.net.*;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringReader;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.net.SocketException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.SecureRandom;
import java.time.Duration;
import java.time.Instant;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.Optional;
+import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ExecutorService;
@@ -248,7 +245,6 @@ public class XMPPServer implements ConnectionListener, AutoCloseable {
connectionOut.setInputStream(socket.getInputStream());
connectionOut.setOutputStream(socket.getOutputStream());
addConnectionOut(connectionOut, Optional.of(socket));
- connectionOut.addChildParser(new JuickMessage());
connectionOut.connect();
} catch (IOException e) {
userService.getActiveJIDs().stream().filter(j -> Jid.of(j).getDomain().equals(to))