2017-08-20 14:58:04 by Filip Hajny | Files touched by this commit (4) |
Log message:
Update chat/ejabberd to 17.08.
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-08-01 16:59:08 by Thomas Klausner | Files touched by this commit (211) |
Log message:
Follow some http -> https redirects.
|
2017-07-07 12:08:40 by Filip Hajny | Files touched by this commit (5) | |
Log message:
Update chat/ejabberd to 17.07.
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-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.
|