summaryrefslogtreecommitdiff
path: root/chat/ejabberd/PLIST
AgeCommit message (Collapse)AuthorFilesLines
2018-07-20chat/ejabberd: Update to 18.06.fhajny1-10/+3
Admin - Stop ejabberd initialization on invalid/unknown options - Add new options for OOM watchdog: oom_watermark and oom_queue - Add ability to modify version string - Add option ext_api_headers to define REST API custom headers - Fix Erlang limits in ejabberdctl.cfg.example to reflect current situation - Make trusted_proxied ejabberd_http option accept ip masks - Teach acl ip matching about ipv4 mapped ipv6 addresses - Removed watchdog_admins option from config, as has no effect anymore - Improve logging of external authentication failures - ejabberd_auth: Don't use cache if the option is disabled - Make connected_users_info and user_sessions_info DB-agnostic Core - Support SASL PLAIN by xmpp_stream_out - Add Resource Binding support to xmpp_stream_out - Improve robustness of external authentication backends - Don't use 'unsupported-version' inside SM element - Generate SASL failures on unencrypted connections only for s2s - Fix reset_stream in websocket using pre-rfc protocol - Don't crash in bosh when we receive request with RID < prev_rid - Get rid of all calls to jlib.erl module - Support IPv6 connections for PostgreSQL, MySQL and LDAP - Fix authentication for usernames containing uppercase characters - Optimize HTTP requests memory usage - PKIX: Just warn instead of ignore a certificate containing no domain names - PKIX: Don't replace valid certificates with invalid ones Modules - Log modules startup - mod_disco: Advertise disco#info and disco#items features - mod_irc: is moved away from ejabberd repo to ejabberd-contrib - mod_mam: Don't replace existing stanza ID - HTTP upload: Generate HTTP Upload form using xdata codec - HTTP upload: Improve error formatting - HTTP upload: Return detailed error if HTTP upload is too large MUC - Always display room's xdata in disco#info - Display muc#roomconfig_changesubject in room's disco#info - Render roomname, allowinvites and allowpm in room disco#info - Support for roomconfig_lang/roominfo_lang - mod_muc_sql: Fix export to SQL Push - Omit summary for outgoing messages - Further improve handling of carbons - Also include sender/body for carbons - Include a static body text by default - keepalive: Increase default timeout to 3 days - SQL: Check 'max_user_sessions' limit
2018-05-17chat/ejabberd: Update to 18.04.fhajny1-1/+1
- Don't produce a crash dump during intentional exit - ejabberdctl: fix parameter parsing - New hook 'component_send_packet' for sending packet from component - gen_mod: Carefully validate options list - gen_mod: Support global module processes - gen_mod: Remove frontend process support - gen_mod: Don't crash on invalid module's sub-options - config: move section about direct-tls for c2s just under regular c2s config - fast_tls: Clear cache on configuration reload - http: Add support for PATCH http method - mod_client_state: Add 'csi_activity' hook - mod_http_upload: Accept characters of any script - mod_http_upload: Add MIME type for M4A files - mod_mam: Add commands for cleaning up archives for a given user - mod_muc: Let a MUC room to route presences from its bare JID - mod_muc: Introduce new mod_muc option: access_register - mod_muc_room: Add stubs for affiliation-specific backend callbacks - mod_muc_log: Fix Code format when logging a MUC room kick/ban - mod_multicast: Improved - mod_push: New options include_sender and include_body - mod_push: Don't notify on stream errors - mod_push_keepalive: Reset timeout on messages only - mod_roster: Use 'lserver' for configuration lookup - mod_vcard_ldap: Fix returning value from mod_vcard_ldap's search() callback - mod_pubsub: Fix notification payload generated by pubsub - mod_pubsub: Improve pubsub#itemreply implementation - mod_pubsub: PubSub purge_node must use a transaction - Utils: Use httpc directly instead of using p1_http wrapper - Rest: Add flexibility on rest url config - SystemMonitors: Get rid of useless memory/disk usage warnings - WebSocket: Pass access option from websocket to c2s
2018-03-28chat/ejabberd: Update to 18.03.fhajny1-4/+2
Admin - Avoid logging IP addresses in mod_register when it's not desired - Command 'reload-config' allows to reload certificates - Get rid of 'fs' package dependency - Improve log message when module startup has failed - mod_muc_admin: New command get_room_affiliation - prosody2ejabberd: Report meaningful error when luerl is not available Configure - Accept atoms in api_permission command lists and commands with numbers in them - Validate additional listen opts: inet, inet6, backlog - Remove 'iqdisc' option - New option –enable-group=xxx - New option 'negotiation_timeout' - New option 'new_sql_schema' - New option 'validate_stream' - ejabberd_service: New option 'global_routes' for - mod_avatar: New 'rate_limit' option - mod_block_strangers: New 'access' option - mod_block_strangers: New 'captcha' option - mod_pubsub: New option 'force_node_config' Miscelanea - Simplify ejabberd_sup code - New gen_mod mod_options/1 callback to provide known options and defaults - Replace ?MYLANG with connection's language wherever possible - sql/*: Add username to peer indexes - cyrsasl: Simplify code for splitting auth string in cyrsasl - ejabberd_auth: Cache 'isuser' queries to external auth program - ejabberd_web_admin: Hardcode required ACL rules - mod_admin_extra: Command check_password_hash supports all hash methods - mod_admin_extra: Fix srg_get_info command with @all@ and @online@ - mod_avatar: Fulfill all requirements of XEP-0398 v0.2.0 - mod_avatar: Improve validation of 'convert' option - mod_block_strangers: Bounce groupchat to bare JID - mod_block_strangers: Fix a typo in call to create_captcha() - mod_caps: Only store CAPS if contact is subscribed - mod_carboncopy: Copy outgoing MUC PMs - mod_mam: Really run use_cache/1 and cache_nodes/1 callbacks - mod_pubsub: Remove items of unregistered user - mod_push_keepalive: Preserve timeout on resumption - mod_shared_roster: Try to fix ejabberd_c2s:process_info: got unexpected info - mod_shared_roster_ldap: Fix processing of ldap_memberattr_format_re option - mod_stream_mgmt: Abort connection on count error - mod_stream_mgmt: Clean up on timed out resumption
2018-01-03Update chat/ejabberd to 17.12.fhajny1-343/+344
pkgsrc - Change installation home for Erlang libs to prevent build conflicts with previous versions that may be present on the system, as encountered by @gdt. Core - Rewrite ejabberd system monitor for efficiency - Fix incoming XMPP processing order - Use xmpp:try_subtag/2 wherever possible - Better process subtag decoding errors - Only allow compression after SASL as per XEP-0170 - Don't crash on unexpected XML events - Fix session mnesia table cleanup - Don't let privacy list prevent local roster update Encryption - Rely on Server Name Indication for incoming Direct-TLS connections - Speedup certificate chains creation and validation - Log warning on empty wildcard paths - Don't call pkix_is_self_signed/1 too frequently - Eat less memory during building certificates graph - Avoid infinite loop between self-signed certs - Fix function clause on filelib:wildcard/1 - Use ejabberd_pkix API in mod_sip - Move 'certfile' based options in a single place Groupchat - Don't crash on malformed IQ - Include x tag in presence errors related to nick change - Include 110 status on shutdown - Improve muc#roominfo and muc#roomconfig forms - mod_mam: Never store MUC messages in user archives PubSub - Fix num_subscribers on node metadata - Fix send last items on initial presence - Send last PEP items to owner on initial presence - Support pubsub#publish-options PRECONDITIONs - Add pubsub#multi-items to features list (Support XEP-0060 v1.14) - Add missing Nidx building records from sql result - Don't force RSM in get_items when max_items is not provided Admin - Introduce option 'ca_file' - Set executable permission on mac_listener when installing - Use /bin/sh as the explicit shell when using su in ejabberdctl. - Windows does not have /tmp, fallback to $HOME/conf for ODBC configuration files Logging - Change loglevel of TLS failures - Log a warning when a disk is almost full - Disable default alarm handler - Handle also process_memory_high_watermark alarm - Kill and restart lager when it's overloaded - Avoid excessive logging of SQL failures Commands - New muc_online_room_by_regex command - Fix race between join_cluster and ejabberd_mnesia - Fix commands rooms_unused_list and _destroy - send_direct_invitations accepts only user jids - ejabberd_sm: Fix get_session_sid/3 SQL - Add missing server_host column in pg.new.sql - Add new schema for MySQL and Sqlite - Fix SQL serialization Installer - MacOS installer is signed. You can now easily install ejabberd on your Mac. Build - Compile sql_pt early - Binary installer uses OTP 20.2
2017-12-14Update chat/ejabberd to 17.11.fhajny1-1/+27
New features - ACME Support - Introduce 'certfiles' global option - Use new API for IQ routing Admin - Omit "ProtectSystem" option from systemd unit - Log warnings for c2s/s2s certfile option - Log a message when a user gets registered - ejabberdctl: Fix 'read' syntax for non-bash shells - Fix renew_certificates ejabberdctl command - Unregister commands when stopping node only if it's last one - Halt ejabberd if the top supervisor fails to start Build - Avoid badarg error when running get-deps before ./configure has created src/ejabberd.app - Fix sed invocation that was incompatible with FreeBSD's sed - Makefile.in: Fix "make clean && make" - Improve --enable-system-deps - Install binaries with 755 permissions - Install eimp binary with +x attribute - Remove find-outdated-deps script, we have better replacement for it Databases - Allow export command regardless of the configured db_type - Add SQL_INSERT macro and update SQL queries to use server_host field - Update SQL archive index to match mysql.sql - mod_muc: Use correct table field name in sql query MAM - Always strip stanza IDs - Announce support for stanza IDs - Don't store from 'sm_receive_packet' hook - Fix mod_mam reloading - Ignore non-message stanzas earlier - Improve handling of forked messages - Make sure a stanza ID is always added - Make sure archived message isn't bounced - Prepare version 0.6.1 of XEP-0313 (MAM) support MUC - Properly store subject element - Resend presences and history if presence possesses x MUC element - Send presence-unavailable when expulsing a participant - Add mucsub event for subscribers list changes - Optimize muc subscriptions handling - Show real jid in mucsub subscription change events PubSub - Add basic PubSub meta-data support - Rewrite pubsub export to sql - Cleanup tree requests, rename pubsub_node.type to pubsub_node.plugin - Fix select_type race on plugin_init - Implement parentnodes seek for hometree - Delete cached item on node removal - Fix delete item from unregistered user - Cleanup pubsub subscriptions quering, fix pep case - PEP services must send notifications to the account owner Push - Avoid notification duplicates - Add support for SQL storage - Add export from Mnesia database to SQL file - Don't store xdata() in Mnesia table - Simplify backend interface
2017-10-17Update chat/ejabberd to 17.09.fhajny1-1/+3
Admin - Harden ejabberdctl - Fix ejabberdctl quoting when using iex - Call earlier deps configure scripts during compilation - Fix iexdebug and iexlive commands - Quote $PEER in ping command to avoid hostnames containing "-" being interpreted as arithmetic - Docker: Sync containers from rroemhild and add instructions in README - Use eimp instead of ImageMagick calls for thumbnails creation - Add forgotten caching options to the validator - Fix 'make install' to work with new output from rebar list-deps - Rewrite muc_register_nick and muc_unregister_nick to be DB independent - WebAdmin: Fix deletion of multiple offline messages Encryption - Add support for XEP-0368 in outgoing s2s: SRV records for XMPP over TLS - Deprecate s2s_use_starttls: required_trusted - Don't attempt to access(2) a certificate file - Let 'domain_certfile' take higher precedence instead of s2s_certfile or c2s_certfile Databases - mysql.sql: Use multi-column index on username/ID - Use forked repo of Riak Erlang client to support OTP20 Modules - mod_avatar: New module with support for legacy and modern clients - mod_block_strangers: Introduce option 'allow_transports' - mod_block_strangers: Block messages from strangers before mod_mam/mod_offline processing - mod_http_upload: Don't ignore 'custom_headers' - mod_muc: Improve presence-error and unavailable of multi-session occupants - mod_multicast: Fix start and reading of configured limits - mod_mam: Simplify check for anon MUC JID filtering - mod_mam: Refuse filtering anon MUC queries by JID - mod_privacy: Explicitly match against - mod_register: Introduce 'redirect_url' option - mod_stream_mgmt: Delete 'c2s_init' hook - mod_vcard_xupdate: Also replace vcard-x-update in direct presences PubSub - Fix get_items/get_item calls - Add correct order when requesting all items - Implement '6.5.7 Requesting the Most Recent Items' - Fix RSM support on SQL - Add RSM support on mnesia - Fix node_options: default options only apply on first plugin - Broadcast updated node configuration - Enforce controls on publish and delete items Miscelanea - Preserve correct order of deserialized XML elements - Suppress push notifications for online clients - Extract strings and prepare translation files works again
2017-08-20Update chat/ejabberd to 17.08.fhajny1-1/+5
Core - Erlang/OTP 17.5 or higher is required, and 20 is now supported - Make ejabberd_cluster modular - Replace gen_fsm with p1_fsm to avoid warnings in OTP20+ - Fix clustering table reg_users_counter - ext_mod: Update spec from custom and allow modules dependencies - extauth.py: Fix to support : in passwords - Set high water mark in lager for all backends - Fix old route record in mnesia’s route table haven’t been remove when restarting in some cases - ejabberd_cluster*.erl: Add copyright and fix description - Add support of rfc6120 section 4.9.3.16 on node shutdown Configuration - ejabberd_c2s: Fix priority of ‘certfile’ option - Introduce ‘hosts’ modules option - Fix ERLANG_OPTS, INET_DIST_INTERFACE and FIREWALL_WINDOW option - Remove unused ‘managers’ option, related to the deferred XEP-0321 Commands - Fix errors when running ejabberdctl as root - Fix set_presence command to work in recent ejabberd - Rename stop_all_connections to stop_s2s_connections for consistency - Change policy of user_resources command, from user to admin - Remove old command calling interface - Describe more command arguments and results Modules - mod_http_api: Use hide_sensitive_log_data option when registering users - mod_http_fileserver: Request basic auth dialog from browser - mod_muc: Fix nick bug with MUC on riak - mod_muc: new hooks - mod_push: Support XEP-0357: Push Notifications - mod_push_keepalive: New module PubSub/PEP - Keep disco#info on PEP compatible with XEP-0060 - Preliminary export PubSub data from Mnesia tables to SQL file - Fix PubSub send last published items - Fix PEP node removal - Fix PEP node identity - Fix disco#items on PEP service - Fix getting cached last item - Add import of PEP from prosody
2017-07-07Update chat/ejabberd to 17.07.fhajny1-8/+11
Version 17.07 ============= Core - Close accepted socket if sockname/peername has failed. Version 17.06 ============= New features - The new cache system is also a new component that allows fine tuning of ejabberd performance for either small systems or large scale servers. - Certificate Manager is a feature that has been requested by many organisations, allowing administrators to manage their certificate more easily - Riak support for several modules API - Deprecate misc:encode_base64/1 and misc:decode_base64/1 - Rename is_user_exists function to user_exists - Allow api access on both ipv4 and 6 loopback addresses - Fix invalid argument in get_messages_susbset Admin - Refactor ejabberdctl - Improve ejabberdctl parameters parsing - Quote all paths to allow spaces in directory names - update-deps-releases.pl: Show operations to perform before asking to apply them - Fix Salt import from prosody SCRAMmed password Configuration - Validate module options on start_module/2 - Validate new options before module reloading - Validate second-level options - Introduce iqdisc global option - stream_management listen option deprecated, use mod_stream_mgmt - Check presence of some files during option validation - Speedup configuration options lookup - Validate all certfiles on startup - Only validate certfiles if public_key:short_name_hash/1 is available - Introduce Certficate Manager Commands - Add clear_cache admin command - Parse correctly presence_broadcast option in change_room_option command - Describe command arguments and results in mod_muc_admin - Improve export2sql explanation; remove obsolete and duplicated command - Fix and document push_roster_all command - Fix mod_muc_admin command set_room_affiliation - Fix invalid {args,result}_examples in mod_muc_admin - Fix srg_user_add/del for non-Mnesia database backends - Make ext_mod api return rescode Compilation - Erlang 17.5 or higher is required - Add --enable-system-deps configure option - Add --enable-stun and --enable-sip configure options Core - Speedup Mnesia tables initialization - Improve Mnesia tables creation and transformation - Improve ejabberd_c2s:close() - ejabberd_c2s: Don’t close session on stream resume - Speedup loading of translation files - Fix ejabberd_router:is_my_route/1 - Don’t let a receiver crash if a controller is unavailable - Fix OTP-17.5 support - websocket: Catch exception that may happen when sending data over websocket Databases - New sql_connect_timeout option - New sql_query_timeout option - Get rid of sql_queries.erl - Use round-robin algorithm when selecting worker from DB pool - Add Riak as BOSH RAM backend - Add Riak as mod_proxy65 RAM backend - Add Riak as mod_carboncopy RAM backend - Add Riak as router RAM backend - Add Riak as session manager RAM backend - Fix cleaning of Riak route table - Add pubsub import from prosody/metronome - Fix username in mam export - Fix Salt import from prosody SCRAMmed password - In offline export to SQL, first write all DELETE, later all INSERT Cache - Implement cache for mod_announce - Implement cache for mod_private - Implement cache for mod_privacy/mod_blocking - Implement cache for mod_last - Implement cache for mod_vcard and mod_vcard_xupdate - Implement cache for roster - Add cache options to the validator - Use cache for authentication backends - Use new cache API in mod_shared_roster_ldap - Use new cache API in ejabberd_oauth - Use new cache API in mod_mam - Use new cache API in mod_caps - Use cache in front of Redis/SQL RAM backends Modules - mod_http_upload: Add support for HTTP File Upload 0.3.0 - mod_mam: Added export function - mod_metrics: Don’t leak with UDP sockets - mod_metrics: New options ip and port - mod_muc: Allow a room admin to un/subscribe another JID - mod_offline: Don’t store messages via a single process - mod_offline: Make sure only jabber:x:event tag is present in offline event - mod_register: New option ‘access_remove’ ACL - mod_stream_mgmt: Preserve stanza count on timeout - mod_vcard_ldap: Parse ldap_uids like in eldap_utils - mod_client_state: Reset state on session resume - mod_metrics: Fix IP address parsing - mod_pubsub: Avoid useless calls on simples subscriptions - mod_block_strangers: Add allow_local_users option Elixir - Update elixir to v1.4.4
2017-04-13Update chat/ejabberd to 17.04.fhajny1-1/+11
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-30Update chat/ejabberd to 17.03.fhajny1-5/+13
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-21Update chat/ejabberd to 17.01fhajny1-3/+1
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-03Update chat/ejabberd to 16.12.fhajny1-6/+9
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-02Update chat/ejabberd to 16.09.fhajny1-1/+5
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-12Update chat/ejabberd to 16.08.fhajny1-1/+5
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-04-29Update chat/ejabberd to 16.04.fhajny1-15/+67
API Commands - Add API versionning - Changed error handling, based on exception - ejabberd Command bugfixes - Accept commands: add_commands syntax (along commands: – add_commands) - Fix mod_muc_admin:get_room_options and set_room_affiliation - mod_http_api: support 'open' ejabberd commands Databases - Split modules DB specific code into separate modules - Rename "odbc" to "sql" everywhere - Rename "internal" auth to "mnesia" - Improve detection of databases supported by modules - Switch to varchar(64) in mysql user.server/salt as text can't have default values - 'serverkey' and 'salt' should have empty string as default XMPP - Drop headline messages sent to offline resources - Don't omit bounces for messages of type "result" - Match namespace when checking for chat states - Fix check for standalone chat state notifications - Disable TLS compression for s2s by default - Make sure that ejabberd_sm sid are unique - Send stream trailer at the very end of the processing - Generate shorted jid for anonymous connections - Fix anonymous SASL auth ejabberdctl - Add option to migration script to delete data from a table after they have been successfully moved to SQL database: ejabberdctl delete_mnesia example.org - Remove useless variable and quote EPMD and SPOOL_DIR - Fix node ping command - Use UUID for ctl node name - Remove --auth in ejabberd_ctl.erl as it's useless, still useful for mod_rest - Force ERL_PATH for Elixir console Pubsub - Fix use of pubsub node plugin when configured with default_node_config - Set default value for pubsub#itemreply option - Add subscribe/unsubscribe hooks Internal - Add mod_mam header file - Replace ?ERR_* macros with ?ERRT_* - change mod_ping Timers using maps instead of dict Dependencies - Update p1_utils to 1.0.4: Adds p1_time_compat:unique_timestamp() - Update fast_tls to 1.0.3: Prevent buffer overflows and allocation failures - Update stringprep to 1.0.3: Fix compilation on Windows and error message - Update stun to 1.0.3: Use fast_tls 1.0.3 - Update esip to 1.0.4: Use fast_tls 1.0.3
2016-04-25Update chat/ejabberd to 16.03.fhajny1-1/+9
16.03 ===== Protocols - mod_mix: Experimental support for MIX (XEP-0369) - mod_http_upload: Add support for XEP-0363 v0.2 Core - Use SASL PLAIN authzid as client identity if auth module permits it - Make auto generated resources shorter - Start ezlib only if required, as it's optional - Make it possible to get virtual host of a registered route LDAP improvements - Fix issue getting shared roster - Do not call to deprected/undefined functions from mod_shared_roster_ldap - Proper naming for LDAP test function for shared roster SQL databases support - New parse transform for SQL queries, use prepare/execute calls with Postgres - Support for run-time SQL queries selection depending on DBMS version - In SQL files create Users table with SCRAM support by default - Do not auto append IP suffix to usernames - Fix some LIMIT related problems with MSSQL - Update Microsoft SQL Server schema Riak - Add support for Riak authentication - Fix is_connected/0 function - Keep alive Riak connections by default API and Commands - Add support for ReST admin commands that are only restricted by source IP. This is key for easy integration with other backend using ReST API. - Fix add_commands and remove_commands options - Pass noauth when auth isn't provided - Improve ban_account command to work with other DBs than Mnesia - Escape quoting node name for ejabberdctl ping - Bare JID in 'from' of Roster Push (RFC 6121 section 2.1.6) in mod_admin_extra - Fix result type of "connected_users_info" command - New command delete_mnesia deletes all tables that can be exported. This is useful after you have migrated to another backend, like SQL. PubSub - Unregister route at the very end - Define PubSub node configuration per route/host explicitly - Fix config fetch and pubsub disco after host/serverhost cleanup Admin and build chain - Update OTP release to use R17.5 and drop release 17.1 - Compile ejabberd_config early to stop undefined behaviour warnings - Fix start via systemd - Fixed type specifications for 'rebar doc' - Specify lacking nodename in ejabberdctl Dependencies - Update p1_pgsql to 1.1.0: This add support for prepared statements. - Uptate fast_yaml to 1.0.3: This improves the error reporting on syntax errors in Yaml configuration file. - Use the v0.2 release of luerl instead of a commit. Test framework - Add Coveralls support - Add ability to run the ejabberd test suite in a modular way. You can now run the test suite, even if you only have a a single backend locally. Other - mod_mam: Don't store watchdog notifications in MAM archives - mod_multicast: Fix Addresses element which lacked others local destinations - mod_offline: Mark get_queue_length obsolete, and use count_offline_messages - Update Gallician translation 16.02 ===== New XMPP Extensions support - New Flexible Offline Message Retrieval (XEP-0013) support Admin - New migration script from Prosody to ejabberd - Fix --disable-debug compilation flag - don't escape ERL_OPTIONS - Two new global timeouts configurable: c2s_hibernate, receiver_hibernate - Make it possible to define sm_db_type per virtual host - configuration checker: Describe option type in code for domain_balancing option - Log failed SQL requests - Include mod_muc.hrl and fix records - mod_http_upload: Expand docroot before using it, also expand @HOST@ Commands - New import_prosody command - Start documenting arguments in mod_admin_extra commands - We added a way to get all ejabberd_commands, not only those that was registered - Allow to pass \n in argument to ejabberdctl - Add error handling to send_stanza command - Fix format_result so get_room_options command works again after commit reference aa5caa3 Dependencies - lager is the default (and only) logging module and we removed p1_logger - Handle spaces in vsn attribute of app file when installing deps - Renamed dependencies and modules for consistency but also to reflect huge performance gains: . p1_iconv -> iconv . p1_stringprep -> stringprep . p1_stun -> stun . p1_tls -> fast_tls . p1_yaml -> fast_yaml . p1_zlib -> ezlib Message Archive Management - Advertise MUC MAM v0.4.1 in room JID's disco#info - Add "delete_old_mam_messages" admin command - Add 'from' attribute to tag - Add "request_activates_archiving" option - Respond to form requests - Support XEP-0313 v0.2 MUC archive queries - Check whether MUC message is desired - Reject -based paging - Limit result set page size - Sort messages returned by Mnesia - Strip existing JID tags from MUC messages - Expose MUC occupant JID in more cases - Don't let outcasts access MUC archive - Send new preferences when they are set - Stream management (XEP-0198): Let MAM take care of pending messages GroupChat - Send presence with code 170 in initial presence from MUC - Add most status codes only to initial MUC presence - mod_muc_room: Don't expose JIDs in anonymous rooms - mod_muc_room: Let members see admin/owner JIDs PubSub - Fix presence-based delivery - Make caps warning less confusing - Fix host/serverhost usage - Add support of pubsub#itemreply=publisher Other - Accept stream compression request after SASL - Make C2S session establishment optional to better conform to XMPP specifications and still be friendly with older clients. - MUC: new regexp_room_id option to limit possible room names. - ODBC: Set utf8mb4 charset on MySQL connection to support emoji storage as default. - LDAP: Improve LDAP shared roster support. - mod_register_web: Allow setting host when deleting account or changing password. - Rename timestamp_to_iso functions in jlib. - Stream management (XEP-0198): Fix session timeout corner case. - Several improvements in Elixir support. - Updated many translations. - Improve web admin stylesheet to fix rendering issues in some browsers.
2016-01-16Update chat/ejabberd to 16.01fhajny1-219/+222
Security - Improve Dialback Key Generation and Validation support (XEP-0185) - More generally, improve random number generator to avoid timing / guessing attacks on any random value. Database - Use BLOB instead of TEXT on mysql in stanza storage - Use UTF8MB4 character set in MySQL tables - Make Riak working on Erlang R18 MAM - Use stanza-id tags for deduplication - Advertise MAM in disco info for account/room JID - Improve MUC support - Don't store resent messages - Do not forget to include xmlns in mam prefs response (#859) - Honor Message Processing Hints (XEP-0334) MUC - Add support for muc#roomconfig_presencebroadcast option - Only filter rooms in Service Disco when more than 100 (EJAB-343) - List in Service Disco non-empty rooms and provide Node for empty (EJAB-343) - When user joins logged room, he must be warned (EJAB-726) Pubsub - Fix pubsub virtual nodetree plugin - Use correct notification_type for last items (#827) - PubSub plugin for online users only - Disable use of multi-subscribe and subscription-option on standard plugins - Limit number of subscriptions per node and allow custom default node configuration - Don't force max_items_node to MAXITEMS if not defined - Don't read pubsub options when plugin does not use them Elixir - Upgrade Elixir to v1.1.0 Admin - Add plugin for passing extra erl_opts flags to deps, and use it for hipe - Add --enable-latest-deps to configure - Remove "--enable-nif" flag - New send_stanza command - ejabberdctl: new --no-timout flag - ejabberdctl: Don't let "reopen_log" rotate files (EJAB-1243) - ejabberdctl: Improve escaping of arguments passed to ejabberdctl - OpenSSL minimum required version: raised from 0.9.8 to 1.0.0 Config - New option accept_interval in ejabberd_listener - Webadmin console visual refresh (EJAB-1142) - If mod_register access_from is 'none', then don't advertise IBR (#857) - Fix handling of some options in old style configs - Fix parsing option trusted_proxies - Fix ipv6 configuration processing (#803) - ejabberd_service: simplify configuration: no need for 'hosts', just provide 'password' Cleanup and optimisations - Faster string_to_jid/1 implementation - Move JID related functions from jlib.erl to jid.erl (#847) - Remove usage of erlang's now() - Update dependency name from p1_cache_tab to cache_tab - Use crypto:rand_uniform instead of random:uniform - Fix randoms.erl on R17 that don't have random:seed(integer()) - Faster and more memory efficient XML parsing. - Faster stringprep library. Other changes - ejabberd_http: Cope with large POST/PUT requests - ejabberd_http: Log debug message on receive errors - mod_offline: Discard chat states notifications - mod_offline: Honor store hint - mod_http_upload: various fixes - XEP-0198: Fix stanza counting corner case issue - Adding WEBIRC, custom realname & ident, ISO-8859-15 - Update hebrew translation
2015-11-23Update chat/ejabberd to 15.11.fhajny1-3/+1
- Integrate join/leave cluster as ejabberd command. - Allow longer command execution time.
2015-11-05Update ejabberd to 15.10.fhajny1-366/+221
Switch dependencies to use standalone packages for Erlang modules. Core - c2s: Let stop/1 close XEP-0198 sessions - c2s: Close socket when waiting for resume - s2s: Don't crash on certificates without extensions - xml: Optimizations in memory allocator - OAuth: Fix cyrsasl_oauth:mech_new call Modules - mod_http_upload: New HTTP File Upload module (XEP-0363) - mod_http_upload_quota: New module to support user quotas - mod_metrics: New simple metrics module for use with grapherl - mod_mam: Advertise XEP-0313 v0.4 support in room disco - mod_mam: Avoid MAM dups when routing to multiple resources Compilation - Make: Pass {C,CPP,LD}FLAGS used in main ./configure to deps - Use OTP directory structure for `make install` - mix.lock should be commited to ensure consistent builds - Code cosmetic cleanup Commands - Let modules_update_specs report failures - Fix problem with -auth - Fix unauthenticated calls to commands with policy=user - Improve access_commands option backward compatibility Configuration - ejabberdctl.cfg: New CONTRIB_MODULES_CONF_DIR - Be able to merge old style configs with {listen,...} - Fix support for macros - mod_ping: New option ping_ack_timeout
2015-10-01Update chat/ejabberd to 15.09.fhajny1-5/+26
### Major changes - Added OAuth delegation framework - Preliminary OAuth and HTTP based ejabberd API - X-AUTH2 authentication mechanism, - MAM now can store MUC room - MSSQL: improved schema, simplified config, and fixed support *Note: ejabberd now requires erlang 17.1 or higher* ### Core improvements - New `set_loglevel` admin command to ease changing loglevel. - Configuration: allow to override main config file options with data from included files - Improve S2S certificate checks - Log TLS errors as debug messages only - XEP-0198: new option "max_resume_timeout" - XEP-0198: Improve handling of non-message stanzas - ext_mod: Check external modules configuration on load - ext_mod: Don't override custom configuration on module upgrade - Several Elixir fixes - Updated most translation languages ### Modules improvements - Carbon Copy: Don't copy messages of type "normal" without body - HTTP-Bind: More eye-candy mod_http_bind help page - HTTP-Bind: Nameprep host name passed to http-bind before using in - HTTP-Bind: Set disable caching headers in http-bind responses - HTTP: pass stream management options defined in http listener to http-bind and websocket - MAM: Add XEP-0359 to archived messages - MAM: Add XEP-0313 v0.4 support - MUC commands: Changed argument names in two commands - MUC commands: Fix and document create_rooms_file and destroy_rooms_file - MUC hooks: added muc_filter_presence - MUC hooks: renamed muc_filter_packet to muc_filter_message - MUC logging: check for hint - Multicast: many improvements in the source code - SIP: Do not crash SIP authentication on SCRAMed passwords ### Packaging - Remove bashisms in join_cluster leave_cluster and postinstall scripts - Allow root to run join_cluster and leave_cluster - Allow building an ejabberd release with mix and elixir release manager - Allow installing as root - Fix Debian/Ubuntu package - Rename idna to ejabberd_idna - Improve 'make install' to remove useless failure cases
2015-09-01Update chat/ejabberd to 15.07.fhajny1-4/+2
Message Archive Management (XEP-0313) - Add "complete" attribute to MAM final response - Fix mod_mam compatibility with RSM - Changed mam iq get to set as specified by XEP-0313 v0.3 Modules management - Ensure config snippet is loaded at module installation - Allow contribution to include .yml or .yaml config file - Allow include of simple dependencies Multi User Chat - New API hook: muc_filter_packet - Send notifications on MUC configuration changes - Omit warning message regarding non-anonymous room - During halt only shutdown MUC rooms on local node Pubsub - Allow migration of old pubsub items with old xmlelement structure in body - Trigger PEP notifications on CAPS updates - Check for node subscription of bare JID - Flat is now the default plugin Stream Management (XEP-0198) - Increase timeout during resumption - Increase default "max_ack_queue" value ejabberd Client connection - API change: user_send_packet is now a run_fold hook and pass the c2s State as a parameter. It was already the case in ejabberd 15.06, but it was not mentioned in the changelog, by mistake. So, now, you know :) Admin - Do not rely on behaviour info when doing config validation, so that it can work with ejabberd binary installers - When passwords are scrammed, report check_password_hash cannot work - Fix problem with merging values from multiple config files - If local guide.html file not found, redirect to the online guide - Support RTL page direction in WebAdmin for Hebrew - configure.ac: add AC_CONFIG_MACRO_DIR and static AC_INIT WebAdmin - Don't crash web admin when displaying info about websocket using users Installers
2015-06-29Update chat/ejabberd to 15.06.fhajny1-14/+2
Message archiving - Add support for message archiving in Mnesia or relational databases. Protocol - Document protocol support and version inside each module and use that info in documentation - Remove deprecated XEP-0090 Entity Time and XEP-0091 Delayed Delivery - Don't add body element to MUC subject messages - Do not bounce normal messages sent to unavailable resource Admin command-line tool - Fixed several ejabberd commands - Allow password with ';' passed in ejabberdctl - Improve ejabberdctl external module install code, allows better error checking - New ping ejabberdctl command to check if the node is up and running - New commands for Multi-User chat management: get_room_options and get_user_rooms Configuration - Add config validation at startup - Fix include of non yaml config files - New option hide_sensitive_log_data to hide client IP address in log - New option net_ticktime, to fine tune Erlang cluster networking - New option max_users_presence in mod_muc, to avoid broadcasting presence packet from users after a chat room has reached a given size Elixir - Add correct package version for mix Security - New options to configure your own custom Diffie-Helman parameters: dhfile and s2s_dhfile PubSub - Enforce definition of pubsub node max_items - Fix pubsub/odbc crash on remote user unsubscribe - Fix use of publish_only affiliation with odbc backend Multicast - Pick first local multicast service, otherwise remote Databases - Fix anonymous user login, it wasn't stored in anonymous mnesia table - Fixed some string/binary issues in ejabberd_odbc - PostgreSQL storage: added missing sm (session manager) table Packaging - Microsoft Windows 64 bits installer - Provide RPM and DEB binary packages for linux 64 bits. Clean up - Remove obsolete doc and win32 files
2015-05-04Stop pretending the helper scripts are not Bash scripts. Fix PLIST handlingfhajny1-1/+3
for the non-default sqlite option. Help libiconv linking on some platforms. Bump PKGREVISION.
2015-04-29Update chat/ejabberd to 15.04. Add sqlite option.fhajny1-3/+6
Upstream changes: - R16B03-1 is now the minimal required Erlang/OTP version - SQLite support - Default db_type can be specified with global default_db option - Included mod_muc_admin, mod_admin_extra and mod_multicast modules - Removed ejabberd_http_poll - Pubsub improvements - Better RFC compliance - Several other bugfixes
2015-04-09Update ejabberd to 15.03. Take on maintainership.fhajny1-1/+10
- Add support for WebSocket - Flexible session management with multiple backends: Mnesia/SQL/Redis or custom backend for session manager - Security improvement with SCRAM based password encryption in SQL authentication backends. - Package management for ejabberd contributed modules - Improved Elixir experience - Automatic clustering scripts - Added missing index on database - Important updates on the documentation, with the launch of a new documentation site: docs.ejabberd.im - Several other bugfixes More information on release at https://www.ejabberd.im/node/24818
2015-02-20Update ejabberd to 15.02.fhajny1-2/+17
Enable odbc, mysql and pgsql support unconditionally (no dependency cost). Changes in 15.02: - Add Elixir support, allows to write plugins in Elixir (not enabled in this pkgsrc package) - New command to reload configuration without restart - Support old style erlang expressions in YAML configuration - Improved captcha listener parsing when protocol not specified - Fix upgrade of old unbinarized pubsub table from 2.1 - Minor updates in the documentation - Other bugfixes
2015-01-02Update ejabberd to 14.12.fhajny1-12/+7
ejabberd Community 14.12 includes many bugfixes, and a few new features: - New module mod_client_state implements XEP-0352: Client State Indication - New module mod_fail2ban to ban IPs that show malicious signs - New option store_empty_body in mod_offline - New option disable_sasl_mechanisms - Improve option resend_on_timeout to support if_offline - More robust offline server - Better charset support in XMLRPC - Some PEP issues fixed
2014-10-15Sync PLIST with installation. Bump revision.joerg1-1/+3
2014-07-30Update ejabberd to 14.07.fhajny1-86/+62
* SIP - SIP Outbound (RFC 5626) support - New option always_record_route - New options record_route and routes * Carbon Copy (XEP-0280) - Don't log MUC messages with hint - Don't carbon copy messages with hint - Let is_carbon_copy/1 recognize carbons - Don't send XEP-0280 v1 copies back to sender * Stream Management (XEP-0198) - XEP-0198: Terminate session if stanza queue becomes too large - XEP-0198: Don't exit on socket send failure - XEP-0198: Don't drop session on failed resume - XEP-0198: Check whether routed packets are stanzas * Riak - Riak support * Install and config - New options log_rotate_count, log_rotate_size and log_rate_limit - html guide is now generated when building source tarball - Use p1_utils, and move treap.erl to p1_utils - Get rid of p1_mnesia file - old release notes are not installed anymore - Don't "forget" listener options - Always enable STUN at compile time - Do not check for Erlang apps at configure time - Add --enable-riak configure flag * Tests - Add tests for stream management - Add tests for mod_carboncopy - Add tests for mod_caps - Improve MUC test cases - Travis CI: Enable Riak tests - Add Riak backend to the testing suit - The test suite no longer fails without --enable-transient_supervisors. * MUC - MUC messages with ~ were not logged (EJAB-1696).
2014-05-14Update ejabberd to 14.05.fhajny1-1/+31
Changelog since 13.12: ejabberd now includes support for: - XEP-0198: Stream Management (EJAB-532) - XEP-0321: Remote Roster Management (EJAB-1381) - RFC-3261: SIP proxy/registrar - RFC-5766: TURN: Traversal Using Relays around NAT (EJAB-1017) There are several improvements regarding encryption: - Add option to specify openssl options - Fix extraction of host names from certificates - Fix certificate authentication for incoming s2s connections - Fix handling of certificate verification errors for incoming s2s - Handle “s2s_use_starttls: required_trusted” the same way for outgoing - Support certificate verification for outgoing s2s connections - Check TLS state before requesting SASL EXTERNAL - Log TLS status for outgoing s2s with SASL EXTERNAL - Verify host name before offering SASL EXTERNAL Just to mention other improvements: - New ejabberd command: disconnect_user/2 - New Bash completion script for ejabberdctl, experimental (EJAB-1042) - Don’t provide current password in webinterface - mod_register_web: check same acl as mod_register. - Document and enable mod_carboncopy (XEP-0280) by default - Make it possible to get/set vCards for MUC rooms - Add Travis CI configuration file
2014-03-11Remove example rc.d scripts from PLISTs.jperkin1-2/+1
These are now handled dynamically if INIT_SYSTEM is set to "rc.d", or ignored otherwise.
2014-03-10Update ejabberd to 13.12.fhajny1-56/+57
Changes since 13.10: - New OpenSSL ciphers option in c2s, s2s and s2s_out - mod_roster: new access rule to restrict roster modificartion - mod_pubsub: support for data migration from mnesia to odbc - ejabberd_xmlrpc included - Bugfixes
2013-11-28Update PLIST and bump PKGREVISION; seen in a chrooted pbulk run so I'mdholland1-2/+10
going to assume it changed with the new(ish) Erlang.
2013-10-11Update ejabberd to 13.10.fhajny1-24/+95
Major changes since 2.1.13: * Huge improvements regarding performances * Optimized memory consumption * Clean code representation of xmlel records Release notes (yet?) unavailable, changelog points at bug tracker: https://support.process-one.net/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%3D+EJAB+AND+fixVersion+%3D+%22ejabberd+13.10%22
2013-07-19Update ejabberd to 2.1.13.fhajny1-1/+2
Bugs fixed since 2.1.12: * Compilation: Detect correctly newer Darwin versions (EJAB-1594) * Guide: ejabberd_service expects a shaper_rule, not a shaper * MUC: Handle multiple < and > in mod_muc_log plaintext mode (EJAB-1640) * MUC: Handle ~ control sequence in text of mod_muc_log (EJAB-1639) * MUC: list_to_integer/2 only works in OTP R14 and newer * Pubsub: access_createnode acl also applies to auto created nodes * Web: Normalize HTTP path
2013-05-31Update ejabberd to 2.1.12fhajny1-15/+5
Changes since 2.1.10: * Core ejabberd - Make terms serialization faster - Reduce size of XML stream state * Administration - Add SCRAM and remove MD5 support to ejabberd commands auth verification - Added command to list all the vhosts registered in an ejabberd node - Added export2odbc command, copied from mod_admin_extra.erl - Fix ejabberdctl number of arguments error report with R15 - Check node name is available before starting ejabberd (EJAB-1572) - Fix ejabberd_xmlrpc commands authentication with SCRAM - Fix mod_offline:store_offline_msg argument (EJAB-1581) - Log IP address when auth attempt fails - Make sure update_info returns atoms only (EJAB-1595) - On shutdown, first stop listeners, then modules * Encryption - Detect OpenSSL version at runtime, not at compile time - Fixed signedness issue in tls_drv GET_DESCRYPTED_INPUT (EJAB-1591) - Enable DHE key exchange in TLS driver - Enable ECDHE key exchange in TSL driver - Disable old and unsecure ciphers in TLS driver - Disable SSL 2.0 in TLS driver * HTTP-Bind - Do not trigger item-not-found errors in mod_http_bind - Repeated http-bind request should abort only requests with same rid - Receiving missing request shouldn't close waiting out-ouf-order request * XMPP - Allow multiple fqdn values in configuration (EJAB-1578) - Fix get_subscription_lists/4 - Fix account registration - Send announce Message stanzas as Headline type instead of Normal * Other - Guide: Fix file name of Name Service Switch - Guide: Document the db_type modules option (EJAB-1560) - LDAP: Fix broken JPEG photo (EJAB-1526) - LDAP: Fix compatibility with Erlang R16A (EJAB-1612) - MUC: Fix angle brackets handle in plaintext log (EJAB-1610) - MUC: Fix MUC start when Mnesia tables don't exist yet - MUC: New mod_muc_log option file_permissions (EJAB-1588) - ODBC: Merge SQL and Mnesia code into one module (EJAB-1560) - Translation: New Hebrew - Translation: Update Slovak
2012-09-30Update "ejabberd" package to version 2.1.11. Changes since 2.1.10:tron1-1/+8
- HTTP service - Fix ejabberd_http:get_line - Don't use binary:match to extract lines from binaries - Parse and encode https header names like native http parser does - Parse correctly https request split into multiple packets - Properly handle HEAD request in mod_http_bind (EJAB-1538) - New option default_host for handling requests with ambiguous Host (EJAB-1261) - ODBC - New ODBC support for mod_announce - New ODBC support for mod_blocking - New ODBC support for mod_irc - New ODBC support for mod_muc - New ODBC support for mod_shared_roster - New ODBC support for mod_vcard_xupdate - Add ODBC exporting function for privacy table - Work also with some unicode strings in PgSQL (EJAB-1490) - Replace a single quote with double quotes in an ODBC escape - SSL - Make sure that res is initialized in all cases - Parse correctly https request split into multiple packets (EJAB-1537) - Added missed tls:recv_data/2 - Don't ignore Length parameter in tls:recv - Avoid quadratic behavior in reading SSL data - Dix http_bind webserver TLS fail on Chrome (EJAB-1530) - Miscelanea - Assume we have only one CPU when an auto-detection fails (EJAB-1516) - Auth: Relax digest-uri handling (EJAB-1529) - Caps: Cache caps timestamp before the IQ-request is done - IRC: Use of MUC password - Private: misc errors cases fixes - Pubsub: return user affiliation for a specified node (EJAB-1294) - Shared Roster: Foreign items were not pushed (EJAB-1509) - Shared Roster LDAP: user substitution in ldap_rfilter (EJAB-1555) - Windows: Fix makefile rules for building DLLs
2012-01-07Update ejabberd to 2.1.10.fhajny1-1/+3
Bug fixes: * Erlang/OTP compatibility - Support Erlang/OTP R15B regexp and drivers (EJAB-1521) - Fix modules update in R14B04 and higher - Fix modules update of stripped beams (EJAB-1520) * XMPP Core - Fix presence problem in C2S after first unavailable (EJAB-1466) - Fix bug on S2S shaper when TLS is used - Prevent overload of incoming S2S connections * XEPs - BOSH: Get rid of useless mnesia transaction (EJAB-1502) - MUC: Don't reveal invitee resource when room informs invitor - Privacy: Activate "Blocked Contacts" to current c2s connection (EJAB-1519) - Privacy: Always allow packets from user's server and bare jid (EJAB-1441) - Pubsub: Add hooks for node creation/deletion (EJAB-1470) - Shared Rosters: support groupname@vhost in Displayed Groups (EJAB-506) - Vcard: Fix error when lowercasing some search results (EJAB-1490)
2011-12-21Update ejabberd to 2.1.9.fhajny1-3/+4
Changes: * Core ejabberd - Decrease CPU usage caused by tls:send with large data - Escape iolist correctly when NIFs are disabled (EJAB-1462) - Fix code to satisfy Dialyzer warnings - Fix compilation in Windows - Replace calls of OTP’s Binary, since they would require R14 * LDAP - Document ldap_tls_cacertfile and ldap_tls_depth options (EJAB-1299) - Log an error when an LDAP filter is incorrect (EJAB-1395) - New options: ldap_tls_cacertfile and ldap_tls_depth (EJAB-1299) - New option: ldap_deref_aliases (EJAB-639) - Match ldap_uidattr_format case-insensitively (EJAB-1449) * MUC - Support for multiple entry with same nick to MUC rooms (EJAB-305) - Support voice request and approvement - New room option: allow_private_messages_from_visitors - New room options: allow_voice_requests and voice_request_min_interval - Include status 110 in presence to new occupant (EJAB-740) - Fix mod_muc_log crash when first log entry is room destroy (EJAB-1499) - Many fixes and improvements in mod_muc * Pubsub - Enable pubsub#deliver_notification checking (EJAB-1453) - Fix Denial of Service when user sends malformed publish stanza (EJAB-1498) * ODBC - Fix ODBC account counting (EJAB-1491) - Optimized mod_roster_odbc:get_roster * Miscellanea: - New SASL SCRAM-SHA-1 authentication mechanism (EJAB-1196) - New option: resource_conflict (EJAB-650)
2011-06-11- Fix issue on PubSub preventing publication of items (EJAB-1457)mspo1-1/+2
2011-06-06Updated chat/ejabberd to 2.1.7.fhajny1-1/+15
Small list of changes: 2.1.7 * BOSH: Keep the order of stanzas when BOSH sends several * CAPTCHA in MUC: New whitelist option * CAPTCHA: New captcha_limit option * Core: Disable all entity expansions * Core: Do not accept XML with undefined prefixes * ejabberdctl: New DIST_USE_INTERFACE restricts IP erlang listen * ejabberdctl: New ERL_EPMD_ADDRESS that works since Erlang/OTP R14B03 * extauth: If script crashes, ejabberd should restart it * If a module start fails during server start, stop erlang * mod_blocking: New XEP-0191 Simple Communications Blocking * mod_pres_counter: Prevent subscription flood * mod_register: Access now also controls account unregistrations * mod_shared_roster: Fix support for anonymous accounts in @all@ * mod_shared_roster: New @online@ directive * New Indonesian translation * Pubsub: Apply filtered notification to PEP last items * Pubsub: Owner can delete any items from its own node 2.1.6 * BOSH: Fix rare loop, support vhosts, allow module restart * Config: Default configuration allows registrations only from localhost * Config: Support to change loglevel per module at runtime * Erlang/OTP: Fix compatibility from R10B-9 to R14B01 * ODBC: Compatibility with PostgreSQL 9.0 * Privacy lists: Fix to allow block by group and subscription again * Pubsub: Fix cross domain eventing * Register: Added CAPTCHA, password strength and ip_access to mod_register * Register: New mod_register_web, with CAPTCHA support * S2S: New options to require encryption, and verify certificates * Shared Rosters: Added mod_shared_roster_ldap * Bind listener ports early and start accepting connections later
2010-09-03Updated chat/ejabberd to 2.1.5.fhajny1-1/+4
Short list of changes: * Erlang/OTP R12 support fixed * Erlang/OTP R14A support added * OpenSSL 0.9.8 or higher is required * BOSH: New optional connection attribute process-delay * C2S: Don't ask for client certificate when using tls * C2S: Inform client that SSL session caching is disabled * CTL: Fix problem when FIREWALL_WINDOW options for erl kernel were used * CTL: Some systems delete the lock dir; in such case don't use Flock at all * Caps: Support all the hash functions required by XEP-0115 * Config: Fix typo in --enable-transient_supervisors * Config: New configure option: --enable-nif * Extauth: Support parallel script running * MUC: Allow admins to see private rooms in disco * ODBC: Correct handling of SQL boolean types * ODBC: Discard too old queued requests (the caller has already got a timeout) * ODBC: Fixes wrong SQL escaping when --enable-full-xml is set * ODBC: Use ets insead of asking supervisor in ejabberd_odbc_sup:get_pids/1 * Pubsub: Enforce disco features results * S2S: When logging s2s out connection attempt or success, log if TLS is used * Shared Rosters: When account is deleted, delete also member of stored rosters
2010-06-09Updated chat/ejabberd to 2.1.4.fhajny1-2/+4
Short list of changes: * Bounce messages when closing c2s session * Bugfixes when handling Service Discovery to contacts * Don't send error stanza as reply to error stanza * Don't store blocked messages in offline queue * Extauth: Optionally cache extauth users in mnesia * Full support for XEP-0115 Entity Capabilities v1.5 * HTTP-Bind (BOSH): Remove unneeded 100 ms delay, and export functions to facilitate prebinding methods * LDAP: Inband password change, Extensible match support, and ldap_tls_verify. * Localization: Updated most translations * MUC: Refactor code to reduce calls to get_affiliation and get_role * ODBC: Add created_at column also to PostgreSQL schema * PAM: New option pam_userinfotype to provide username or JID * Pubsub: Send created node notifications. Enforce pubsub#presence_based_delivery, pubsub#show_values * Vcard: Automatic vcard avatar addition in presence * WebAdmin: New Access rule webadmin_view for read-only
2010-03-13Updated chat/ejabberd to 2.1.3.fhajny1-1/+5
Changes in ejabberd-2.1.3 Client connections * Avoid 'invalid' value in iq record * Avoid resending stream:error stanzas on terminate (EJAB-1180) * Close also legacy sessions that were half connected (EJAB-1165) * iq_query_info/1 now returns 'invalid' if XMLNS is invalid * New ejabberd_c2s option support: max_fsm_queue * Rewrite mnesia counter functions to use dirty_update_counter (EJAB-1177) * Run user_receive_packet also when sending offline messages (EJAB-1193) * Use p1_fsm behaviour in c2s FSM (EJAB-1173) Clustering * Fix cluster race condition in route read * New command to set master Mnesia node * Use mnesia:async_dirty when cleaning table from failed node Documentation * Add quotes in documentation of some erl arguments (EJAB-1191) * Add option access_from (EJAB-1187) * Add option max_fsm_queue (EJAB-1185) * Fix documentation installation, no need for executable permission (EJAB-1170) * Fix typo in EJABBERD_BIN_PATH (EJAB-891) * Fix typos in example config comments (EJAB-1192) ejabberdctl * Support concurrent connections with bound connection names * Add support for Jot in ctl and TTY in debug * Support help command names with old - characters * Fix to really use the variable ERL_PROCESSES Erlang compatibility * Don't call queue:filter/2 to keep compatibility with older Erlang versions * Use alternative of file:read_line/1 to not require R13B02 HTTP * Add new debugging hook to the http receiving process * Allow a request_handler to serve a file in root of HTTP HTTP-Bind (BOSH) * Cross-domain HTTP-Bind support (EJAB-1168) * Hibernate http-bind process after handling a request * Reduce verbosity of HTTP Binding log messages LDAP * Document ldap_dn_filter, fetch only needed attributes in search (EJAB-1204) * Use "%u" pattern as default for ldap_uids (EJAB-1203) Localization * Fix German translation (EJAB-1195) * Fix Russian translation ODBC * Fix MSSQL support, which was broken (EJAB-1201) * Improved SQL reconnect behaviour Pubsub, PEP and Caps * Add extended stanza addressing 'replyto' on PEP (EJAB-1198) * Add pubsub#purge_offline (EJAB-1186) * Fix pubsub#title option (EJAB-1190) * Fix remove_user for node subscriptions (EJAB-1172) * Optimizations in mod_caps Other * mod_register: Add new acl access_from, default is to deny * mod_sic: new module for the experimental XEP-0279 Server IP Check (EJAB-1205) * PIEFXIS: Catch errors when exporting to PIEFXIS file (EJAB-1178) * Proxy65: new option "hostname" (EJAB-838) * Roster: Fix resending authorization problem * Shared Roster Groups: get contacts nickname from vcard (EJAB-114) * S2S: Improved s2s connections clean up (EJAB-1202) Changes in ejabberd-2.1.2 Core * Close sessions that were half connected * Fix SASL PLAIN authentication message for RFC4616 compliance * Fix support for old Erlang/OTP R10 and R11 * Return proper error (not 'conflict') when register is forbidden by ACL * When ejabberd stops, send stream close to clients ejabberdctl * Check for EGID in ejabberdctl command * Command to stop ejabberd informing users, with grace period * If there's a problem in config file, display config lines and stop node MUC * Kick occupants with reason when room is stopped due to MUC shutdown * Write in room log when a room is created, destroyed, started, stopped PubSub and PEP * Don't call gen_server on internal event (improves performance and scalability) * Fix duplicate SHIM header in Pubsub message * Notification messages of Pubsub node config change contained a SHIM header * SubID SHIM header missing in Pubsub message with multiple subscriptions on the same node * PEP: last published item not sent from unavailable users when the subscription is implicit (XEP-0115) * pep_mapping not working due to Node type mismatch WebAdmin * If big offline message queue, show only subset on WebAdmin * Support in user list page of WebAdmin when mod_offline is disabled
2009-12-23Updated ejabberd to 2.1.1.fhajny1-39/+7
Bugfix release: * Fix connection if starttls_required and zlib are set * S2S: fix allow_host/2 on subdomains. added hook s2s_allow_host * MUC: Add support for serving a Unique Room Name * MUC: Route vCard request to the occupant bare JID * MUC: Support converting one-to-one chat to MUC * PubSub: Receive same last published PEP items at reconnect if several resources online * PubSub: Typo in mod_pubsub_odbc breaks Service Discovery and more * Web: Fix memory and port leak when TLS is enabled in HTTP * WebAdmin: report correct last activity with odbc backends * Change captcha.sh to not depend on bash * Generate main XML file also when exporting only a vhost * Fix last newline in ejabberdctl result * Guide: fix -setcookie, mod_pubsub_odbc host, content_types Pkgsrc changes: * Fixed documentation install
2009-12-15Update ejabberd to 2.1.0.fhajny1-10/+66
Very brief list of additions: * Erlang/OTP R13 support * HTTP-Bind (BOSH) optimization and clean-up * LDAPS support * MUC rooms can require a CAPTCHA to join the room * PubSub: major improvements. Update to XEP version 1.12 * PEP and Caps: many improvements * Run commands with ejabberdctl or other frontends (XML-RPC, HTTP) * STUN server * XEPs like: XMPP Ping, Roster Versioning, Import/Export Format See full release note: http://www.process-one.net/en/ejabberd/release_notes/release_note_ejabberd_2.1.0
2009-06-14Convert @exec/@unexec to @pkgdir or drop it.joerg1-2/+1
2009-06-14Remove @dirrm entries from PLISTsjoerg1-10/+1
2009-05-12Updated chat/ejabberd to 2.0.5martti1-20/+2
* Fix two problems introduced in ejabberd 2.0.4: subscription request produced many authorization requests with some clients and transports; and subscription requests were not stored for later delivery when receiver was offline. * Fix warning in expat_erl.c about implicit declaration of x_fix_buff * HTTP-Bind (BOSH): Fix a missing stream:error in the returned remote-stream-error stanza
2009-03-22Updated chat/ejabberd to 2.0.4martti1-6/+29
This version is a maintenance release containing 20 bugfixes and improvements. http://secunia.com/advisories/34340/