├── .github └── workflows │ └── build.yml ├── .gitignore ├── LICENSE ├── README.markdown ├── THANKS.markdown ├── TODO.txt ├── ci ├── checkstyle.xml ├── java_header_regex_template.txt └── pmd.xml ├── docs ├── Protocol-v2-3.1.0.html ├── Protocol-v3-4.0.0.html └── Protocol-v3-4.1.1.html ├── pom.xml └── src ├── main └── java │ └── net │ └── java │ └── otr4j │ ├── OtrEngineHost.java │ ├── OtrEngineListener.java │ ├── OtrException.java │ ├── OtrKeyManager.java │ ├── OtrKeyManagerImpl.java │ ├── OtrKeyManagerListener.java │ ├── OtrKeyManagerStore.java │ ├── OtrPolicy.java │ ├── OtrPolicyImpl.java │ ├── OtrSessionManager.java │ ├── OtrSessionManagerImpl.java │ ├── crypto │ ├── OtrCryptoEngine.java │ ├── OtrCryptoEngineImpl.java │ ├── OtrCryptoException.java │ ├── SM.java │ └── Util.java │ ├── io │ ├── OtrInputStream.java │ ├── OtrOutputStream.java │ ├── SerializationConstants.java │ ├── SerializationUtils.java │ └── messages │ │ ├── AbstractEncodedMessage.java │ │ ├── AbstractMessage.java │ │ ├── DHCommitMessage.java │ │ ├── DHKeyMessage.java │ │ ├── DataMessage.java │ │ ├── ErrorMessage.java │ │ ├── MysteriousT.java │ │ ├── PlainTextMessage.java │ │ ├── QueryMessage.java │ │ ├── RevealSignatureMessage.java │ │ ├── SignatureM.java │ │ ├── SignatureMessage.java │ │ └── SignatureX.java │ ├── session │ ├── AuthContext.java │ ├── AuthContextImpl.java │ ├── FragmenterInstructions.java │ ├── InstanceTag.java │ ├── OfferStatus.java │ ├── OtrAssembler.java │ ├── OtrFragmenter.java │ ├── OtrSm.java │ ├── Session.java │ ├── SessionID.java │ ├── SessionImpl.java │ ├── SessionKeys.java │ ├── SessionKeysImpl.java │ ├── SessionStatus.java │ ├── TLV.java │ └── UnknownInstanceException.java │ └── util │ └── SelectableMap.java └── test └── java └── net └── java └── otr4j ├── OtrKeyManagerImplTest.java ├── crypto ├── OtrCryptoEngineImplBC.java ├── OtrCryptoEngineImplTest.java └── SMTest.java ├── io ├── IOTest.java └── SerializationUtilsTest.java └── session ├── Connection.java ├── DummyClient.java ├── FragmenterInstructionsTest.java ├── InstanceTagTest.java ├── Message.java ├── OtrFragmenterTest.java ├── PriorityServer.java ├── ProcessedMessage.java ├── Server.java └── SessionImplTest.java /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/LICENSE -------------------------------------------------------------------------------- /README.markdown: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/README.markdown -------------------------------------------------------------------------------- /THANKS.markdown: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/THANKS.markdown -------------------------------------------------------------------------------- /TODO.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/TODO.txt -------------------------------------------------------------------------------- /ci/checkstyle.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/ci/checkstyle.xml -------------------------------------------------------------------------------- /ci/java_header_regex_template.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/ci/java_header_regex_template.txt -------------------------------------------------------------------------------- /ci/pmd.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/ci/pmd.xml -------------------------------------------------------------------------------- /docs/Protocol-v2-3.1.0.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/docs/Protocol-v2-3.1.0.html -------------------------------------------------------------------------------- /docs/Protocol-v3-4.0.0.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/docs/Protocol-v3-4.0.0.html -------------------------------------------------------------------------------- /docs/Protocol-v3-4.1.1.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/docs/Protocol-v3-4.1.1.html -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/OtrEngineHost.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/OtrEngineHost.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/OtrEngineListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/OtrEngineListener.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/OtrException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/OtrException.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/OtrKeyManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/OtrKeyManager.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/OtrKeyManagerImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/OtrKeyManagerImpl.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/OtrKeyManagerListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/OtrKeyManagerListener.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/OtrKeyManagerStore.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/OtrKeyManagerStore.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/OtrPolicy.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/OtrPolicy.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/OtrPolicyImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/OtrPolicyImpl.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/OtrSessionManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/OtrSessionManager.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/OtrSessionManagerImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/OtrSessionManagerImpl.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/crypto/OtrCryptoEngine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/crypto/OtrCryptoEngine.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/crypto/OtrCryptoEngineImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/crypto/OtrCryptoEngineImpl.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/crypto/OtrCryptoException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/crypto/OtrCryptoException.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/crypto/SM.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/crypto/SM.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/crypto/Util.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/crypto/Util.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/OtrInputStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/OtrInputStream.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/OtrOutputStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/OtrOutputStream.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/SerializationConstants.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/SerializationConstants.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/SerializationUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/SerializationUtils.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/messages/AbstractEncodedMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/messages/AbstractEncodedMessage.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/messages/AbstractMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/messages/AbstractMessage.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/messages/DHCommitMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/messages/DHCommitMessage.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/messages/DHKeyMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/messages/DHKeyMessage.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/messages/DataMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/messages/DataMessage.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/messages/ErrorMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/messages/ErrorMessage.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/messages/MysteriousT.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/messages/MysteriousT.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/messages/PlainTextMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/messages/PlainTextMessage.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/messages/QueryMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/messages/QueryMessage.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/messages/RevealSignatureMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/messages/RevealSignatureMessage.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/messages/SignatureM.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/messages/SignatureM.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/messages/SignatureMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/messages/SignatureMessage.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/io/messages/SignatureX.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/io/messages/SignatureX.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/AuthContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/AuthContext.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/AuthContextImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/AuthContextImpl.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/FragmenterInstructions.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/FragmenterInstructions.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/InstanceTag.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/InstanceTag.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/OfferStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/OfferStatus.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/OtrAssembler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/OtrAssembler.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/OtrFragmenter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/OtrFragmenter.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/OtrSm.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/OtrSm.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/Session.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/Session.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/SessionID.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/SessionID.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/SessionImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/SessionImpl.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/SessionKeys.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/SessionKeys.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/SessionKeysImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/SessionKeysImpl.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/SessionStatus.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/SessionStatus.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/TLV.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/TLV.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/session/UnknownInstanceException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/session/UnknownInstanceException.java -------------------------------------------------------------------------------- /src/main/java/net/java/otr4j/util/SelectableMap.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/main/java/net/java/otr4j/util/SelectableMap.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/OtrKeyManagerImplTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/OtrKeyManagerImplTest.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/crypto/OtrCryptoEngineImplBC.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/crypto/OtrCryptoEngineImplBC.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/crypto/OtrCryptoEngineImplTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/crypto/OtrCryptoEngineImplTest.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/crypto/SMTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/crypto/SMTest.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/io/IOTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/io/IOTest.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/io/SerializationUtilsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/io/SerializationUtilsTest.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/session/Connection.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/session/Connection.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/session/DummyClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/session/DummyClient.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/session/FragmenterInstructionsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/session/FragmenterInstructionsTest.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/session/InstanceTagTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/session/InstanceTagTest.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/session/Message.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/session/Message.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/session/OtrFragmenterTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/session/OtrFragmenterTest.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/session/PriorityServer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/session/PriorityServer.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/session/ProcessedMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/session/ProcessedMessage.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/session/Server.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/session/Server.java -------------------------------------------------------------------------------- /src/test/java/net/java/otr4j/session/SessionImplTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jitsi/otr4j/HEAD/src/test/java/net/java/otr4j/session/SessionImplTest.java --------------------------------------------------------------------------------