25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-10-31 15:21:38 +01:00
Commit Graph

3476 Commits

Author SHA1 Message Date
Paweł Chmielowski
5c329a7699 Remove now() - part 1 2015-12-04 15:08:43 +01:00
Badlop
daad71bc7e trusted_proxies option not parsed correctly (#860) 2015-12-04 13:14:39 +01:00
Holger Weiss
ba916c3162 XEP-0198: Fix stanza counting corner case issue
Don't forget to count outgoing stanzas that are processed while the
ejabberd_c2s process is already waiting for stream resumption.
2015-12-02 19:25:10 +01:00
Badlop
f9e12d900c No need for a top menu link as there's a top page link 2015-12-02 17:10:23 +01:00
Badlop
e412438aba When user joins logged room, he must be warned (EJAB-726) 2015-12-02 12:07:29 +01:00
Badlop
086fbc6a50 Only filter rooms in Service Disco when more than 100 (EJAB-343) 2015-12-02 02:32:25 +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
Mickael Remond
e5ae35c66b Update cache_tab app name 2015-12-01 19:17:51 +01:00
Evgeny Khramtsov
3397a9be5e Merge pull request #849 from weiss/discard-chat-states
mod_offline: Support discarding chat state notifications
2015-12-01 14:57:49 +03:00
Evgeniy Khramtsov
f1ecbf80fb Fix archive preference retreiving (#848) 2015-12-01 14:06:23 +03:00
Christophe Romain
9eeee67da7 Webadmin console visual refresh (thanks to Marek Foss) (EJAB-1142) 2015-11-30 11:35:53 +01:00
Evgeniy Khramtsov
9cc5a5d467 Simplify external components configuration 2015-11-28 17:38:34 +03:00
Holger Weiss
44f5e411c5 mod_offline: Support discarding chat states
XEP-0160 says that standalone chat state notifications should not be
stored offline.  By default, mod_offline discards them now.

Closes #842.
2015-11-26 08:35:49 +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
87fb5132be Make JID related functions from jlib.erl deprecated 2015-11-24 20:31:26 +03:00
Evgeniy Khramtsov
95265dd3ad Move JID related functions to jid.erl (#847) 2015-11-24 18:44:13 +03:00
Christophe Romain
16881597c9 Remove useless export_all flag 2015-11-23 12:03:08 +01:00
Christophe Romain
f3ff660eae Export content_type/3 needed by mod_http_upload 2015-11-23 11:53:36 +01:00
Christophe Romain
4480749a52 Merge branch 'cluster_fix' 2015-11-20 14:52:36 +01:00
Christophe Romain
b4ae1b63bc Allow longer command execution time 2015-11-20 10:39:32 +01:00
Christophe Romain
67a70b9107 Integrate join/leave cluster as ejabberd command 2015-11-20 10:39:27 +01:00
Evgeny Khramtsov
0e29307ad5 Merge pull request #840 from cenobites/mod_ping
Adding ping_ack_timeout in mod_opt_type configuration
2015-11-18 16:35:49 +03:00
Badlop
2659e2c4a0 Explain that reload_config only affects to ACL and Access 2015-11-18 13:25:19 +01:00
Nycholas de Oliveira e Oliveira
49a8de7c56 Adding ping_ack_timeout in mod_opt_type configuration
Avoid the error output

```
2015-11-18 12:02:40.297 [error] <0.37.0>@gen_mod:validate_opts:250 unknown option 'ping_ack_timeout' for module 'mod_ping' will be likely ignored, available options are: 'iqdisc', 'ping_interval', 'send_pings', 'timeout_action'
2015-11-18 12:02:40.334 [error] <0.37.0>@gen_mod:validate_opts:250 unknown option 'ping_ack_timeout' for module 'mod_ping' will be likely ignored, available options are: 'iqdisc', 'ping_interval', 'send_pings', 'timeout_action'
```

In setting mod_opt_type default, ping_ack_timeout parameter was added.
2015-11-18 10:25:01 -02:00
Holger Weiss
43626f5c97 mod_http_upload: Return error atoms, not strings
Don't convert error atoms to strings before actually logging them.  This
avoids a bogus error message when a user who has no uploaded files is
removed.
2015-11-17 00:12:20 +01:00
Badlop
53d72bd85a Disable vJUD by default also in mod_vcard_ldap source code 2015-11-13 19:33:23 +01:00
Badlop
f6d8f47451 Disable vJUD search in the default config and when not specified 2015-11-13 19:30:11 +01:00
Alexey Shchepin
aa5caa30e2 Support for muc#roomconfig_presencebroadcast option 2015-11-12 19:53:10 +03:00
Paweł Chmielowski
3ee5195b7a Fix problem with pipelined http requests arriving in single packet
This fixes github issue ejabberd#835
2015-11-12 17:23:59 +01:00
Holger Weiss
55a92c2983 mod_http_upload: Log message if URL looks wrong
Log an [info] message if a PUT request looks like the specified
"put_url" contains a path component that doesn't match the
"request_handlers" path, as in the following configuration:

  listen:
    -
      module: ejabberd_http
      port: 5444
      request_handlers:
        "/": mod_http_upload

  modules:
    mod_http_upload:
      put_url: "http://example.com/path/"
2015-11-11 22:51:40 +01:00
Holger Weiss
415a75c25a mod_http_upload_quota: Don't track all users
Don't track the disk usage of accounts that have an unlimited quota.
2015-11-10 22:08:16 +01:00
Holger Weiss
20709f9880 mod_http_upload: Make case indentation consistent
Use four spaces (or the corresponding amount of tab characters) for case
indentation everywhere in mod_http_upload and mod_http_upload_quota.
2015-11-09 19:23:52 +01:00
Holger Weiss
113c315857 mod_http_upload: Apply cosmetic changes 2015-11-09 19:12:08 +01:00
Holger Weiss
842db2ca15 mod_http_upload: Don't flatten command strings 2015-11-09 18:50:45 +01:00
Holger Weiss
9c80cb2b26 mod_http_upload: Don't let identify/1 return error
Let identify/1 return 'pass' when it failed to identify the file type,
as this doesn't (necessarily) indicate an error condition.  This also
makes it consistent with the return value of convert/2.
2015-11-09 18:41:31 +01:00
Paweł Chmielowski
58c1bc4276 Use xml_stream:reset() when possible 2015-11-09 16:05:09 +01:00
Christophe Romain
341be9b682 Remove supervisor option, disable it for c2s and muc 2015-11-04 16:24:35 +01:00
Holger Weiss
fec7e47169 Add copyright and license to HTTP upload modules 2015-11-04 01:22:39 +01:00
Holger Weiss
46bf190fd0 mod_client_state: Add my email address to header 2015-11-04 01:19:19 +01:00
Paweł Chmielowski
e54e543a66 Faster string_to_jid/1 implementation
This version is about 10-15% faster than old one
2015-11-03 14:41:01 +01:00
Holger Weiss
ff46738218 mod_http_upload_quota: Omit info message
The mod_http_upload_quota module attempts to delete a directory whenever
it removes a file from that directory.  However, if thumbnail creation
is enabled, directories will often contain two files.  Therefore, don't
log an info (but only a debug) message if directory removal fails.
2015-11-03 00:00:44 +01:00
Holger Weiss
4566325241 mod_http_upload: Don't complain during shutdown
Ignore the case where, for some reason, no process is found to be
stopped.

Closes #810.
2015-11-02 23:46:58 +01:00
Holger Weiss
1b368a86b7 mod_http_upload: Use binary strings in most places
Switch to binary strings to fix a type issue, and for consistency.

Closes #808.
2015-11-02 23:46:31 +01:00
Holger Weiss
9d2f1d5f0d mod_http_upload: Check availability of ImageMagick
Log an error message during startup if the thumbnail option is enabled
but ImageMagick is not installed.
2015-11-02 01:12:10 +01:00
Holger Weiss
eeb705fc2f mod_http_upload: Suppress error on non-image files
Don't log an error (but only a debug) message if ImageMagick fails to
indentify the file type for thumbnail creation.  The image might be
encrypted, or it could be a non-image file.

Closes #809.
2015-11-01 23:29:22 +01:00
Evgeniy Khramtsov
8bff06bea9 Merge branch 'master' of github.com:processone/ejabberd 2015-10-30 17:20:50 +03:00
Evgeniy Khramtsov
99f506135b Fix ipv6 configuration processing (#803) 2015-10-30 17:20:32 +03:00
Holger Weiss
915383e150 mod_http_upload: Add missing trailing dot
(Thanks to Matthias Rieber.)
2015-10-29 10:09:55 +01:00
Holger Weiss
43e7814714 mod_mam: Update supported XEP version 2015-10-28 23:53:53 +01:00
Holger Weiss
32fe74c923 mod_http_upload: Document protocol support 2015-10-28 23:52:33 +01:00
Holger Weiss
62ea763089 mod_http_upload: Fix string()/binary() type issue 2015-10-26 22:32:12 +01:00
Holger Weiss
3e7ee6af6d mod_http_upload: Add/fix function specifications 2015-10-26 22:30:58 +01:00
Holger Weiss
b5a09f8b15 mod_http_upload: Strip newline from command output
The list_to_integer/1 function doesn't cope with trailing newline
characters.
2015-10-26 22:10:32 +01:00
Holger Weiss
5dfd95e5a7 Support user quotas for HTTP File Upload
mod_http_upload_quota implements two features:

- When a "hard quota" is exceeded during a file upload, old files are
  removed until the disk usage equals or falls below the "soft quota".

- Once a day, all uploaded files (and directories) older than a
  configurable number of days are deleted.
2015-10-26 13:10:10 +01:00
Evgeniy Khramtsov
6f2e178de1 Rename badly entitled record field 2015-10-26 15:05:28 +03:00
Evgeniy Khramtsov
137a4ee087 Add HTTP File Upload support (XEP-0363) 2015-10-26 14:10:55 +03:00
Evgeniy Khramtsov
b2eb9f197a Don't crash on certificates without extensions (EJAB-1724) 2015-10-23 18:41:35 +03:00
Christophe Romain
2a115a83d2 Let modules_update_specs report failures (#756) 2015-10-23 17:21:19 +02:00
colm
d048d1e619 mod_ping: allowed the ping ack timeout (the length of time taken to deem that a ping has not being responded to) configurable. it still defaults to 32 seconds as per the constant IQ_TIMEOUT (in ejabberd_local.erl) this just makes it optionally configurable (in my case I needed to be more trigger happy than 32 seconds) 2015-10-22 13:48:40 +01:00
Christophe Romain
efdf5636be Add simple metrics module for use with grapherl 2015-10-22 14:02:26 +02:00
colm
92b9fb30e0 Don't send full JID in 'from' of Roster Push (RFC 6121 section 2.1.6). This is a patch by @badlop in the comments of github issue #367 2015-10-21 23:22:53 +01:00
Badlop
c62bd0c911 Use homogeneous s2s connections stats (#761) 2015-10-21 12:51:22 +02:00
Alexey Shchepin
8a2fa62cac Remove access_commands 'unrestricted' option, use [] instead. Fix unauthenticated calls to commands with policy=user. 2015-10-20 17:20:13 +03:00
Alexey Shchepin
7c1e7e5b5f Improve access_commands option backward compatibility 2015-10-19 20:16:04 +03:00
Alexey Shchepin
1f2b7e8f20 Fix access_commands option handling 2015-10-19 18:50:44 +03:00
Holger Weiss
28e28e926a ejabberd_listener: Fix ETS update on port reuse 2015-10-18 01:14:48 +02:00
Holger Weiss
5e467b96a1 ejabberd_c2s: Let stop/1 close XEP-0198 sessions
The stop/1 function now terminates stream management sessions
immediately, just as it does for other sessions.  The new
ejabberd_c2s:close/1 function can be used to close the socket without
terminating the stream management session, like stop/1 did before.
2015-10-17 23:15:31 +02:00
Holger Weiss
53bd0ee818 ejabberd_c2s: Close socket when waiting for resume
Make sure the socket is closed when mod_ping calls ejabberd_c2s:stop/1
for an XEP-0198 session.
2015-10-17 22:07:29 +02:00
Paweł Chmielowski
7d99484859 Make KEEPALIVE_QUERY list as this is what sql_query/3 expects 2015-10-15 10:07:24 +02:00
Alexey Shchepin
4fce1a17d7 Fix cyrsasl_oauth:mech_new call 2015-10-12 20:53:52 +03:00
Evgeniy Khramtsov
87273619a6 Advertise MAM (XEP-0313) v0.4 support in room disco 2015-10-11 19:43:24 +03:00
Paweł Chmielowski
b5ac0db895 Be able to merge old style configs with {listen,...} 2015-10-08 13:07:00 +02:00
Paweł Chmielowski
6d25db6600 Handler module shouldn't be used for differentiating listeners when merging configs 2015-10-07 16:45:07 +02:00
Christophe Romain
880114a909 Enforce get_allowed_items_call 2015-10-07 16:40:37 +02:00
Christophe Romain
653105a44f Fix acl issue from cleanup 2015-10-07 15:12:15 +02:00
Christophe Romain
f938c2a5e2 Revert "Avoid crypto:hmac/3 call for R15B compatibility"
This reverts commit 31e356c126.
2015-10-07 14:18:56 +02:00
Christophe Romain
6a23cad454 Revert "Fix compilation on Erlang R15B"
This reverts commit a5d6044448.
2015-10-07 14:18:47 +02:00
Christophe Romain
6aeb9dcb38 cosmetic cleanup 2015-10-07 14:18:38 +02:00
Evgeniy Khramtsov
6378c673df Avoid MAM dups when routing to multiple resources 2015-10-02 16:09:55 +02:00
Evgeniy Khramtsov
c7750689e8 Fix force_update_presence 2015-10-02 16:06:47 +02:00
Paweł Chmielowski
24fa95fd60 Fix problem with --auth in ejabberd_ctl:process2/2 2015-10-01 21:09:03 +02:00
Paweł Chmielowski
67d3b50598 Switch macros resolving in config files to be global instead of per file 2015-10-01 14:34:48 +02:00
Alexey Shchepin
cf975da8f2 Update several commands for recent ejabberd_commands changes 2015-09-28 15:29:25 +03:00
Alexey Shchepin
88a206400a Add oauth_access option 2015-09-25 19:48:53 +03:00
Badlop
1781a58929 Strip Nick element in message stanzas sent to a room (#686) 2015-09-25 17:00:00 +02:00
Christophe Romain
a1129dc96b Add OAuth support (thanks to Aleksey) 2015-09-25 15:49:07 +02:00
Badlop
ee456cc2af Fix regression introduced when code was binarized (EJAB-641) 2015-09-24 17:21:14 +02:00
Holger Weiss
484fd1f51f Log TLS errors as [debug] messages only
Closes #652 and closes #679.
2015-09-24 12:00:59 +02:00
Evgeniy Khramtsov
89b3471742 Add <stanza-id/> (XEP-0359) to archived messages 2015-09-22 21:15:34 +03:00
Paweł Chmielowski
e289344972 Nameprep host name passed to http-bind before using in (EJAB-1658) 2015-09-22 15:42:57 +02:00
Christophe Romain
23a1aceac0 Improve external module configuration management (EJAB-1746) 2015-09-22 12:49:55 +02:00
Evgeniy Khramtsov
70b1dc479c Add MAM (XEP-0313) v0.4 support 2015-09-22 12:23:36 +03:00
Jerome Sautret
df3862cf84 Add set_loglevel command (EJABS-2524) 2015-09-21 17:07:44 +02:00
Christophe Romain
497cbb3ec2 Merge branch 'master' of github.com:processone/ejabberd 2015-09-18 09:06:51 +02:00
Christophe Romain
ec1969ddca Remove unused functions from old get_items api 2015-09-17 18:00:17 +02:00
Paweł Chmielowski
f6b892b366 Guard against passing undefined C2SPid to xml parser before become_controller gets called
Our new nif xml parser don't handle this gracefully, so we better don't
call it that way.

This is only triggered on old style ssl sockets, where ssl layer must
be activated early, before association between socket and c2s is
established
2015-09-17 11:37:01 +02:00
Holger Weiss
4a4065c9c6 Let BOSH/WebSocket support "max_resume_timeout"
Allow for specifying the "max_resume_timeout" option in an ejabberd_http
listener for ejabberd_http_bind and/or ejabberd_http_ws.
2015-09-17 00:33:08 +02:00
Quan Zhuo
ae51277316 Comment unused type, unused term 2015-09-16 22:52:36 +08:00
Paweł Chmielowski
5593ebbbca Properly handle define_macros in merged config files 2015-09-16 12:20:07 +02:00
Holger Weiss
59321ac56e XEP-0198: Improve handling of non-message stanzas
When an XEP-0198 session times out, always return an error for
unacknowledged IQ stanzas, and always drop presence stanzas.  That is,
the "resend_on_timeout" option no longer applies to those stanzas types,
but only to messages.
2015-09-15 22:42:22 +02:00
Evgeniy Khramtsov
fc7d3a44b8 Simplify MSSQL configuration 2015-09-13 18:34:10 +03:00
Evgeniy Khramtsov
25791cfde8 Fix MSSQL support 2015-09-13 18:31:49 +03:00
Christophe Romain
48c5e73321 ext_mod must be started before ejabberd_config 2015-09-11 15:14:12 +02:00
Badlop
a50f00f9e8 Include ext_mod modules when checking accepted options (ejabberd-contrib#116) 2015-09-10 20:11:02 +02:00
Paweł Chmielowski
f56a9e400d Pass stream management options defined in http listener to http-bind and websocket 2015-09-04 12:42:53 +02:00
Holger Weiss
5095fdb6b0 New XEP-0198 option: "max_resume_timeout"
In the past, the "resume_timeout" option defined both the default resume
timeout and the maximum resume timeout clients are permitted to request.
Admins might want to allow clients to request a timeout value that's
larger than the default, though.  This can now be done by specifying the
"max_resume_timeout" option.
2015-09-03 21:20:15 +02:00
Badlop
8d1ea87e02 Use hide_sensitive_log_data in eldap.erl 2015-09-03 16:28:21 +02:00
Evgeniy Khramtsov
6740b1f0e1 Rename idna.erl to ejabberd_idna.erl (#702) 2015-09-02 16:02:46 +03:00
Badlop
1bc2c8cbb1 Add verification of hide_sensitive_log_data global option 2015-09-02 13:46:03 +02:00
Evgeniy Khramtsov
eebd4bbd8f Remove unused function now_to_iso/1 2015-09-02 14:13:23 +03:00
Evgeniy Khramtsov
14ddbce3a9 Do not forget to set from/to when fetching from MUC history 2015-09-01 12:35:51 +03:00
Paweł Chmielowski
e24bfe7b62 Fix problem with merging same port, different ip listeners in config files
Also switch to function used by ejabberd_listener to extract that
information instead of rolling our own code for that.
2015-09-01 10:57:48 +02:00
Evgeniy Khramtsov
190f76c676 Fetch MUC MAM messages from room history directly if it's not enabled in room configuration 2015-09-01 11:52:08 +03:00
oxpa
3d5d1ecbe4 get_room_options will not crash in case of query for a non-existent room 2015-08-28 03:34:51 -08:00
Evgeniy Khramtsov
832f6d39f9 Always include RSM in final message 2015-08-24 13:29:15 +03:00
Evgeniy Khramtsov
94444c87e8 Remove MAM archives on MUC room destroy 2015-08-24 13:28:58 +03:00
Badlop
247bd9eae5 More eye-candy mod_http_bind help page (thanks to Marek Foss) 2015-08-21 15:23:15 +02:00
Evgeniy Khramtsov
6177ae3ffb Improve S2S certificate checks 2015-08-20 01:04:56 +03:00
Evgeniy Khramtsov
b570070834 Fix case clause during S2S certificate checks 2015-08-19 23:47:45 +03:00
Evgeniy Khramtsov
775cf2d459 Change namespace from muc#admin to muc#user 2015-08-19 15:31:35 +03:00
Paweł Chmielowski
6f0ee83317 Don't overwrite listeners for different transports in config merging
Before this having listeners on same port for both tcp and udp would after
config merging step left only one of them.

Many thanks to Holger Weiß for noticing this.
2015-08-19 10:14:39 +02:00
Paweł Chmielowski
f89db30d77 Catch errors when calling inet:peername in ejabberd_http 2015-08-17 15:50:35 +02:00
Badlop
ac6b436dcf Prettify copyright links (thanks to GreenLunar)(#692) 2015-08-13 12:22:14 +02:00
Badlop
994602c97d Store and retrieve "mam" value in room configuration 2015-08-12 20:28:23 +02:00
Badlop
279d4b00ac Fix and document create_rooms_file and destroy_ 2015-08-12 17:18:41 +02:00
Badlop
8c9c556f1f Changed API of some mod_muc_admin command arguments
With this commit, arguments change in two commands:
* destroy_room: does not require Host argument
* send_direct_invitation: instead of Room, now requires Name and Service
2015-08-12 13:26:24 +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
Paweł Chmielowski
c71d57a05d Handle merging of append_host_config as is done for host_config 2015-08-06 17:53:18 +02:00
Paweł Chmielowski
5a1ac4faf1 Add ability to override main config file options with data from included files 2015-08-06 17:12:15 +02:00
Christophe Romain
45a312a0eb Remove obsolete pubsub migration command 2015-08-06 16:57:04 +02:00
Matthias Rieber
f5e857a5bd typo 2015-08-06 08:44:15 +02:00
Alexey Shchepin
4125dfd166 mod_multicast changes:
- catch exceptions
- do ets:give_away for multicastp table on init
- don't send multicasts to itself
- don't check user@server for multicast support
- handle empty disco items
- ignore cdata in <addresses/>
- properly check for subdomains
2015-08-05 19:21:28 +03:00
Paweł Chmielowski
3a5dd51b42 Use websocket pings also on old style connections 2015-08-05 16:09:23 +02:00
Christophe Romain
dc0934bff7 Update FSF address 2015-08-05 09:52:54 +02:00
Holger Weiss
c0497d46af mod_client_state: Throttle stanzas by default
Enable the mod_client_state options "drop_chat_states" and
"queue_presence" by default.  These features are now well-tested in
practice.
2015-08-05 00:05:11 +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
Mickael Remond
e3b7d43b76 Add split_jid/1
This is a convenience reverse of make_jid/1. It allows extracting the jid parts
without relying on using the jid record structure, to abstract details.
2015-08-04 09:48:59 +02:00
Evgeniy Khramtsov
f377992232 Do not crash SIP authentication on SCRAMed passwords 2015-08-02 14:47:45 +03:00
wcy123
3e49bf0e83 bug fix: ejabberd:start_app need to pass Type to application:start 2015-07-30 18:57:59 +08:00
Holger Weiss
04094b3dcf Don't copy messages of type "normal" without body
Don't carbon-copy messages of type "normal" that don't have a body
element as an immediate subtag.  Those messages are usually generated by
clients or servers (as opposed to messages written by humans).  This
includes MAM messages, for example.
2015-07-28 21:34:02 +02:00
Holger Weiss
8fe930c3d1 Also check for <no-storage/> hint
Check for the <no-storage/> and <no-permanent-storage/> hints in
addition to <no-store/> and <no-permanent-store/>.  XEP-0334 (0.1)
mentions both variants, and unfortunately, both of them are in use.
2015-07-28 21:08:33 +02:00
Holger Weiss
1048e21643 XEP-0198: Don't add <delay/> tags to IQ stanzas 2015-07-28 21:00:12 +02:00
Badlop
d03d08539b Reuse some strings in WebAdmin's Listening Ports 2015-07-27 11:40:56 +02:00
Paweł Chmielowski
76104cd117 Fix problem with merging values from multiple config files 2015-07-24 15:46:08 +02:00
Christophe Romain
e211bf7131 Ensure config snippet is loaded at module installation (EJAB-1741) 2015-07-24 15:09:57 +02:00
Christophe Romain
32fc586c08 Allow contribution to include .yml or .yaml config file 2015-07-24 14:30:31 +02:00
Christophe Romain
8fedc945bf Allow migration of old pubsub items with xmlelement in body (#479) 2015-07-24 13:44:01 +02:00
Christophe Romain
d481017746 Merge pull request #642 from weiss/pep-on-caps-update
Also send PEP notifications when local contact updates CAPS
2015-07-24 12:07:22 +02:00
Badlop
19aad464da Provide command for ODBC's convert_to_scram 2015-07-23 13:16:15 +02:00
Paweł Chmielowski
8df134e025 Don't crash web admin when displaying info about websocket using users 2015-07-22 11:54:11 +02:00
Christophe Romain
9091fcb1a1 Let nodetree call default flat plugin now
this fix mistake from previous commit 311fedaa
2015-07-22 11:20:06 +02:00
Christophe Romain
9aa2d92d90 Allow include of simple dependencies (EJAB-1737)(#391)
Either contributed module include dependencies this way
  deps/
    dep1/
      src/
      include/
    dep1/
      src/
      include/

Or includes rebar.config or rebar.config.script:
In this case, only git is supported (if git command available)
and ext_mod checkout code in deps directory.

In both case, only basic built procedure is supported. ext_mod
does not do more than bare compilation like this:
erlc -I include src/*erl
2015-07-22 10:48:44 +02:00
Christophe Romain
311fedaa12 Let flat be default plugin (#609) 2015-07-22 10:37:26 +02:00
Christophe Romain
9c36a9df78 Do not init nodes from mod_pubsub (#609)
Let each plugin do its own initialisation in init_plugins
init_nodes was an old function to be removed.
2015-07-22 08:03:27 +02:00
Christophe Romain
b47a27f3ac Merge pull request #608 from weiss/bare-jid-subscription
PubSub: Check for node subscription of bare JID
2015-07-22 07:58:34 +02:00
Evgeny Khramtsov
531638e946 Merge pull request #632 from weiss/increase-max-ack-queue
XEP-0198: Increase default value of "max_ack_queue" option
2015-07-21 12:36:01 +03:00
Evgeny Khramtsov
a724893887 Merge pull request #618 from weiss/muc-message-hook
New hook: muc_filter_packet
2015-07-21 12:35:27 +03:00
Evgeniy Khramtsov
7f4c74dec9 Print content types more gracefully 2015-07-17 14:29:11 +03:00
Badlop
7395cc910e Set direction of resource and connection (#650) 2015-07-15 21:39:13 +02:00
Badlop
c53d764119 If local guide.html file not found, redirect to the online guide 2015-07-15 20:45:55 +02:00
Badlop
3eb0b161b2 Update links to Guide in WebAdmin 2015-07-15 20:40:13 +02:00
Badlop
65551afcba Support RTL page direction in WebAdmin for Hebrew (#650) 2015-07-15 19:01:32 +02:00
Badlop
f4376671ac Set LTR direction to Raw links (#650) 2015-07-15 18:51:31 +02:00
Badlop
c012d7555b Add links in WebAdmin to ejabberd and ProcessOne (#661) 2015-07-15 13:10:12 +02:00
Badlop
9ede414f01 Support more mod_muc_admin translation strings (#659) 2015-07-15 11:54:35 +02:00
Evgeniy Khramtsov
a53191fed5 Add "complete" attribute to MAM final response (EJABS-2484) 2015-07-10 14:05:47 +03:00
Evgeniy Khramtsov
8e27decdfd Fix mod_mam compatibility with RSM for other backends 2015-07-10 13:59:33 +03:00
Evgeniy Khramtsov
0dfc8ade68 Fix tests related to MAM 2015-07-10 13:57:27 +03:00
Jerome Sautret
1db65e3614 Fix mod_mam compatibility with RSM (only with odbc backend). 2015-07-10 13:56:33 +03:00
Evgeniy Khramtsov
a168340838 During halt only shutdown MUC rooms on local node 2015-07-08 15:35:26 +03:00
Jerome Sautret
2598375051 Changed mam iq get to set as specified by XEP-0313 v0.3 2015-07-08 13:15:14 +03:00
Holger Weiss
0f96414279 Trigger PEP notifications on CAPS updates
Let mod_pubsub send last items whenever a contact updates the entity
capabilities.  This was already done for remote contacts and is now also
done for local contacts.
2015-07-07 09:33:00 +02:00
Holger Weiss
edb18deb8f mod_pubsub: Explain caps_update usage in a comment
The reason to use the caps_update hook for sending last items to remote
contacts is probably not obvious.
2015-07-06 23:45:25 +02:00
Mickael Remond
0770252e9b Fix dialyzer warning
The function is call with binary format from ejabberd_c2s.
2015-07-05 13:33:34 +02:00
Holger Weiss
b7d7dc5201 XEP-0198: Increase timeout during resumption
Give gen_fsm:sync_send_all_state_event/3 a little more time to transfer
the (possibly somewhat large) c2s #state during session resumption.
2015-07-03 11:35:22 +02:00
Holger Weiss
5856f6d06a XEP-0198: Increase default "max_ack_queue" value
During login, clients might receive a relatively large number of stanzas
in one go.  For some users, the default value of the "max_ack_queue"
option turned out to be too small in that situation.
2015-07-03 11:35:22 +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
Evgeniy Khramtsov
3c12d1a960 Do not rely on behaviour info when doing config validation 2015-06-29 22:50:34 +03: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
Badlop
4ae1b4db03 When passwords are scrammed, report check_password_hash cannot work (#559) 2015-06-25 13:39:45 +02:00
Badlop
72f35a6dc6 Add xep definition to mod_mam 2015-06-24 11:58:37 +02:00
Evgeniy Khramtsov
83cce468a5 Add MAM (XEP-0313) support 2015-06-22 16:56:08 +03:00
Badlop
6631078884 Document a few more supported protocols 2015-06-22 13:11:37 +02:00
Holger Weiss
fc0754c609 Add s2s_dhfile to list of known options 2015-06-20 00:14:54 +02:00
Holger Weiss
73a0fb418c Update comment that explains how to set up node_mb
Specify settings that make sense with current ejabberd versions, and use
the YAML configuration format.  Also, specify the "urn:xmpp:microblog:0"
namespace, as that's the microblogging node name currently defined by
XEP-0277.
2015-06-19 23:13:36 +02:00
Holger Weiss
04038c01f7 PubSub: Check for node subscription of bare JID
Don't just check whether the full JID is subscribed when a node
subscription is required to list or publish items.  If the bare JID is
subscribed, these requests are now also accepted.
2015-06-19 00:50:08 +02:00
Badlop
36a96ae3f5 change_room_option misses handling some room options #604 2015-06-18 13:13:49 +02:00
Christophe Romain
d528457ba5 Don't force persistence if cache enabled (fix previous commit) 2015-06-18 12:54:46 +02:00
Christophe Romain
e5a98b100d Fix max_items and don't let PEP depends on item cache 2015-06-18 12:06:29 +02:00
Badlop
1cf2dfe63a New hide_sensitive_log_data option to hide client IP in log (#452 #471) 2015-06-17 11:32:42 +02:00
Holger Weiss
e608274243 Add s2s_dhfile option to configuration validator 2015-06-16 15:18:34 +02:00
Alexey Shchepin
2110b929bc Merge pull request #581 from weiss/dh-param-file
New options: dhfile and s2s_dhfile
2015-06-16 11:59:06 +03:00
Paweł Chmielowski
dcf5aefea0 Add option to set net_ticktime (EJAB-1742) 2015-06-15 14:57:07 +02:00
Badlop
357ff6c8f7 Fix bug introduced in commit b88fa6f617 2015-06-04 15:47:02 +02:00
Badlop
fe10c6f6f2 Pick first local multicast service, otherwise remote (ejabberd-contrib#105) 2015-06-04 12:13:10 +02:00
Holger Weiss
6c712b6caa Don't add body element to MUC subject messages 2015-06-04 09:55:38 +02:00
jpegger
6f48f22c71 Authmodule using old style XML:get_attr_s() 2015-06-03 18:11:35 +02:00
Evgeniy Khramtsov
9a9633dbc5 Do not ignore unknown options so far 2015-06-03 16:21:22 +03:00
Evgeniy Khramtsov
c1119b1f39 Remove unused validation code 2015-06-03 16:05:17 +03:00
Evgeniy Khramtsov
ab196b4b02 Move opt_type/1 function out of if-else block 2015-06-03 15:52:19 +03:00
Evgeniy Khramtsov
730fd55ec9 Fix typo 2015-06-03 15:45:15 +03:00
Evgeniy Khramtsov
0ae9ef2b41 Add missing options of ejabberd_logger to validator 2015-06-03 15:25:20 +03:00
Evgeniy Khramtsov
83faff37e5 Add missing options of mod_muc to validator 2015-06-03 15:18:09 +03:00
Badlop
4ed6a3d78f Fix commands export2odbc, connected_users_vhost and push_alltoall (#586) 2015-06-02 12:52:15 +02:00
badlop
0de7864880 Merge pull request #585 from CorCornelisse/master
push_roster* not updated on binarification
2015-06-02 12:24:46 +02:00
Evgeniy Khramtsov
157ff4d093 Merge branch 'master' of github.com:processone/ejabberd 2015-06-01 15:38:37 +03:00
Evgeniy Khramtsov
fb6267f38e Add config validation at startup 2015-06-01 15:38:27 +03:00
Badlop
9a802185ad Fix anonymous user login, it wasn't stored in anonymous mnesia table 2015-06-01 14:34:49 +02:00
Evgeniy Khramtsov
a9f7d9481f Do not try to fetch module options via eldap_utils 2015-06-01 15:22:31 +03:00
Evgeniy Khramtsov
ea7de2097f Reorganize get_opt() code in some modules 2015-06-01 15:20:49 +03:00
Evgeniy Khramtsov
48213b09ce Get rid of some fuzzy macros as it makes syntax tools getting mad 2015-06-01 15:19:56 +03:00
Cor Cornelisse
22d9011c0c These arguments should be binary instead of strings, otherwise it won't work properly 2015-06-01 13:30:26 +02:00
Badlop
100827ec6e In xmlrpc use process_unicode_codepoints instead of list_to_binary 2015-05-29 15:49:12 +02:00
Evgeniy Khramtsov
a291e7d4e6 Fix MUC room options vaildation 2015-05-29 12:08:36 +03:00
Evgeniy Khramtsov
e8ffbbb0b4 Validate MUC room options from the configuration file 2015-05-28 11:42:17 +03:00
Badlop
d0443bb714 An auth external module requires ext_mod to be started first (#578) 2015-05-27 13:10:15 +02:00
Holger Weiss
5585fb1ecf New options: dhfile and s2s_dhfile
Let admins specify a file that contains custom parameters for
Diffie-Hellman key exchange.
2015-05-26 21:06:04 +02:00
Christophe Romain
b83c07251c Fix pubsub/odbc crash on remote user unsubscribe (EJAB-1483) 2015-05-26 19:19:57 +02:00
Alexey Shchepin
b2f98099bb Merge pull request #569 from weiss/send-element-error-checking
Update send_element error checking (EJAB-1739)
2015-05-26 15:59:50 +03:00
Mickael Remond
9574e71e8d Include session record from header file instead of duplicating it 2015-05-26 10:08:46 +02:00
Paweł Chmielowski
3af507cc43 Fix merging of not yaml config files 2015-05-25 15:37:46 +02:00
Christophe Romain
e54e556e01 Fix use of publish_only affiliation with odbc backend 2015-05-22 18:47:17 +02:00
Badlop
b07cb1ed84 Use namespace definitions when possible 2015-05-21 17:04:14 +02:00
Badlop
0c725b5fac Document protocol support (EJABS-1620) 2015-05-21 17:04:05 +02:00
badlop
b04f3a4c93 Merge pull request #573 from sezuan/fix_odbc
Fix some string/binary issues with non-native ODBC drivers
2015-05-21 11:31:47 +02:00
Holger Weiss
889459b45c Fix function specification 2015-05-20 12:13:15 +02:00
Evgeniy Khramtsov
3b267eaa61 Do not bounce normal messages sent to unavailable resource 2015-05-19 10:58:36 +03:00
Holger Weiss
fba13a0b93 Simplify XEP-0203 (Delayed Delivery) code a bit
Now that XEP-0091 support is removed, the XEP-0203 code can be
simplified a little further.  This doesn't change the behavior.
2015-05-18 21:26:51 +02:00
Christophe Romain
8bb994dbca Call integer_to_binary using jlib (#554) 2015-05-18 17:30:25 +02:00
Badlop
2af659b737 Remove deprecated XEP-0090 Entity Time and 91 Delayed Delivery (EJAB-849) 2015-05-18 12:38:25 +02:00
Matthias Rieber
16532dd643 Fixed some string()/binary() issues in ejabberd_odbc 2015-05-18 12:14:56 +02:00
Matthias Rieber
f5c9dfbc93 fixed erl_prettypr in encode_term 2015-05-17 19:37:49 +02:00
Badlop
084d0c4efe New command get_room_options (#567) 2015-05-15 17:47:10 +02:00
Holger Weiss
61afd668c2 Fix indentation 2015-05-15 15:50:43 +02:00
Paweł Chmielowski
de7ff536b2 Load config snippets for modules installed with ext_mod (EJAB-1741) 2015-05-15 12:30:15 +02:00
Paweł Chmielowski
5dbe7a3c6c Export modules_dir/0 2015-05-15 12:27:59 +02:00
Holger Weiss
6efce7f706 Cosmetic change: Simplify error checking
Let send_stanza_and_ack_req/2 update the #state instead of propagating
the value returned by send_element/2.  This doesn't change the behavior.
2015-05-14 01:04:23 +02:00
Holger Weiss
42c7205739 Don't assume send_element/2 returns ok or error
Let send_text/2 and (therefore) send_element/2 return {error, Reason}
instead of error for consistency, and let send_stanza_and_ack_req/2
interpret any non-ok value as an error.  (EJAB-1739)
2015-05-14 00:58:36 +02:00
Badlop
d885435552 Fix setting 'description' with change_room_option command (#567) 2015-05-12 17:37:39 +02:00
Badlop
f817762cc4 New max_users_presence mod_muc option (thanks to anhcoi123)(#562) 2015-05-08 13:09:25 +02:00
Badlop
25beb46391 Fix check_password_hash argument parsing (#559) 2015-05-08 12:04:04 +02:00
Badlop
7ab6c4b4fd Try to support access_commands in YAML (ejabberd-contrib#45) 2015-05-07 18:34:05 +02:00
Badlop
b0b004b26e Revert "Add private and roster local handlers (EJAB-682)" due to #556
This reverts commit 2e194bd997.
2015-05-07 17:07:49 +02:00
Badlop
f7d9bb7ce4 Don't announce register feature once user is authenticated (#41) 2015-05-07 11:41:59 +02:00
Ben Langfeld
917d48f30b Use SASL PLAIN authzid as client identity if auth module permits it
This allows the authentication modules to perform SASL proxy authentication. It puts the onus on them to authorize the authcid to masquerade as the authzid. Doesn't currently implement such functionality in existing auth modules, since they cannot currently codify a relationship between the two identities. Does not permit the authzid to use a domain differently from the one of the connection.

Note: digest might not work, but I have no interest in it, being deprecated.
2015-05-06 14:12:15 -03:00
Ben Langfeld
d9814709e2
Remove commented code 2015-05-06 12:55:35 -03: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
fa99519f8b Simplify internal code of get_last and set_last commands 2015-05-05 12:54:20 +02:00
Badlop
96c62acb1b Improve get_last command to provide also last activity status 2015-05-05 12:46:21 +02:00
Badlop
77e57afae1 Fix set_last command to work with recent ejabberd (#555) 2015-05-05 12:45:53 +02:00
Evgeniy Khramtsov
60fe008268 Remove duplicated code 2015-04-29 14:51:45 +03:00
Christophe Romain
6987e85602 Improve module install code, allows better error checking 2015-04-29 13:30:03 +02:00
Badlop
7492ecae52 New command get_user_rooms 2015-04-29 13:22:49 +02:00
Christophe Romain
4440b03b89 Fix fetching from git@github url and allow compilation from ejabberd sources 2015-04-29 10:19:15 +02:00
badlop
6f99775115 Merge pull request #547 from weiss/fix-account-jid-disco
Fix service discovery handling for account JIDs
2015-04-27 19:39:32 +02:00
Badlop
987e337c66 Rely on core routine for handling affiliation changes (thanks to Ben Langfeld)
This ensures that all of the usual stanzas and such go out
2015-04-27 17:00:22 +02:00
Holger Weiss
dc449687a0 mod_disco: Apply minor readability improvements 2015-04-26 16:36:17 +02:00
Holger Weiss
0edba763fb mod_disco: Omit 'roster_get' call if possible
As a small optimization, avoid running the 'roster_get' hook in the
(common) case where a client requests service discovery information for
its own bare JID.
2015-04-26 16:32:03 +02:00
Holger Weiss
50f35f1b07 Fix service disco handling for bare account JIDs
Don't swap the sending and receiving JIDs while checking whether the
client that requested service discovery information for a bare account
JID is a subscribed contact.
2015-04-26 16:22:09 +02:00
Evgeniy Khramtsov
9c85cb5f25 Fix validating function for iqdisc 2015-04-23 14:59:18 +03:00
Christophe Romain
38dd44e18f Improve purge_offline filter and speed (#543) 2015-04-22 18:11:39 +02:00
Badlop
2e194bd997 Add private and roster local handlers to get listed in disco#info (EJAB-682) 2015-04-22 13:27:25 +02:00
Badlop
e280de8452 Allow to modify host when registering account in web (#291) 2015-04-22 11:01:47 +02:00
Christophe Romain
6e4d6caebf Add support for publish-only (#30) 2015-04-21 17:23:59 +02:00
Christophe Romain
cf37f3977a Fix typo, oups... 2015-04-21 16:13:23 +02:00
Christophe Romain
61f80396da remove deferred Collection shim header 2015-04-21 16:11:00 +02:00
Christophe Romain
cbd45974e2 Owner can subscribe to its node (#454) 2015-04-21 15:24:31 +02:00
Christophe Romain
747d25b4ad Fixed node type (thanks to saczawap) (#435) 2015-04-21 15:24:24 +02:00
Christophe Romain
e0563e3918 PubSub improvements
This commit contains
- code cleanup
- use of db_type instead of old mod_pubsub_odbc
- some minor optimizations
- some minor bugfixes
2015-04-21 15:24:16 +02:00
Christophe Romain
28090a3958 Merge pull request #540 from weiss/queue-error-stanza
Add privacy error stanza to XEP-0198 queue
2015-04-21 11:19:49 +02:00
Evgeniy Khramtsov
ed79a61752 Fix LDAP substrings filter (EJAB-1715) 2015-04-21 11:49:41 +03:00
Holger Weiss
94936b261e Add privacy error stanza to XEP-0198 queue 2015-04-20 22:03:18 +02:00
Alexey Shchepin
fd54181435 Fixed error replying on blocked messages 2015-04-20 17:19:09 +03:00
Badlop
c2e6ce0f04 Remove load_config command because is superseded by reload_config (#532) 2015-04-20 15:57:44 +02:00
Evgeny Khramtsov
837706e9d9 Merge pull request #536 from weiss/fail2ban-whitelist
Add mod_fail2ban option to whitelist IP addresses
2015-04-18 12:28:36 +03:00
Holger Weiss
aa36742a40 mod_fail2ban: Add 'access' option for whitelisting
Closes #535.
2015-04-18 11:08:05 +02:00
Holger Weiss
c01940f33c cyrsasl_scram: Return user name with error message
Let ejabberd_c2s run the 'c2s_auth_result' hook (which needs the user
name) on SCRAM authentication failure.
2015-04-17 20:21:11 +02:00
Holger Weiss
afdc269825 ejabberd_s2s_out: Remove Erlang/OTP version check
The version check won't work for Erlang/OTP >= 17; and it's no longer
needed, as we don't support versions older than R16 anyway.
2015-04-16 23:51:16 +02:00
Badlop
d624753410 Update get_password_s description with SCRAM return values 2015-04-15 11:51:34 +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
Paweł Chmielowski
ba69c469b5 Remove http_poll module
For couple years browsers did limit ability to change cookies from js
for different domains, this made http_poll connections practically not
usuable. I don't think this module is used at all so it's time to put it
to rest.
2015-04-15 10:47:10 +02:00
Holger Weiss
e408276283 Don't forget gen_tcp:listen/2 options
Fixes #530.
2015-04-14 20:22:34 +02:00
Badlop
b67af5e036 Fix nick logging in mod_muc_log plaintext (#522) 2015-04-14 15:46:59 +02:00
Badlop
25449a076f Clean multicast routing code detected by xref 2015-04-10 16:02:45 +02:00
Paweł Chmielowski
8732817c3c Fix problem with pushing bufferend #xmlel-s to receiver in websocket code 2015-04-09 13:35:37 +02:00
Badlop
f129c6530c Fix bug when sorting the list of rooms in WebAdmin 2015-04-08 15:34:08 +02:00
Evgeniy Khramtsov
32b60d4250 Remove hack with binary to integer conversion 2015-04-08 16:11:06 +03:00
Evgeniy Khramtsov
7a89dda816 Merge branch 'master' of github.com:processone/ejabberd 2015-04-08 15:31:41 +03:00
Evgeniy Khramtsov
9b4942890d Add virtual host support for SQLite 2015-04-08 15:31:28 +03:00
Badlop
0cf8d1fa6e Copy multicast code from ejabberd-contrib to provide XEP-0033 (#521) 2015-04-08 14:01:16 +02:00
Evgeniy Khramtsov
675c428f21 Disable awkward trap_exit flag 2015-04-08 14:40:28 +03:00
Evgeniy Khramtsov
bdedcf8d8a Enable FOREIGN KEYS by default 2015-04-08 14:39:47 +03:00
Evgeniy Khramtsov
2a3a2d9804 Make sure SQLite always returns binaries 2015-04-08 14:38:04 +03:00
Evgeny Khramtsov
5a820aca40 Merge pull request #486 from saa/sqlite_support
Add SQLite support
2015-04-08 14:34:56 +03:00
Jerome Sautret
c3280e9dad Add mod_muc_admin contrib. 2015-04-07 17:05:43 +02:00
Holger Weiss
0fd4984c23 ejabberd_listener: Remove Erlang/OTP version check
We don't support Erlang/OTP versions older than R16 anyway.
2015-04-07 09:47:05 +02:00