head 1.2; access; symbols; locks; strict; comment @# @; 1.2 date 2015.09.01.11.36.59; author fhajny; state dead; branches; next 1.1; commitid 81H9GoQTiKIrJxzy; 1.1 date 2015.07.17.14.25.42; author fhajny; state Exp; branches; next ; commitid DGftkdGaCI9R8Ety; desc @@ 1.2 log @Update chat/ejabberd to 15.07. 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 @ text @$NetBSD: patch-erlang17,v 1.1 2015/07/17 14:25:42 fhajny Exp $ Patch to build with Erlang 17/18 based on FreeBSD ports. https://svnweb.freebsd.org/ports/head/net-im/ejabberd/files/patch-erlang-17-dict-queue?revision=390878&view=co --- ../deps/esip/src/esip_listener.erl.orig +++ ../deps/esip/src/esip_listener.erl @@@@ -37,7 +37,11 @@@@ -include("esip_lib.hrl"). -define(TCP_SEND_TIMEOUT, 10000). +-ifdef(ERLANG_17). +-record(state, {listeners = dict:new() :: dict:dict()}). +-else. -record(state, {listeners = dict:new() :: dict()}). +-endif. %%%=================================================================== %%% API $FreeBSD$ --- ../deps/esip/rebar.config.orig +++ ../deps/esip/rebar.config @@@@ -1,4 +1,5 @@@@ -{erl_opts, [{i, "include"}, +{erl_opts, [{platform_define, "^1[78]-", 'ERLANG_17'}, + {i, "include"}, {i, "deps/p1_stun/include"}, {i, "../p1_stun/include"}]}. $FreeBSD$ --- ../deps/p1_stun/src/turn.erl.orig +++ ../deps/p1_stun/src/turn.erl @@@@ -56,6 +56,29 @@@@ -type addr() :: {inet:ip_address(), inet:port_number()}. +-ifdef(ERLANG_17). +-record(state, + {sock_mod = gen_udp :: gen_udp | gen_tcp | p1_tls, + sock :: inet:socket() | p1_tls:tls_socket(), + addr = {{0,0,0,0}, 0} :: addr(), + owner = self() :: pid(), + username = <<"">> :: binary(), + realm = <<"">> :: binary(), + key = {<<"">>, <<"">>, <<"">>} :: {binary(), binary(), binary()}, + server_name = <<"">> :: binary(), + permissions = ?DICT:new() :: dict:dict(), + channels = ?DICT:new() :: dict:dict(), + max_permissions :: non_neg_integer() | atom(), + relay_ip = {127,0,0,1} :: inet:ip_address(), + min_port = 49152 :: non_neg_integer(), + max_port = 65535 :: non_neg_integer(), + relay_addr :: addr(), + relay_sock :: inet:socket(), + last_trid :: non_neg_integer(), + last_pkt = <<>> :: binary(), + seq = 1 :: non_neg_integer(), + life_timer :: reference()}). +-else. -record(state, {sock_mod = gen_udp :: gen_udp | gen_tcp | p1_tls, sock :: inet:socket() | p1_tls:tls_socket(), @@@@ -77,6 +100,7 @@@@ last_pkt = <<>> :: binary(), seq = 1 :: non_neg_integer(), life_timer :: reference()}). +-endif. %%==================================================================== %% API $FreeBSD$ --- ../deps/p1_stun/rebar.config.orig +++ ../deps/p1_stun/rebar.config @@@@ -1,4 +1,5 @@@@ -{erl_opts, [debug_info, {i, "include"}]}. +{erl_opts, [{platform_define, "^1[78]-", 'ERLANG_17'}, + debug_info, {i, "include"}]}. {deps, [{p1_tls, ".*", {git, "git://github.com/processone/tls.git"}}, {p1_utils, ".*", {git, "git://github.com/processone/p1_utils.git"}}]}. $FreeBSD$ --- ../deps/p1_stun/src/stun_listener.erl.orig +++ ../deps/p1_stun/src/stun_listener.erl @@@@ -36,7 +36,11 @@@@ terminate/2, code_change/3]). -define(TCP_SEND_TIMEOUT, 10000). +-ifdef(ERLANG_17). +-record(state, {listeners = dict:new() :: dict:dict()}). +-else. -record(state, {listeners = dict:new() :: dict()}). +-endif. %%%=================================================================== %%% API @ 1.1 log @Fix build for Erlang 17 and 18 by adding patches from FreeBSD ports. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD$ @