From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 84BE6139694 for ; Sat, 18 Mar 2017 20:45:57 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C366321C08A; Sat, 18 Mar 2017 20:45:56 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 9106721C08A for ; Sat, 18 Mar 2017 20:45:55 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 1A4A6341236 for ; Sat, 18 Mar 2017 20:45:54 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 87D816CDA for ; Sat, 18 Mar 2017 20:45:52 +0000 (UTC) From: "Vadim A. Misbakh-Soloviov" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Vadim A. Misbakh-Soloviov" Message-ID: <1489869943.c14e7592f39ee16494713f5469e42c91b22e0d2b.mva@gentoo> Subject: [gentoo-commits] proj/lua:master commit in: net-im/prosody/files/, net-im/prosody/, net-im/prosody-modules/ X-VCS-Repository: proj/lua X-VCS-Files: net-im/prosody-modules/metadata.xml net-im/prosody-modules/prosody-modules-9999.ebuild net-im/prosody/files/prosody.initd net-im/prosody/prosody-9999.ebuild X-VCS-Directories: net-im/prosody-modules/ net-im/prosody/ net-im/prosody/files/ X-VCS-Committer: mva X-VCS-Committer-Name: Vadim A. Misbakh-Soloviov X-VCS-Revision: c14e7592f39ee16494713f5469e42c91b22e0d2b X-VCS-Branch: master Date: Sat, 18 Mar 2017 20:45:52 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 2e2c9033-6865-4daa-99b7-bb090e98f670 X-Archives-Hash: 367ad6270eca023abf49888789d3e260 commit: c14e7592f39ee16494713f5469e42c91b22e0d2b Author: Vadim A. Misbakh-Soloviov mva name> AuthorDate: Sat Mar 18 20:45:43 2017 +0000 Commit: Vadim A. Misbakh-Soloviov mva name> CommitDate: Sat Mar 18 20:45:43 2017 +0000 URL: https://gitweb.gentoo.org/proj/lua.git/commit/?id=c14e7592 prosody{,-modules}: bump net-im/prosody-modules/metadata.xml | 53 +++++++++++------ net-im/prosody-modules/prosody-modules-9999.ebuild | 68 ++++++++++++---------- net-im/prosody/files/prosody.initd | 4 +- net-im/prosody/prosody-9999.ebuild | 44 +++++++++++--- 4 files changed, 111 insertions(+), 58 deletions(-) diff --git a/net-im/prosody-modules/metadata.xml b/net-im/prosody-modules/metadata.xml index 22925c8..db5d515 100644 --- a/net-im/prosody-modules/metadata.xml +++ b/net-im/prosody-modules/metadata.xml @@ -18,6 +18,7 @@ This module lets server administrators send <presence type="probe"/> to any local user and receive their presence in response, bypassing roster checks. (info: https://modules.prosody.im/mod_admin_probe) This module provides a basic web administration interface. It currently gives you access to Ad-Hoc commands on any virtual host or component that you are set as an administrator for in the Prosody config file. It also provides a live list of all S2S and C2S connections. (info: https://modules.prosody.im/mod_admin_web) This module allows you to set up aliases that alert people who try to contact them or add them to their roster what your actual JID is. This is useful for changing JIDs, or just in the case where you own both example.com and example.net, and want people who contact you@example.com to be alerted to contact you at you@example.net instead. (info: https://modules.prosody.im/mod_alias) + No documentation yet :( (info: https://modules.prosody.im/mod_atom) This module accepts any username and password, which can be useful for testing. (info: https://modules.prosody.im/mod_auth_any) This module implements PKI-style client certificate authentication. You will therefore need your own Certificate Authority. How to set that up is beyond the current scope of this document. (info: https://modules.prosody.im/mod_auth_ccert) To authenticate users, this module does a POST request to a configured URL with a JSON payload. It is not async so requests block the server until answered. (info: https://modules.prosody.im/mod_auth_custom_http) @@ -38,7 +39,7 @@ By default Prosody does not automatically activate/deactivate hosts when they are added to and removed from the configuration. (info: https://modules.prosody.im/mod_auto_activate_hosts) To benchmark mod_storage_internal: (info: https://modules.prosody.im/mod_benchmark_storage) This module implements XEP-0288: Bidirectional Server-to-Server Connections. It allows servers to use a single connection for sending stanzas to each other, instead of two connections (one for stanzas in each direction). (info: https://modules.prosody.im/mod_bidi) - No documentation yet :( (info: https://modules.prosody.im/mod_block_outgoing) + This module blocks all outgoing stanzas from a list of users. (info: https://modules.prosody.im/mod_block_outgoing) On a server with public registration it is usually desirable to prevent registration of certain "reserved" accounts, such as "admin". (info: https://modules.prosody.im/mod_block_registrations) No documentation yet :( (info: https://modules.prosody.im/mod_block_s2s_subscriptions) No documentation yet :( (info: https://modules.prosody.im/mod_block_strangers) @@ -55,21 +56,25 @@ No documentation yet :( (info: https://modules.prosody.im/mod_carbons_copies) This module periodically checks your certificate to see if it is about to expire soon. The time before expiry is printed in the logs. About a week before a certificate expires, reminder messages will be sent to admins. (info: https://modules.prosody.im/mod_checkcerts) XEP-0257 specifies a protocol for clients to store and manage client side certificates. When a client presents a stored client side certificate during the TLS handshake, it can log in without supplying a password (using SASL EXTERNAL). This makes it possible to have multiple devices accessing an account, without any of them needing to know the password, and makes it easier to revoke access for a single device. (info: https://modules.prosody.im/mod_client_certs) - This is an implementation of the server bits of XEP-0357: Push Notifications. It allows clients to register an "app server" which is notified about new messages while the user is offline or disconnected. Implementation of the "app server" is not included1. (info: https://modules.prosody.im/mod_cloud_notify) + This is an implementation of the server bits of XEP-0357: Push Notifications. It allows clients to register an "app server" which is notified about new messages while the user is offline, disconnected or the session is hibernated by mod_smacks. Implementation of the "app server" is not included1. (info: https://modules.prosody.im/mod_cloud_notify) No documentation yet :( (info: https://modules.prosody.im/mod_compact_resource) No documentation yet :( (info: https://modules.prosody.im/mod_compat_bind) This module provides a workaround for servers that do not set the to attribute on stream headers, which is required per RFC6120: (info: https://modules.prosody.im/mod_compat_dialback) Adds compatibility for old clients/libraries attempting to change affiliations and retrieve 'em sending the < http://jabber.org/protocol/muc#owner > xmlns instead of < http://jabber.org/protocol/muc#admin >. (info: https://modules.prosody.im/mod_compat_muc_admin) No documentation yet :( (info: https://modules.prosody.im/mod_compat_vcard) - No documentation yet :( (info: https://modules.prosody.im/mod_component_client) + This module turns Prosody hosts into components of other XMPP servers. (info: https://modules.prosody.im/mod_component_client) This module enables multiple instances of external components to connect at the same time, and does round-robin load-balancing of incoming stanzas. (info: https://modules.prosody.im/mod_component_roundrobin) + While the bandwidth usage of XMPP isn't that much, compressing the data sent to/from your server can give significant benefits to those on slow connections, such as dial-up or mobile networks. Prosody supports compression for client-to-server (if your client supports it) and server-to-server streams using the mod_compression plugin. (info: https://modules.prosody.im/mod_compression) This module sends processing instructions, comments, DTDs and a non predefined entity (defined by the DTD) to the requesting entity. (info: https://modules.prosody.im/mod_conformance_restricted) Note: This module needs updating to the 0.8 storage module API. (info: https://modules.prosody.im/mod_couchdb) This module implements Client State Indication, a way for mobile clients to tell the server that they are sitting in someones pocket and would rather not get some less urgent things pushed to it. (info: https://modules.prosody.im/mod_csi) + Stanzas are queued in a buffer until either an "important" stanza is encountered or the buffer becomes full. Then all queued stanzas are sent at the same time. This way, nothing is lost or reordered while still allowing for power usage savings by not requiring mobile clients to bring up their radio for unimportant stanzas. (info: https://modules.prosody.im/mod_csi_battery_saver) This module implements the google:queue protocol and maps it to mod_csi events. (info: https://modules.prosody.im/mod_csi_compat) + Stanzas are queued in a buffer until either an "important" stanza is encountered or the buffer becomes full. Then all queued stanzas are sent at the same time. This way, nothing is lost or reordered while still allowing for power usage savings by not requiring mobile clients to bring up their radio for unimportant stanzas. (info: https://modules.prosody.im/mod_csi_pump) This module gives HTTP access to prosody’s storage mechanism. It uses normal HTTP verbs and Basic HTTP authentication, so you could call it RESTful if you like buzzwords. (info: https://modules.prosody.im/mod_data_access) This module allows you to add default bookmarks for users. It only kicks in when the user has no existing bookmarks, so users are free to add, change or remove them. (info: https://modules.prosody.im/mod_default_bookmarks) It is possible for the user to supply more than just a username and password when creating an account using mod_register. This module automatically copies over that data to the user's vcard. (info: https://modules.prosody.im/mod_default_vcard) + This module adds "Delayed Delivery"-tags to every message stanza passing the server containing the current time on that server. (info: https://modules.prosody.im/mod_delay) Namespace Delegation is an extension which allows server to delegate some features handling to an entity/component. Typical use case is an external PEP service, but it can be used more generally when your prefered server lack one internal feature and you found an external component which can do it. (info: https://modules.prosody.im/mod_delegation) This module can be used to prevent Prosody from offering TLS on client ports that you specify. This can be useful to work around buggy clients when transport security is not required. (info: https://modules.prosody.im/mod_disable_tls) This Prosody plugin lets you manually override the service discovery items for a host. (info: https://modules.prosody.im/mod_discoitems) @@ -79,7 +84,8 @@ This module adds support for XEP-0215: External Service Discovery, which lets Prosody advertise non-XMPP services. (info: https://modules.prosody.im/mod_extdisco) No documentation yet :( (info: https://modules.prosody.im/mod_fallback_vcard) Some mobile XMPP client developers consider Chat State Notifications to be a waste of power and bandwidth, especially when the user is not actively looking at their device. This module will filter them out while the session is considered inactive. It depends on mod_csi for deciding when to begin and end filtering. (info: https://modules.prosody.im/mod_filter_chatstates) - Note: mod_firewall is in its very early stages. This documentation is liable to change, and some described functionality may be missing, incomplete or contain bugs. Feedback is welcome in the comments section at the bottom of this page. (info: https://modules.prosody.im/mod_firewall) + No documentation yet :( (info: https://modules.prosody.im/mod_filter_words) + Note: mod_firewall is in its very early stages. This documentation is liable to change, and some described functionality may be missing, incomplete or contain bugs. (info: https://modules.prosody.im/mod_firewall) This Prosody plugin adds support for flash socket policies. When connecting with a flash client (from a webpage, not an exe) to prosody the flash client requests for an xml "file" on port 584 or the connecting port (5222 in the case of default xmpp). Responding on port 584 is tricky because it requires root priviliges to set up a socket on a port < 1024. (info: https://modules.prosody.im/mod_flash_policy) This module is an experiment about a more graceful shutdown process. (info: https://modules.prosody.im/mod_graceful_shutdown) mod_groups allows you to insert contacts into users' contact lists. Well mod_group_bookmarks allows you to insert chatrooms into the user's bookmarks. These are fetched by their client and automatically joined when the log in. (info: https://modules.prosody.im/mod_group_bookmarks) @@ -88,14 +94,19 @@ This module allows you to monitor the state of hosts and components in your Prosody server. For example, it will track whether components are connected and (if the component supports it) listen for heartbeats sent by the component to indicate that it is functioning. (info: https://modules.prosody.im/mod_host_status_check) This module integrates with mod_host_status_check to provide heartbeats at regular intervals. (info: https://modules.prosody.im/mod_host_status_heartbeat) No documentation yet :( (info: https://modules.prosody.im/mod_http_altconnect) + This module enforces HTTP Basic authentication across all HTTP endpoints served by Prosody. (info: https://modules.prosody.im/mod_http_authentication) This module generates directory listings when invoked by mod_http_files. See documentation on mod_http_files. (info: https://modules.prosody.im/mod_http_dir_listing) This simple module serves a favicon.ico from prosodys HTTP server and nothing else. (info: https://modules.prosody.im/mod_http_favicon) This module exposes serves over HTTP the information collected by mod_host_status_check and mod_host_status_heartbeat in a convenient format for automated monitoring tools. (info: https://modules.prosody.im/mod_http_host_status_check) - This module produces a list of enabled HTTP "apps" exposed from Prosody at http://example.org:5280/, e.g. mod_http_muc_log, mod_http_files or mod_admin_web. If you think Prosodys default "root" web page (a 404 error usually) is boring, this might be the module for you! :) (info: https://modules.prosody.im/mod_http_index) + No documentation yet :( (info: https://modules.prosody.im/mod_http_hostaliases) + This module produces a list of enabled HTTP "apps" exposed from Prosody at http://example.org:5280/, e.g. mod_http_muc_log, mod_http_files or mod_admin_web. If you think Prosodys default "root" web page (a 404 error usually) is boring, this might be the module for you! :) (info: https://modules.prosody.im/mod_http_index) No documentation yet :( (info: https://modules.prosody.im/mod_http_logging) This module provides a built-in web interface to view chatroom logs stored by mod_mam_muc. (info: https://modules.prosody.im/mod_http_muc_log) - No documentation yet :( (info: https://modules.prosody.im/mod_http_roster_admin) + This module provides a RESTful method for sending XMPP stanzas. (info: https://modules.prosody.im/mod_http_rest) + NOTE: THIS MODULE IS RELEASED UNDER THE MOZILLA PUBLIC LICENSE VERSION 2. (info: https://modules.prosody.im/mod_http_roster_admin) + This module provides a streaming interface to Prosodys internal statistics via Server-sent events. (info: https://modules.prosody.im/mod_http_stats_stream) This module implements XEP-0363, which lets clients upload files over HTTP. (info: https://modules.prosody.im/mod_http_upload) + This module implements XEP-0363, which lets clients upload files over HTTP to an external web server. (info: https://modules.prosody.im/mod_http_upload_external) No documentation yet :( (info: https://modules.prosody.im/mod_http_user_count) This module adds XEP-0319 idle tags to presence stanzas containing XEP-0012: Last Activity tags for idle indication (e.g. supported by libpurple clients). It works on outgoing and incoming presence stanzas. (info: https://modules.prosody.im/mod_idlecompat) This module implements XEP-268. (info: https://modules.prosody.im/mod_incidents_handling) @@ -111,11 +122,11 @@ This module lets you put a per-IP limit on the number of failed authentication attempts. (info: https://modules.prosody.im/mod_limit_auth) On some servers, especially public ones, it is desired to make sure that everyone gets their fair share of system resources (and no more). (info: https://modules.prosody.im/mod_limits) This module lists those users, who haven't used their account in a defined time-frame. (info: https://modules.prosody.im/mod_list_inactive) - No documentation yet :( (info: https://modules.prosody.im/mod_listusers) + This module adds a command to prosodyctl for listing users. (info: https://modules.prosody.im/mod_listusers) Prosody doesn't write IP addresses to its log file by default for privacy reasons (unless debug logging is enabled). (info: https://modules.prosody.im/mod_log_auth) No documentation yet :( (info: https://modules.prosody.im/mod_log_events) This module sends -- MARK -- to the log once per minute. This may be useful to give a sense of how busy the server is or see that logging and timers are still working. (info: https://modules.prosody.im/mod_log_mark) - No documentation yet :( (info: https://modules.prosody.im/mod_log_messages_sql) + This module logs messages to a SQL database. (info: https://modules.prosody.im/mod_log_messages_sql) If you ever wanted to collect statistics on the number of log messages, this is the module for you! (info: https://modules.prosody.im/mod_log_rate) No documentation yet :( (info: https://modules.prosody.im/mod_log_sasl_mech) No documentation yet :( (info: https://modules.prosody.im/mod_log_slow_events) @@ -127,13 +138,16 @@ This module informs users about the XMPP Test day and whether their contacts are affected. For mor info about the test day, see https://stpeter.im/journal/1496.html (info: https://modules.prosody.im/mod_manifesto) This module measures CPU usage and reports using Prosody 0.10 APIs (info: https://modules.prosody.im/mod_measure_cpu) This module measures memory usage and reports using Prosody 0.10 APIs (info: https://modules.prosody.im/mod_measure_memory) + Simple module that collects statistics on message length in bytes, word count and line count. (info: https://modules.prosody.im/mod_measure_message_length) + This module collects statistics from storage operations. (info: https://modules.prosody.im/mod_measure_storage) Often service administrators need to log their users' messages for reasons such as auditing and compliance. This module simply logs user messages to simple text files, which can be easily searched, archived or removed on a regular basis. (info: https://modules.prosody.im/mod_message_logging) This module adds a command to prosodyctl for copying data between storage drivers. (info: https://modules.prosody.im/mod_migrate) mod_motd_sequential is a variant of mod_motd that lets you specify a sequence of MOTD messages instead of a single static one. Each message is only sent once and the module keeps track of who as seen which message. (info: https://modules.prosody.im/mod_motd_sequential) No documentation yet :( (info: https://modules.prosody.im/mod_muc_access_control) One frequent complaint about XMPP chatrooms (MUCs) compared to IRC is the inability for a room admin to ban a user based on their IP address. This is because an XMPP user is not identified on the network by their IP address, only their JID. (info: https://modules.prosody.im/mod_muc_ban_ip) + This module prevents unaffiliated users from sending private messages in chat rooms, unless someone with an affiliation (member, admin etc) messages them first. (info: https://modules.prosody.im/mod_muc_block_pm) Sometimes, especially on public services, you may want to allow people to create their own rooms, but prevent some options from being modified by normal users. (info: https://modules.prosody.im/mod_muc_config_restrict) - No documentation yet :( (info: https://modules.prosody.im/mod_muc_intercom) + This module allows sending a message to another MUC room. (info: https://modules.prosody.im/mod_muc_intercom) This module allows you to control the maximum rate of 'events' in a MUC room. This makes it useful to prevent room floods (whether malicious or accidental). (info: https://modules.prosody.im/mod_muc_limits) This module logs the conversation of chatrooms running on the server to Prosody's data store. To view them you will need a module such as mod_muc_log_http. (info: https://modules.prosody.im/mod_muc_log) This module provides a built-in web interface to view chatroom logs stored by mod_muc_log. (info: https://modules.prosody.im/mod_muc_log_http) @@ -148,6 +162,7 @@ Pastebins are used very often in IM, especially in chat rooms. You have a long log or command output which you need to send to someone over IM, and don't want to fill their message window with it. Put it on a pastebin site, and give them the URL instead, simple. (info: https://modules.prosody.im/mod_pastebin) This module pushes the users nickname and avatar from vCards into PEP, or into vCards from PEP. This allows interop between older clients that use XEP-0153: vCard-Based Avatars to see the avatars of clients that use XEP-0084: User Avatar and vice versa. (info: https://modules.prosody.im/mod_pep_vcard_avatar) Conversations (an XMPP client for Android) is publishing PEP avatars in the webp file format. However Pidgin and other XMPP desktop clients can only show vcard avatars, that are in the PNG file format. This module is the mod_pep_vcard_avatar module extended to also change the avatar file format to PNG. (info: https://modules.prosody.im/mod_pep_vcard_png_avatar) + This module creates stub configuration files for newly activated hosts. (info: https://modules.prosody.im/mod_persisthosts) No documentation yet :( (info: https://modules.prosody.im/mod_pinger) In order to build heuristics for which messages are spam, it is necessary to log as many details as possible about the spammers. This module sends a version and disco query whenever a message is received from a JID to a user it is not subscribed to. The results are printed to Prosody's log file at the 'info' level. Queried full JIDs are not queried again until Prosody restarts. (info: https://modules.prosody.im/mod_poke_strangers) Sometimes it's useful to have different interfaces to access XMPP. (info: https://modules.prosody.im/mod_post_msg) @@ -162,18 +177,19 @@ Server-Sent Events is a simple HTTP/line-based protocol supported in HTML5, making it easy to receive a stream of "events" in realtime using the Javascript EventSource API. (info: https://modules.prosody.im/mod_pubsub_eventsource) This module allows Prosody to fetch Atom and RSS feeds for you, and push new results to subscribers over XMPP. (info: https://modules.prosody.im/mod_pubsub_feeds) This module accepts Github web hooks and publishes them to a local pubsub component for XMPP clients to subscribe to. (info: https://modules.prosody.im/mod_pubsub_github) - This module implements a PubSubHubbub (PuSH) hub, allowing PuSH clients to subscribe to local XMPP Publish-Subscribe nodes stored by mod_pubsub and receive real time updates to feeds. (info: https://modules.prosody.im/mod_pubsub_hub) + This module implements a PubSubHubbub (PuSH) hub, allowing PuSH clients to subscribe to local XMPP Publish-Subscribe nodes stored by mod_pubsub and receive real time updates to feeds. (info: https://modules.prosody.im/mod_pubsub_hub) MQTT is a lightweight binary pubsub protocol suited to embedded devices. This module provides a way for MQTT clients to connect to Prosody and publish or subscribe to local pubsub nodes. (info: https://modules.prosody.im/mod_pubsub_mqtt) No documentation yet :( (info: https://modules.prosody.im/mod_pubsub_pivotaltracker) No documentation yet :( (info: https://modules.prosody.im/mod_pubsub_post) Twitter has an open 'realtime' search API, but it requires polling (within their rate limits). This module allows Prosody to poll for you, and push new results to subscribers over XMPP. (info: https://modules.prosody.im/mod_pubsub_twitter) No documentation yet :( (info: https://modules.prosody.im/mod_query_client_ver) - Sometimes it is useful to get the raw XML logs from clients for debugging purposes, but some clients don't expose this. This command lets you activate this on specific sessions. (info: https://modules.prosody.im/mod_rawdebug) + Sometimes it is useful to get the raw XML logs from clients for debugging purposes, but some clients don't expose this. (info: https://modules.prosody.im/mod_rawdebug) No documentation yet :( (info: https://modules.prosody.im/mod_readonly) - No documentation yet :( (info: https://modules.prosody.im/mod_register_dnsbl) + This module checks the IP address of newly registered users against a DNS block list. If a positive match is found, it gets logged. (info: https://modules.prosody.im/mod_register_dnsbl) This module let's you activate a httpserver interface to handle data from webforms with POST and Base64 encoded JSON. (info: https://modules.prosody.im/mod_register_json) Registration Redirect as explained in the IBR XEP. (info: https://modules.prosody.im/mod_register_redirect) There are various reasons to prefer web registration instead of "in-band" account registration over XMPP. For example the lack of CAPTCHA support in clients and servers. (info: https://modules.prosody.im/mod_register_web) + This module allows to load/unload external components after they have been added/removed to a configuration file. It is necessary to explicitly initiate a reload on Prosody either via prosodyctl reload or config:reload(). (info: https://modules.prosody.im/mod_reload_components) By default Prosody does not reload modules at runtime unless instructed to via one of its admin interfaces. However sometimes you want to easily reload a module to apply new settings when the config changes. (info: https://modules.prosody.im/mod_reload_modules) This module adds support for XEP-0321: Remote Roster Management which is commonly used to allow components such as transports to modify the rosters of local users. (info: https://modules.prosody.im/mod_remote_roster) OTR, "Off The Record", encryption allows clients to encrypt messages such that the server cannot read/modify them. (info: https://modules.prosody.im/mod_require_otr) @@ -194,19 +210,22 @@ No documentation yet :( (info: https://modules.prosody.im/mod_s2s_whitelist) This module is similar to mod_srvinjection but less of an hack. (info: https://modules.prosody.im/mod_s2soutinjection) No documentation yet :( (info: https://modules.prosody.im/mod_saslauth_muc) - This module implements XEP-0233: Domain-Based Service Names in XMPP SASL Negotiation. (info: https://modules.prosody.im/mod_saslname) - This module implements XEP-0258: Security Labels in XMPP. (info: https://modules.prosody.im/mod_seclabels) + This module implements a manual method for advertsing the Kerberos principal name as per XEP-0233. It could be used in conjection with a Kerberos authentication module. (info: https://modules.prosody.im/mod_saslname) + This module implements XEP-0258: Security Labels in XMPP, but not actual policy enforcement. See for example mod_firewall for that. (info: https://modules.prosody.im/mod_seclabels) Sometimes you might run clients without encryption on the same machine or LAN as Prosody - and you want Prosody to treat them as secure (e.g. allowing plaintext authentication) even though they are not encrypted. (info: https://modules.prosody.im/mod_secure_interfaces) - This module implements XEP-0157: Contact Addresses for XMPP Services. (info: https://modules.prosody.im/mod_server_contact_info) + This module lets you advertise various contact addresses for your XMPP service via XEP-0157. (info: https://modules.prosody.im/mod_server_contact_info) This module fetches the current status of configured hosts and/or stanza statistics from mod_stanza_counter. And outputs it in either XML or JSON format. (info: https://modules.prosody.im/mod_server_status) No documentation yet :( (info: https://modules.prosody.im/mod_service_directories) SIFT is a technology to allow clients to filter incoming traffic on the server. This helps save bandwidth, etc. (info: https://modules.prosody.im/mod_sift) By default XMPP is as reliable as your network is. Unfortunately in some cases that is not very reliable - in some network conditions disconnects can be frequent and message loss can occur. (info: https://modules.prosody.im/mod_smacks) + By default mod_smacks sends back error stanzas for every unacked message stanza when the hibernation times out. This leads to "message not delivered" errors displayed in clients. (info: https://modules.prosody.im/mod_smacks_noerror) No documentation yet :( (info: https://modules.prosody.im/mod_smacks_offline) This module provides and SMS gateway component which uses the Clickatell HTTP API to deliver text messages. See clickatell.com for details on their services. Note that at present, this is entirely one way: replies will either go nowhere or as sms to the source number you specify. (info: https://modules.prosody.im/mod_sms_clickatell) + This module is a very basic implementation of XEP-0377: Spam Reporting. (info: https://modules.prosody.im/mod_spam_reporting) This Prosody plugin lets you manually override SRV records used for a remote host. (info: https://modules.prosody.im/mod_srvinjection) No documentation yet :( (info: https://modules.prosody.im/mod_sslv3_warn) This module counts incoming and outgoing stanzas from when the instance started, and makes the data available to other modules by creating a global prosody. object (info: https://modules.prosody.im/mod_stanza_counter) + This module logs the full stanzas that are sent and received into debug logs, for debugging purposes. (info: https://modules.prosody.im/mod_stanzadebug) No documentation yet :( (info: https://modules.prosody.im/mod_statistics) No documentation yet :( (info: https://modules.prosody.im/mod_statistics_auth) No documentation yet :( (info: https://modules.prosody.im/mod_statistics_cputotal) @@ -231,10 +250,10 @@ It happens occasionally that I would like to use the XMPP server as a generic proxy for connecting to another service. It is especially awkward in some environments, and impossible in (for example) Javascript inside a web browser. (info: https://modules.prosody.im/mod_tcpproxy) This module adds two commands to the telnet console, c2s:showtls() and s2s:showtls(). These commands shows TLS parameters, such as ciphers and key agreement protocols, of all c2s or s2s connections. (info: https://modules.prosody.im/mod_telnet_tlsinfo) For most people 'presence' (status changes) of contacts make up most of the traffic received by their client. However much of the time it is not essential to have highly accurate presence information. (info: https://modules.prosody.im/mod_throttle_presence) - This module limits the rate of outgoing unsolicited messages. A message counts as "unsolicited" if the receiving user hasn't added the sending user to their roster. (info: https://modules.prosody.im/mod_throttle_unsolicited) + This module limits the rate of outgoing unsolicited messages from local clients. Optionally, unsolicited messages coming in from remote servers may be limited per s2s conneciton. A message counts as "unsolicited" if the receiving user hasn't added the sending user to their roster. (info: https://modules.prosody.im/mod_throttle_unsolicited) This module arose from discussions at the XMPP Summit about enforcing better ciphers in TLS. It may seem attractive to disallow some insecure ciphers or require forward secrecy, but doing this at the TLS level would the user with an unhelpful "Encryption failed" message. This module does this enforcing at the application level, allowing better error messages. (info: https://modules.prosody.im/mod_tls_policy) This module attempts to keep track of what MUC chat rooms users have joined. It's not very useful on its own, but can be used by other modules to influence decisions. (info: https://modules.prosody.im/mod_track_muc_joins) - No documentation yet :( (info: https://modules.prosody.im/mod_turncredentials) + XEP-0215 implementation for time-limited TURN credentials. (info: https://modules.prosody.im/mod_turncredentials) Twitter has simple API to use, so I tried to deal with it via Prosody. I didn't manage to finish this module, but it is nice example of component that accepts registrations, unregistrations, does HTTP polling and so on. Maybe someone will finnish this idea. (info: https://modules.prosody.im/mod_twitter) This module simply responds to a presence probe sent to the server with a presence staza containing a timestamp from when the server started. (info: https://modules.prosody.im/mod_uptime_presence) Basic implementation of XEP-0055: Jabber Search. (info: https://modules.prosody.im/mod_vjud) diff --git a/net-im/prosody-modules/prosody-modules-9999.ebuild b/net-im/prosody-modules/prosody-modules-9999.ebuild index 676002e..61105b6 100644 --- a/net-im/prosody-modules/prosody-modules-9999.ebuild +++ b/net-im/prosody-modules/prosody-modules-9999.ebuild @@ -17,7 +17,7 @@ IUSE="misc luajit" PROSODY_MODULES=" addressing adhoc_account_management adhoc_blacklist admin_blocklist - admin_message admin_probe admin_web alias auth_any auth_ccert + admin_message admin_probe admin_web alias atom auth_any auth_ccert auth_custom_http auth_dovecot auth_external auth_ha1 auth_http_async auth_imap auth_internal_yubikey auth_joomla auth_ldap auth_ldap2 auth_pam auth_phpbb3 auth_sql auth_wordpress auto_accept_subscriptions @@ -27,39 +27,43 @@ PROSODY_MODULES=" c2s_conn_throttle c2s_limit_sessions candy captcha_registration carbons carbons_adhoc carbons_copies checkcerts client_certs cloud_notify compact_resource compat_bind compat_dialback compat_muc_admin - compat_vcard component_client component_roundrobin - conformance_restricted couchdb csi csi_compat data_access - default_bookmarks default_vcard delegation disable_tls discoitems dwd - e2e_policy email_pass extdisco fallback_vcard filter_chatstates firewall - flash_policy graceful_shutdown group_bookmarks host_blacklist host_guard - host_status_check host_status_heartbeat http_altconnect http_dir_listing - http_favicon http_host_status_check http_index http_logging http_muc_log - http_roster_admin http_upload http_user_count idlecompat - incidents_handling inotify_reload invite ipcheck isolate_host jid_prep - json_streams lastlog latex lib_ldap limit_auth limits list_inactive - listusers log_auth log_events log_mark log_messages_sql log_rate - log_sasl_mech log_slow_events mam mam_adhoc mam_archive mam_muc mamsub - manifesto measure_cpu measure_memory message_logging migrate - motd_sequential muc_access_control muc_ban_ip muc_config_restrict + compat_vcard component_client component_roundrobin compression + conformance_restricted couchdb csi csi_battery_saver csi_compat csi_pump + data_access default_bookmarks default_vcard delay delegation disable_tls + discoitems dwd e2e_policy email_pass extdisco fallback_vcard + filter_chatstates filter_words firewall flash_policy graceful_shutdown + group_bookmarks host_blacklist host_guard host_status_check + host_status_heartbeat http_altconnect http_authentication + http_dir_listing http_favicon http_host_status_check http_hostaliases + http_index http_logging http_muc_log http_rest http_roster_admin + http_stats_stream http_upload http_upload_external http_user_count + idlecompat incidents_handling inotify_reload invite ipcheck isolate_host + jid_prep json_streams lastlog latex lib_ldap limit_auth limits + list_inactive listusers log_auth log_events log_mark log_messages_sql + log_rate log_sasl_mech log_slow_events mam mam_adhoc mam_archive mam_muc + mamsub manifesto measure_cpu measure_memory measure_message_length + measure_storage message_logging migrate motd_sequential + muc_access_control muc_ban_ip muc_block_pm muc_config_restrict muc_intercom muc_limits muc_log muc_log_http muc_restrict_rooms munin net_dovecotauth offline_email onhold onions openid password_policy - pastebin pep_vcard_avatar pep_vcard_png_avatar pinger poke_strangers - post_msg presence_cache presence_dedup privacy_lists private_adhoc - privilege proctitle profile proxy65_whitelist pubsub_eventsource - pubsub_feeds pubsub_github pubsub_hub pubsub_mqtt pubsub_pivotaltracker - pubsub_post pubsub_twitter query_client_ver rawdebug readonly - register_dnsbl register_json register_redirect register_web - reload_modules remote_roster require_otr roster_allinall roster_command - s2s_auth_compat s2s_auth_dane s2s_auth_fingerprint s2s_auth_monkeysphere - s2s_auth_samecert s2s_blacklist s2s_idle_timeout s2s_keepalive - s2s_keysize_policy s2s_log_certs s2s_never_encrypt_blacklist - s2s_reload_newcomponent s2s_whitelist s2soutinjection saslauth_muc - saslname seclabels secure_interfaces server_contact_info server_status - service_directories sift smacks smacks_offline sms_clickatell - srvinjection sslv3_warn stanza_counter statistics statistics_auth - statistics_cputotal statistics_mem statistics_statsd statsd - storage_appendmap storage_ejabberdsql_readonly storage_gdbm storage_ldap - storage_lmdb storage_memory storage_mongodb storage_muc_log + pastebin pep_vcard_avatar pep_vcard_png_avatar persisthosts pinger + poke_strangers post_msg presence_cache presence_dedup privacy_lists + private_adhoc privilege proctitle profile proxy65_whitelist + pubsub_eventsource pubsub_feeds pubsub_github pubsub_hub pubsub_mqtt + pubsub_pivotaltracker pubsub_post pubsub_twitter query_client_ver + rawdebug readonly register_dnsbl register_json register_redirect + register_web reload_components reload_modules remote_roster require_otr + roster_allinall roster_command s2s_auth_compat s2s_auth_dane + s2s_auth_fingerprint s2s_auth_monkeysphere s2s_auth_samecert + s2s_blacklist s2s_idle_timeout s2s_keepalive s2s_keysize_policy + s2s_log_certs s2s_never_encrypt_blacklist s2s_reload_newcomponent + s2s_whitelist s2soutinjection saslauth_muc saslname seclabels + secure_interfaces server_contact_info server_status service_directories + sift smacks smacks_noerror smacks_offline sms_clickatell spam_reporting + srvinjection sslv3_warn stanza_counter stanzadebug statistics + statistics_auth statistics_cputotal statistics_mem statistics_statsd + statsd storage_appendmap storage_ejabberdsql_readonly storage_gdbm + storage_ldap storage_lmdb storage_memory storage_mongodb storage_muc_log storage_muconference_readonly storage_multi storage_xmlarchive streamstats strict_https support_contact swedishchef tcpproxy telnet_tlsinfo throttle_presence throttle_unsolicited tls_policy diff --git a/net-im/prosody/files/prosody.initd b/net-im/prosody/files/prosody.initd index 43e6150..9887f98 100644 --- a/net-im/prosody/files/prosody.initd +++ b/net-im/prosody/files/prosody.initd @@ -30,13 +30,13 @@ start() { checkconfig || return 1 ebegin "Starting Prosody XMPP Server" checkpath -q -d -m 0770 -o jabber:jabber /var/run/jabber - start-stop-daemon -S -u ${USER} -x ${COMMAND} -- start &>/dev/null + start-stop-daemon -S -u ${USER} -x ${COMMAND} -- start >/dev/null 2>&1 eend $? } stop() { ebegin "Stopping Prosody XMPP Server" - start-stop-daemon -S -u ${USER} -x ${COMMAND} -- stop &>/dev/null + start-stop-daemon -S -u ${USER} -x ${COMMAND} -- stop >/dev/null 2>&1 eend $? } diff --git a/net-im/prosody/prosody-9999.ebuild b/net-im/prosody/prosody-9999.ebuild index 1799682..adce109 100644 --- a/net-im/prosody/prosody-9999.ebuild +++ b/net-im/prosody/prosody-9999.ebuild @@ -12,12 +12,13 @@ EHG_REPO_URI="http://hg.prosody.im/trunk" LICENSE="MIT" SLOT="0" KEYWORDS="" -IUSE="doc +libevent mysql postgres sqlite +ssl +zlib luajit ipv6 migration" +IUSE="doc +libevent mysql postgres sqlite +ssl +zlib luajit ipv6 migration no-example-certs icu random-getrandom random-openssl" DEPEND=" virtual/lua[luajit=,bit] net-im/jabber-base - >=net-dns/libidn-1.1 + !icu? ( >=net-dns/libidn-1.1 ) + icu? ( dev-libs/icu ) || ( >=dev-libs/openssl-0.9.8z >=dev-libs/openssl-1.0.1j @@ -33,6 +34,10 @@ RDEPEND=" dev-lua/luafilesystem mysql? ( >=dev-lua/luadbi-0.5[mysql] ) postgres? ( >=dev-lua/luadbi-0.5[postgres] ) + random-getrandom? ( + >=sys-kernel/linux-headers-3.17 + >=sys-libs/glibc-2.25 + ) sqlite? ( >=dev-lua/luadbi-0.5[sqlite] ) libevent? ( dev-lua/luaevent ) zlib? ( dev-lua/lua-zlib ) @@ -62,26 +67,51 @@ src_prepare() { src_configure() { local lua=lua; + local myconf=(); + + use no-example-certs && myconf+=("--no-example-certs") + + use icu && myconf+=("--idn-library=icu") + + use random-getrandom && { + ewarn "This build will not be supported by upstream" + ewarn "random-* flags is meant as last resort for containers without /dev/urandom" + + myconf+=("--with-random=getrandom") + } + + use random-openssl && { + ewarn "This build will not be supported by upstream" + ewarn "random-* flags is meant as last resort for containers without /dev/urandom" + + myconf+=("--with-random=openssl") + } use luajit && { - myconf="--lua-suffix=jit" + myconf+=("--lua-suffix=jit") lua=luajit; } # the configure script is handcrafted (and yells at unknown options) # hence do not use 'econf' - ./configure --prefix="/usr" \ + + my_econf() { + echo "./configure ${@}" + ./configure "${@}" + } + + my_econf --prefix="/usr" \ --ostype=linux \ --sysconfdir="${JABBER_ETC}" \ --datadir="${JABBER_SPOOL}" \ - --with-lua-lib=/usr/$(get_libdir) \ --libdir=/usr/$(get_libdir) \ --c-compiler="$(tc-getCC)" --linker="$(tc-getCC)" \ - --cflags="${CFLAGS} -Wall -fPIC -D_GNU_SOURCE" \ + --cflags="${CFLAGS} -Wall -fPIC -std=c99" \ --ldflags="${LDFLAGS} -shared" \ --runwith="${lua}" \ --with-lua-include="$($(tc-getPKG_CONFIG) --variable includedir ${lua})" \ - --require-config "${myconf}" || die "configure failed" + --with-lua-lib="$($(tc-getPKG_CONFIG) --variable libdir ${lua})" \ + --require-config "${myconf[@]}" || die "configure failed" } src_compile() {