README.md (2974B)
1 [DEPRECATED] Compliance Tester for XMPP Servers 2 ================================== 3 4 ### Note: This tool has been deprecated in favour of the new Compliance Tester available on https://github.com/iNPUTmice/caas 5 6 Use this tool to test your XMPP server for compatibility with various compliance suites. 7 8 You can easily mix and match various test cases to compose your own compliance suite or you can use a preexisting compliance suite. 9 10 ## Why compliance? 11 12 XMPP is an extensible and living standard. Requirments shift over time and thus new extensions (called XEPs) get developed. While server implementors usually react quite fast and are able to cater to those needs it's the server operators who don't upgrade to the latest version or don't enable certain features. 13 14 Picking the right extensions to implement or enable isn't always easy. For this reason the XSF has published [XEP-0387 XMPP Compliance Suites 2018](https://xmpp.org/extensions/xep-0387.html) listing the most important extensions to date. 15 16 This tool helps you to asses if your server supports those compliance profiles. It will also test for the slightly more comprehensive *Conversations compliance suite*. [Conversations](https://conversations.im) is the technology leader in mobile XMPP instant messaging and aims to provide its user with an experience that is a par with proprietary instant messaging solutions. 17 18 ## Usage 19 20 Download the compiled [ComplianceTester-0.2.3.jar](https://gultsch.de/files/ComplianceTester-0.2.3.jar) or build with ```mvn package``` (needs Java 8) 21 22 Run with ```java -jar target/ComplianceTester-0.2.3.jar username@domain password``` 23 24 On Java 9+ you need to use ```java --add-modules java.xml.bind -jar target/ComplianceTester-0.2.3.jar …``` instead. 25 26 Example output: 27 ``` 28 Use compliance suite 'Conversations Compliance Suite' to test conversations.im 29 30 running XEP-0115: Entity Capabilities… PASSED 31 running XEP-0163: Personal Eventing Protocol… PASSED 32 running Roster Versioning… PASSED 33 running XEP-0280: Message Carbons… PASSED 34 running XEP-0191: Blocking Command… PASSED 35 running XEP-0045: Multi-User Chat… PASSED 36 running XEP-0198: Stream Management… PASSED 37 running XEP-0313: Message Archive Management… PASSED 38 running XEP-0352: Client State Indication… PASSED 39 running XEP-0363: HTTP File Upload… PASSED 40 running XEP-0065: SOCKS5 Bytestreams (Proxy)… PASSED 41 running XEP-0357: Push Notifications… FAILED 42 passed 11/12 43 44 Conversations Compliance Suite: FAILED 45 ``` 46 47 This tool will save your accounts and passwords into a file called ```accounts.xml```. When you invoke it a second time you can omit the password. 48 49 There is also a very tiny wrapper script called ```runall.sh``` invoking that will run the compliance tester with all known accounts and save the output to ```reports/$servername```. 50 51 ## Online Version 52 53 There is an online version of the ComplianceTester available on [compliance.conversations.im](https://compliance.conversations.im).