|2017-04-13 21:04:53 by Filip Hajny | Files touched by this commit (5) ||
Log message: Update chat/ejabberd to 17.04. Make the Redis support unconditional (no extra dependencies). Changes in 17.04: Admin - Add more examples on config template - Generate ejabberd lib dir when not available in code server - Set default prefix to /usr/local - Start supervisors after ext_mod - Don't log warning on successful ping reply - New muc_register_nick command Core - Deprecate jlib.erl in favor of misc.erl - Add support for file-based queues - ejabberd_sm: Fix routing of headline and groupchat messages - Fix c2s connection close on demand - Improve overloaded S2S queue processing Databases - Improve Redis related code - Add Redis pool support - Improve logging of Redis errors - Add Redis and SQL as mod_proxy65 RAM backends - Add Redis and SQL as mod_carboncopy RAM backends - Add Redis and SQL as mod_bosh RAM backends - Add Redis and SQL as router RAM backends - Add SQL as mod_muc RAM backend - Remove obsolete Pubsub mnesia migration calls Miscellany - ejabberd_http: Expand @VERSION@ in custom headers - ejabberd_http: Add "custom_headers" option - mod_client_state: Queue stanzas of each full JID - mod_http_upload: Don't add "Server" header line - Pubsub: Refactor pubsub's get_last_items - Pubsub: Fix PEP issues
|2017-03-30 16:50:06 by Filip Hajny | Files touched by this commit (5) ||
Log message: Update chat/ejabberd to 17.03. Major improvements - New modular code allows to develop modules for a wide scope of functionalities without patching the core code such as C2S, S2S and router - Now 'From' and 'To' arguments must be omitted in functions and structures related to routing - Ejabberd used to store all in-memory shared data such as ACLs, proxy65, sessions, routes, clustering, etc in internal Mnesia database and this used to be hardcoded. With new API it's now possible to store such data in any database. However, currently only Mnesia backend is supported. - Dynamic configuration reload allows to reload modules, database connections, listeners, ACLs and global options without restarting ejabberd - Spam protection allows to block packets from non-subscribers - S2S dialback is now an optional module Developer - tools/hook_deps.sh: checks hook dependencies - tools/find-outdated-deps.pl: checks which dependences need update - Mark as deprecated add/get_local/global_option config functions - Change routing API Core - Fix some corner cases while re-reading RFC6120 - Attach IP metadata to every stanza received from stream - Apply SASLprep before storing/converting passwords - Send compressed in correct order - Reset XML stream before sending SASL success - Speedup features list when a lot of virtual hosts configured - Fix s2s_dns_timeout issues - Better handling of IPv6 domains - Rename mod_sm -> mod_stream_mgmt - Don't count resent stanzas - Improve startup procedure, and log startup time - Add more processes to supervision - sm_sql: Avoid PID collisions Admin - Add 'supervisor' listening option - Accept "add_commands: admin" in commands section - Make sure that api_permissions always have "console commands" section - Change name of pam dep from p1_pam to epam - Improve compilation with rebar3 - Add TLS support for external components - Specify "ExecReload" command in systemd unit - Don't attempt to resolve _jabber._tcp SRV record - Improve error reporting for forbidden servers - mod_block_strangers: New module to block packets from non-subscribers - mod_register: Report password change in the log - Remove relict mod_service_log - Remove unused mod_ip_blacklist - Remove ejabberd_frontend_socket - WebAdmin: improve formatting when showing erlang terms - Import from Prosody: Fix import of SCRAM passwords, offline API & Commands - get_last now always returns tuple with UTC XEP-0082 and status - Protect users from delete_old_users command using a fixed access rule - Separate list of strings with \n for srg_get_info in mod_http_api - Support non-JID lines in command create_rooms_file - stop_all_connections now stops all s2s connections via supervisor calls - Support scrammed passwords in ejabberdctl import_prosody Configuration - Provide example mod_http_api configuration with couple commands - Clarify new modules usage in the example config - Don't crash on malformed IP addresses - Fix parsing of acl/access rules inside oauth sections of api_permissions Config reload improvements - Start/stop auth modules when host is added/deleted - Improve modules start/stop procedures - Check result of gen_mod:start/2 callback - Improve reload_config admin command - Invalidate access permissions on configuration reload - Start/stop virtual hosts when reloading configuration file - Reload modules when reloading configuration file - Restart listeners on configuration reload - Make sure all hooks are called with proper host Databases - Add missing NOT NULL restrictions in schemas - Move archive tables into lite.sql for better comparison with other schemas - Implement database backend interface for mod_proxy65 - Implement database backend interface for MUC, BOSH and auth_anonyous - Implement database backend interface for ejabberd_router - Propagate the TRANSACTION_TIMEOUT to pgsql driver New XMPP stream behavior - Reflect cyrsasl API changes in remaining code - Improve return values in cyrsasl API - More refactoring on session management - Add xmpp_stream_out behavior and rewrite s2s/SM code - Rewrite ejabberd_service to use new XMPP stream API MAM & offline storage - Make a message is not bounced if it's archived - Archive message before delivering it to offline storage - Include stanza ID with archived offline messages - Add stanza-id to every archived message PubSub - Avoid orphan_item leak on affiliation/subscription removal - Fix pubsub SQL schemas, add NOT NULL restrictions - Fix last item cache for multiple hosts Server to server - Several improvements of S2S errors logging - Resolve all addresses from SRV lookup - Add s2s work-around for gmail.com
|2017-01-21 21:20:33 by Filip Hajny | Files touched by this commit (4) ||
Log message: Update chat/ejabberd to 17.01 Most relevant changes: Admin - Add example api_permissions: definition to config template - Allow old-stype mod_vcard_ldap in the config - Fix migration of old pubsub database (migrating from 2.1.x) - Get nodes from ejabberd_cluster instead of mnesia - mod_configure: Fix configuration commands Core - Fix case clauses when using compression - Set from/to in every routed packet - Correctly process errors from new cyrsasl API - Improve return values in cyrsasl API Modules - mod_http_bind: remove and migration code to mod_bosh - mod_muc: Allow a subscriber to create room, then set allow_subscription=true - mod_muc: Support legacy muc#roomconfig values - mod_offline: Decode message before checking for expiration Mnesia - Let ejabberd_mnesia handles copy_type - Fix index processing - Speedup table setup, no i/o if EJABBERD_SCHEMA_PATH not set SQL - Add SSL support for SQL connections with PostgreSQL 1.1.2+ - Cope with malformed values in 'rosterusers' SQL table - Improve tag insertion, avoid duplication
|2017-01-03 19:52:33 by Filip Hajny | Files touched by this commit (4) ||
Log message: Update chat/ejabberd to 16.12. API / integration - New API permissions framework Commands - Add configurable weight for ejabberd commands - add_rosteritem: Support several groups separated by ; - create_rooms_file: Fix reading room jids from file - delete_old_messages: Fix command for SQL backends - send_message: Don't duplicate the message - Remove obsolete remove_node command (use leave_cluster) - Fix reload_config - Cleanup mod_admin_extra, add few functions - Expose unregister API command Core XMPP - New BOSH module - Use fxml_gen XML generator - Use our new stand-alone XMPP library instead of jlib.erl - Don't let MAM messages go into offline storage - Add xdata generator for XMPP data form - Get rid of excessive (io)list_to_binary/1 calls HTTP - Add authentication support to mod_http_fileserver - ejabberd_http: Handle missing POST data gracefully - Use inets instead of lhttpc in http_p1 - Add http_p1.erl, rest.erl, and oauth2 ReST backend for OAuth2 tokens MUC - Create room on configuration request as per XEP-0045, 10.1.3 - Ensure that presence_broadcast room option is stored - Fix conference disco#items when running multiple virtual hosts - Fix Result Set Management (RSM) for conference disco#items - Introduce muc_invite hook - Make the constant MAX_ROOMS_DISCOITEMS configurable - mod_carboncopy: Don't copy MUC private messages MUC/Sub - Store the flag "Allow Subscription" room option in database - When getting list of subscribed rooms, also check temporary ones - Add password support in muc_subscribe - When unsubscribes, check if room should get closed Pubsub - Enforce pubsub node removal - Relational databases support - Append ; to privacy_list_data exporting lines - Improve relational database import Build - Make build system compatible with rebar3 - Produce ejabberd.service and fix for systemd usage - Cleanup ext_mod and fix compilation path - Fix compilation of external module with new xmpp lib
|2016-10-02 14:17:40 by Filip Hajny | Files touched by this commit (4) ||
Log message: Update chat/ejabberd to 16.09. New XMPP Extension support - Support for XEP-0355 - Namespace Delegation - Support for XEP-0356 - Privileged Entity Elixir support - Support for Elixir-based configuration files MUC/Sub - Add a new request to list MUC room subscribers - Link MUC subscription to bare JID - New commands unsubscribe_room and unsubscribe_room for MUC subscriptions management through API - Fix nick-to-jid mapping for MUC subscribers - Fix subscribed rooms list retrieval - Fix message routing from subscribers - Do not update muc_online_users table on MUC/Sub operations MUC - Support multiple JIDs in room invitations - Create room on configuration request as per XEP-0045, 10.1.3 PubSub - Add SQL support for microblogging node plugin - Fix publish with subscriber publish model and SQL backend - node_mb: Call node_pep instead of node_hometree Stream Management - New Stream Management option: ack_timeout - Fix Stream Management feature for the websocket connections - Cancel timer when waiting for resumption MAM and Offline - Don't store messages of type "headline" - Simplify "assume_mam_usage" option - Honor hint for any non-"error" message - Store announcements for offline users Database - Session backend: fix clean Redis table - mod_shared_roster: Support SQL backend ejabberdctcl admin tool - ejabberdctl: do not force access rules check on register command - ejabberdctl: do not force command line to pass a credential - New commands unsubscribe_room and unsubscribe_room for MUC subscriptions management - New command create_room_with_opts to create room with custom config ejabberd API - New commands unsubscribe_room and unsubscribe_room for MUC subscriptions management - New command create_room_with_opts to create room with custom config - Add X-Admin and basic auth header to CORS allowed headers in http_api - Properly process OPTIONS header in http_api for all paths - Expand parsing of JSON input to be able to handle update_roster command - Provide proper args_desc in oauth_issue_token command Developer features: ejabberd Hooks - Add hooks c2s_session_pending, c2s_session_resumed, store_offline_message, store_mam_message - Add CSI user's JID argument to csi_filter_stanza and csi_flush_queue hooks - Add functions to get/set some c2s #state elements from external modules - mod_client_state: Let other modules filter stanzas - rework c2s API to simplify push modules integration
|2016-08-12 12:27:27 by Filip Hajny | Files touched by this commit (4) ||
Log message: Update chat/ejabberd to 16.08. ejabberd 16.08 MUC - New MUC/Sub support - Add 'allow_subscription' room configuration option for MUC/Sub OAuth and ReST API - Add OAUTH SQL backend - New special scope: ejabberd:admin and ejabberd:user, to more easily grant group of privileges - Add DB backend support for ejabberd_oauth - Added ejabberdctl commands to manage OAuth tokens: oauth_issue_token, oauth_list_tokens, oauth_list_scopes, oauth_revoke_token - Simplified OAuth form: username and password merged into JID field - User configurable validity duration for tokens on OAuth token generation form - Add support for sending back missing scope error to API ReST command calls - Oauth: several minor fixes - Support oauth password grant type, to generate token programmatically Elixir support - Update supported Elixir version to 1.2 and 1.3. - Support installation of Elixir contributions with external module command line tool. PubSub - Fix use of like parameter in sql pubsub's requests - Fix node configuration change with sql backends - Fix send_last_items duplication with multi-plugin setup MAM - Always limit result set page size - Use hooks instead of direct calls API - Add support for checking access rules conformance for commands - Add support for rich error reporting for API - Add support for sending back missing scope error to API ReST command calls - Fix handling of complex values as arguments in http_api - Improve error handling Other improvements - External Component Connection Hooks - Fix compilation issues on R19 - Support for OpenSSL 1.1 - Make access rules in ejabberd_web_admin configurable - Make modules loading in a dependent order (#1191) - Make s2s stats commands more robust - Preserve PID for offline sessions - Several quoting fixes for PostgreSQL - Switch supervised workers from temporary to transient ejabberd 16.06 Config - New ACL infrastructure - Add shorter version of some common access rules definitions - Allow @ inside acl rules user, user_glob or user_regexp to pass both user and server in single string - Add acl rule access_rules_validator and shaper_rules_validator for use in mod_opt_type and opt_type callback functions. - Allow using shapers defined by name like in s2s_shaper: fast - Allow mod_opt_type and opt_type to transform values passed to it, and support better error reporting - Do not call transform_terms multiple times in configuration processing when merging them - Don't halt program when include_config_file is missing/can't be read - Allow again multiple fqdn values in configuration Commands - Allow passing username and ip to ejabberd_commands, and use it in mod_http_api - Fix path to epmd in ejabberdctl - push_roster: must convert read strings to binaries - set_presence: Fix command API - Fix for modules_update_specs command - Add ejabberdctl commands to manage oauth tokens. Core - Bounce messages sent to server JID - Fix C2S session leak in rare cases - Fix handling of queued stanzas on session timeout - Give more time to stop and kill epmd - When stopping ejabberd, stop modules after broadcasting c2s shutdown - XEP-0198: Use different error message for bounces - XEP-0198: Add 'h' attribute to element - XEP-0198: Also count stanzas when socket is closed Databases - Fix pgsql compatibility on delete_old_messages command - Handle Redis connection in a separate module - Report in SQL when scram is enabled but the stored password isn't - Update SQL escaping - Use MEDIUMTEXT type for muc_room.opts in MySQL schema MAM - Send unique stanza id and archived tag also in the message carbons - Fix "assume_mam_usage: if_enabled" - Fix typo in mod_mam:select() - Updated support of XEP-0313 from version 0.4 to 0.5.1 - Mnesia: Avoid cleanup on bag when disc_only, switch in memory - Mnesia: Don't exceed table size limit - Mnesia: Use transactions when writing Client State Indication - Fix handling of chat states - Simplify check for carbon-copied chat states - Simplify handling of PEP stanzas - Pass chat states of other resources - Unwrap carbon copies when checking for chat states - Add queue_pep option - Queue chat state notifications - Move CSI queue handling code from ejabberd_c2s - When stopping, delete only the configured hooks Other modules - ext_mod: Set HTTP/1.0 so Github accepts the request - gen_mod: Compile early to remove undefined behaviour warning - mod_http_upload: Let client retry HTTP upload on file size mismatch - mod_last: Produce mod_last entry on account creation - mod_muc_room: Notify on affiliation changes - mod_register: Check password with jid:resourceprep when registering account - mod_roster: respect roster item changes introduced with roster_process_item hooks upon pushing - PubSub: Fix PubSub RSM on get_items - PubSub: Add support for PubSub publishing options - PEP: Fix sender in case of explicit pep subscriptions - ejabberd_xmlrpc: Report error when conversion of argument type fails
|2016-06-08 12:16:57 by Jonathan Perkin | Files touched by this commit (89)|
Log message: Remove the stability entity, it has no meaning outside of an official context.
|2016-06-08 12:02:27 by Jonathan Perkin | Files touched by this commit (44)|
Log message: Change the service_bundle name to "export" to reduce diffs between the original manifest.xml file and the output from "svccfg export".