Evgeniy Khramtsov
fddd6110e0
Don't validate an option in gen_mod:get*opt() functions
...
The changes are very similar to those from previous commit:
* Now there is no need to pass validating function in
gen_mod:get_opt() and gen_mod:get_module_opt() functions,
because the modules' configuration keeps already validated values.
* New functions gen_mod:get_opt/2 and gen_mod:get_module_opt/3 are
introduced.
* Functions gen_mod:get_opt/4 and get_module_opt/5 are deprecated.
If the functions are still called, the "function" argument is
simply ignored.
* Validating callback Mod:listen_opt_type/1 is introduced to validate
listening options at startup.
2017-04-30 19:01:47 +03:00
Badlop
c0eb85ce53
Allow a room admin also to subscribe another JID
2017-04-26 01:30:12 +02:00
Holger Weiss
3adf720bc1
Use #jid{} type for #muc_unsubscribe.jid
2017-04-19 22:18:23 +02:00
Badlop
d7a999eaf5
Don't use jid:from_string as it's deprecated, see jid.erl line 43
2017-04-19 21:47:59 +02:00
Badlop
177d5fec86
Allow a room admin to unsubscribe another JID
2017-04-13 22:37:39 +02:00
Christophe Romain
b1acd1183f
Rename aux.erl as misc.erl
...
Thanks Microsoft Windows to not support some filenames
2017-04-11 12:13:58 +02:00
Evgeniy Khramtsov
7bcbea2108
Deprecate jlib.erl in favor of aux.erl
...
Since the main goal of jlib.erl is lost, all auxiliary functions
are now moved to aux.erl, and the whole jlib.erl is now deprecated.
2017-03-30 14:17:13 +03:00
Evgeniy Khramtsov
e30d41e5f0
Merge branch 'new_queue'
...
Conflicts:
rebar.config
src/mod_muc_admin.erl
2017-03-24 13:27:56 +03:00
Evgeniy Khramtsov
f3ecba0445
Use new xdata compiler API
2017-03-20 09:57:11 +03:00
Evgeniy Khramtsov
02064ae12a
Add support for file-based queues
...
It's now possible to use files as internal packet queues.
The following options are introduced:
* queue_type: the option can be set to `ram` (default) or `file`.
The option can be set per virtual host.
* queue_dir: path to the directory where queues will be allocated.
The default is 'queue' directory inside Mnesia directory.
This is a global option and cannot be set per virtual host.
2017-03-10 15:12:43 +03:00
Evgeniy Khramtsov
c1439ddd5b
Get rid of jid:to_string/1 and jid:from_string/1
2017-02-26 10:07:12 +03:00
Evgeniy Khramtsov
603ec9cb19
Don't pass empty resource to jid:make()
2017-02-25 10:01:01 +03:00
Evgeniy Khramtsov
485aae8134
Don't pass 'from' and 'to' along with stanza in hooks' arguments
2017-02-24 21:25:25 +03:00
Evgeniy Khramtsov
940ca9311d
Fix some dialyzer warnings
2017-02-18 09:36:27 +03:00
Evgeniy Khramtsov
8b2d308498
Change routing API
...
Now 'From' and 'To' arguments must be omitted in functions
and structures related to routing.
The commit deprecates the following functions:
ejabberd_router:route/3 in favor of ejabberd_router:route/1
ejabberd_router:route_error/4 in favor of ejabberd_router:route_error/2
ejabberd_local:route_iq/4 in favor of ejabberd_local:route_iq/2
ejabberd_local:route_iq/5 in favor of ejabberd_local:route_iq/3
The format of {route, From, To, Packet} is changed in favor of {route, Packet}
2017-02-16 11:10:24 +03:00
Badlop
a31154c035
Set subscribers nicks when recreating room (thanks to Girdhar Sojitra)( #1495 )
2017-01-31 19:18:39 +01:00
Evgeniy Khramtsov
d5d906184f
Merge branch 'new_stream'
...
Conflicts:
src/cyrsasl.erl
src/ejabberd_c2s.erl
src/ejabberd_cluster.erl
src/ejabberd_frontend_socket.erl
src/ejabberd_node_groups.erl
src/ejabberd_router.erl
src/mod_bosh.erl
src/mod_ip_blacklist.erl
src/mod_muc_mnesia.erl
src/mod_offline.erl
src/mod_proxy65_sm.erl
2017-01-20 19:35:46 +03:00
Evgeniy Khramtsov
fc2b71a04e
Restore muc_invite_hook ( #1467 )
2017-01-19 18:24:29 +03:00
Evgeniy Khramtsov
4cf83ca3a7
Restore multiple invitations support ( #1468 )
2017-01-19 17:26:08 +03:00
Evgeniy Khramtsov
3d9997288d
Don't forget to convert muc#roomconfig_mam
2017-01-19 16:42:04 +03:00
Evgeniy Khramtsov
527472f18c
Support legacy muc#roomconfig values ( #1469 )
2017-01-19 11:12:27 +03:00
Evgeniy Khramtsov
0baaad30b1
Implement database backend interface for MUC, BOSH and auth_anonyous
2017-01-13 12:03:39 +03:00
Badlop
afc7f5aa37
Simplify setting allow_subscription ( #1404 )
2017-01-09 15:56:25 +01:00
Badlop
5fdd1c39fe
Update copyright date automatically ( #1442 )
2017-01-02 21:42:06 +01:00
Badlop
fad7612cf1
Allow subscriber to create room, then set allow_subscription=true ( #1404 )
2016-12-26 21:16:17 +01:00
Badlop
3811a61573
Extract correctly the text from #stanza_error ( #1425 )
2016-12-17 11:46:16 +01:00
Badlop
847376924e
Add password support in muc_subscribe ( #1306 )
2016-12-02 16:18:35 +01:00
Badlop
d7e1f6d7b3
When unsubscribes, check if room should get closed ( #1396 )
2016-12-01 22:09:57 +01:00
Badlop
34f2a8a4f2
Fix error formatting, which closed client connection ( #1389 )
2016-12-01 21:02:54 +01:00
Evgeniy Khramtsov
56b30ab598
Improve translation of some messages
2016-11-26 10:05:22 +03:00
Evgeniy Khramtsov
ca1b22bdd4
Use ejabberd_router:route_error/4 wherever possible
2016-11-25 11:41:24 +03:00
Paweł Chmielowski
b14843d098
Add missing -callbacks
2016-11-24 12:44:21 +01:00
Evgeniy Khramtsov
049a6d97f1
Fix RSM for conference disco#items
2016-11-20 18:08:49 +03:00
Badlop
3cd174cb56
Ensure that presence_broadcast room option is stored ( #1380 )
2016-11-16 13:35:50 +01:00
Evgeniy Khramtsov
de81c50199
Revert "Support to provide password when subscribing to a room ( #1306 )"
...
This reverts commit 566ac872fe
.
2016-11-12 14:47:29 +03:00
Evgeniy Khramtsov
5d552c8463
Merge branch 'master' into xml-ng
2016-11-12 14:41:37 +03:00
Evgeniy Khramtsov
78a44e0176
Merge branch 'master' into xml-ng
...
Conflicts:
src/adhoc.erl
src/cyrsasl_oauth.erl
src/ejabberd_c2s.erl
src/ejabberd_config.erl
src/ejabberd_service.erl
src/gen_mod.erl
src/mod_admin_extra.erl
src/mod_announce.erl
src/mod_carboncopy.erl
src/mod_client_state.erl
src/mod_configure.erl
src/mod_echo.erl
src/mod_mam.erl
src/mod_muc.erl
src/mod_muc_room.erl
src/mod_offline.erl
src/mod_pubsub.erl
src/mod_stats.erl
src/node_flat_sql.erl
src/randoms.erl
2016-11-12 13:27:15 +03:00
Badlop
566ac872fe
Support to provide password when subscribing to a room ( #1306 )
2016-11-10 20:48:43 +01:00
Badlop
0212559ca7
If a participant can change subject, let asubscriber too ( #1345 )
2016-10-20 20:35:00 +02:00
Evgeniy Khramtsov
67720c7713
Add more MUC tests
2016-10-17 13:37:23 +03:00
Marc Philipp
a1faecc4c9
Introduce muc_invite hook
...
This adds a new hook that is triggered for each invite to an MUC room:
- muc_invite(RoomJID, RoomConfig, From, To, Reason) -> ok
where
- RoomJID = From = To = #jid (see jlib.h)
- RoomConfig = #config (see mod_muc_room.hrl)
- Reason = binary()
2016-10-14 12:52:59 +02:00
Evgeniy Khramtsov
6a3691ef7c
Add xdata generator and make some code using it
2016-10-07 10:31:03 +03:00
Evgeniy Khramtsov
58969fb854
Improve namespace handling
2016-09-24 14:17:21 +03:00
Badlop
5bcfcf4c5e
When getting list of subscribed rooms, check all including temporary ones ( #1242 )
2016-09-19 13:46:01 +02:00
Badlop
9fa92092bf
Revert "Fix getting of subscribed rooms: consider also temporary ones ( #1242 )"
...
This reverts commit f2cc81dfea
.
2016-09-19 12:54:19 +02:00
Badlop
f2cc81dfea
Fix getting of subscribed rooms: consider also temporary ones ( #1242 )
2016-09-19 12:35:53 +02:00
Badlop
8244c1fa8c
Store the Allow Subscription room option ( #1301 )
2016-09-19 12:35:32 +02:00
Evgeniy Khramtsov
1aca541639
Fix nick-to-jid mapping for MUC subscribers
2016-09-12 14:41:33 +03:00
Badlop
d0761039ff
Support multiple room invitations ( #1285 )
2016-09-09 12:18:27 +02:00
Evgeniy Khramtsov
c29a48695d
Rename #error{} record to #stanza_error{}
2016-09-08 17:08:48 +03:00
Evgeniy Khramtsov
36ab9cc2ea
Fix message routing from subscribers
2016-09-08 16:39:34 +03:00
Evgeniy Khramtsov
3803a8de3c
Link MUC subscription to bare JID
2016-09-07 10:33:37 +03:00
Evgeniy Khramtsov
c6afb9731b
Handle <subscriptions/> request to list MUC subscribers
2016-09-06 19:06:02 +03:00
Evgeniy Khramtsov
5ec2874a96
Do not update muc_online_users table on MUC/Sub operations
2016-09-06 18:17:30 +03:00
Evgeniy Khramtsov
417284a921
Add get_subscribers command to list MUC subscribers
2016-09-06 17:55:18 +03:00
Evgeniy Khramtsov
45eb49125b
Rewrite mod_pubsub to use XML codec
2016-08-30 09:48:08 +03:00
Evgeniy Khramtsov
1fc58ace2f
Add commands for MUC subscriptions management
2016-08-09 13:36:43 +03:00
Evgeniy Khramtsov
522a186a38
Improve some type specs
2016-08-09 10:56:32 +03:00
Evgeniy Khramtsov
4ff8d7918a
Change code to reflect recent changes in fxml_gen
2016-08-05 08:41:08 +03:00
Evgeniy Khramtsov
0bcbd12776
Rewrite mod_mix to use XML generator
2016-07-31 08:51:47 +03:00
Evgeniy Khramtsov
b31ebd2ea0
Rewrite captcha to use XML generator
2016-07-28 15:10:41 +03:00
Evgeniy Khramtsov
179fcd9521
Rewrite mod_mam and mod_muc to use XML generator
2016-07-25 13:50:30 +03:00
Evgeniy Khramtsov
786bd4f26c
Use hooks instead of direct calls to mod_mam
2016-07-09 12:43:01 +03:00
Evgeniy Khramtsov
661b041302
Rename MUC/Sub's namespace
2016-07-08 15:07:26 +03:00
Evgeniy Khramtsov
32de9a56a5
Experimental MUC/Sub support
2016-07-08 15:05:50 +03:00
Holger Weiss
5c1db176a9
Fix "unused variable" warning
2016-06-03 12:58:20 +02:00
Badlop
0503d899cf
Fix problem in dfee843
when non-occupant admin kicks an occupant ( #1135 )
2016-06-03 00:10:25 +02:00
Badlop
ca329826cb
Retrieve parenthesis for easy reading, lost in old commit 9deb294
2016-05-25 12:44:05 +02:00
Holger Weiss
9d87a4a6d4
mod_muc_room: Notify on affiliation changes
...
Notify the current room occupants if the affiliation of a non-occupant
is changed as per example 195 of XEP-0045. In anonymous rooms, only
moderators are notified, though.
2016-05-20 01:28:16 +02:00
Evgeniy Khramtsov
9ac6e4edf7
Replace more ?ERR_* macros with ?ERRT_*
2016-04-05 13:09:44 +03:00
Holger Weiss
eaaab45c14
mod_muc_room: Let members see admin/owner JIDs
...
Let members retrieve all affiliation lists in non-anonymous rooms, not
just the list of members.
2016-02-11 22:52:27 +01:00
Holger Weiss
041e886b87
mod_muc_room: Don't expose JIDs in anonymous rooms
...
Don't let room members retrieve the member list unless the room is
non-anonymous.
2016-02-11 22:24:14 +01:00
Holger Weiss
10ed4a1c85
Add most status codes only to initial MUC presence
2016-02-08 20:10:20 +01:00
Holger Weiss
bf49c292f8
Omit redundant check for overcrowded MUC room
...
The send_update_presence/4 function already checked whether the room is
overcrowded before calling send_update_presence1/4, so there's no need
to have send_new_presence/4 perform the same check.
2016-02-08 00:46:33 +01:00
Mickael Remond
dfc29ea03c
Switch to Fast XML module
2016-02-03 19:03:17 +01:00
Paweł Chmielowski
fa55ac5c8f
More strict checking for MUC initial presence
2016-02-01 12:09:58 +01:00
Paweł Chmielowski
dc52ec904c
Send presence with code 170 only in initial presence from MUC
2016-02-01 11:30:49 +01:00
Holger Weiss
85f4f90b45
mod_mam: Support XEP-0313 v0.2 MUC archive queries
2016-01-14 00:58:48 +01:00
Holger Weiss
0183b2487e
Advertise MUC MAM v0.4.1 in room JID's disco#info
2016-01-13 20:30:44 +01:00
Badlop
f448ff608a
Update copyright to 2016 ( #901 )
2016-01-13 12:29:14 +01:00
Badlop
c7b67ff00b
Clarify a little more room error string (thanks to Genghis Khan)
2016-01-08 13:14:40 +01:00
Holger Weiss
1d2dc6cdc1
mod_muc_room: Replace deprecated function call
2015-12-29 11:11:50 +01:00
Evgeniy Khramtsov
babb484cfc
Restrict access to MAM archives for members-only rooms
2015-12-24 15:04:06 +03:00
Badlop
c42e026f9c
Degenderise room error message ( #747 )
2015-12-23 19:34:23 +01:00
Holger Weiss
5fd1aa0d04
Advertise MAM in disco info for account/room JID
...
As per XEP-0313 version 0.2 and newer, advertise the MAM feature in the
service discovery information for the bare account (or MUC room) JID.
Some clients check the server's discovery information instead, so we'll
continue to advertise the feature there as well.
2015-12-16 00:08:23 +01:00
Alexey Shchepin
c2f6bf0343
Improve muc#roomconfig_presencebroadcast support
2015-12-08 21:53:42 +03:00
Paweł Chmielowski
5c329a7699
Remove now() - part 1
2015-12-04 15:08:43 +01:00
Badlop
e412438aba
When user joins logged room, he must be warned (EJAB-726)
2015-12-02 12:07:29 +01:00
Badlop
ff22782752
List in Service Disco non-empty rooms and provide Node for empty (EJAB-343)
2015-12-02 01:51:39 +01:00
Holger Weiss
fee2530b1c
Always use occupant JID as 'from' for room subject
...
When sending the room subject to a new participant, always use the
occupant JID that corresponds to the subject author as the 'from'
address. It was already done this way when the subject was sent as part
of the room history.
2015-11-25 00:05:24 +01:00
Evgeniy Khramtsov
95265dd3ad
Move JID related functions to jid.erl ( #847 )
2015-11-24 18:44:13 +03:00
Alexey Shchepin
aa5caa30e2
Support for muc#roomconfig_presencebroadcast option
2015-11-12 19:53:10 +03:00
Christophe Romain
341be9b682
Remove supervisor option, disable it for c2s and muc
2015-11-04 16:24:35 +01:00
Christophe Romain
6aeb9dcb38
cosmetic cleanup
2015-10-07 14:18:38 +02:00
Badlop
1781a58929
Strip Nick element in message stanzas sent to a room ( #686 )
2015-09-25 17:00:00 +02:00
Badlop
994602c97d
Store and retrieve "mam" value in room configuration
2015-08-12 20:28:23 +02:00
Badlop
ab0f488dda
Room response to disco#info node muc#traffic should be an error (EJAB-741)
2015-08-12 12:40:51 +02:00
Evgeniy Khramtsov
40feed723d
Add support for MUC MAM
2015-08-08 22:15:36 +03:00
Matthias Rieber
f5e857a5bd
typo
2015-08-06 08:44:15 +02:00
Holger Weiss
13f7be682d
Rename muc_filter_packet to muc_filter_message
...
The hook is just triggered on groupchat messages, not on other types of
stanzas.
2015-08-04 21:16:45 +02:00
Holger Weiss
3d4e8ffac6
New hook: muc_filter_presence
...
Add a hook that allows for modifying or dropping presence stanzas sent
to MUC rooms.
2015-08-04 20:13:00 +02:00
Holger Weiss
a25051fead
New hook: muc_filter_packet
...
Add a hook that allows for modifying or dropping MUC room messages.
Closes #491 .
2015-07-03 11:34:44 +02:00
Holger Weiss
4045c848c4
Send notifications on MUC configuration changes
...
Notify clients when the room configuration changes, as mandated by
XEP-0045, #10.2.1.
Closes #623 .
2015-07-02 00:36:16 +02:00
Holger Weiss
7c7e51b6e8
Omit warning message regarding non-anonymous room
...
Previous versions of XEP-0045 suggested sending a warning message to new
occupants of a non-anonymous MUC room. The current revision (1.25) says
that a status code of "100" must be returned with the user's initial
presence, instead. We already do this (in addition to generating the
warning message).
Receiving the warning message each time the client joins the room can
become annoying, especially when reconnections occur frequently (e.g.,
on mobile devices). So, we omit it, now.
2015-06-28 14:05:55 +02:00
Holger Weiss
6c712b6caa
Don't add body element to MUC subject messages
2015-06-04 09:55:38 +02:00
Badlop
f817762cc4
New max_users_presence mod_muc option (thanks to anhcoi123)( #562 )
2015-05-08 13:09:25 +02:00
Holger Weiss
7297b23508
Tag private MUC messages with muc#user namespace
...
Make it possible for clients to identify private MUC messages. One use
case would be to filter out undesired carbon copies of those.
2015-05-05 22:00:05 +02:00
Badlop
a5adaf5798
Revert "Hook on group message"
...
This reverts commit b81250d667
.
2015-04-15 11:51:29 +02:00
badlop
31c5775025
Merge pull request #426 from hairyhum/master
...
Migration of scram passwords with piefxis (riak and internal only)
2015-04-15 11:04:29 +02:00
Badlop
0cf8d1fa6e
Copy multicast code from ejabberd-contrib to provide XEP-0033 ( #521 )
2015-04-08 14:01:16 +02:00
Holger Weiss
d991b92a49
Always specify room JID for MUC <delay/> elements
...
As per version 1.25 of XEP-0045, use the room JID as the 'from' address
for <delay/> elements also when the room is non-anonymous, and specify
the original JID of the sender as an XEP-0033-style tag instead.
Closes #465 .
2015-03-10 00:02:32 +01:00
Ben Langfeld
a6c5a3593f
Permit modifying affiliations via an event
...
Allows us to implement mod_muc_admin:set_room_addiliation properly
2015-02-25 12:31:27 -03:00
Feotov Daniil
b81250d667
Hook on group message
2015-02-24 11:06:41 +03:00
Badlop
5a35405cd5
Update copyright dates to 2015 (EJAB-1733)
2015-01-08 17:34:43 +01:00
Holger Weiss
9899935e42
Improve interface for adding timestamps
...
Provide a simpler interface for adding <delay/> and <x/> timestamps to
stanzas. This also makes sure that only one <delay/> tag and one <x/>
tag is added to a given stanza.
2014-12-07 15:55:18 +01:00
Holger Weiss
3b96525550
Support floating point message/presence intervals
...
Let mod_muc support floating point values for "min_message_interval" and
"min_presence_interval", as documented in the guide.
2014-11-15 22:35:56 +01:00
Holger Weiss
7274dafe10
Store persistent MUC room during creation
...
Make sure persistent rooms are stored to the database. Without this
change, a room got lost if the 'persistent' flag was handed over to
mod_muc:create_room/5 and the server was then restartet before any
activity took place in that room.
2014-08-19 11:12:51 +02:00
Badlop
872cc12dd8
Temporary room not destroyed when the last participant is expulsed (EJAB-520)
2014-05-05 13:50:52 +02:00
Evgeniy Khramtsov
fafec77e56
Make it possible to get/set vCards for MUC rooms
2014-05-04 23:23:17 +04:00
badlop
285c4c17cf
Merge pull request #146 from jamielinux/master
...
Update FSF address
2014-04-11 13:35:46 +02:00
Badlop
633d47f784
Update copyright dates to 2014 (EJAB-1679)
2014-03-13 12:30:57 +01:00
Jamie Nguyen
8538997d61
Update FSF address
2014-02-22 10:27:40 +00:00
Badlop
63a7011c38
When occupant changes nick, include status 110 in stanzas sent to him
2014-02-14 16:22:14 +01:00
Badlop
0d7a5476c0
Allow room member to get members list using XEP
2013-07-11 12:11:48 +02:00
Badlop
91744733c1
Store only messages with body or subject (EJABS-2034)
2013-06-27 11:58:31 +02:00
Badlop
109ed1a8b1
According to XEP-0045, a MUC member is allowed to retrieve the members list
2013-06-21 11:43:23 +02:00
Evgeniy Khramtsov
89c3cf3677
Shutdown rooms before starting test cases
2013-06-19 21:46:22 +10:00
Evgeniy Khramtsov
4d8f770624
Switch to rebar build tool
...
Use dynamic Rebar configuration
Make iconv dependency optional
Disable transient_supervisors compile option
Add hipe compilation support
Only compile ibrowse and lhttpc when needed
Make it possible to generate an OTP application release
Add --enable-debug compile option
Add --enable-all compiler option
Add --enable-tools configure option
Add --with-erlang configure option.
Add --enable-erlang-version-check configure option.
Add lager support
Improve the test suite
2013-06-13 11:11:02 +02:00