25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-26 16:26:24 +01:00
Commit Graph

4212 Commits

Author SHA1 Message Date
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
Evgeny Khramtsov
b81b0d0be9 Merge pull request #518 from liudanking/master
fix otp version check in ejabberd_listener.erl listen_tcp/5
2015-04-07 10:34:18 +03:00
Mickael Remond
c140f98276 Explicitly start crypto with start
This is to please Elixir / Phoenix enviroment
2015-04-07 09:03:37 +02:00
liudan
f981a53f9a fix otp version check in listen_tcp/5 2015-04-07 09:28:35 +08:00
Holger Weiss
2a94c68724 Don't call send_element/2 if previous call failed
Be sure not to try sending data over a TCP socket that is no longer
usable.
2015-04-06 22:34:48 +02:00
Paweł Chmielowski
81b0643036 Fix problem with c2s buffering on old style websocket connections
Old style websocket do use binaries for transferring data to C2S, so when
we buffer that data we need to handle it different than list of #xml structs
used by new style connections.

This fixes github issue #515.
2015-04-06 17:54:45 +02:00
Paweł Chmielowski
64978b3d9c Merge pull request #513 from weiss/ignore-header-case
ejabberd_websocket: Ignore case of HTTP header values
2015-04-06 17:49:51 +02:00
Mickael Remond
34f8f6d868 Explicitely start crypto module
Without explicit start, it causes issue when embedding ejabberd into other apps.
2015-04-06 13:46:09 +02:00
Evgeniy Khramtsov
69bff82301 Fix type spec 2015-04-06 12:38:54 +03:00
Mickael Remond
47537aa901 Make sure Mnesia dir environment and log file are list, not binary
This is useful for Elixir configuration, as binary is the more natural data type.
Closes #514
2015-04-06 11:36:16 +02:00
Holger Weiss
0cd77ab942 ejabberd_websocket: Ignore case of header values
RFC 6455 says that the client's opening handshake includes an Upgrade
header field "containing the value 'websocket', treated as an ASCII
case-insensitive value."

Closes #510.
2015-04-05 14:48:08 +02:00
Mickael Remond
ea8db9967f ejabberd can be embedded in an Elixir application 2015-04-04 17:42:12 +02:00
Badlop
7d3b2cad26 Replace crypto calls that will be removed in a future release 2015-04-04 14:09:58 +02:00
Badlop
cf40daf663 Replace undefined value with empty one (processone/ejabberd-contrib#92) 2015-04-04 13:48:17 +02:00
Holger Weiss
1fa73fd33f Remove unused case clauses to make dialyzer happy 2015-04-03 20:37:42 +02:00
Badlop
94761ff31e Improve srg_get_info result format (processone/ejabberd-contrib#92) 2015-04-03 12:16:11 +02:00
Paweł Chmielowski
088c5c4672 Fix output formatting in srg_get_info commend from mod_admin_extra 2015-04-02 16:55:51 +02:00
Paweł Chmielowski
b580da3547 Fix problems with get_vcard* functions from mod_admin_extra 2015-04-01 16:32:34 +02:00
Paweł Chmielowski
cf3b4dbc7b Drop exmpp usage from mod_admin_extra 2015-04-01 15:44:49 +02:00
Evgeny Khramtsov
305b281c15 Merge pull request #493 from weiss/rfc-6121-routing
Update ejabberd_sm's routing rules as per RFC 6121
2015-04-01 11:41:05 +03:00
Evgeniy Khramtsov
821039b7d5 Swap 'mnesia' and 'internal' types correctly 2015-03-30 12:25:25 +03:00
Evgeniy Khramtsov
fb1fd50df5 The 'default_db' option should impact ejabberd_auth as well 2015-03-30 12:18:18 +03:00
Evgeniy Khramtsov
4af15df546 Add new 'default_db' option 2015-03-30 12:15:29 +03:00
Sergey Abramyan
15af88a09a Fix lite.sql and convert binary to integer 2015-03-27 22:14:29 +03:00
Badlop
176114d28e Try to fix more Dialyzer warnings 2015-03-27 15:55:57 +01:00
Badlop
9c96d30719 Ensure set_presence changes are kept in state (thanks to Davide Colombo)(EJAB-1184) 2015-03-27 15:03:14 +01:00
Badlop
30dc82a98a Fix even more dialyzer warnings 2015-03-27 12:28:24 +01:00
Badlop
8707c0b045 Fix set_presence command (ejabberd-contrib#61) 2015-03-27 11:43:56 +01:00
Badlop
10dfd182f6 Fix more mod_admin_extra commands 2015-03-26 20:41:16 +01:00
Badlop
9b3dda105d Fix problems in process_rosteritems command 2015-03-26 16:18:39 +01:00
Badlop
fbb6b65192 Detect correctly when vCard does not exist (#21) 2015-03-26 14:00:58 +01:00
Badlop
0c30beb93d Fix return error when requesting non-existing vcard value (#21) 2015-03-26 14:00:54 +01:00
Mickaël Rémond
c9393bc4f4 Ignore errors when retrieving status if the users just got offline
Fix possible race condition.
2015-03-26 14:00:50 +01:00
Holger Weiss
5103ed1c3b mod_admin_extra: Let send_message omit subject
Let the send_message command omit the subject if the user either
specified an empty subject or a message type of "chat".
2015-03-26 14:00:48 +01:00
Badlop
88cd8c7b12 Update FSF address (solves #73) 2015-03-26 14:00:46 +01:00
HAMANO Tsukasa
00fe68ed06 fix connected_users_info in mod_admin_extra 2015-03-26 14:00:44 +01:00
Holger Weiss
09dd288ac0 mod_admin_extra: Fix private_get/private_set types 2015-03-26 14:00:42 +01:00
Badlop
2186c03a9c Support TEL XXX in set and get_vcard commands 2015-03-26 14:00:40 +01:00
colm
441d48f080 Changed signature of user_sessions_info to take binaries rather than strings as it doesn't match anything in mnesia if it searches it by string 2015-03-26 14:00:38 +01:00
Badlop
c3afc3c7c0 Join three send_message_* commands in one (PR #68) 2015-03-26 14:00:36 +01:00
HAMANO Tsukasa
9a64bfe605 add send_message_normal command 2015-03-26 14:00:34 +01:00
HAMANO Tsukasa
ca25d44c8b fix mod_admin_extra stats command 2015-03-26 14:00:32 +01:00
Holger Weiss
4e9b4cbc11 mod_admin_extra: Fix stats(_host) argument types 2015-03-26 14:00:30 +01:00
Badlop
46b33b51b4 Update kick_session to work with ejabberd master 2015-03-26 14:00:28 +01:00
Sonny Scroggin
3eebf100f9 Binary conversions 2015-03-26 14:00:24 +01:00
Sonny Scroggin
5c0a1dde1c More binary conversions 2015-03-26 14:00:21 +01:00
Badlop
949705b04a Update add_roster_item and get_roster to ejabberd 13 2015-03-26 14:00:18 +01:00
Badlop
f682dfe3a6 Fix get_vcard and set_vcard when using option module_resource (issue #21) 2015-03-26 14:00:16 +01:00
Sonny Scroggin
14a3662ca4 Fix add_rosteritem, delete_rosteritem, and get_roster 2015-03-26 14:00:14 +01:00
Badlop
ffea2bf350 Update get_vcard and set_vcard to ejabberd 13 (fixes issue #21) 2015-03-26 14:00:12 +01:00
Rahul Gautam
f314da7b1f mod_admin_extra: for support in ejabberd-v13.x changed args from string to binary : all changes tested with ejabberdv13.12 2015-03-26 14:00:10 +01:00
Badlop
d72c739630 Fix command change_password (fixes #16) 2015-03-26 14:00:08 +01:00
Badlop
57035b383c Handle error when requesting information of a non-existing shared roster (fixes #14) 2015-03-26 14:00:06 +01:00
Badlop
2746e358b3 Fixes srg_* commands (fixes #147) 2015-03-26 14:00:04 +01:00
Badlop
d66f40d94f Fix srg_create when calling ejabberd_regexp (fixes issue #12) 2015-03-26 14:00:01 +01:00
Badlop
e6a9c5ccee Add get_last to ejabberdctl for last user activity (thanks to lehrblogger)
The logic for determining the response is borrowed from here:
6d811f5178/src/web/ejabberd_web_admin.erl (L1583-L1601)
2015-03-26 13:59:59 +01:00
Badlop
f0cf90c11e Initial import from ejabberd-modules SVN 2015-03-26 13:59:57 +01:00
Paweł Chmielowski
de26af3fdb Make sure that we send each time <close> before closing websocket connection 2015-03-25 17:10:08 +01:00
Badlop
d9ad26b4ec If command crashes, return restuple with error and explanation (ejabberd-contrib #21) 2015-03-25 13:57:08 +01:00
Holger Weiss
f40e6a0421 Don't bother with filtering out PEP error messages
Now that ejabberd_sm won't deliver error messages that were sent to bare
JIDs anymore, PEP error messages should no longer arrive.
2015-03-25 02:02:08 +01:00
Holger Weiss
1b1878409f Route headlines sent to bare JIDs to all resources
As per RFC 6121, deliver headline messages that were sent to a bare JID
to all resources with a non-negative priority, not just to those with
the highest priority.  If no such resource is available, discard them
silently.
2015-03-25 01:17:35 +01:00
Holger Weiss
8f9a2d6df8 Don't route error/groupchat messages to bare JIDs
As per RFC 6121, drop error messages that were sent to bare JIDs, and
return an error if a groupchat message was sent to a bare JID.
2015-03-25 00:52:49 +01:00
Holger Weiss
bc008d4041 Update routing for unavailable resources
As per RFC 6121, don't reroute non-chat messages sent to unavailable
resources.
2015-03-25 00:13:05 +01:00
Holger Weiss
33c9f21171 Return error when incoming message is blocked
As per XEP-0016 and XEP-0191, return a service-unavailable error when an
incoming message was blocked by a privacy list.  This lets the user
appear offline to the contact.
2015-03-24 23:10:47 +01:00
Holger Weiss
27a4d783a5 Fix "IP address not available" error message 2015-03-24 17:32:57 +01:00
Alexey Shchepin
736710cc9c Add support for ciphers and protocol_options in ejabberd_http 2015-03-24 18:14:47 +03:00
Holger Weiss
31e356c126 Avoid crypto:hmac/3 call for R15B compatibility 2015-03-21 22:56:23 +01:00
Holger Weiss
a5d6044448 Fix compilation on Erlang R15B 2015-03-21 22:06:38 +01:00
Christophe Romain
8b23727cc6 Start ext_mod before module as it's setup contrib path 2015-03-20 15:06:02 +01:00
Alexey Shchepin
5135e30633 Removed deprecated calls to crypto:sha_mac in scram.erl 2015-03-20 14:09:38 +03:00
Alexey Shchepin
f6db84282b Add ejabberd_auth_odbc:convert_to_scram/1 2015-03-20 13:46:17 +03:00
Alexey Shchepin
e575c87ea2 Add SCRAM support to ejabberd_auth_odbc 2015-03-20 13:45:24 +03:00
Jerome Sautret
6b67a66a1b Added MySQL support for delete_old_messages (offline) command. 2015-03-20 10:40:19 +01:00
Evgeniy Khramtsov
4d2924a3ef Fix mod_offline termination 2015-03-20 10:40:13 +01:00
Alexey Shchepin
b7726ee392 Explicitly set standard_conforming_strings to off with PostreSQL 2015-03-20 10:39:29 +01:00
Evgeniy Khramtsov
51508a9fc3 Report TLS errors 2015-03-20 10:39:14 +01:00
Sergey Abramyan
5ae01e8bb4 Add SQLite support 2015-03-20 01:10:47 +03:00
Christophe Romain
aa1250a3dd Add missing list_to_binary call 2015-03-13 17:59:19 +01:00
Christophe Romain
5b9635cc07 Add contributed modules code path on start 2015-03-13 12:20:25 +01:00
Christophe Romain
588f98fc3a Rename module function to keep them grouped on help 2015-03-13 11:54:32 +01:00
Evgeniy Khramtsov
f72799b3cc Improve module structure 2015-03-13 13:05:16 +03:00
Evgeniy Khramtsov
bbe5c6b74e Do not fail on badly formed SQL results 2015-03-13 12:59:16 +03:00
Evgeniy Khramtsov
c7dc56c314 Fix unblock all when Riak is used as a backend 2015-03-13 12:47:08 +03:00
Paweł Chmielowski
bf5c7198fc Update sockmod() type after adding websocket support 2015-03-12 13:15:31 +01:00
Christophe Romain
7209954a5f Remove unused clause 2015-03-12 13:15:07 +01:00
Paweł Chmielowski
e855791f16 Update types to fix dialyzer warnings 2015-03-12 10:34:34 +01:00
Holger Weiss
b045bd806a mod_offline: Remove a few superfluous newlines 2015-03-11 20:38:22 +01:00
Holger Weiss
0bfde19ebd Don't crash in mod_offline:export/1
(Thanks to Christophe Romain.)
2015-03-11 20:35:08 +01:00
Christophe Romain
2d53f7f83e start ext_mod in later stage at init 2015-03-11 17:39:07 +01:00
Christophe Romain
a1a46f7df5 Remove unused code 2015-03-11 17:15:42 +01:00
Christophe Romain
c9b82ff1e5 Compile contributed module with lager if enabled in ejabberd 2015-03-11 14:35:01 +01:00
Christophe Romain
f77622067b Add packaging support for contributed modules
This is a preliminary version that is tested to work with the packaging
branch of ejabberd-modules repository

This version lacks automatic configuration include at runtime
2015-03-11 14:14:28 +01:00
Evgeniy Khramtsov
a0fafc383a Add Redis backend for SM 2015-03-11 14:46:57 +03: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
badlop
0a88255ef6 Merge pull request #467 from hamano/mod_offline_restart
change mod_offline restart type
2015-03-09 19:26:19 +01:00
Evgeniy Khramtsov
c0540e1377 Fix R15B compilation 2015-03-09 17:50:14 +03:00
Evgeniy Khramtsov
72d9b099c6 Make it possible to use SQL as an SM backend 2015-03-09 16:41:13 +03:00
Evgeniy Khramtsov
86e03f3828 Separate db backend from the SM 2015-03-09 14:57:33 +03:00
HAMANO Tsukasa
f55de94314 change mod_offline restart type 2015-03-09 20:28:55 +09:00
Mickaël Rémond
8fef3d1f3f Reorganize / clean ejabberd_hooks header 2015-03-08 19:03:02 +01:00
Mickaël Rémond
a339df2d6a More ejabberd_hooks refactor 2015-03-08 18:44:43 +01:00
Mickaël Rémond
fd91ee5169 ejabberd_hooks refactor and better types 2015-03-08 18:23:22 +01:00
Mickaël Rémond
750fefcd6d Add Elixir test on ejabberd hooks
This is to prepare ejabberd_hooks module refactoring.

I also expanded API to help with testing.
2015-03-08 17:06:43 +01:00
Badlop
f18ce9564c Fix: default_host is forgotten between consecutive HTTP requests (#416) 2015-03-06 12:40:48 +01:00
Badlop
e0228e9b7a Access list editing broken in web_admin (#252) 2015-03-05 11:34:25 +01:00
Badlop
e575f401cd Accept configuration file with .yaml extension (#290) 2015-03-04 17:18:57 +01:00
Mickaël Rémond
8a99287374 Merge branch 'master' of github.com:processone/ejabberd 2015-03-03 22:20:08 +01:00
Mickaël Rémond
f0f8301b5e Fix typo on state reuse
It should help with the crash on #453
2015-03-03 22:19:51 +01:00
Christophe Romain
a265ea53f9 Merge pull request #384 from weiss/fix-last-item-type
Use correct message type when sending last published PEP/PubSub items
2015-02-27 11:40:12 +01:00
badlop
e10d5af303 Merge pull request #443 from mojolingo/feature/muc_admin/affiliation-change-propogate-xmpp
Permit modifying affiliations via an event
2015-02-26 11:48:17 +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
Badlop
5bd8724801 Update FSF address 2015-02-25 15:19:33 +01:00
Paweł Chmielowski
ab3d38c9fc Fix processing POST messages after changes from adding websocket handling 2015-02-25 14:36:48 +01:00
Paweł Chmielowski
8e33f31f50 Try not to use c2s:send_text, it causes problem with websocket 2015-02-25 13:57:03 +01:00
Paweł Chmielowski
b42b171613 Add support for websocket connections 2015-02-25 13:57:02 +01:00
Feotov Daniil
b81250d667 Hook on group message 2015-02-24 11:06:41 +03:00
Christophe Romain
0c0947a241 Add compatibility macros for deprecated types (thanks to Alexey) 2015-02-23 09:58:00 +01:00
Holger Weiss
e87d332394 mod_carboncopy: Apply small code simplification 2015-02-12 00:14:57 +01:00
Holger Weiss
bc7f93ad1e Check availability before carbon copying
Before generating a carbon copy for a resource, make sure it's actually
available.  This handles the case where, for some reason, the
'unset_presence_hook' wasn't called during logout of a resource.  Carbon
copies sent to that resource would otherwise be re-routed to another
resource (which might've received a copy of that message already).
2015-02-11 16:12:08 +01:00
Holger Weiss
9f822dd2b8 Don't crash if 'request_path' has unexpected type 2015-02-11 15:38:55 +01:00
Holger Weiss
834c680f97 Remove unused function clause in mod_carboncopy 2015-02-11 00:52:47 +01:00
Mickaël Rémond
01e1f677c7 Add Elixir support to ejabberd 2015-02-10 17:56:44 +01:00
Holger Weiss
d00f0fb1f4 Don't convert configuration values to strings 2015-02-09 01:08:01 +01:00
Holger Weiss
7fd7e53e4a Fix typo in debug message 2015-02-08 23:49:17 +01:00
Feotov Daniil
eb52c118d0 Migration of scram passwords with piefxis (riak and internal only) 2015-02-05 18:44:08 +03:00
Badlop
87d2eb5f9a Support for "> ." in YAML configuration files 2015-01-28 17:16:10 +01:00
Holger Weiss
0a047d790f Fix a few function specifications 2015-01-23 00:42:18 +01:00
Christophe Romain
c4d17d939d Fix integer parameter which can be set to 0 2015-01-22 12:40:27 +01:00
Evgeny Khramtsov
561025ba32 Merge pull request #413 from weiss/fix-timestamp-overflow
Fix timestamp formatting
2015-01-22 11:00:41 +03:00
Badlop
15e77e9c0f New command to reload config (EJAB-1140) 2015-01-21 15:18:46 +01:00
Christophe Romain
120e581865 Fix missing copyright dates to 2015 (EJAB-1733) 2015-01-21 14:52:37 +01:00
Holger Weiss
528aabf49c Increment number of seconds on timestamp overflow
Increment the number of seconds and set the fractional part to zero if
the latter is too large.
2015-01-21 11:20:26 +01:00
Holger Weiss
18d9f18642 Don't match integer() against float() value 2015-01-21 11:06:06 +01:00
Nathan Bruning
a983df4848 Fix overflow in XEP-0203 delay: if microseconds exceeded 999499, *** was put in the formatted timestamp 2015-01-21 01:10:41 +01:00
Evgeny Khramtsov
104009b3a9 Merge pull request #409 from hamano/scram-stringprep-checking
Scram stringprep checking(correct fix)
2015-01-19 15:23:47 +03:00
HAMANO Tsukasa
e01eb734b4 correct fix for #396 2015-01-19 16:00:18 +09:00
HAMANO Tsukasa
cb57cfa1a6 correct fix for #396 2015-01-19 15:25:58 +09:00
Badlop
2c4647a980 Fix binaries when ejabberd_ctl passes auth details 2015-01-15 20:00:06 +01:00
Badlop
7690320f0f Fix access_commands option in ejabberd_xmlrpc, now it works 2015-01-15 17:39:12 +01:00
Evgeniy Khramtsov
4575649e10 Get rid of asn1rt calls 2015-01-15 14:51:20 +03:00
Taufan Aditya
f650fc83ae Fix spec comment and remove useless case block 2015-01-09 22:19:46 +07:00
Taufan Aditya
864e113256 Fix unused vars warning 2015-01-09 01:00:26 +07:00
Badlop
5a35405cd5 Update copyright dates to 2015 (EJAB-1733) 2015-01-08 17:34:43 +01:00
Evgeny Khramtsov
4ef2d08456 Merge pull request #396 from hamano/scram-stringprep-checking
checking stringprep in scram authentication
2015-01-08 11:02:23 +03:00
HAMANO Tsukasa
ede5a353e8 checking stringprep in scram authentication 2015-01-08 14:12:05 +09:00
Badlop
b88fa6f617 Fix missing presences when adding shared groups (Github PR#99, thanks to Bokner) 2015-01-07 13:11:53 +01:00
Badlop
3882c4d514 Fix binaries in command ejabberdctl stop_kindly 2015-01-07 11:44:04 +01:00
badlop
d24dc4e9c8 Merge pull request #383 from weiss/fix-shutdown
Give temporary processes a little time to stop cleanly
2015-01-07 11:42:22 +01:00
Holger Weiss
9dc9d75502 Fix ejabberd_captcha's listener parsing
If the "captcha_host" is specified without "http://" or "https://"
prefix, ejabberd_captcha tries to figure out the protocol automatically.
Fix the code that parses the listener configuration in order to do that.
2014-12-24 00:35:22 +01:00
Holger Weiss
06db65e108 Give temporary processes time to stop cleanly
Allow temporary processes to perform some final actions when shutting
down.  For example, moc_muc_room:terminate/3 fails to send 'unavailable'
presence to the room participants when killed immediately.
2014-12-21 21:03:22 +01:00
Holger Weiss
d734f6beca Use correct message type for last published items
When sending last published PubSub/PEP items, set the message type
that was used for broadcasting those items originally.
2014-12-21 20:11:05 +01:00
Holger Weiss
e5428c5500 Improve add_message_type/2 function
Let add_message_type/2 accept the type as an atom, and let the function
handle the 'normal' message type.  This doesn't change the behavior, but
avoids some code duplication.
2014-12-21 18:44:53 +01:00
Jerome Sautret
cc958f7787 Fix upgrade of PubSub mnesia tables from older ejabberd version. 2014-12-18 11:51:28 +01:00
Evgeny Khramtsov
df88d9f2e5 Merge pull request #377 from weiss/new-timestamps
Add timestamps to stanzas resent from stream management queue
2014-12-13 09:42:30 +03:00
Holger Weiss
466278fde1 Let jlib use "B" instead of "w" to format integers
As a small optimization, use io:format's "B" control sequence to format
integers.  We don't need to let Erlang figure out the data type if we
already know it.
2014-12-12 23:50:03 +01:00
Holger Weiss
0a19dac4fd Add fractions of seconds to <delay/> timestamps
Include fractions of a second with XEP-0203 <delay/> timestamps, as
specified in XEP-0082.

	Old timestamp: 2014-05-19T11:55:00Z
	New timestamp: 2014-05-19T11:55:00.123Z
2014-12-11 23:11:35 +01:00
Holger Weiss
455039ae69 mod_muc_log: Fix configuration parsing
Fix mod_muc_log's parsing of the "file_permissions" option.

Resolves #373.
2014-12-08 15:51:06 +01:00
Holger Weiss
a78a0a65fe Let CSI code add timestamp at later point in time
As a small optimization, make sure we won't add timestamps to presence
stanzas which end up being thrown away by the CSI code.
2014-12-07 16:27:51 +01:00
Holger Weiss
ba8f38e2eb XEP-0198: Add timestamp to resent stanzas
When an unacknowledged stanza is resent from the Stream Management
queue, add a timestamp so that the receiving client can display the time
at which the stanza was originally sent.
2014-12-07 16:12:06 +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
2cb16bc509 Remove unused field from c2s #state 2014-11-26 00:15:19 +01:00
Evgeny Khramtsov
00dfcc1e10 Merge pull request #350 from flygoast/master
Used current working home as base directory to config relative path.
2014-11-25 14:24:37 +03:00
Evgeny Khramtsov
4163626844 Merge pull request #365 from weiss/csi-config
Fix mod_client_state's configuration parsing
2014-11-25 14:21:18 +03:00
Evgeny Khramtsov
f60c721f84 Merge pull request #364 from weiss/copy-normal-messages
Also carbon-copy messages of type "normal"
2014-11-25 14:21:06 +03:00
Evgeny Khramtsov
e97e56d776 Merge pull request #363 from weiss/drop-pep-errors
Don't route PEP error messages to clients
2014-11-25 14:20:11 +03:00
Evgeny Khramtsov
6b916e7a04 Merge pull request #354 from weiss/pep-privacy
Respect privacy lists for incoming PEP messages
2014-11-25 14:20:01 +03:00
Evgeny Khramtsov
6279c3fd8d Merge pull request #352 from weiss/no-last-pep-duplicates
Don't duplicate last published PEP items
2014-11-25 14:19:53 +03:00
Holger Weiss
6900a41e7d Fix mod_client_state's configuration parsing
Don't log an "invalid value" message when "queue_presence" or
"drop_chat_states" is set to "false".
2014-11-25 12:05:09 +01:00
Holger Weiss
a456482e2f Also carbon-copy messages of type "normal"
It makes no sense to restrict carbon-copying to "chat" messages.
XEP-0280 is expected to be updated accordingly.
2014-11-24 22:37:14 +01:00
Holger Weiss
30687c40ef Don't route PEP error messages to clients 2014-11-24 21:19:32 +01:00
Holger Weiss
16311b73c8 Add new hook: c2s_filter_packet_in
The c2s_filter_packet_in hook can be used to modify or drop incoming
packets before they are transmitted to the client.
2014-11-24 20:55:18 +01:00
Evgeny Khramtsov
946b64e166 Merge pull request #361 from weiss/parse-ldap-dn-filter
Fix parsing of "ldap_dn_filter" option
2014-11-22 10:36:21 +03:00
Holger Weiss
46d035c142 Fix parsing of "ldap_dn_filter" option 2014-11-22 01:33:23 +01:00
Leif Bredgaard Honore
5afa1f6ade Fix for ejabbed bug #359 - now strings are formatted correctly. 2014-11-20 14:21:51 +04:00
Holger Weiss
c566b1d01e Respect privacy lists for incoming PEP messages 2014-11-18 01:25:12 +01:00
Holger Weiss
84c227e6ae Don't duplicate last published PEP items
When a contact becomes available, usually both the 'caps_update' hook
and the 'presence_probe_hook' are called.  For remote contacts, both
hooks triggered PEP notifications, so each item was sent twice.  Fix
this by ignoring the 'presence_probe_hook' for remote contacts.
2014-11-18 01:13:22 +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
Gu Feng
62ccf1cf0e Used current working home as base directory to config relative path.
When a config relative path specified, get_absolute_path would not
return an absolute path. The patch fixed it using current working
home as base directory.

Signed-off-by: Gu Feng <flygoast@126.com>
2014-11-16 00:09:52 +08:00
Evgeny Khramtsov
d5ecd32cec Merge pull request #345 from weiss/last-pep-items
Fix sending of last published PEP items to newly-available resources
2014-11-14 21:27:24 +03:00
Holger Weiss
2446b66016 Use correct type for initial c2s #state.user value 2014-11-14 15:32:48 +01:00
Holger Weiss
f69d1ca282 Send last PEP items to remote subscribers
When a remote subscriber becomes available, send him the last published
PEP items, as we do for local subscribers.

However, the current implementation depends on a running ejabberd_c2s
process of the publisher to send items to remote subscribers.  So, for
those, the behavior is always like it is for local subscribers when
"ignore_pep_from_offline" is set to "true".
2014-11-14 01:33:11 +01:00
Holger Weiss
830fdccd21 Don't broadcast last published PEP items
When a client becomes available, don't send the last published PEP items
of all his peers to all his other peers, but only to that client.
2014-11-14 01:03:26 +01:00
Holger Weiss
5cc30c3977 Move routing of last PEP items into new function
This doesn't change the behavior, but avoids some code duplication.
2014-11-14 00:16:13 +01:00
Holger Weiss
8efae1f05b ODBC: Sync last item notifications with mod_pubsub
A while back, mod_pubsub was modified to address EJAB-1456.  However,
the change was only partially applied to mod_pubsub_odbc.  This commit
adds the remaining part.
2014-11-14 00:02:59 +01:00
Matthias Rieber
8184326eb9 Fix kick_user command 2014-11-10 20:53:00 +01:00
Evgeny Khramtsov
f47a59de2f Merge pull request #340 from weiss/disable-mechanisms
New option: disable_sasl_mechanisms
2014-11-10 11:47:10 +03:00
Holger Weiss
ee0ecd2419 New option: disable_sasl_mechanisms
The new "disable_sasl_mechanisms" option allows for restricting the list
of SASL mechanisms offered to the client.

Closes #339.
2014-11-10 01:10:04 +01:00
Holger Weiss
41dc1efde4 Avoid duplicates of carbon copies
When multiple resources have the same (highest) priority, the session
manager routes messages sent to their bare JID to each of these
resources.  When another resource has a lower priority but receives
carbon copies, make sure it won't receive multiple copies of such
messages.
2014-11-05 19:04:02 +01:00
Evgeny Khramtsov
56dab7ddbe Merge pull request #328 from flygoast/master
Return an empty <vCard/> element in an IQ-result when no vCard exists.
2014-10-29 16:43:49 +03:00
Evgeniy Khramtsov
74b67fa0dc Add new option: store_empty_body 2014-10-27 14:18:09 +03:00
Evgeniy Khramtsov
067958d705 Merge branch 'master' of github.com:processone/ejabberd 2014-10-27 13:44:59 +03:00
Evgeniy Khramtsov
dec1e1f67f Revert "fix mod_offline to store only chat messages with body xml element"
This reverts commit 436f0832c1.
2014-10-27 13:44:46 +03:00
Holger Weiss
2399aba67d Accept trailing whitespace in Base64 strings 2014-10-25 02:05:02 +02:00
Gu Feng
94cdcd7b34 Return an empty <vCard/> element in an IQ-result when no vCard exists.
According to XEP-0054, if no vCard exists, the server MUST return a stanza
error (which SHOULD be <item-not-found/>) or an IQ-result containing an
empty <vCard/> element.

Signed-off-by: Gu Feng <flygoast@126.com>
2014-10-25 00:55:49 +08:00
Holger Weiss
2d748115ee Don't advertise auth mechanisms too early
If "starttls_required: true" is specified for c2s connections,
authentication mechanisms shouldn't be offered before negotiating the
TLS connection.
2014-10-23 10:04:14 +02:00
Evgeny Khramtsov
0b22277b11 Merge pull request #321 from weiss/fix-http-request-record
Use 'request' record definition from header file
2014-10-21 12:12:55 +04:00
liudan
d2edcf1288 fix odbc keepalive interval bug 2014-10-21 10:05:44 +08:00
Holger Weiss
0c24e18b5e XEP-0198: Abort immediately on queue overflow
Terminate the ejabberd_c2s process immediately once stanza queue
overflow is detected.  This makes sure the FSM won't process additional
stanzas before terminating if the recipient is flooded.
2014-10-17 01:35:30 +02:00
Holger Weiss
96d6aacede Use 'request' record definition from header file
This fixes a 'badrecord' crash in mod_http_fileserver.
2014-10-16 13:51:13 +02:00
Holger Weiss
1ccc0d8bcb XEP-0198: Set #state.conn field on session resume 2014-10-12 19:44:35 +02:00
Holger Weiss
7bdc1151b1 Make sure "starttls_required" can't be bypassed
Don't allow clients to circumvent the "starttls_required" option by
enabling XMPP stream compression.
2014-10-12 02:08:08 +02:00
Evgeniy Khramtsov
4bbf16b21a Fix list unblocking when Riak is used as a backend 2014-10-10 11:38:13 +04:00
Evgeniy Khramtsov
d87ca9fb7b Fix format of an XML-RPC response 2014-10-04 12:55:59 +04:00
Evgeniy Khramtsov
7b3209cc7f Switch to P1 implementation of XML-RPC 2014-10-04 12:49:33 +04:00
Evgeniy Khramtsov
1d782db84f Process XML-RPC requests via p1_xml and ejabberd_http 2014-10-04 12:49:12 +04:00
Evgeniy Khramtsov
e109f352e3 Make directory creation more robust 2014-10-02 14:21:27 +04:00
Holger Weiss
277e1dc3ff Offer CSI stream feature only if configured
Don't offer the CSI stream feature when mod_client_state isn't actually
configured to filter stanzas.  This makes sure clients won't send CSI
tags that end up being ignored.
2014-09-25 18:28:20 +02:00
Holger Weiss
56175fef1b Add new hook: c2s_post_auth_features
The c2s_post_auth_features hook can be used to extend the list of stream
features offered after authentication.
2014-09-25 18:15:33 +02:00
Holger Weiss
7aec0337e1 Remove invisible presence fields from c2s #state
Invisible presence isn't supported anymore, so the corresponding
ejabberd_c2s #state fields were unused.
2014-09-25 00:08:56 +02:00
Holger Weiss
61c8836740 Rename deref_aliases back to ldap_deref_aliases
The "ldap_deref_aliases" option has accidentally been renamed to
"deref_aliases".  Revert that change (but accept both names for a
while), so that the option name now matches the documentation again.
2014-09-23 11:31:44 +02:00
Holger Weiss
0a9212583d XEP-0198: Support "resend_on_timeout: if_offline"
If "resend_on_timeout" is set to "if_offline", resend unacknowledged
stanzas only if no other resource is online when the session times out.
In other words, allow for sending them to offline storage, but nowhere
else.
2014-09-16 22:42:34 +02:00
Holger Weiss
b8c98232b8 Support XEP-0352: Client State Indication 2014-09-11 17:44:29 +02:00
Evgeny Khramtsov
7a48e30523 Merge pull request #296 from weiss/remove-unused-clause
XEP-0198: Remove unused function clause
2014-09-07 07:27:17 +04:00
Holger Weiss
2ca563e328 XEP-0198: Remove unused function clause
In the 'wait_for_resume' state, #state.mgmt_pending_since is always
initialized.  fsm_next_state/2 takes care of that.
2014-09-06 20:39:38 +02:00
Holger Weiss
2e169167d4 XEP-0198: Change state on gen_tcp:send/2 failure
When Stream Management is enabled and a gen_tcp:send/2 call fails, go
into the 'wait_for_resume' state immediately.  This makes sure that
gen_tcp:send/2 won't be called again, which might avoid an Erlang issue
where gen_tcp:send/2 apparently hangs despite 'send_timeout' (and
'send_timeout_close') being set.
2014-09-06 20:34:32 +02:00
Holger Weiss
11b2921971 XEP-0198: Let fsm_next_state/2 check timeout value
Don't force the fsm_next_state/2 caller to check for 'mgmt_timeout = 0'.
2014-09-06 20:29:02 +02:00
Evgeniy Khramtsov
ac2ba399a9 Make sure x:data form possesses 'type' attribute 2014-09-03 21:28:55 +04:00
Evgeniy Khramtsov
fda73c3d16 Fix privacy checks of presence probes 2014-09-01 16:39:02 +04:00
Evgeniy Khramtsov
a1ce33ebf8 Automatically remove IPs from ban, add the documentation 2014-08-27 13:25:49 +04:00
Evgeniy Khramtsov
9be9949dab Remove useless -include() 2014-08-27 13:18:29 +04:00
Evgeniy Khramtsov
0f1d95a074 Ban the IP if there are too many failed authentications 2014-08-27 13:18:22 +04:00
Evgeniy Khramtsov
2430e6691b Add mod_fail2ban 2014-08-27 13:17:56 +04:00
Holger Weiss
f1ad6f017b Fix a comment in ejabberd_hooks 2014-08-26 01:04:15 +02:00
vesvalo
01a3c1c2e1 Fix return value of mod_shared_roster:delete_group. Current one is not compatible with mod_admin_extra. 2014-08-21 15:13:43 +04:00
vesvalo
c48b7f272b fix 404 on pep first publishing with odbc 2014-08-21 11:23:58 +04:00
Holger Weiss
2802b6cee2 Allow for "max_ack_queue: infinity", as documented 2014-08-20 12:53:26 +02: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
Evgeny Khramtsov
bc2e26fecd Merge pull request #277 from weiss/xep-0198
XEP-0198: Create shorter session resume IDs
2014-08-15 19:15:32 +04:00
Holger Weiss
2d4c39cd54 XEP-0198: Create shorter resume IDs
Omit the user and server name from the 'previd' value.
2014-08-15 10:56:59 +02:00
Evgeny Khramtsov
9484b11383 Merge pull request #276 from weiss/xep-0198
XEP-0198: Don't crash if the resume ID is incorrect
2014-08-15 10:49:59 +04:00
Holger Weiss
848e1497d1 XEP-0198: Gracefully handle broken 'previd'
Produce a proper error message instead of crashing when the 'previd'
value of a <resume/> request has an unexpected format.
2014-08-15 01:54:41 +02:00
Holger Weiss
2daf95e93f XEP-0198: Gracefully handle wrong credentials
Produce a proper error message instead of crashing when the JID encoded
in the 'previd' value of a <resume/> request is different from the
authenticated JID.
2014-08-15 01:53:47 +02:00
Evgeny Khramtsov
1b1d9b5a73 Merge pull request #269 from Iperity/master
Fix migration of pubsub nodes. Was deleting and re-creating all nodes on...
2014-08-15 03:20:36 +04:00
Evgeny Khramtsov
5836eb5bc2 Merge pull request #268 from benlangfeld/fix/ldap_filter_dnattributes_new_ejabberd
Set dnAttributes on when it's requested by a filter
2014-08-15 03:19:18 +04:00
Evgeniy Khramtsov
5c88f6423a Fix the deprecation warning to reflect YAML format 2014-08-12 14:26:15 +04:00
Evgeny Khramtsov
0917209711 Merge pull request #273 from gamenet/master
odb_queries patch return value of functions update and update_t in case of sql insert
2014-08-08 16:03:03 +04:00
vesvalo
436f0832c1 fix mod_offline to store only chat messages with body xml element 2014-08-08 13:57:27 +04:00
vesvalo
92f89e3d45 Fix odbc update_t and update insert case return value 2014-08-08 13:26:16 +04:00
Holger Weiss
38c016a041 Log auth method for incoming s2s connections
Generate an [info] message that logs whether an incoming s2s connection
is authenticated using the SASL EXTERNAL mechanism or via Server
Dialback.  While at it, also mention whether TLS is enabled.
2014-08-05 14:10:32 +02:00
Nathan Bruning
4f63cb21c2 Fix migration of pubsub nodes. Was deleting and re-creating all nodes on each startup. 2014-08-03 21:03:16 +02:00
Alexey Shchepin
f00725dffb mod_offline now uses gen_server 2014-07-31 14:26:09 +04:00
Christophe Romain
4205108f30 typo fix on roster subscription (EJAB-1711) 2014-07-31 11:50:22 +02:00
Ben Langfeld
651de2ca8e Set dnAttributes on when it's requested by a filter 2014-07-29 15:22:54 -03:00
Evgeniy Khramtsov
3d3a4f7543 Fix events broadcasting via C2S 2014-07-22 19:42:49 +04:00
Christophe Romain
320abee110 apply pull request #250 to pubsub_odbc as well 2014-07-21 17:14:59 +02:00
Christophe Romain
0579fc80ec Merge pull request #250 from Iperity/master
Fix configuraton with custom nodetree plugin
2014-07-21 17:11:29 +02:00
Evgeniy Khramtsov
014d61955c Move some namespaces definitions into header file 2014-07-21 08:32:26 +04:00
Evgeniy Khramtsov
1f4e0c8aea Fix Record-Route signing 2014-07-17 20:30:36 +04:00
Paweł Chmielowski
e0c9242dcf treap.erl was moved to p1_utils 2014-07-17 11:57:23 +02:00
Paweł Chmielowski
0456b78d87 Use p1_utils 2014-07-17 10:52:31 +02:00
Evgeniy Khramtsov
568068c79f Get rid of p1_mnesia file 2014-07-17 08:32:13 +04:00
Evgeniy Khramtsov
b5c4fe6626 Change return type to reflect recent changes in p1_sip 2014-07-16 15:28:36 +04:00
Evgeniy Khramtsov
64205426bf Fix returned types 2014-07-16 10:33:49 +04:00
Evgeniy Khramtsov
89025eea39 Fix blocklist get 2014-07-16 07:43:24 +04:00
Evgeniy Khramtsov
4ef0dd6997 Better Riak usage detection 2014-07-15 20:26:45 +04:00
Evgeniy Khramtsov
b5f1b17926 Fix broken hooked functions 2014-07-15 19:22:33 +04:00
Nathan Bruning
99c28ab4d6 Fix configuraton with custom nodetree plugin 2014-07-15 12:04:06 +02:00
Evgeniy Khramtsov
792b5a24df Serialize records to proplists before storing then in Riak 2014-07-14 08:24:44 +04:00
Evgeniy Khramtsov
a5987633e0 Fix compile errors introduced by previous cherry picks 2014-07-10 14:16:33 +04:00
Evgeniy Khramtsov
2fe8e0dea5 Make it possible to check Riak connection status 2014-07-10 13:55:24 +04:00
Evgeniy Khramtsov
6a73b96459 Fix roster versioning support when Riak backend is enabled 2014-07-10 13:54:06 +04:00
Evgeniy Khramtsov
538d4ffbd0 Fix case clause 2014-07-10 13:53:57 +04:00
Evgeniy Khramtsov
c15dc01cff Improve Riak pool management 2014-07-10 13:52:29 +04:00
Evgeniy Khramtsov
e82219185b Add SQL to Riak converter 2014-07-10 13:29:01 +04:00
Evgeniy Khramtsov
0490c2f139 Improve Riak support 2014-07-10 13:26:37 +04:00
Alexey Shchepin
a4b02c38db Updated riak support 2014-07-10 13:15:15 +04:00
Alexey Shchepin
47763c10e3 Preliminary Riak support 2014-07-10 13:04:39 +04:00
Evgeniy Khramtsov
fc692ea512 Add start_module/2 2014-07-08 20:58:03 +04:00
Evgeniy Khramtsov
2b8c4acd57 Rename options 2014-07-07 09:40:08 +04:00
Evgeniy Khramtsov
ee40c0e9a7 Add new option support: always_record_route 2014-07-07 09:40:01 +04:00
Matwey V. Kornilov
50a73d1188 Use -include_lib instead of -include for esip and p1_xml
-include_lib is used in order to find deps. Rebar include magic is not required anymore.
Rebar uses deps as library directory.
2014-07-05 17:57:35 +04:00
Evgeniy Khramtsov
76ebebf2a0 Revert "Fix IQ XML generation."
This reverts commit 26a4d91297.
2014-07-05 17:53:45 +04:00
Jerome Sautret
aba7150af1 Return MySQL error messages as binary. 2014-07-04 17:39:28 +02:00
Jerome Sautret
26a4d91297 Fix IQ XML generation. 2014-07-04 15:21:40 +02:00
Christophe Romain
9265720f92 add ability to rotate logs on given date condition 2014-07-02 23:46:54 +02:00
Evgeniy Khramtsov
273631c242 New option support: log_rotate_count 2014-07-02 14:59:05 +02:00
Evgeniy Khramtsov
bb8a0f71e6 Support new options: log_rotate_size and log_rate_limit 2014-07-02 14:58:58 +02:00
Evgeniy Khramtsov
ffdb39d269 Disable SASL error logger if lager is enabled 2014-07-02 14:58:46 +02:00
Badlop
8fae4748a1 mod_caps doesn't provide Mnesia export feature 2014-06-27 13:49:17 +02:00
Evgeny Khramtsov
31440a586c Merge pull request #238 from weiss/log-node-mismatch
Check for Mnesia node name mismatches on startup
2014-06-12 13:23:17 +04:00
Holger Weiss
1ef2dd45f3 Check for Mnesia node name mismatches
Log a proper error message if the node running ejabberd doesn't own the
Mnesia database.
2014-06-12 11:00:22 +02:00
Evgeniy Khramtsov
b29615561c Change default flow timeout as recommended per the RFC 2014-06-12 09:30:10 +04:00
Evgeniy Khramtsov
7892b72bcb Don't forget to close socket of timed out flow 2014-06-12 09:30:04 +04:00
Holger Weiss
c20acbf4d8 Mention configuration file path in error messages
If reading or parsing a YAML configuration fails, log the full path to
the configuration file (as we do for old-style ".cfg" files).
2014-06-11 15:03:33 +02:00
Evgeny Khramtsov
e66899e68e Merge pull request #231 from hamano/case_clause_error_at_node_hometree_odbc
case_clause_error_at_node_hometree_odbc
2014-06-09 23:50:43 +04:00
Evgeniy Khramtsov
87f8c2ecd8 Don't stop roster table conversion on broken askmessage 2014-06-09 10:55:05 +04:00
Evgeniy Khramtsov
62be3bc111 Fix previous commit 2014-06-09 10:40:52 +04:00
Evgeniy Khramtsov
c485aea48b Don't stop irc table conversion on broken JIDs 2014-06-09 10:36:42 +04:00
Evgeniy Khramtsov
6f4b4ad087 Ignore malformed parameters for mod_irc module 2014-06-07 07:45:36 +04:00
Evgeniy Khramtsov
3e8a0af6d1 Fix data convertion 2014-06-07 07:05:24 +04:00
Evgeniy Khramtsov
12ab5a749f Clean up all timers gracefully 2014-06-06 22:29:50 +04:00
Evgeniy Khramtsov
ddfbca5830 Use a different timer for flow control 2014-06-06 13:53:13 +04:00
Evgeniy Khramtsov
9e72529544 SIP Outbound (RFC 5626) support 2014-06-06 09:36:45 +04:00
Christophe Romain
11aa51373a add missing format handler 2014-06-05 16:23:17 +02:00
Holger Weiss
e0e74a9d5e Don't "forget" listener options
If a listener is started or stopped via ejabberd_listener:add_listener/3
or ejabberd_listener:delete_listener/3, the configuration for all
listener modules is updated using the Module:transform_listen_option/2
function for each listener module that exports such a function.
However, for listener modules that don't provide that function (such as
ejabberd_stun), all but one option was dropped.  This is now fixed.

The issue could be triggered e.g. by enabling mod_proxy65 in the modules
section.
2014-06-04 20:54:26 +02:00
HAMANO Tsukasa
cc228db337 e_clause error at node_hometree_odbc:get_items/3 2014-06-04 18:53:37 +09:00
Evgeniy Khramtsov
c546ce2439 Reply to pings 2014-06-03 21:18:30 +04:00
Evgeniy Khramtsov
6441c284e0 Don't add 'rport' paramater to 'Via' header 2014-06-02 20:46:29 +04:00
Evgeniy Khramtsov
0aea9c74bd Rename option 'route' to 'record_route' and add new option 'routes' 2014-06-02 10:16:34 +04:00
Evgeniy Khramtsov
9a0d77571d Add global static shared_key option 2014-06-01 14:20:09 +04:00
Evgeniy Khramtsov
f446e7fc0b Sign 'Record-Route' in order to proxy unauthorized ACKs 2014-06-01 13:35:14 +04:00
Evgeniy Khramtsov
b75b5ebeb2 Fix 'via' option lookup 2014-05-31 14:22:39 +04:00
Evgeniy Khramtsov
d19903877d Add new option: route 2014-05-31 14:22:31 +04:00
Evgeny Khramtsov
f271ea6eef Merge pull request #229 from weiss/no-carbons-to-sender
XEP-0280: Don't send v1 carbon copies back to the sender
2014-05-31 12:53:18 +04:00
Evgeniy Khramtsov
c76201b6b4 Don't add 'Record-Route' header for mid-dialog requests 2014-05-31 10:00:51 +04:00
Evgeniy Khramtsov
86f2af6fdc Process bindings from multiple UACs correctly 2014-05-31 09:06:53 +04:00
Evgeniy Khramtsov
da22da23cd Don't substitute URI in ACK 2014-05-31 07:50:16 +04:00
Holger Weiss
f45654a16a Simplify mod_carboncopy:check_and_forward/4
Use the existing is_carbon_copy/1 function, and combine multiple case
clauses into a single one.
2014-05-30 23:44:19 +02:00
Holger Weiss
bb952f9ecc Let is_carbon_copy/1 recognize <received/> carbons
The mod_carboncopy:is_carbon_copy/1 function now returns true not only
for <sent/>, but also for <received/> carbon copies.
2014-05-30 23:36:02 +02:00
Holger Weiss
ad2d3964ef Don't send XEP-0280 v1 copies back to sender
An earlier version of XEP-0280 specified the <received/> and <sent/>
tags to be siblings of the <forwarded/> element, whereas the current
version mandates them to be parents of <forwarded/>.  The mod_carboncopy
module supports both variants.  However, the check that makes sure
clients won't receive a copy of the messages they sent didn't work for
the old-style schema.  This is now fixed.
2014-05-30 23:32:18 +02:00
Evgeniy Khramtsov
2cd17c7988 Fix previous commit 2014-05-30 23:49:50 +04:00
Evgeniy Khramtsov
32998f7e18 Process 'Contact' headers more accurately (as per RFC3261) 2014-05-30 23:14:52 +04:00
Holger Weiss
8fb1bb1f5f Log just one [info] message on Carbons negotiation
Log one instead of three [info] messages when XEP-0280 (Message Carbons)
support is enabled or disabled successfully.  On failure, log an
additional [warning].
2014-05-29 15:21:11 +02:00
Holger Weiss
0cb9ea3643 XEP-0198: Cosmetic change: Reuse event handler
On stanza queue overflow, pass a message to self() using the exclamation
mark operator instead of send_all_state_event/2.  This allows for
reusing the existing handler for 'kick' events.
2014-05-28 11:24:38 +02:00
Holger Weiss
99ca8281fa XEP-0198: Terminate session on queue overflow
On queue overflow, terminate the c2s session instead of just dropping
items from the queue.  This makes sure all stanzas are either delivered
or bounced.
2014-05-27 22:56:33 +02:00
Evgeny Khramtsov
3a27b1dd0c Merge pull request #226 from weiss/simplify-state-change
XEP-0198: Cosmetic change: Simplify state change
2014-05-27 23:30:30 +04:00
Holger Weiss
50a4c5a6ab XEP-0198: Cosmetic change: Simplify state change
When the FSM goes into the 'wait_for_resume' state, let fsm_next_state/2
take care of updating #state.mgmt_state and of writing the log line.
This doesn't change the behavior, but simplifies the code.
2014-05-27 21:14:49 +02:00
Holger Weiss
ed0c89f876 Let ejabberd_c2s always use fsm_next_state/2
Make sure any logic implemented in ejabberd_c2s:fsm_next_state/2 is
always applied.
2014-05-27 21:07:53 +02:00
Evgeny Khramtsov
702cddd4ff Merge pull request #220 from weiss/handle-send-failure
XEP-0198: Don't exit on socket send failure
2014-05-27 15:44:04 +04:00
Evgeny Khramtsov
4d1332c30f Merge pull request #222 from weiss/keep-session-on-failed-resume
XEP-0198: Don't drop session on failed resume
2014-05-27 15:38:26 +04:00
Evgeny Khramtsov
402fb9665d Merge pull request #221 from weiss/omit-redundant-guard
XEP-0198: Cosmetic change: Omit redundant guard
2014-05-27 15:34:34 +04:00
Evgeny Khramtsov
b2e84405c1 Merge pull request #218 from weiss/omit-iq-xmlns
Omit XML namespace declaration for <iq/> stanzas
2014-05-27 15:32:02 +04:00
Evgeniy Khramtsov
52221127cc Fix odbc_port option processing 2014-05-27 15:27:42 +04:00
Evgeniy Khramtsov
dceab3689d Don't forget to include 'Contact' header field in 2xx registrar responses 2014-05-26 21:34:23 +04:00
Holger Weiss
59f6efeaf7 XEP-0198: Don't drop session on failed resume
The 'previd' value provided by the client during a session resume
request includes the client's JID and ejabberd's session ID.  If there
is a session for the requested JID but with a different session ID,
resumption should fail, but that session shouldn't be closed.  This
commit makes sure the latter won't happen.

In practice, this will only make a difference in odd corner cases.
2014-05-23 23:38:04 +02:00
Holger Weiss
737b0ae5dc XEP-0198: Cosmetic change: Omit redundant guard
The stream management state is never 'pending' when the c2s FSM is in
the 'session_established' state.
2014-05-23 20:46:17 +02:00
Evgeniy Khramtsov
8925975c86 Fix proxying of ACK requests for 2xx responses 2014-05-23 20:14:53 +04:00
Holger Weiss
ab9667f917 XEP-0198: Don't exit on socket send failure
If stream management is enabled, don't exit the c2s process when
ejabberd_socket:send/2 fails, but close the socket instead.  This gives
the client a chance to resume the session.

Thanks go to Matthias Rieber for reporting the issue, providing detailed
logs, and testing the fix.
2014-05-23 11:38:54 +02:00
Badlop
735bd95659 Merge branch 'check-packet-type' of git://github.com/weiss/ejabberd into weiss-check-packet-type
Conflicts:
	src/ejabberd_c2s.erl
2014-05-21 18:45:28 +02:00
badlop
69abb48c90 Merge pull request #217 from weiss/fix-extauth-cache-usage
Don't use cached passwords if "extauth_cache: 0"
2014-05-21 17:35:54 +02:00
badlop
419a98d45a Merge pull request #216 from lavrin/p1-c2s
Cleanup some pieces of ejabberd_c2s
2014-05-21 17:35:24 +02:00
badlop
5d855f3723 Merge pull request #207 from weiss/xep-0334
Honor XEP-0334: Message Processing Hints
2014-05-21 17:31:22 +02:00
Holger Weiss
6b996061a2 Omit XML namespace declaration for <iq/> stanzas
Only the child elements of <iq/> stanzas are qualified by the namespaces
in question, not the <iq/> stanzas themselves.

This change just clarifies the code.  It doesn't alter the behaviour, as
those <iq/> stanzas are handed over to jlib:iq_to_xml/1, and that
function ignores the 'xmlns' attribute anyway.
2014-05-21 00:07:57 +02:00
Holger Weiss
fca640f50f Don't use cached passwords if "extauth_cache: 0"
Regarding "extauth_cache", the guide says: "The integer 0 (zero) enables
caching for statistics, but doesn't use that cached information to
authenticate users."  Make sure the cached password isn't used even if
the user is currently logged in with another resource.
2014-05-20 23:00:28 +02:00
Badlop
5010cea1a4 If log uses file:write, no need to double escape ~ in messages (EJAB-1696) 2014-05-20 14:49:52 +02:00
Radosław Szymczyszyn
5726636053 Fix check_from/2 formatting 2014-05-20 12:31:28 +01:00
Radosław Szymczyszyn
b7a542e074 Sanitize copy-pasted get_statustag/1 2014-05-20 12:28:14 +01:00
Radosław Szymczyszyn
9c37450fe4 Fix formatting 2014-05-20 12:26:33 +01:00
Radosław Szymczyszyn
c39ce133de Build proceed/compressed elements in a sane way 2014-05-20 11:52:02 +01:00
Badlop
6d06f22f64 MUC messages with ~ were not logged (EJAB-1696) 2014-05-19 19:07:46 +02:00
Badlop
a6ddab1e9d Fix bug when joining empty path 2014-05-14 13:28:39 +02:00
Holger Weiss
6e8dd5bdff Don't miss incoming presence updates 2014-05-14 01:04:38 +02:00
Holger Weiss
f6da708b02 XEP-0198: Check whether routed packets are stanzas
Only stanzas are subject to stream management, so when XEP-0198 support
is enabled, we must distinguish them from non-stanza elements.  This
commit adds a send_packet/2 function that can be used in place of
send_stanza/2 or send_element/2 whenever a packet is delivered that
might or might not be a stanza.
2014-05-12 19:20:25 +02:00
Holger Weiss
9121ca14de Rename disconnect_user/2 command
The mod_admin_extra module provides a kick_session/4 command.  Rename
the disconnect_user/2 command to kick_user/2 for consistency.
2014-05-12 12:44:40 +02:00
Holger Weiss
47efe4e6a9 Don't log MUC messages with <no-store/> hint
Honor the <no-store/> and <no-permanent-store/> hints defined in
XEP-0334.
2014-05-12 00:27:20 +02:00
Holger Weiss
03fd88e4ec Don't store messages with <no-store/> hint
Honor the <no-store/> hint defined in XEP-0334.
2014-05-12 00:00:34 +02:00
Holger Weiss
9b16d09261 Don't carbon copy messages with <no-copy/> hint
Honor the <no-copy/> hint defined in XEP-0334.
2014-05-11 23:52:20 +02:00
Evgeny Khramtsov
5d22159e9a Merge pull request #205 from weiss/xep-0198
XEP-0198: Improve handling of incorrect stanza counts reported by client
2014-05-10 00:05:17 +04:00
Evgeniy Khramtsov
003fd321ee Do not try to retreive vCards via local SM for foreign JIDs 2014-05-09 21:26:55 +04:00
Holger Weiss
6d5bfcfe9b XEP-0198: Improve handling of too large 'h' values
If the client says that it handled more stanzas than we sent (due to a
bug in the client's or in our code), increase our outgoing stanza count
accordingly.  There's no point in sticking to the old value even if it
was correct, as the client surely won't fix its count during the current
session.
2014-05-09 18:28:14 +02:00
Holger Weiss
15369ff9d7 XEP-0198: Reject <resume/> with negative 'h' value
Make sure the 'h' attribute sent with a <resume/> request is
nonnegative, as mandated by XEP-0198.

We already have this check for <a/> elements.
2014-05-09 18:01:31 +02:00
Holger Weiss
a60fda7df4 XEP-0198: Don't warn on invalid ACK elements
Do not log a warning (but only a debug message) if the client sends an
invalid </a> packet.  Some clients do that occasionally, and there's
nothing server admininistrators could do about that.
2014-05-09 17:54:12 +02:00
Evgeniy Khramtsov
318b0f2208 Fix previous commit (C2S session close on server shutdown) 2014-05-08 21:47:50 +04:00
Evgeniy Khramtsov
181e7a823e Fix C2S session close on server shutdown 2014-05-08 21:39:53 +04:00
Evgeniy Khramtsov
90a5c054d4 TURN support (EJAB-1017) 2014-05-08 16:14:21 +04:00
Evgeny Khramtsov
115da54557 Merge pull request #203 from hamano/added_get_random_pid_error_handling
improve error handling when sql calling with (empty|unknown) host.
2014-05-08 10:02:27 +04:00
Badlop
79a49b1175 Webadmin with extauth requires internal to run at least once (issue #201) 2014-05-07 17:13:51 +02:00
HAMANO Tsukasa
d3ed12d4ba fix mod_offline:count_offline_messages/2 2014-05-07 15:38:18 +09:00
Holger Weiss
d343447cc9 Merge remote-tracking branch 'processone/master' into xep-0198
Conflicts:
	doc/guide.tex
	src/ejabberd_c2s.erl
2014-05-06 21:41:29 +02:00
Christophe Romain
cc1f93d7a0 Fix PEP broadcasting issue on ODBC (EJAB-1680) 2014-05-06 13:29:35 +02:00
Christophe Romain
58717923eb Fix PEP broadcasting issue (EJAB-1680) 2014-05-06 12:37:44 +02:00
Holger Weiss
8b1f92575a XEP-0198: Use "mgmt_" prefix for all #state fields
Prefix all ejabberd_c2s #state fields that are used for stream
management with "mgmt_".
2014-05-06 07:27:10 +02:00
Christophe Romain
a6244275b7 remove compilation warnings 2014-05-05 18:16:48 +02:00
Christophe Romain
4bdf1bc7a6 avoid sending duplicated events 2014-05-05 17:53:50 +02:00
Christophe Romain
faa6ad26a0 avoid sending empty events 2014-05-05 17:53:44 +02:00
Christophe Romain
530ac43758 store item when persist_item=false and cache_last_item=false but need last_item 2014-05-05 17:40:42 +02:00
Nathan Bruning
f3aa74a043 Fix small bug in presence_based_delivery implementation 2014-05-05 14:14:03 +02:00
Badlop
872cc12dd8 Temporary room not destroyed when the last participant is expulsed (EJAB-520) 2014-05-05 13:50:52 +02:00
Badlop
70f00a1b1f extauth_cache can have value 0 2014-05-05 13:13:35 +02:00
Holger Weiss
3b3f3b9131 XEP-0198: Don't log protocol issues
There are corner cases where certain clients acknowledge more stanzas
than they received.  Nothing really bad will happen in those cases, and
server administrators can't do anything about such issues anyway.
2014-05-05 01:11:14 +02:00
Holger Weiss
32abcbca6c XEP-0198: Accept stream elements in pending state
Due to timing issues, ejabberd_c2s might receive stream elements from
the client while the session is waiting for stream resumption.  Those
elements are now accepted.
2014-05-05 00:02:55 +02:00
Holger Weiss
a0917a8e9b XEP-0198: Log message when waiting for resumption
Log an informational message when a session goes into the pending state
(waiting for resumption) after the connection was lost.  Administrators
may well be interested in this state change when looking into issues.
2014-05-04 23:08:42 +02:00
Evgeniy Khramtsov
fafec77e56 Make it possible to get/set vCards for MUC rooms 2014-05-04 23:23:17 +04:00
Evgeniy Khramtsov
806c0e56e1 Do not crash on version downgrade 2014-05-03 17:55:03 +04:00
Evgeniy Khramtsov
d0ffcb7fd4 Assume udp_recv/5 now returns new options 2014-05-03 17:48:26 +04:00
Evgeniy Khramtsov
955487391d Assume tcp_init/2 and udp_init/2 now return new options 2014-05-03 17:48:17 +04:00
Evgeniy Khramtsov
47a39ce738 Remove unused function 2014-05-02 17:43:23 +04:00
Evgeniy Khramtsov
ebd760b7c9 Forking support 2014-05-02 17:43:17 +04:00
Evgeniy Khramtsov
f8417f7c1f Remove empty line 2014-05-02 17:43:09 +04:00
Evgeniy Khramtsov
3c98de69dc Some cleanup 2014-05-02 17:43:03 +04:00
Evgeniy Khramtsov
ab6774d93d Fix CSeq comparison 2014-05-02 17:42:57 +04:00
Evgeniy Khramtsov
58aa200297 Optimize request processing 2014-05-02 17:42:51 +04:00
Evgeniy Khramtsov
a1337cb73f Do not proxy stray responses statelessly (as per RFC 6026) 2014-05-02 17:42:45 +04:00
Evgeniy Khramtsov
e7e4055cbb Don't use erlang:integer_to_binary/1 2014-05-02 17:42:37 +04:00
Evgeniy Khramtsov
1d771fe646 Rewrite 'Contact' headers in REGISTER requests 2014-05-02 17:42:31 +04:00
Evgeniy Khramtsov
8e2bc8d19e Check for 'max_user_sessions' option 2014-05-02 17:42:13 +04:00
Evgeniy Khramtsov
0117787317 Process gen_server timeouts correctly 2014-05-02 17:40:25 +04:00
Evgeniy Khramtsov
16e5d66572 Move some code in a separate function 2014-05-02 17:38:47 +04:00
Evgeniy Khramtsov
6a95422af8 Multiple REGISTER bindings support 2014-05-02 17:38:28 +04:00
Evgeniy Khramtsov
35faffe7da Locate sessions by proxy processes directly 2014-05-02 17:31:17 +04:00
HAMANO Tsukasa
d83368d73d fix ejabberd_system_monitor:s2s_out_info/1 error 2014-05-01 15:12:04 +09:00
Evgeny Khramtsov
c545b3de6d Merge pull request #178 from hamano/devel
undefined ejabberd_socket:get_conn_type/1
2014-04-30 21:49:54 +04:00
Evgeniy Khramtsov
02e0649d18 SIP support
Conflicts:
	configure
	configure.ac
	doc/guide.tex
2014-04-30 19:38:15 +04:00
HAMANO Tsukasa
0904b8b8ff improve error handling when sql calling with (empty|unknown) host.
see #191
2014-05-01 00:20:58 +09:00
Badlop
ec6c58a21c Fix error reporting in previous commit 2014-04-30 16:02:20 +02:00
Badlop
b3714a1b2e Fix formatting string argument (thanks to Locojay)(github #129) 2014-04-30 15:59:44 +02:00
Evgeny Khramtsov
81a906af01 Merge pull request #191 from hamano/added_get_random_pid_error_handling
fix error handling when sql calling with unknown host.
2014-04-30 17:02:39 +04:00
badlop
65519cf262 Merge pull request #190 from hamano/mod_register_web_response_404
mod_register_web should response 404 instead of process crash.
2014-04-30 12:42:43 +02:00
badlop
a1b8c54c16 Merge pull request #187 from weiss/fix-ejabberdctl-output
Let ejabberdctl accept binary string arguments
2014-04-30 12:41:12 +02:00
HAMANO Tsukasa
a6408e9281 fix error handling when sql calling with unknown host. 2014-04-30 15:32:07 +09:00
HAMANO Tsukasa
0e0bd3329d mod_register_web should response 404 instead of process crash. 2014-04-30 13:39:17 +09:00
Evgeny Khramtsov
9563b0228f Merge pull request #177 from weiss/log-tls-sasl-external
Log TLS status for outgoing s2s with SASL EXTERNAL
2014-04-30 00:38:18 +04:00
Evgeny Khramtsov
8419322884 Merge pull request #181 from weiss/check-tls-before-auth
Check TLS state before requesting SASL EXTERNAL for outgoing s2s connections
2014-04-30 00:36:08 +04:00
Evgeny Khramtsov
c37aa1b46d Merge pull request #185 from weiss/verify-cert-for-s2s-out
Support certificate verification for outgoing s2s connections
2014-04-30 00:08:24 +04:00
Evgeny Khramtsov
599fdb9ac2 Merge pull request #186 from weiss/add-disconnect-command
New ejabberd command: disconnect_user/2
2014-04-29 15:41:41 +04:00
Holger Weiss
ebbceab93f Translate disconnect_user/2 string sent to client 2014-04-29 11:56:28 +02:00
Holger Weiss
bb2c8b59f8 Avoid #state.lang type errors in corner cases
If #state.lang is used before being initialized to some binary string,
the translation code would crash.
2014-04-29 11:41:24 +02:00
Evgeny Khramtsov
4073394e7a Merge pull request #182 from hamano/register_account_acl
fix checking acl in mod_register_web
2014-04-29 13:06:53 +04:00
Evgeny Khramtsov
29aead19d9 Merge pull request #179 from hamano/added_get_random_pid_error_handling
added get_random_pid/1 error handling
2014-04-29 13:05:58 +04:00
Holger Weiss
d09c268b20 Let ejabberdctl accept binary string arguments
Don't print the following message if an ejabberd command expects binary
string arguments: "This command cannot be executed using ejabberdctl.
Try ejabberd_xmlrpc."
2014-04-29 01:11:08 +02:00
Holger Weiss
6d1055abec New ejabberd command: disconnect_user/2 2014-04-29 00:50:43 +02:00
Holger Weiss
49bdbf2895 Support certificate verification for outgoing s2s
Handle "s2s_use_starttls: required_trusted" the same way for outgoing
s2s connections as for incoming connections.  That is, check the remote
server's certificate (including the host name) and abort the connection
if verification fails.
2014-04-28 01:42:02 +02:00
Holger Weiss
a21d2298af XEP-0198: Turn some warnings into info messages
Don't log warnings on events that will happen during normal operation.
2014-04-28 01:01:30 +02:00
Holger Weiss
1aa4ed3f35 Don't mess with s2s out when aborting s2s in
Don't try to look up and close outgoing connections to a given server
when aborting incoming connections from that server due to certificate
verification errors.  The ejabberd_s2s:find_connection/2 call actually
created one or more *new* connections if less than 'max_s2s_connections'
connections were found.  Then, no more than one of those possibly new
connections were stopped by the ejabberd_s2s_out:stop_connection/1 call.

It's not really necessary to bother with outgoing connections at all,
here.
2014-04-28 00:17:05 +02:00
Holger Weiss
eabca82765 Send stream trailer before closing s2s connection
When aborting an incoming s2s connection due to certificate verification
errors, send a stream trailer before closing the socket.
2014-04-27 00:28:42 +02:00
HAMANO Tsukasa
71dba66330 fix checking acl in mod_register_web 2014-04-24 18:15:39 +09:00
Holger Weiss
d805d198ac Check TLS state before requesting SASL EXTERNAL
Make sure a remote server can't circumvent "s2s_use_starttls: required"
by offering SASL EXTERNAL authentication over a non-TLS connection.
2014-04-24 11:04:10 +02:00
HAMANO Tsukasa
ffe9f3c192 added get_random_pid/1 error handling 2014-04-24 15:34:41 +09:00
HAMANO Tsukasa
219f9276d1 undefined ejabberd_socket:get_conn_type/1 2014-04-24 12:42:22 +09:00
Holger Weiss
f988aad940 Log TLS status for outgoing s2s with SASL EXTERNAL 2014-04-23 23:28:13 +02:00
HAMANO Tsukasa
9ec014c184 added error handling in mod_pubsub_odbc. 2014-04-23 23:35:34 +09:00
Holger Weiss
86e17c379c Verify host name before offering SASL EXTERNAL
Prior to this commit, ejabberd handled certificate authentication for
incoming s2s connections like this:

1. Verify the certificate without checking the host name.  On failure,
   behave according to 's2s_use_starttls'.  On success:
2. Offer SASL EXTERNAL.
3. If the remote server chooses SASL EXTERNAL, compare the authorization
   identity against the certificate host name(s).  On failure, abort the
   connection unconditionally.

ejabberd now does this instead:

1. Verify the certificate and compare the certificate host name(s)
   against the 'from' attribute of the stream header.  On failure,
   behave according to 's2s_use_starttls'.  On success:
2. Offer SASL EXTERNAL.
3. If the remote server chooses SASL EXTERNAL, ignore the authorization
   identity (if any) and consider the peer authenticated.

The old behavior was suggested by previous versions of XEP-0178, the new
behavior is suggested by the current version 1.1.
2014-04-23 11:45:17 +02:00
Holger Weiss
4bc8b6bc9f Fix extraction of host names from certificates 2014-04-22 22:12:04 +02:00
badlop
37d4109e8a Merge pull request #161 from weiss/fix-carbons
Let mod_carboncopy take care of messages sent to bare/unavailable JIDs
2014-04-22 13:52:11 +02:00
Holger Weiss
d350cc6361 Accept "extauth_cache: false"
Don't log a "configuration problem" message if "extauth_cache: false" is
explicitly specified, as that's a valid configuration setting as per the
documentation.
2014-04-16 14:15:14 +02:00
Paweł Chmielowski
7af7b7d3f0 Fix compilation on pre-R17 2014-04-15 17:05:25 +02:00
Paweł Chmielowski
d97b4fd9ca Fix loading translation files on R17 2014-04-15 17:05:22 +02:00
Alexey Shchepin
f93758a3cd Merge pull request #160 from runcom/protocol_options
Add option to specify openssl options
2014-04-15 19:01:21 +04:00
badlop
285c4c17cf Merge pull request #146 from jamielinux/master
Update FSF address
2014-04-11 13:35:46 +02:00
Evgeniy Khramtsov
a21edc2f3a Pretty print accepted transport address 2014-04-11 12:30:58 +02:00
Holger Weiss
b3b12effbc Carbons: Handle unavailable resource like bare JID
As the session manager handles messages sent to unavailable resources
just like messages sent to bare JIDs, mod_carboncopy must do that, too.
That is, forward them only to those carbon-copy-enabled resources that
don't have a top priority, in order to avoid duplicates.
2014-04-08 23:32:30 +02:00
Antonio Murdaca
fbf71f86f3 Add option to specify openssl options 2014-04-08 18:46:52 +02:00
Holger Weiss
9d5426315f Carbons: Also forward messages sent to bare JIDs
Don't ignore messages sent to bare JIDs, but forward them to all
carbon-copy-enabled resources that don't have the highest priority.
2014-04-07 22:10:08 +02:00
Holger Weiss
c114eb3736 XEP-0198: Don't bounce/resend forwarded messages
On connection timeout, drop any messages that were forwarded by some
encapsulating protocol, such as XEP-0280 carbon copies or XEP-0313
archive messages.  Bouncing or resending them could easily lead to
unexpected results.
2014-04-07 21:21:11 +02:00
badlop
766ab1eb46 Merge pull request #158 from weiss/fix-lang-type
Fix a type error
2014-04-07 13:28:41 +02:00
badlop
76fb7d284a Merge pull request #157 from weiss/fix-mod-update
Fix badarg issue on module update web site
2014-04-07 13:27:31 +02:00
Holger Weiss
37f409d254 Fix a type error 2014-04-06 00:39:51 +02:00
Holger Weiss
e02a4913d2 Fix badarg issue on module update web site 2014-04-05 23:23:44 +02:00
HAMANO Tsukasa
1250ee5d77 mod_register_web: check same acl as mod_register. 2014-04-04 04:07:29 +09:00
Badlop
8b9c49440a Fix user_resources command, and ejabberd_xmlrpc parsing auth details in call 2014-03-31 16:51:47 +02:00
Badlop
a5a065290b Small change in ejabberd_ctl output format to support bash completion 2014-03-26 16:43:53 +01:00
Badlop
ac0e199d36 Provide meaningful text to user when admin kicks session (EJAB-1455) 2014-03-26 16:01:37 +01:00
Holger Weiss
a97c716352 XEP-0198: Bounce unacked stanzas by default
If the new "resend_on_timeout" option is set to false (which it is by
default), bounce any unacknowledged stanzas instead of re-routing them.
2014-03-25 23:23:38 +01:00
Evgeniy Khramtsov
2150b10901 Fix service_info options processing 2014-03-25 09:52:57 +04:00
Evgeniy Khramtsov
5c36c44689 Remove annyoing warnings 2014-03-25 09:42:12 +04:00
Badlop
d5f90965d7 Fix ACLs syntax change (thanks to jokker23)(issue #140) 2014-03-24 19:40:55 +01:00
Holger Weiss
2da6933bb7 Remove "fun" element from c2s #state
Memory consumption wise, local "fun" references are quite expensive.
2014-03-22 20:25:43 +01:00
Holger Weiss
e360c56f87 Support XEP-0198 session resumption
Implement the optional session resumption feature described in XEP-0198.
A client that supports this feature may now resume the previous session
(within a configurable number of seconds) if the connection was lost.
During resumption, ejabberd will retransmit any stanzas that hadn't been
acknowledged by the client.
2014-03-19 00:51:33 +01:00
badlop
2b527f5e9a Merge pull request #149 from iulianlaz/carboncopy-fix-msg-back-to-original-sender
#148 Carbon copy sends message back to original sender solved
2014-03-16 20:59:49 +01:00
Holger Weiss
88a200e100 Remove some commented out code
The code that had been commented out at some earlier point in time would
now break XEP-0198.
2014-03-16 00:12:47 +01:00
Badlop
633d47f784 Update copyright dates to 2014 (EJAB-1679) 2014-03-13 12:30:57 +01:00
Holger Weiss
7d594086c3 Add initial XEP-0198 support (EJAB-532)
Implement partial support for XEP-0198: Stream Management.  After
successful negotiation of this feature, the server requests an ACK for
each stanza transmitted to the client and responds to ACK requests
issued by the client.  On session termination, the server re-routes any
unacknowledged stanzas.  The length of the pending queue can be limited
by setting the "max_ack_queue" option to some integer value (default:
500).  XEP-0198 support can be disabled entirely by setting the
"stream_management" option to false (default: true).

So far, stream management is implemented only for c2s connections, and
the optional stream resumption feature also described in XEP-0198 is not
(yet) supported.

This addition was originally based on a patch provided by Magnus Henoch
and updated by Grzegorz Grasza.  Their code implements an early draft of
XEP-0198 for some previous version of ejabberd.  It has since been
rewritten almost entirely.
2014-03-12 23:34:14 +01:00
iulianlaz
9ef1ad0b6e #148 Carbon copy sends message back to original sender solved 2014-03-06 08:40:38 +00:00
Badlop
e211bf522e Support XEP-0321: Remote Roster Management (EJAB-1381) 2014-02-26 18:02:37 +01:00
Badlop
46b2d91105 Convert DB details to string when calling odbc:connect/2 (EJAB-1681) 2014-02-26 17:26:46 +01:00
Badlop
c29ba14dbf Don't provide current password in webinterface (github issue #137) 2014-02-26 17:19:07 +01:00
Jamie Nguyen
8538997d61 Update FSF address 2014-02-22 10:27:40 +00:00
Holger Weiss
e82a79efd5 Add missing parenthesis 2014-02-21 23:33:13 +01:00
Badlop
63a7011c38 When occupant changes nick, include status 110 in stanzas sent to him 2014-02-14 16:22:14 +01:00
Badlop
4c8b6fe16b Fixing mod_carboncopy sends carbons of carbons (fixes #107) 2014-01-23 17:29:24 +01:00
mrjameshamilton
5ccc6db093 Fixed parameter order in call to restore_room/3 2014-01-23 14:39:52 +00:00
Alexey Shchepin
9422164dda Clear SASL state after finishing auth 2014-01-21 13:44:29 +02:00
Alexey Shchepin
cbbfd921b4 Fix for the previous commit 2014-01-21 11:54:18 +02:00
Alexey Shchepin
d63be79df9 Use 'to' field only in the first client stream initialization 2014-01-20 16:06:05 +02:00
Badlop
e107e78773 Fix auth verification in ejabberd_xmlrpc (thanks to Vicis) 2014-01-02 16:10:19 +01:00
Evgeniy Khramtsov
d03de1bb43 Fix some type specs and errors 2013-12-10 21:44:46 +10:00
Evgeniy Khramtsov
33764bb931 Add ejabberd_xmlrpc 2013-12-10 21:25:12 +10:00
Badlop
5a1300bc70 Add access rule to mod_roster (EJAB-72) 2013-12-04 14:57:44 +01:00
Christophe Romain
9c17163b55 bind values for get_parentnodes_tree 2013-12-03 10:51:01 +01:00
Christophe Romain
e11c835bd3 fix use of virtual nodetree 2013-12-03 10:34:59 +01:00
Alexey Shchepin
1dd94ac0d0 Support for OpenSSL ciphers list in ejabberd_c2s, ejabberd_s2s_in and ejabberd_s2s_out 2013-11-28 19:39:11 +02:00
Badlop
a6b0e18bde add Pubsub data migration from mnesia to odbc (EJAB-1126)
By calling:
  ejd2odbc:export_pubsub("localhost","/tmp/aa.txt").
it will generate SQL files like these:
  /tmp/pubsub_item.txt
  /tmp/pubsub_node.txt
  /tmp/pubsub_state.txt

Conflicts:
	src/ejabberd_admin.erl
	src/ejd2odbc.erl
2013-11-14 19:29:16 +01:00
Evgeniy Khramtsov
89a17ba84a Correctly convert ACLs into YAML representation 2013-11-07 02:43:43 +10:00
Evgeniy Khramtsov
a87b475361 Do not use functions from crypto module wherever possible 2013-11-05 20:07:38 +10:00
Evgeniy Khramtsov
b7c7d2747b Fix some type errors 2013-11-05 19:49:30 +10:00
Evgeniy Khramtsov
c0240e7249 Do not try to start STUN application during config checks 2013-11-02 10:30:19 +10:00
Evgeniy Khramtsov
6dd31299cf Avoid case clause crash when loading permanent rooms 2013-10-23 12:23:00 +10:00
Badlop
cd0381bab5 Fix display ACLs in WebAdmin 2013-10-01 23:23:01 +02:00
Badlop
2c09d7c8a7 Fix handling of format_status arguments (thanks to Nbaronov) 2013-09-26 17:19:56 +02:00
Badlop
389a99b2db Fix bypass for tls-required (thanks to Zeha) 2013-09-26 16:41:57 +02:00
Evgeniy Khramtsov
07c8bf5064 Fix roster version support 2013-09-24 18:59:20 +10:00
Evgeniy Khramtsov
7fd91a4b12 Better web-handlers detection 2013-09-22 21:47:59 +10:00
Evgeniy Khramtsov
ae4356265f Merge branch 'master' of github.com:processone/ejabberd 2013-09-19 19:00:08 +10:00
Evgeniy Khramtsov
a0396620f2 Reflect modules name changes in p1_mysql 2013-09-19 18:59:32 +10:00
Paweł Chmielowski
7e73ed88f7 Fix problem with decoding http headers over tls connections
This fixed GitHub issue 96.
2013-09-16 16:32:02 +02:00
Christophe Romain
63b2d21b13 clean subscriptions handling and avoid function_clause 2013-08-27 14:46:54 +02:00
Christophe Romain
1b8876bf55 fix build of Parents list in #pubsub_node 2013-08-27 14:46:35 +02:00
Christophe Romain
b82eeeeec9 fix call to get_session_pid with binary arguments 2013-08-27 14:46:22 +02:00
Evgeniy Khramtsov
e3483ef9e1 Do not rely on p1_logger_h module when lager is enabled 2013-08-27 17:45:07 +10:00
Evgeniy Khramtsov
91a74e3e27 Change configuration file format to YAML 2013-08-21 22:17:59 +10:00
Evgeniy Khramtsov
f68dfacbbf Do not try to read/write the deprecated "config" table 2013-08-21 19:37:22 +10:00
Evgeniy Khramtsov
0b9754884e Do not distribute the ACL table 2013-08-21 19:37:08 +10:00
Evgeniy Khramtsov
cc6dcd161c Get rid of global configuration options 2013-08-21 19:36:35 +10:00
Evgeniy Khramtsov
807a1fe164 Fix timestamp processing 2013-07-23 15:27:18 +10:00
Evgeniy Khramtsov
8ce22b790d Fix some type errors 2013-07-22 19:24:09 +10:00
Evgeniy Khramtsov
f75d78d3f5 Make it possible to import without cursor usage 2013-07-22 10:46:47 +10:00
Evgeniy Khramtsov
ca6463ed78 Typo fix 2013-07-22 00:22:05 +10:00
Evgeniy Khramtsov
d58148fa8d Add SQL to Mnesia converter 2013-07-21 23:10:38 +10:00
Evgeniy Khramtsov
a2ead99c83 Make it possible to enable/disable TLS compression 2013-07-17 22:46:18 +10:00
Evgeniy Khramtsov
986f4d1a7f Do not forget to re-define the crash.log path 2013-07-15 11:51:09 +10:00
Badlop
0d7a5476c0 Allow room member to get members list using XEP 2013-07-11 12:11:48 +02:00
Christophe Romain
4e72dd6751 fix badmatch in send_loop (EJAB-1650) 2013-07-10 09:47:49 +02:00
Christophe Romain
48819d163a fix badmatch on remove_user on PEP nodes (EJAB-1649) 2013-07-09 21:50:56 +02:00
Christophe Romain
8621a8f006 fix invalid response on get_options when no options set (EJAB-1648) 2013-07-09 18:11:27 +02:00
Badlop
b66e4fbdc4 Apparently configure.erl is not needed anymore 2013-07-08 15:58:38 +02:00
Alexey Shchepin
b5623d6bee gen_iq_handler:check_type was missing 2013-07-08 10:40:39 +03:00
Evgeniy Khramtsov
0aca3a4585 Improve the applications start-up
* Check if all modules present for every application loaded.
* Get rid of now obsoleted 'ejabberd_check' module.
2013-07-07 02:19:51 +10:00
Christophe Romain
0266207e9d fix pubsub unsubscription without SubId on odbc 2013-07-04 15:13:21 +02:00
Christophe Romain
60600c341e improve pubsub odbc use of i2l 2013-07-04 10:07:53 +02:00
Christophe Romain
ac3cd2ebaa ip_adresse() does not need binary representation in config 2013-06-28 18:32:22 +02:00
Evgeniy Khramtsov
2636da0d98 Fix IDNA conversion 2013-06-28 02:45:42 +10:00
Badlop
91744733c1 Store only messages with body or subject (EJABS-2034) 2013-06-27 11:58:31 +02:00
Evgeniy Khramtsov
8a9743ab3b Avoid custom loglevels processing for lager 2013-06-27 19:27:56 +10:00
Evgeniy Khramtsov
597934637c Logger improvements.
lager:
	* It is now possible to change the loglevel.
	* Log rotation is now supported as well.
p1_logger:
	* When rotating a log file, add suffix ".0" to the renamed file.
	  This is needed in order to be consistent with lager
	  rotation mechanism.
2013-06-27 19:03:33 +10:00
Evgeniy Khramtsov
aab70fc066 Fix external authentication 2013-06-26 12:30:32 +10:00
Christophe Romain
ae1af885ce fix feature build on node disco#info 2013-06-25 14:49:22 +02:00
Badlop
9840b8395e Fix previous commit 2013-06-25 13:46:21 +02:00
Badlop
b524e79f55 Normalize HTTP path (thanks to Justin Kirby) 2013-06-25 11:26:44 +02:00
Christophe Romain
277ba798fc typo fix in spec 2013-06-24 22:38:15 +02:00
Christophe Romain
b07b820c4e fix missing binarization switch on pep nodes 2013-06-24 19:56:27 +02:00
Christophe Romain
1cc76ebb68 cosmetic change 2013-06-24 19:56:14 +02:00
Christophe Romain
1cb03439f2 add missing list conversion 2013-06-24 18:05:42 +02:00
Christophe Romain
3976351c4d decode_jid always gets binary(), encode_jid lets mod_pubsub handle conversion 2013-06-24 18:04:42 +02:00
Christophe Romain
6bfa34e8e0 minor improvements and binary fix 2013-06-24 16:31:38 +02:00
Christophe Romain
4195259d47 typo fix, related to commit 9194872 2013-06-24 16:29:43 +02:00
Christophe Romain
95546ac20d remove obsolete node attribute 2013-06-24 13:55:30 +02:00
Christophe Romain
0e28e4b600 Merge branch 'master' of github.com:processone/ejabberd 2013-06-24 13:46:44 +02:00
Christophe Romain
831ae2927a change default PEP config for simpler setup (EJAB-1494) 2013-06-24 13:46:27 +02:00
Christophe Romain
91948729e9 remove need of extra _odbc in pubsub plugin name 2013-06-24 13:43:11 +02:00
Christophe Romain
222a94300b fix decode function for binaryzed data 2013-06-24 13:42:34 +02:00
Evgeniy Khramtsov
f9390f3e9a Fix some dialyzer warnings 2013-06-24 20:04:56 +10:00
Evgeniy Khramtsov
7b07c2a9b2 Improve the type spec 2013-06-24 13:15:07 +10:00
Evgeniy Khramtsov
521bae7fa0 Get rid of useless clause 2013-06-24 13:13:43 +10:00
Evgeniy Khramtsov
a3354f5dc4 Do not generate LDAP's ASN.1 code when compiling ejabberd.
We need ASN.1 codec to decode messages into binaries, so we
fixed generated ELDAPv3.erl. A better solution is needed to be found.
2013-06-22 03:27:59 +10: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
Christophe Romain
0c60718bef fix empty itemid on publish when passing Access 2013-06-20 17:51:07 +02:00
Christophe Romain
4221d56c04 fix pubsub issue on binary switch 2013-06-20 17:07:40 +02:00
Evgeniy Khramtsov
4dc80dddd4 Fix all calls to functions of p1_tls application 2013-06-20 18:40:44 +10:00
Evgeniy Khramtsov
89c3cf3677 Shutdown rooms before starting test cases 2013-06-19 21:46:22 +10:00
Jerome Sautret
fedea8bca0 Added missing license and copyright headers. 2013-06-18 16:56:29 +02:00
Christophe Romain
c030e8e136 sync pubsub_odbc with last fix 2013-06-18 12:23:32 +02:00
Evgeniy Khramtsov
8ea41718ac Fix node auto-creation 2013-06-18 04:11:54 +10:00
Christophe Romain
20598c7be4 sync and cleanup pubsub_odbc 2013-06-17 16:34:21 +02:00
Christophe Romain
08fc6df853 fix auto-create issue due to bad binary matching 2013-06-17 16:30:20 +02:00
Alexey Shchepin
62fb432e3e Fixed broadcast messages handling 2013-06-17 16:41:02 +03:00
Alexey Shchepin
862a08e9eb Fixed conversion to ezlib 2013-06-17 16:33:25 +03:00
Evgeniy Khramtsov
0baf4e6088 Advertise privacy lists support via disco#info 2013-06-17 16:10:30 +03:00
Evgeniy Khramtsov
7865c6a146 Don't include sub-elements in IQ results where it's not required
by the corresponding spec (RFC or XEP).
2013-06-17 16:09:54 +03:00
Evgeniy Khramtsov
b50a4948ed Fix the error report of an incorrect certfile 2013-06-17 16:04:43 +03:00
Badlop
243d24015c Remove old obsolete R14 code 2013-06-14 16:18:22 +02:00
Badlop
4c445b37fd In frontends, if result is in binary then convert to string 2013-06-14 16:08:47 +02:00
Paweł Chmielowski
f6e39f64e2 Make ejabberd_ctl not die for ejabberd_commands with binary arguments 2013-06-14 16:08:02 +02:00
Christophe Romain
26b815f52d cosmetic changes, move badly placed comments 2013-06-14 00:04:25 +02: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
Badlop
0080f1f308 Detect correctly newer Darwin versions (EJAB-1594) 2013-06-06 12:24:18 +02:00
Christophe Romain
58e769d68f fix getting ServerHost from Host due to binary portage (EJAB-1638) 2013-06-06 11:32:52 +02:00
Christophe Romain
c8cba04f05 access_createnode acl also applies to auto created nodes ported to pubsub_odbc 2013-06-06 11:11:37 +02:00
Badlop
d1e1191793 Handle multiple < and > in mod_muc_log plaintext mode (EJAB-1640) 2013-05-31 13:23:08 +02:00
Badlop
3025bfd3ff Handle ~ control sequence in text of mod_muc_log (EJAB-1639) 2013-05-30 14:28:39 +02:00
Paul Donohue
089c664bad Fix a bug when reading tuples from config
If the config contains a tuple of integers (for example, if a bind IP
address is specified) then strings_to_binary() calls tuple_to_list()
followed by strings_to_binary(), which then calls list_to_binary()
because the list looks like a string.  Then list_to_tuple() is called on
the returned binary, causing a crash.

This patch corrects the problem by calling strings_to_binary1() instead,
which ensures that the value that is passed into list_to_tuple() is a
list.
2013-05-24 14:29:41 -04:00
Anton Ryzhov
e71650325b Removed wrong option for ejabberd_service module (since 174c16a1) 2013-05-16 01:22:02 +04:00
Badlop
c0bf054583 Tweak ejabberd_listener to allow ejabberd_xmlrpc work properly 2013-05-14 18:50:54 +02:00
Badlop
80f165a55c Fix get of announcement form 2013-04-25 16:00:24 +02:00
badlop
54667511f6 Merge pull request #62 from PaulSD/master
Fix errors when generating random binary strings
2013-04-25 03:48:55 -07:00
Badlop
d38ccbea6b access_createnode acl also applies to auto created nodes (thanks to Matthias Rieber) 2013-04-25 12:37:16 +02:00
Badlop
dfee84374f Include actor element in MUC stanzas when kicking (thanks to Purvesh Sahoo)(EJAB-1206) 2013-04-24 11:01:02 +02:00
Badlop
3e93fbfd2e Revert "Include actor element in MUC stanzas when kicking (thanks to Purvesh Sahoo)(EJAB-1206)"
This reverts commit 066c47ca96.
2013-04-23 13:57:18 +02:00
Badlop
066c47ca96 Include actor element in MUC stanzas when kicking (thanks to Purvesh Sahoo)(EJAB-1206) 2013-04-23 13:55:40 +02:00
Stephen Röttger
9fa415e557 SCRAM optional parameter parsing bugfix
The server gave an authentication error, if optional parameters
were present in the GS2 Header. Specifically, the "a=" parameter,
that can be used by admins to login as a different user.
2013-04-23 13:55:36 +02:00
Paul Donohue
b33a482582 Fix error when generating random binary strings 2013-04-19 15:30:13 -04:00
Badlop
c0afb1f282 Fix bug when getting room config 2013-04-15 11:14:32 +02:00
Badlop
abc1341b3f Fix mod_http_fileserver work with binaries (GITHUB-59) 2013-04-12 12:55:49 +02:00
Badlop
c7eaa9aeac ejabberd 13 requires Erlang/OTP R15B or higher (EJAB-1630)
Fix documents and remove useless code.
2013-04-11 17:12:53 +02:00
Janusz Dziemidowicz
74808b25a1 Change message type of carbon copies from 'chart' to 'chat' 2013-04-09 23:21:06 +02:00
Badlop
cbd3062365 Don't overwrite inetrc when installing (thanks to skeltoac) 2013-04-04 13:36:15 +02:00
Evgeniy Khramtsov
7a00622aa8 Merge branch 'master' of github.com:processone/ejabberd 2013-03-29 19:38:19 +10:00
Evgeniy Khramtsov
0d80e7e68a Get rid of references to non-existent module 2013-03-29 19:38:01 +10:00
Evgeniy Khramtsov
299a0f823a Fix several refactoring related bugs 2013-03-29 19:23:52 +10:00
Badlop
fc7360068a Update version number to beta2 2013-03-29 10:04:30 +01:00
Badlop
4c2d2bd4e9 Add mod_carboncopy that implements XEP-0280 v0.8 2013-03-27 17:53:56 +01:00
Badlop
9b510579b3 Fix room configuration after binarization 2013-03-22 17:14:47 +01:00
Badlop
d901aa982b Fix privacy list broadcast internal stanza after binarization 2013-03-22 13:57:45 +01:00
Badlop
2c6b12228a Change version number 2013-03-20 20:54:53 +01:00
Badlop
f92a94a737 Copied PostgreSQL erlang library from ejabberd-modules SVN 2013-03-19 13:30:17 +01:00
Badlop
1b304aaf0a Copied MySQL erlang library from ejabberd-modules SVN 2013-03-19 13:30:15 +01:00
Badlop
9deb294328 Accumulated patch to binarize and indent code 2013-03-14 10:33:02 +01:00
Badlop
9c41abde10 list_to_integer/2 only works in OTP R14 and newer 2013-03-14 10:25:41 +01:00
Badlop
907e239d4e Fix bug when displaying offline messages in WebAdmin 2013-03-14 10:25:38 +01:00
Badlop
c058687bf9 Update ejabberd version number to 2.1.12 2013-02-05 17:22:34 +01:00
Badlop
3f93931409 New mod_muc_log option file_permissions (EJAB-1588) 2013-02-05 16:20:14 +01:00
Steven Lehrburger
426f1107c5 Fix issue with ejabberd_xmlrpc user auth and SCRAM
After enabling SCRAM password hashing and SSL in ejabberd, XMLRPC ejabberdctl commands were resulting in errors like this:

	W(<0.2623.0>:ejabberd_xmlrpc:328) : Error -118
	A problem '{error,invalid_account_data}' occurred executing the command user_sessions_info with arguments

It seems that this because ejabberd_commands was using a different authentication check than everything else, which wasn't properly taking account for potential password hashing. (Note I'm not really sure what AccountPassMD5 is doing, but it seems to be different than the ejabberd_auth_internal's SCRAM hasing.)
2013-02-04 12:57:56 +01:00
Badlop
2704378d43 Fix compatibility of LDAP support with Erlang R16A (EJAB-1612)
As explained in Erlang/OTP git log:
eldap: Remove calls to undocumented asn1rt* functions.
We are about to remove the old asn1rt* modules, so we must remove
the calls that eldap make to them. Since the calls are just a
sanity check, we can just remove the calls. Just doing the decode
will do roughly the same tests and generate similar exceptions.
2013-02-04 10:31:54 +01:00
Badlop
e500fd74ad Fix warning about unused variable 2013-02-01 16:50:42 +01:00
Badlop
e7f85411fe Update Hebrew translation (thanks to Isratine Citizen) 2013-01-31 17:27:47 +01:00
Badlop
15073aafa5 Fix angle brackets handle in MUC plaintext log (EJAB-1610) 2013-01-31 17:25:03 +01:00
Alexey Shchepin
0ae400533c Update copyright dates 2013-01-24 16:25:13 +02:00
Evgeniy Khramtsov
d47dee8009 Make sure update_info returns atoms only (EJAB-1595) (Thanks to Jose M Herrero) 2013-01-03 20:26:16 +10:00
Alexey Shchepin
d5506a3ff0 Fixed signedness issue in tls_drv GET_DESCRYPTED_INPUT (EJAB-1591) 2012-12-20 14:01:45 +02:00
Remco Wendt
d81eb95cab Added command to list all the vhosts registered in an ejabberd node 2012-12-19 15:00:57 +02:00
alexeyshch
1f290c8a29 Merge pull request #37 from rraptorr/tls
TLS driver impovements
2012-12-17 04:53:09 -08:00
Evgeniy Khramtsov
be33ab890e Fix broken JPEG photo (EJAB-1526) 2012-12-12 18:08:24 +10:00
Badlop
2c26926689 Copy, fix and document export2odbc command from mod_admin_extra.erl 2012-11-26 13:22:29 +01:00
Evgeniy Khramtsov
9208f4dd50 Make terms serialization faster 2012-11-22 16:18:48 +02:00
Alexey Shchepin
dfcdf1ca7a Fixed mod_offline:store_offline_msg argument (EJAB-1581) 2012-11-09 12:48:25 +02:00
Badlop
ec51ba7bc6 New Hebrew translation (thanks to Isratine Citizen) 2012-10-17 18:26:55 +02:00
Badlop
2dc2769c92 Log IP address when auth attempt fails (thanks to Zach Calvert) 2012-08-27 17:40:01 +02:00
Badlop
8a737f875f Add SCRAM and remove MD5 support to ejabberd commands auth verification 2012-08-27 16:57:56 +02:00
Badlop
4147081f0b Added clause so ejabberdctl number of arguments error report works with R15 2012-08-27 16:38:52 +02:00
Badlop
a47fd96cc8 On shutdown, first stop listeners, then modules (thanks to Vishal Xica)(EJAB-1566) 2012-07-25 13:02:21 +02:00
Badlop
4d54bce621 Send announce Message stanzas as Headline type instead of Normal 2012-07-24 18:35:41 +02:00
Janusz Dziemidowicz
5e7a1c8829 Detect OpenSSL version at runtime, not at compile time 2012-07-24 07:40:07 +02:00
Janusz Dziemidowicz
bc65b5008e Enable DHE key exchange in TLS driver 2012-07-19 12:06:03 +02:00
Janusz Dziemidowicz
a407382d9f Enable ECDHE key exchange in TSL driver 2012-07-18 22:33:38 +02:00
Janusz Dziemidowicz
d2d51381ec Disable old and unsecure ciphers in TLS driver
Disable:
- export ciphers - broken by design, 40 and 56 bit encryption
- low encryption ciphers - 56 and 64 bit encryption
- SSLv2 ciphers - some ciphers using MD5 MAC
2012-07-18 22:00:58 +02:00
Janusz Dziemidowicz
e06c1c49c1 Disable SSL 2.0 in TLS driver
SSL 2.0 is not used anywhere as it has security problems. Disable it
unconditionally both in server and client mode. This does _not_
disable support for SSL 2.0 compatible client hello which still will
be accepted in the server mode.
2012-07-18 21:57:28 +02:00
Evgeniy Khramtsov
0cc920579c Fix regression introduced in odbc/mnesia merge 2012-07-17 23:35:16 +10:00
Janusz Dziemidowicz
efc0b0ba5a Reduce size of XML stream state
This makes size of hibernated ejabberd_receiver a lot smaller (from
~290 words down to ~40).
2012-07-09 17:03:33 +03:00
Badlop
2bf8125abf Allow multiple fqdn values in configuration (EJAB-1578) 2012-06-27 11:10:48 +02:00
Badlop
75756f0fc9 Check node name is available before starting ejabberd (EJAB-1572) 2012-06-08 17:33:21 +02:00
Badlop
bc077266d9 Fix MUC start when Mnesia tables don't exist yet 2012-06-08 16:39:15 +02:00
Badlop
a99c1e7031 Fix account registration 2012-06-06 12:55:35 +02:00
Badlop
bb026ef598 Update Slovak translation (thanks to Marek Bečka) 2012-05-15 12:00:04 +02:00
Badlop
e5d5ea49be Revert "Update ejabberd version number to 2.1.11"
This reverts commit 453e249de3.
2012-05-15 11:46:31 +02:00
Paweł Chmielowski
6c94d040fa Repeated http-bind request should abort only requests with same rid
Before this change, when request with repeat rid was received any waiting
request was aborted (but only after next request was delivered). With this
change, only request with identical rid are aborted and this is done
immediately
2012-05-03 11:44:34 +02:00
Paweł Chmielowski
e8921d79ba Receiving missing http-bind request shouldn't close waiting out-ouf-order request 2012-05-03 11:44:21 +02:00
Evgeniy Khramtsov
6719d9669b Fix get_subscription_lists/4 2012-04-29 19:34:57 +10:00
Paweł Chmielowski
8b13226d00 Do not trigger item-not-found errors in mod_http_bind (part of EJABS-1827)
This changes what happens to request received with out of order rid,
previously response to such request was send immediately, and client was
free to submit another request, which triggered item-not-found if it was
delivered before request with missing rid.

This change make us wait for sending response to out of order request until
request with missing rid arrives. It also queues all outgoing data before
that condition is meet.
2012-04-27 13:23:19 +02:00
Evgeniy Khramtsov
437f68a9f3 Merge SQL and Mnesia code into one module (EJAB-1560) 2012-04-27 19:52:05 +10:00
Badlop
453e249de3 Update ejabberd version number to 2.1.11 2012-04-26 16:04:16 +02:00
Badlop
6e2003c2e2 Recompile translation files 2012-04-26 15:54:54 +02:00
Badlop
5ed8959eba Update Italian translation (thanks to Luca Brivio) 2012-04-25 00:00:52 +02:00
Maxim Ignatenko
7623ebd327 mod_irc: Make use of MUC password 2012-04-24 15:21:46 +02:00
Badlop
522eb0fe9d Update PO files manually according to the English fix 2012-04-24 13:52:59 +02:00
Badlop
7dd171322d Fix English strings (thanks to Andreas van Cranenburgh) 2012-04-24 13:51:54 +02:00
Badlop
752652e56c Update German translation again (thanks to Nikolaus Polak) 2012-04-24 13:51:04 +02:00
Badlop
2582a478ab Update Portuguese-Brazil translation (thanks to Otávio Fernandes) 2012-04-23 09:58:03 +02:00
Badlop
52ff5de564 Update Polish translation (thanks to Zbyszek Żółkiewski) 2012-04-23 09:58:01 +02:00
Badlop
ba793af8b7 Update Norwegian translation (thanks to Stian B. Barmen) 2012-04-23 09:57:59 +02:00
Badlop
3304ecd1f0 Update Catalan translation (thanks to Jan Kusanagi) 2012-04-23 09:57:56 +02:00
Badlop
4e0394cab3 Update Japanese translation (thanks to Mako N) 2012-04-20 15:42:41 +02:00
Badlop
eaa963a840 Update Greek translation (thanks to James Iakovos Mandelis) 2012-04-20 15:42:38 +02:00
Evgeniy Khramtsov
31c13cc1c8 Remove useless mnesia call 2012-04-20 16:52:33 +10:00
Badlop
310aa7a00d Update Czech translation (thanks to Jan Pinkas) 2012-04-18 11:13:36 +02:00
Badlop
fafd605d4d Update Chinese translation (thanks to Shelley Shyan) 2012-04-18 10:13:34 +02:00
Badlop
078f3583f0 Update Turkish translation (thanks to Doruk Fisek) 2012-04-18 10:13:15 +02:00
Badlop
0b337329ba Update Russian translation (thanks to Evgeniy Khramtsov) 2012-04-18 10:12:47 +02:00
Badlop
f5df63554f Update Dutch translation (thanks to Andreas van Cranenburgh) 2012-04-18 10:12:22 +02:00
Badlop
46c4f46451 Update Esperanto translation (thanks to Andreas van Cranenburgh) 2012-04-18 10:12:09 +02:00
Badlop
e034864c12 Update German translation (thanks to Nikolaus Polak) 2012-04-18 10:11:36 +02:00
Badlop
91f38cc849 Extract new strings 2012-04-18 10:08:30 +02:00
Evgeniy Khramtsov
e616d2686f Perform user part substitution in ldap_rfilter (EJAB-1555) 2012-04-17 17:19:53 +10:00
Badlop
5a09d671ab Photos from LDAP not displayed in some clients, lacking TYPE (thanks to Alex Crycheck)(EJAB-1554) 2012-04-16 12:25:14 +02:00
Badlop
58d49d2867 Update Spanish translation 2012-04-15 00:21:22 +02:00
Badlop
8bb58ba3c3 Extract new strings 2012-04-15 00:21:15 +02:00
Badlop
49859683b0 Document how to provide a long announcement (EJAB-1553) 2012-04-14 23:29:55 +02:00
Badlop
169b83b36d Handle the scenario of disabled mod_muc (EJAB-1553) 2012-04-14 23:29:30 +02:00
Evgeniy Khramtsov
86435ba9aa ODBC support for mod_blocking 2012-04-12 14:22:56 +10:00
Paweł Chmielowski
e2d6bc95a4 Parse and encode https header names like native http parser does
This code adds case normalization step to https headers parsing, making
it correctly use atoms for some special header no matter how upper/lower
case letters are used in input string
2012-04-11 17:28:18 +02:00
Christophe Romain
06f570f4ff return user affiliation for a specified node (thanks to Karim Gemayel) (EJAB-1294) 2012-04-11 16:50:36 +02:00
Badlop
730dfe8fc7 Add comments about Dialyzer warnings 2012-04-11 16:34:03 +02:00
Evgeniy Khramtsov
5619d39bd3 Add odbc modules to Makefile.win32 2012-04-09 14:53:15 +10:00
Evgeniy Khramtsov
959e0ff1c9 Remove obsoleted function call 2012-04-09 10:43:49 +10:00
Paweł Chmielowski
2c228e6414 Don't use binary:match to extract lines from binaries
This was added in R13B3, lets roll our own implementation to make sure it
works on older erlang versions.
2012-04-06 18:55:27 +02:00
Paweł Chmielowski
82468bff00 Fix makefile rules for building dll-s in Makefile.win32 files 2012-04-06 16:31:17 +02:00
Paweł Chmielowski
5f82846732 Parse correctly https request split into multiple packets
This fixes case when SockMod:recv() calls returns only part of first line
of http request (GET/POST/OPTION/HEAD line). Before that change request
like that (and if keep-alive was active, all further request) were dropped.

This fixes EJAB-1537.
2012-04-06 16:22:08 +02:00
Paweł Chmielowski
09c75af15c Make sure that res is initialized in all cases 2012-04-06 12:00:43 +02:00
Alexey Shchepin
91964b1aba Added missed tls:recv_data/2 2012-04-06 11:53:53 +02:00
Paweł Chmielowski
af2e9169e6 Don't ignore Length parameter in tls:recv 2012-04-06 11:53:21 +02:00
Alexey Shchepin
4637e2c66b Avoid quadratic behavior in reading SSL data 2012-04-06 11:47:53 +02:00
Paweł Chmielowski
1f1a98d7ae Properly handle HEAD request in mod_http_bind (this fixes EJAB-1538) 2012-04-06 11:47:38 +02:00
Evgeniy Khramtsov
cea23b055b Get rid of duplicated code 2012-04-06 12:31:29 +10:00
Evgeniy Khramtsov
41a0eae0bd ODBC support for mod_shared_roster 2012-04-04 20:37:43 +10:00
Evgeniy Khramtsov
5fab00011e ODBC support for mod_irc 2012-04-03 20:23:41 +10:00
Evgeniy Khramtsov
ca5f028016 ODBC support for mod_vcard_xupdate 2012-04-02 15:21:54 +10:00
Evgeniy Khramtsov
b43444f674 ODBC support for mod_announce 2012-04-02 14:49:13 +10:00
Evgeniy Khramtsov
866085c918 Add ODBC exporting function for privacy table 2012-04-02 12:39:23 +10:00
Evgeniy Khramtsov
6ec5c7c4d8 Use proper module name 2012-03-31 22:56:51 +10:00
Evgeniy Khramtsov
6b3875814c ODBC support for mod_muc 2012-03-31 21:41:54 +10:00
Evgeniy Khramtsov
3a51c801e1 Change log level from informational to error 2012-03-19 18:52:20 +10:00
Badlop
983da9c887 Relax digest-uri handling (thanks to Daniel Willmann)(EJAB-1529)
This patch introduces a new config option - fqdn - to set the fully
qualified domain name of the host:
  {fqdn, "foo.example.com"}.
This fixes a problem with Pidgin not being able to log in on a server
that used SRV records.
2012-03-16 14:16:17 +01:00
Evgeniy Khramtsov
f7b6446c74 Assume we have only one CPU when an auto-detection fails (EJAB-1516) 2012-02-29 00:45:45 +10:00
Evgeniy Khramtsov
deb87f2dfa Cache caps timestamp before the IQ-request is done 2012-02-28 16:38:24 +10:00
Alexey Shchepin
b1e2538488 Update copyright dates 2012-02-23 17:52:34 +02:00
Christophe Romain
f7ffdfa15d Fix typo in xep number, bosh is xep0206 (thanks to Ludovic Bocquet) 2012-02-20 14:15:08 +01:00
Badlop
112a18f966 Work also with some unicode strings in PgSQL (EJAB-1490) 2012-02-14 13:18:18 +01:00
Badlop
7d623d5eb4 Option default_host for handling HTTP requests with ambiguous Host (EJAB-1261) 2012-02-14 11:35:52 +01:00
Evgeniy Khramtsov
4819738e8f Receiver should not generate an exception 2012-02-14 17:03:08 +10:00
Evgeniy Khramtsov
89aa7baa5b Replace a single quote with double quotes in
an ODBC escape (thanks to Vladislav Chugunov)
2012-01-31 11:18:37 +10:00
Badlop
95928a7cd4 http_bind webserver TLS fail on Chrome (thanks to Adam Langley)(EJAB-1530) 2012-01-19 13:21:25 +01:00
Alexey Shchepin
1ecc9ac48c Fixed ejabberd_http:get_line 2012-01-19 12:20:48 +02:00
Badlop
288196c7e8 Foreign shared rosters items not pushed (thanks to Nathan Bruning)(EJAB-1509) 2012-01-04 19:21:31 +01:00
Badlop
0283c6cdfe Revert "Update ejabberd version number to 2.1.10"
This reverts commit bcdae19141.
2011-12-31 20:40:04 +01:00
Alexey Shchepin
d4e7b0cda0 mod_private.erl: misc errors cases fixes (thanks to Karim Gemayel) 2011-12-30 16:08:24 +02:00
Badlop
bcdae19141 Update ejabberd version number to 2.1.10 2011-12-23 12:27:30 +01:00
Badlop
684cac274d Support undefinition of ssl:seed in R15B 2011-12-23 12:19:38 +01:00
Badlop
ce7b008b8f Use the regexp frontend module (EJAB-921) 2011-12-23 11:33:33 +01:00
Alexey Shchepin
a3c58f2896 Always allow packets from user's server and bare jid in mod_privacy* 2011-12-22 16:37:47 +02:00
Alexey Shchepin
3839f1055a Fixed the previous mod_blocking patch 2011-12-21 18:28:04 +02:00
Alexey Shchepin
94350ddb3a Corrected mod_blocking hooks return value, activate "Blocked Contacts" privacy list after it is changed 2011-12-21 16:25:01 +02:00
Badlop
919cdc27db Fix update with stripped beams (thanks to Jose M Herrero)(EJAB-1520) 2011-12-21 12:58:58 +01:00
Badlop
2029e39299 Support Erlang/OTP R15B driver (EJAB-1521) 2011-12-21 12:15:21 +01:00
Evgeniy Khramtsov
707bb0a321 Replace regexp with ejabberd_regexp 2011-12-19 16:10:48 +10:00
Evgeniy Khramtsov
298a4a3acf Get rid of +driver option because it is incompatible with R15B 2011-12-19 16:01:04 +10:00
Badlop
262157c88d Preliminary support for groupname@vhost in Displayed Groups (EJAB-506) 2011-12-15 17:27:28 +01:00
Badlop
37107af7b4 Fix command "update" to return response in the expected format 2011-12-08 19:39:36 +01:00
Badlop
13a9ca65a4 Don't reveal invitee's resource when room informs invitor 2011-12-08 16:35:31 +01:00
Badlop
d3369c83e7 Add callback function print_state/1 for behavior p1_fsm 2011-12-08 12:50:40 +01:00
Badlop
48308042b6 Use the regexp frontend module (EJAB-921) 2011-12-08 12:40:04 +01:00
Badlop
d30ad8ba28 Frontend module to Re and Regexp (EJAB-921) 2011-12-08 12:39:58 +01:00
Pablo Polvorin
cf973f27bb Prevent overload of incomming s2s connections
Three changes were introduced:

1) ejabberd_s2s_in now uses p1_fsm instead of gen_fsm.  And uses
   the {max_queue, N} option to kill the process if its input
   queue grows too much.
2) If a ejabberd_s2s_in process is overload and killed, the server
   that originated that connection is not allowed to connect back
   to us for X seconds (set to 60seconds on the source)
3) The list of blocked (both statically and dynamically by the above
   method) host is now also checked for hosts authenticating by
   starttls+sasl. Previusly it was only used during dialback.
2011-12-02 15:30:20 -03:00
Pablo Polvorin
87df27109a Fix bug on s2s shaper when TLS is used
The shaper was not enabled if the remote server authenticates
using a certificate instead of dialback.
2011-12-01 13:16:21 -03:00
Christophe Romain
89e4e822bf add hooks for node creation/deletion (EJAB-1470) 2011-11-29 14:13:13 +01:00
Badlop
b89d4c7476 Use httpc instead of the deprecated http 2011-11-26 17:20:06 +01:00
Badlop
ee968b5573 Fix error in mod_vcard when lowercasing some vjud search result fields (EJAB-1490) 2011-11-26 17:08:17 +01:00
Badlop
1f97740cfa Avoid a possible race condition 2011-11-26 17:03:24 +01:00
Evgeniy Khramtsov
944791e888 Fix presence problem after first unavailable (thanks to Christopher Faulet) (EJAB-1466) 2011-11-09 15:09:02 +10:00
Badlop
0656377165 Support to update modules in R14B04 and higher 2011-11-03 19:47:11 +01:00
Evgeniy Khramtsov
96800e9b75 Get rid of useless mnesia transaction (EJAB-1502) 2011-10-14 16:57:51 +10:00
Badlop
c1d479f863 Set ejabberd version to 2.1.x 2011-10-13 17:56:19 +02:00
Badlop
4be7984a0e Update ejabberd version number to 2.1.9 2011-09-26 18:11:18 +02:00
Evgeniy Khramtsov
39bc499b10 Fix instruction and error text 2011-09-26 20:00:43 +10:00
Evgeniy Khramtsov
de4d4a4bbb Change "muc#role" field type to "hidden" 2011-09-26 19:54:55 +10:00
Evgeniy Khramtsov
8631dd14e9 Correct lists:keysearch output processing and fix dialyzer warning 2011-09-26 19:06:34 +10:00
Evgeniy Khramtsov
e7d12f4b9e Code cleanup 2011-09-26 18:44:41 +10:00
Maxim Ignatenko
f17a531e15 Use treap correctly 2011-09-26 11:16:30 +03:00
Maxim Ignatenko
ff57c8a58c Apply patch from Evgeniy Khramtsov 2011-09-26 11:16:30 +03:00
Maxim Ignatenko
499b884c67 Use treap for keeping last voice request timestamps 2011-09-26 11:16:29 +03:00
Maxim Ignatenko
0c261fb903 Fix voice request/approvement detection and extract_jid_from_voice_approvement/1 2011-09-26 11:16:29 +03:00
Maxim Ignatenko
322263fd5c Fix typo 2011-09-26 11:16:29 +03:00
Maxim Ignatenko
845f5cabec Fix patterns in check_voice_request_fields/2 and check_voice_approvement_fields/2 2011-09-26 11:16:29 +03:00
Maxim Ignatenko
f919349173 Use more pattern-matching 2011-09-26 11:16:29 +03:00
Maxim Ignatenko
a91ae03dc6 Remove try/catch 2011-09-26 11:16:29 +03:00
Maxim Ignatenko
faed7698c2 Use pattern matching in check_voice_request_fields/2 and check_voice_approvement_fields/2 2011-09-26 11:16:29 +03:00
Maxim Ignatenko
eb8347f92b Reverse arguments order for timer:now_diff/2 2011-09-26 11:16:29 +03:00
Maxim Ignatenko
c53ffe6dc5 Fix return value inconsistency in last_voice_request_time/2 2011-09-26 11:16:29 +03:00
Maxim Ignatenko
7c8eab4f43 Use jlib:parse_xdata_submit/1 in is_voice_request/1 and is_voice_approvement/1 2011-09-26 11:16:29 +03:00
Maxim Ignatenko
b1d8168dd3 Use bare JID as key in state.last_voice_request_time 2011-09-26 11:16:28 +03:00
Maxim Ignatenko
c196c1f5e5 Use lists:foreach instead of lists:map in send_voice_request/2 2011-09-26 11:16:28 +03:00
Maxim Ignatenko
604563af76 Remove needless time conversions 2011-09-26 11:16:28 +03:00
Maxim Ignatenko
6848d3affe Ignore any extra elements in voice approvement form submission 2011-09-26 11:16:28 +03:00
Maxim Ignatenko
6708914e99 Add 2 room config options
- Allow voice requests?
 - Minimum interval between voice requests
2011-09-26 11:16:28 +03:00
Maxim Ignatenko
5921f9c506 Simple rate control
Visitor allowed to send new voice request only after specified amount of
time (or after rejoining).
2011-09-26 11:16:28 +03:00
Maxim Ignatenko
6193ed63b1 Voice approvement support 2011-09-26 11:16:28 +03:00
Maxim Ignatenko
18dd0d08cb Implement basic voice request processing logic.
No rate control or configuration for now
2011-09-26 11:16:28 +03:00
Maxim Ignatenko
8dd6f128bf Implement voice approvement detection and remove some debug code 2011-09-26 11:16:28 +03:00
Maxim Ignatenko
04267930de Fix form instructions 2011-09-26 11:16:27 +03:00
Maxim Ignatenko
d83716dece Use ejabberd_router:route/3 directly, instead of send_packet_to/3 2011-09-26 11:16:27 +03:00
Maxim Ignatenko
c77358bdc1 Use exception handling in is_invitation/1 2011-09-26 11:16:27 +03:00
Maxim Ignatenko
44987479a5 Fix exception handling in is_voice_request/1 2011-09-26 11:16:27 +03:00
Maxim Ignatenko
30d89abf66 Implemented sending voice request and fixed some bugs 2011-09-26 11:16:27 +03:00
Maxim Ignatenko
f175be6b78 Add function for detecting voice requests 2011-09-26 11:16:27 +03:00
Maxim Ignatenko
2a41ca0628 More correct dispatching of normal messages to conference room
is_invitation/1 function returns true if <x> element of message is
an invitation
2011-09-26 11:16:27 +03:00
Janusz Dziemidowicz
c4f9a050c9 Decrease CPU usage caused by tls:send with large data.
Sending one large chunk of data with tls:send eats lots of
CPU power and blocks whole Erlang emulator. This is caused by the
fact that encrypted output is read from memory BIO in 1k chunks.
Memory BIO, after reading data, shifts the remaining part.
If large chunks of data (few MB) is sent and then read in 1k
chunks, then a _lot_ of shifting is performed eating CPU.

The solution is to simply allocate binary of the needed size
(amount of data in memory BIO can be retrieved with
BIO_ctrl_pending) and then issue only one read that reads the
whole data.
2011-09-25 00:23:31 +02:00
Badlop
32ff6b56eb Fix mod_muc_log crash when first log entry is room being destroyed (EJAB-1499) 2011-09-23 17:00:50 +02:00
Christophe Romain
33c0ebb100 fix broken PEP after EJAB-1498 (thanks to Karim Gemayel) 2011-09-22 20:51:59 +02:00
Badlop
cb9aecf35e ejabberdctl doesn't support parameters with blankspaces (EJAB-1458)
Revert "Escape output from ctlexec() to erl script (thanks to Dan Scott)(EJAB-1399)"

This reverts commit 6dea2d2307.
2011-09-22 16:18:04 +02:00
Christophe Romain
d5b4d67858 Fix Denial of Service when user sends malformed publish stanza (thanks to Oleg Smirnov) (EJAB-1498) 2011-09-21 14:39:50 +02:00
Badlop
9f4ae07100 added svg mimetype to default content types (thanks to Markus Kohlhase) 2011-09-20 16:50:22 +02:00
Badlop
32fc36b17d Add support for @online@ to add_user_to_group 2011-09-20 16:44:51 +02:00
Evgeniy Khramtsov
33766a124d New option support: ldap_deref_aliases (EJAB-639) 2011-09-19 16:58:55 +10:00
Evgeniy Khramtsov
ede8d57373 Fix dialyzer warnings 2011-09-17 10:48:52 +10:00
Evgeniy Khramtsov
2494e39c9e Fix dialyzer warnings 2011-09-15 16:59:45 +10:00
Badlop
07fdd089a0 No need to explicitly skip old useless tables, simply fix keep_tables 2011-09-14 12:15:53 +02:00
Evgeniy Khramtsov
228a587fc5 Fix previous commit 2011-09-09 12:40:07 +10:00
Evgeniy Khramtsov
e432ff58f9 Avoid crash when performing admin action 2011-09-09 12:34:06 +10:00