./chat/ejabberd, Free and Open Source distributed fault-tolerant Jabber server

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 17.01, Package name: ejabberd-17.01, Maintainer: filip

Ejabberd is a Rock Solid, Massively Scalable, Infinitely Extensible
XMPP Server.


Required to run:
[lang/erlang] [shells/bash] [security/erlang-p1_pam] [sysutils/erlang-lager] [databases/erlang-p1_pgsql] [databases/erlang-p1_mysql] [misc/erlang-p1_utils] [textproc/erlang-jiffy] [lang/erlang-luerl] [net/erlang-stun] [net/erlang-esip] [devel/erlang-ezlib] [devel/erlang-cache_tab] [security/erlang-p1_oauth2] [security/erlang-fast_tls] [converters/erlang-iconv] [textproc/erlang-stringprep] [textproc/erlang-fast_xml] [textproc/erlang-fast_yaml] [net/erlang-xmpp]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: dab6666079dae76d6ccbeb81d76d728bc3a5f210
RMD160: 79758741046409cb6eb3219abc10cc3055dc27e7
Filesize: 1600.018 KB

Version history: (Expand)


CVS history: (Expand)


   2017-01-21 21:20:33 by Filip Hajny | Files touched by this commit (4) | Package updated
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) | Package updated
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) | Package updated
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) | Package updated
Log message:
Update chat/ejabberd to 16.08.

ejabberd 16.08

MUC
- New MUC/Sub support
- Add 'allow_subscription' room configuration option for MUC/Sub

OAuth and ReST API
- Add OAUTH SQL backend
- New special scope: ejabberd:admin and ejabberd:user, to more
  easily grant group of privileges
- Add DB backend support for ejabberd_oauth
- Added ejabberdctl commands to manage OAuth tokens:
  oauth_issue_token, oauth_list_tokens, oauth_list_scopes,
  oauth_revoke_token
- Simplified OAuth form: username and password merged into JID
  field
- User configurable validity duration for tokens on OAuth token
  generation form
- Add support for sending back missing scope error to API ReST
  command calls
- Oauth: several minor fixes
- Support oauth password grant type, to generate token
  programmatically

Elixir support
- Update supported Elixir version to 1.2 and 1.3.
- Support installation of Elixir contributions with external
  module command line tool.

PubSub
- Fix use of like parameter in sql pubsub's requests
- Fix node configuration change with sql backends
- Fix send_last_items duplication with multi-plugin setup

MAM
- Always limit result set page size
- Use hooks instead of direct calls

API
- Add support for checking access rules conformance for commands
- Add support for rich error reporting for API
- Add support for sending back missing scope error to API ReST
  command calls
- Fix handling of complex values as arguments in http_api
- Improve error handling

Other improvements
- External Component Connection Hooks
- Fix compilation issues on R19
- Support for OpenSSL 1.1
- Make access rules in ejabberd_web_admin configurable
- Make modules loading in a dependent order (#1191)
- Make s2s stats commands more robust
- Preserve PID for offline sessions
- Several quoting fixes for PostgreSQL
- Switch supervised workers from temporary to transient

ejabberd 16.06

Config
- New ACL infrastructure
- Add shorter version of some common access rules definitions
- Allow @ inside acl rules user, user_glob or user_regexp to pass
  both user and server in single string
- Add acl rule access_rules_validator and shaper_rules_validator
  for use in mod_opt_type and opt_type callback functions.
- Allow using shapers defined by name like in s2s_shaper: fast
- Allow mod_opt_type and opt_type to transform values passed to
  it, and support better error reporting
- Do not call transform_terms multiple times in configuration
  processing when merging them
- Don't halt program when include_config_file is missing/can't be
  read
- Allow again multiple fqdn values in configuration

Commands
- Allow passing username and ip to ejabberd_commands, and use it
  in mod_http_api
- Fix path to epmd in ejabberdctl
- push_roster: must convert read strings to binaries
- set_presence: Fix command API
- Fix for modules_update_specs command
- Add ejabberdctl commands to manage oauth tokens.

Core
- Bounce messages sent to server JID
- Fix C2S session leak in rare cases
- Fix handling of queued stanzas on session timeout
- Give more time to stop and kill epmd
- When stopping ejabberd, stop modules after broadcasting c2s
  shutdown
- XEP-0198: Use different error message for bounces
- XEP-0198: Add 'h' attribute to element
- XEP-0198: Also count stanzas when socket is closed

Databases
- Fix pgsql compatibility on delete_old_messages command
- Handle Redis connection in a separate module
- Report in SQL when scram is enabled but the stored password
  isn't
- Update SQL escaping
- Use MEDIUMTEXT type for muc_room.opts in MySQL schema

MAM
- Send unique stanza id and archived tag also in the message
  carbons
- Fix "assume_mam_usage: if_enabled"
- Fix typo in mod_mam:select()
- Updated support of XEP-0313 from version 0.4 to 0.5.1
- Mnesia: Avoid cleanup on bag when disc_only, switch in memory
- Mnesia: Don't exceed table size limit
- Mnesia: Use transactions when writing

Client State Indication
- Fix handling of chat states
- Simplify check for carbon-copied chat states
- Simplify handling of PEP stanzas
- Pass chat states of other resources
- Unwrap carbon copies when checking for chat states
- Add queue_pep option
- Queue chat state notifications
- Move CSI queue handling code from ejabberd_c2s
- When stopping, delete only the configured hooks

Other modules
- ext_mod: Set HTTP/1.0 so Github accepts the request
- gen_mod: Compile early to remove undefined behaviour warning
- mod_http_upload: Let client retry HTTP upload on file size
  mismatch
- mod_last: Produce mod_last entry on account creation
- mod_muc_room: Notify on affiliation changes
- mod_register: Check password with jid:resourceprep when
  registering account
- mod_roster: respect roster item changes introduced with
  roster_process_item hooks upon pushing
- PubSub: Fix PubSub RSM on get_items
- PubSub: Add support for PubSub publishing options
- PEP: Fix sender in case of explicit pep subscriptions
- ejabberd_xmlrpc: Report error when conversion of argument type
  fails
   2016-06-08 12:16:57 by Jonathan Perkin | Files touched by this commit (89)
Log message:
Remove the stability entity, it has no meaning outside of an official context.
   2016-06-08 12:02:27 by Jonathan Perkin | Files touched by this commit (44)
Log message:
Change the service_bundle name to "export" to reduce diffs between the
original manifest.xml file and the output from "svccfg export".
   2016-05-17 12:32:09 by Filip Hajny | Files touched by this commit (36)
Log message:
Use REAL_ROOT_USER/REAL_ROOT_GROUP instead of ROOT_USER/ROOT_GROUP
for all pkgsrc dir/file ownership rules. Fixes unprivileged
user/group names from leaking into binary packages, manifest as
non-fatal chown/chgrp failure messages at pkg_add time.

Bump respective packages' PKGREVISION.
   2016-04-29 21:05:23 by Filip Hajny | Files touched by this commit (5) | Package updated
Log message:
Update chat/ejabberd to 16.04.

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