Compliance status for jabber.org

65%
Specifications compliant


Server is running Prosody 0.12 nightly build 226 (2024-10-26, c228f1ffb7b3)

Results

RFC 6121: Roster Versioning
XEP-0215: External Service Discovery (STUN)
XEP-0215: External Service Discovery (TURN)
XEP-0153: vCard-Based Avatar (MUC)
XEP-0045: Multi-User Chat
XEP-0065: SOCKS5 Bytestreams (Proxy)
XEP-0115: Entity Capabilities
XEP-0160: Best Practices for Handling Offline Messages
XEP-0163: Personal Eventing Protocol
XEP-0191: Blocking Command
XEP-0198: Stream Management
XEP-0280: Message Carbons
XEP-0313: Message Archive Management
XEP-0313: Message Archive Management (Multi-User Chat)
XEP-0352: Client State Indication
XEP-0357: Push Notifications
XEP-0363: HTTP File Upload
XEP-0368: SRV records for XMPP over TLS
XEP-0384: OMEMO Encryption
XEP-0398: User Avatar to vCard-Based Avatars Conversion
XEP-0402: PEP Native Bookmarks
XEP-0421: Anonymous unique occupant identifiers for MUCs
XEP-0490: Message Displayed Synchronization

Results for informational tests

XEP-0157: Contact Addresses for XMPP Services (Abuse)
XEP-0077: In-Band Registration
XEP-0156: Discovering Alternative XMPP Connection Methods (HTTP)
XEP-0280: Message Carbons - Recommended Rules
XEP-0313: Message Archive Management (extended usage)
XEP-0363: HTTP File Upload (CORS Headers)
Tests last ran 10 hours ago

NOTE: If you are the server admin/maintainer, click on the failing tests to get some help for passing those tests

Subscribe to periodic reports for this server

Subscribing to results for jabber.org

Add badge to your website



<a href='https://compliance.conversations.im/server/jabber.org'><img src='https://compliance.conversations.im/badge/jabber.org'></a>
×

For XEP-0156: Discovering Alternative XMPP Connection Methods (HTTP)* :

This test is about letting web clients hosted on different domains connect to your server. If you don’t want this just ignore this test.

There are two parts to this. The web client needs to discover possible endpoints (Websocket or BOSH) and that discovery file needs to have proper CORS headers set for the browser to be allowed to request the file.

And finally the endpoints themselves need to be properly setup (and in the case of BOSH have CORS headers).

Both mod_bosh and mod_websocket have config parameters called cross_domain_bosh and cross_domain_websocket respectively that need to be set to true.

Only one of host-meta and host-meta.json is required to pass this test. However it is recommended to create both.

To pass this test the host-meta files should additionally have Access-Control-Allow-Origin: * response header so that the file contents can be read by web clients.

Nginx: Example code to add to server block:

location /.well-known/host-meta {
    default_type 'application/xrd+xml';
    add_header Access-Control-Allow-Origin '*' always;
}

location /.well-known/host-meta.json {
    default_type 'application/jrd+json';
    add_header Access-Control-Allow-Origin '*' always;
}

Apache: Example code to add to conf/httpd.conf file:

<Location ~ "/\.well-known/host-meta(\.json)?">
    Header set Access-Control-Allow-Origin "*"
</Location>

If you're using the built-in Prosody web server, you can instead load the community module mod_http_altconnect, which creates the needed files automatically.

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0398: User Avatar to vCard-Based Avatars Conversion* :

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0198: Stream Management* :

  • Make sure your server is v0.8+
  • Enable the community module mod_smacks

Note: This module does not come with default prosody installation. However, it can be set up by adding a community module. To learn about how to install a community module, go to installing modules documentation

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0352: Client State Indication* :

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0077: In-Band Registration* :

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0215: External Service Discovery (TURN)* :

There is no all-in-one Prosody module for this but you should be able to setup a TURN server and announce it via external service discovery.

One possible TURN server is coturn. Once coturn is properly setup with a shared secret you can use mod_turncredentials to give XMPP users access to that TURN server.

For more details see Using Prosody with coturn.

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0215: External Service Discovery (STUN)* :

There is no all-in-one Prosody module for this but you should be able to setup a STUN server and announce it via external service discovery.

One possible STUN server is coturn. Once coturn is properly setup with a shared secret you can use mod_turncredentials to give XMPP users access to that STUN server.

For more details see Using Prosody with coturn.

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0357: Push Notifications* :

Note: This module does not come with default prosody installation. However, it can be set up by adding a community module. To learn about how to install a community module, go to installing modules documentation

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0313: Message Archive Management* :

  • Make sure your server is v0.10+
  • Enable the core module mod_mam

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0115: Entity Capabilities* :

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0153: vCard-Based Avatar (MUC)* :

Troubleshooting

This test may fail if the tester does not have permission to create rooms on your server. Check your policy with the restrict_room_creation setting.

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For RFC 6121: Roster Versioning* :

  • Make sure your server is v0.4+
  • Enable the core module mod_roster

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0160: Best Practices for Handling Offline Messages* :

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0363: HTTP File Upload (CORS Headers)* :

If you are using mod_http_upload just make sure you are using the latest version. If you are using http_upload_external you should make sure that the script adds appropriate CORS headers.

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0280: Message Carbons* :

  • Make sure your server is v0.10+ and enable the core module mod_carbons
  • Older versions of Prosody (v0.8+) may use the community mod_carbons

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0313: Message Archive Management (Multi-User Chat)* :

  • Prosody 0.11
    • Enable mod_muc_mam
    • As shown in the documentation, add a modules_enabled with this module just after the MUC Component line in your configuration
  • Prosody 0.10
    • Add the community module mod_mam_muc.
    • As shown in the documentation, add a modules_enabled with this module just after the MUC Component line in your configuration
    • To learn about how to install a community module, go to installing modules documentation

Troubleshooting

This test may fail if the tester does not have permission to create rooms on your server. Check your policy with the restrict_room_creation setting.

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0045: Multi-User Chat* :

  • Make sure your server is v0.3+
  • Follow the instructions at chat room documentation
  • If your chat rooms are not located directly as a subdomain of the server's primary domain, you should add a disco_items option to your virtual host that contains the domain of your MUC component.

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0384: OMEMO Encryption* :

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0065: SOCKS5 Bytestreams (Proxy)* :

  • Make sure your server is v0.7+
  • Enable the core module mod_proxy65
  • If your proxy is not located directly as a subdomain of the server's primary domain, you should add a disco_items option.

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0363: HTTP File Upload* :

  • Make sure your server has v0.9+
  • Add the community module mod_http_upload or mod_http_upload_external
  • Follow the instructions from the module documentation to set up HTTP upload server
  • If your upload component is not located directly as a subdomain of the server's primary domain, you should add a disco_items option to your virtual host that contains the domain of your upload component.

Note: This module does not come with default prosody installation. However, it can be set up by adding a community module. To learn about how to install a community module, go to installing modules documentation

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0163: Personal Eventing Protocol* :

  • Make sure your server is v0.5+
  • Enable the core module mod_pep .

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0368: SRV records for XMPP over TLS* :

  • Set legacy_ssl_ports = { 5223 } (or choose another port) in your config file, above any VirtualHost or Component definitions
  • Add _xmpps-client._tcp SRV records to your DNS for this port, see Prosody DNS documentation

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0157: Contact Addresses for XMPP Services (Abuse)* :

  • Make sure your server is using prosody version v0.10+
  • Follow the instructions for mod_server_contact_info to add a contact_info = { ... } block to your prosody configuration.

Note: This module was migrated from a community module to a core module in 0.10

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0402: PEP Native Bookmarks* :

Note: These instructions are valid only for this particular server, because of the software running on it.

×

For XEP-0191: Blocking Command* :

  • Make sure your server is v0.10+ and enable the core module mod_blocklist
  • If you have an older version of Prosody (v0.7+), enable the community module mod_blocking

Note: These instructions are valid only for this particular server, because of the software running on it.