Holger Weiss
b8a7720986
ejabberd_c2s: Don't close session on stream resume
...
Don't let ejabberd_c2s close the session and unset presence if a
'c2s_terminated' callback stops hook execution, as is done in
mod_stream_mgmt:c2s_terminated/2 on resumption.
Fixes #1680 .
2017-04-19 01:20:28 +02:00
Evgeniy Khramtsov
7c9415356d
Function fix_from_to/2 should not crash when 'from' is undefined
...
Fixes #1678
2017-04-18 01:38:35 +03:00
getong
ab751d290a
lager_crash_log in some cases not run, catch it
2017-04-17 12:07:23 +08:00
Evgeniy Khramtsov
f496d22074
Improve logging message
2017-04-16 23:56:12 +03:00
Evgeniy Khramtsov
86b680a3ad
Move compile_exprs() to misc module
2017-04-16 20:05:46 +03:00
Evgeniy Khramtsov
78dba217bf
Speedup configuration options lookup
...
We now avoid excessive ETS lookups; instead, we use dynamically
compiled module 'ejabberd_options' keeping the configuration options
2017-04-16 15:29:10 +03:00
Evgeniy Khramtsov
878c762cdf
Log human readable description when configuration file is not found
2017-04-16 01:22:55 +03:00
Evgeniy Khramtsov
920f2678ac
Report configuration file location on startup
2017-04-16 01:02:46 +03:00
Evgeniy Khramtsov
b6182e6fe8
Speedup loading of translation files
...
A dump of 'translations' ETS table is now stored on disc.
The table is only re-created when new/deleted/modified translation
files are detected; otherwise, the ETS table is restored from
the dump file on startup.
2017-04-16 00:29:55 +03:00
Evgeniy Khramtsov
41fe062a8d
Lower log level for some messages
2017-04-15 15:47:00 +03:00
Evgeniy Khramtsov
4c5f97bb9a
Add Riak as mod_proxy65 RAM backend
2017-04-15 15:38:48 +03:00
Evgeniy Khramtsov
f9c24ab16d
Add Riak as mod_carboncopy RAM backend
2017-04-15 14:41:14 +03:00
Evgeniy Khramtsov
72b536b52d
Add Riak as BOSH RAM backend
2017-04-15 13:52:36 +03:00
Evgeniy Khramtsov
598c79ff86
Fix cleaning of Riak route table
2017-04-15 13:36:29 +03:00
Evgeniy Khramtsov
da66eb5714
Add Riak as router RAM backend
2017-04-15 13:07:56 +03:00
Evgeniy Khramtsov
c290b4284f
Fix closing of outbound S2S connections
2017-04-15 11:15:50 +03:00
Evgeniy Khramtsov
fcb978248f
Add Riak as session manager RAM backend
2017-04-15 10:02:32 +03:00
Evgeniy Khramtsov
5774edfe79
Improve ejabberd_c2s:close()
2017-04-15 08:30:41 +03:00
Evgeniy Khramtsov
5c23187d2c
Make sure stream trailer is sent in the very end
2017-04-14 20:56:01 +03:00
Evgeniy Khramtsov
0a7eb33772
Better process session close
2017-04-14 20:41:25 +03:00
Evgeniy Khramtsov
9de075029b
Fix a typo
2017-04-14 20:40:39 +03:00
Evgeniy Khramtsov
d110cbb6e2
Fix ejabberd_router:is_my_route/1
2017-04-14 20:34:00 +03:00
Evgeniy Khramtsov
e40baf0bda
Use cache in front of Redis/SQL RAM backends
2017-04-14 13:57:52 +03:00
Badlop
177d5fec86
Allow a room admin to unsubscribe another JID
2017-04-13 22:37:39 +02:00
Holger Weiss
87ae2d7996
mod_muc_room: Replace deprecated function call
...
Use jid:decode/1 instead of jlib:string_to_jid/1.
2017-04-11 13:38:33 +02:00
Christophe Romain
b1acd1183f
Rename aux.erl as misc.erl
...
Thanks Microsoft Windows to not support some filenames
2017-04-11 12:13:58 +02:00
Badlop
1e82db5655
New muc_register_nick command (thanks to Peter Marheine)( #1407 )
2017-04-10 12:23:14 +02:00
Christophe Romain
f2ca4cb3cd
Merge pull request #1666 from weiss/fix-csi
...
Let CSI keep latest stanzas of each given full JID
2017-04-07 15:10:39 +02:00
Christophe Romain
cf784772c9
Merge pull request #1664 from weiss/fix-routing
...
Fix routing of groupchat and headline messages
2017-04-07 15:10:26 +02:00
Christophe Romain
0567d528c6
Let ext_mod be aware of p1_utils includes
2017-04-07 12:51:43 +02:00
Christophe Romain
36e3f4bc2a
Generate ejabberd lib dir when not available in code server ( #1665 )
...
This is the case if running ejabberd from development directory
when code:lib_dir(ejabberd) returns {error, nad_name}.
2017-04-07 12:09:43 +02:00
Christophe Romain
1510ee0b3c
Merge pull request #1660 from michal800106/master
...
Fix order of starting supervisors.
2017-04-07 10:04:38 +02:00
Evgeniy Khramtsov
3729acc5b0
Improve logging of Redis errors
2017-04-07 09:10:33 +03:00
Holger Weiss
9fa5f37f74
mod_client_state: Remove some empty lines
2017-04-06 23:00:53 +02:00
Holger Weiss
0ddd2e0ebf
mod_client_state: Queue stanzas of each full JID
...
Keep the latest stanzas of each given full JID, rather than dropping
them when stanzas from a different resource are received. This change
makes sure the recipient receives the latest status of all clients of
each contact. It also ensures the recipient will see the current list
of occupants of joined MUC rooms.
2017-04-06 22:19:00 +02:00
Holger Weiss
7827faae4b
mod_client_state: Don't keep track of queue size
...
Use maps:size/1 rather than keeping track of the size ourselves.
2017-04-06 21:01:26 +02:00
Evgeniy Khramtsov
245fe04289
Improve type specs and return values
2017-04-06 20:56:46 +03:00
Evgeniy Khramtsov
6876a37e61
Add Redis pool support
...
Fixes #1624
2017-04-06 17:56:37 +03:00
michal
81fe380de2
Fix order of starting supervisors.
...
ExtMod should be loaded before GenModSupervisor because ext_mod adds proper paths to ebin from modules (ejabberd-contrib).
Without this change you have to add -pa parameter with path to module's ebin.
2017-04-06 08:50:23 +02:00
Holger Weiss
179e8934cf
ejabberd_sm: Fix routing of headline messages
...
As per RFC 6121, silently drop headline messages sent to the bare JID of
an offline user or to the full JID of an unavailable resource.
2017-04-05 21:03:13 +02:00
Holger Weiss
8bfb6fdd4e
ejabberd_sm: Fix routing of groupchat messages
...
As per RFC 6121, don't (re)route groupchat messages sent to a bare JID
or to an unavailable resource.
2017-04-05 20:41:10 +02:00
Holger Weiss
89f81c89da
ejabberd_sm: Fix typo in debug message
2017-04-05 20:23:28 +02:00
Evgeniy Khramtsov
ad948d33c0
Add description to feature-not-implemented error
2017-04-05 15:19:00 +03:00
Evgeniy Khramtsov
6fa55e7c38
Set 'read_concurrency' for some ETS tables
2017-04-05 15:10:18 +03:00
Evgeniy Khramtsov
2febbe5ffb
Don't misuse monotonic_time/0
2017-04-05 10:42:42 +03:00
Evgeniy Khramtsov
f5b0cd1793
Don't log warning on successful ping reply
2017-04-04 17:14:24 +03:00
Evgeniy Khramtsov
3a0b4ad8da
Merge branch 'master' of github.com:processone/ejabberd
2017-04-04 09:53:45 +03:00
Evgeniy Khramtsov
408f9b515e
Fix c2s connection close on demand
...
Fixes #1652
2017-04-04 09:52:42 +03:00
Alexey Shchepin
f45dc46856
Forget prepared SQL queries on database connect ( #1325 )
2017-04-03 16:42:41 +03:00
Christophe Romain
b75780b9cd
Always init pubsub_index when using mnesia
2017-04-03 12:13:20 +02:00
Alexey Shchepin
19614678e9
Change mnesia dir detection
2017-04-03 12:57:47 +03:00
Christophe Romain
55ea097bce
Remove obsolete mnesia migration calls
...
Now that plugins directly use ejabberd_mnesia and can include their own
transform handler, we don't need pubsub_migrate anymore.
People upgrading from 2.1.1x version must upgrade to 17.01 first.
pubsub_migrate module remains to support any manual process requiring it
2017-04-03 11:37:07 +02:00
Evgeniy Khramtsov
9d9037856c
Improve redis related code
2017-04-02 11:56:09 +03:00
Evgeniy Khramtsov
5087e9c2df
Use ejabberd_sql:abort/1 instead of exit/1
2017-03-31 19:10:07 +03:00
Evgeniy Khramtsov
178a0a3e1b
Merge branch 'master' of github.com:processone/ejabberd
2017-03-31 19:08:16 +03:00
Evgeniy Khramtsov
05ef009552
Add Redis as mod_proxy65 RAM backend
2017-03-31 19:07:56 +03:00
Alexey Shchepin
316da00345
Add ejabberd_sql:abort/1 and ejabberd_sql:restart/1
2017-03-31 17:37:24 +03:00
Evgeniy Khramtsov
f449df161a
Add SQL as mod_proxy65 RAM backend
2017-03-31 08:16:28 +03:00
Evgeniy Khramtsov
3e4ed83cb3
Raise bad_node instead of node_down for consistency reason
2017-03-30 17:51:37 +03:00
Evgeniy Khramtsov
f5f353d90a
Do not duplicate enc_pid/dec_pid functions
2017-03-30 17:44:43 +03:00
Christophe Romain
bfde473c3b
Add missing jlib->aux convertion
2017-03-30 14:28:55 +02:00
Christophe Romain
c93bf732db
Refactor pubsub's get_last_items
2017-03-30 14:26:30 +02:00
Evgeniy Khramtsov
7bcbea2108
Deprecate jlib.erl in favor of aux.erl
...
Since the main goal of jlib.erl is lost, all auxiliary functions
are now moved to aux.erl, and the whole jlib.erl is now deprecated.
2017-03-30 14:17:13 +03:00
Christophe Romain
997ac58329
Merge pull request #1646 from weiss/custom-headers
...
Add custom_headers option for ejabberd_http listeners
2017-03-30 12:47:42 +02:00
Evgeniy Khramtsov
085b61eea5
Add Redis as mod_carboncopy RAM backend
2017-03-30 11:45:09 +03:00
Evgeniy Khramtsov
31fd83b2ae
Add SQL as mod_carboncopy RAM backend
2017-03-30 10:31:51 +03:00
Badlop
4b4c039fde
oauth_list_tokens and oauth_revoke_token work only in Mnesia ( #1644 )
2017-03-29 12:41:27 +02:00
Evgeniy Khramtsov
0b3cf26406
Fix a typo
2017-03-29 13:20:15 +03:00
Evgeniy Khramtsov
12e01a5119
Add SQL as mod_muc RAM backend
2017-03-29 12:58:01 +03:00
Evgeniy Khramtsov
ba6c88cb90
Add Redis as mod_bosh RAM backend
2017-03-28 21:12:26 +03:00
Evgeniy Khramtsov
e5815553cb
Add SQL as mod_bosh RAM backend
2017-03-28 20:33:57 +03:00
Evgeniy Khramtsov
cba6e1b3ab
Add Redis as router RAM backend
2017-03-28 19:34:04 +03:00
Evgeniy Khramtsov
117f31125d
Add SQL as router RAM backend
2017-03-28 16:31:37 +03:00
Holger Weiss
510fde58d8
mod_http_upload: Don't add "Server" header line
...
Administrators can add the "Server" header line using the new listener
option "custom_headers", if desired.
2017-03-28 00:03:17 +02:00
Holger Weiss
191fc1b4e8
ejabberd_http: Expand @VERSION@ in custom headers
...
Let ejabberd_http expand the @VERSION@ keyword to the ejabberd version
if specified in the "custom_headers" listener option.
Closes #1414 .
2017-03-27 23:52:49 +02:00
Holger Weiss
41de5e78d0
ejabberd_http: Add "custom_headers" option
...
If the new listener option "custom_headers" is specified, include those
headers with the HTTP(S) response.
Closes #517 .
2017-03-27 23:19:11 +02:00
Christophe Romain
5b6d042de2
Fix PEP issues ( #1636 )
2017-03-27 16:24:24 +02:00
Evgeniy Khramtsov
e30d41e5f0
Merge branch 'new_queue'
...
Conflicts:
rebar.config
src/mod_muc_admin.erl
2017-03-24 13:27:56 +03:00
Evgeniy Khramtsov
e1f01f0c8a
Avoid PID collisions
...
Fixes #1470
2017-03-24 11:03:23 +03:00
Holger Weiss
e469b6ffb4
prosody2ejabberd: Fix offline message record type
...
mod_offline now expects a #message{} rather than an #xmlel{} record.
2017-03-21 18:35:07 +01:00
Holger Weiss
a1068df602
prosody2ejabberd: Fix message attribute removal
...
Actually remove the 'stamp' and 'stamp_legacy' attributes from imported
offline messages as intended.
2017-03-21 18:23:55 +01:00
Paweł Chmielowski
f819272b88
Fix crash in mod_muc_admin, we operate on integers here not lists
2017-03-21 15:36:42 +01:00
Alexey Shchepin
9fb188afbc
Don't block contacts with subscription=to in mod_block_strangers ( #1609 )
2017-03-21 15:42:38 +03:00
Christophe Romain
70050b52ad
Use item creation date in rsm order ( #1516 )
2017-03-21 12:45:41 +01:00
Evgeny Khramtsov
44484fa4ae
Merge pull request #1626 from weiss/fix-scram-import
...
prosody2ejabberd: Fix SCRAM hash conversion
2017-03-21 15:44:29 +04:00
Evgeniy Khramtsov
f3ecba0445
Use new xdata compiler API
2017-03-20 09:57:11 +03:00
Evgeniy Khramtsov
06f42bc749
Better log s2s auth failures when TLS is not available
2017-03-18 13:59:24 +03:00
Evgeniy Khramtsov
72da5bd062
Log startup time
2017-03-18 10:24:42 +03:00
Edward Chow
c5af421cee
Fixed wrong parameter values in mod_muc_admin
...
Corrected wrong parameter values passing to register_online_room(Room, Host, Pid) of mod_muc
2017-03-18 03:07:23 +08:00
Evgeniy Khramtsov
91245141e9
Set translation callback on startup
2017-03-17 21:35:02 +03:00
Paweł Chmielowski
2d67ff2249
Teach mod_http_fileserver ability to send 304 Not Modified
2017-03-17 11:58:40 +01:00
Holger Weiss
0ef6973457
prosody2ejabberd: Fix SCRAM hash conversion
...
Closes #1549 .
2017-03-16 23:15:08 +01:00
Badlop
1aeaa794e1
Encode in base64 when getting scram data with import_prosody ( #1549 )
2017-03-15 11:42:26 +01:00
Evgeniy Khramtsov
b932afb0cd
Use correct pid when registering local route
...
This fixes #1600
2017-03-15 10:27:22 +03:00
Alexey Shchepin
9a142eb807
Update cyrsasl_oauth to internal API changes
2017-03-14 17:25:09 +03:00
Alexey Shchepin
069d28b1ed
Get rid of p1_sha calls
2017-03-14 02:31:51 +03:00
Paweł Chmielowski
301b1b7a7a
Fix handling of xmlrpc request without authentication structure
...
This is problem from issue #1602
2017-03-13 16:41:52 +01:00
Badlop
113ed66f49
In module_install copy also deps/ebin and priv files (ejabberd-contrib#200)
2017-03-13 11:26:58 +01:00
Evgeniy Khramtsov
071c1dcb64
Return 'closed' instead of 'einval' on closed sockets
2017-03-12 08:55:54 +03:00
Evgeniy Khramtsov
4b1bdb563e
Improve overloaded S2S queue processing
2017-03-10 20:21:04 +03:00
Paweł Chmielowski
0822108fc8
Teach web admin about ip acl rules
2017-03-10 14:39:47 +01:00
Evgeniy Khramtsov
02064ae12a
Add support for file-based queues
...
It's now possible to use files as internal packet queues.
The following options are introduced:
* queue_type: the option can be set to `ram` (default) or `file`.
The option can be set per virtual host.
* queue_dir: path to the directory where queues will be allocated.
The default is 'queue' directory inside Mnesia directory.
This is a global option and cannot be set per virtual host.
2017-03-10 15:12:43 +03:00
Paweł Chmielowski
782caaa678
Improve formatting of erlang terms shown in web admin
2017-03-10 10:33:16 +01:00
Badlop
ee849338dd
Include shared groups also when contact is is personal roster ( #1585 )
2017-03-09 19:21:45 +01:00
Badlop
7e2380ab0c
Remove mod_pubsub from ejd2sql export, as it isn't implemented ( #1584 )
2017-03-08 16:23:01 +01:00
Badlop
b0a950b6dd
Fix handling ejabberd_sql:sql_transaction result ( #1584 )
2017-03-08 16:22:13 +01:00
Evgeniy Khramtsov
dd11ed82d7
Report more TLS errors
2017-03-08 08:27:54 +03:00
Evgeniy Khramtsov
bdc278399d
Fix typo and spec
2017-03-07 22:21:44 +03:00
Evgeniy Khramtsov
b71c4c0e52
Remove forgotten compile_all
2017-03-07 21:40:39 +03:00
Evgeniy Khramtsov
d0a185f2d9
Report some TLS errors
2017-03-07 18:46:02 +03:00
Evgeniy Khramtsov
8b29af629b
Best Practices for Use of SASL EXTERNAL with Certificates (XEP-0178) support
...
It is now possible for client connections to login using PKIX certificates.
This is disabled by default, to enable it:
- either set 'tls_verify: true' and 'cafile: /path/to/CAfile'
in the corresponding listener's section
- or set equivalent per-vhost options 'c2s_tls_verify' and 'c2s_cafile'
2017-03-07 14:20:50 +03:00
Evgeniy Khramtsov
e5aac80cb4
Better handle errors in ejabberd_receiver calls
2017-03-02 16:02:44 +03:00
Evgeniy Khramtsov
4e014b4c5c
Fix previous commit
2017-03-02 15:34:26 +03:00
Evgeniy Khramtsov
cebdb87387
Revert "Remove relict mod_service_log"
...
This reverts commit 0d4e1abbd1
.
However, stanzas are now encapsulated into forwarded element
(as per XEP-0297) instead of <route/> nonza.
2017-03-02 15:30:34 +03:00
Evgeniy Khramtsov
8e41bdc25e
Improve reporting of unavailable SASL mechanisms
2017-03-01 15:23:22 +03:00
Evgeniy Khramtsov
28f4131d50
Resolve all addresses from SRV lookup
2017-03-01 14:37:35 +03:00
Evgeniy Khramtsov
f6e2840947
External components must always provide 'to' attribute
2017-03-01 00:17:27 +03:00
Evgeniy Khramtsov
c3ef56702a
Add s2s work-around for gmail.com
2017-02-28 20:15:05 +03:00
Evgeniy Khramtsov
489385d565
Make sure all hooks are called with proper host in ejabberd_c2s
2017-02-28 16:47:31 +03:00
Paweł Chmielowski
ce3317da7a
Fix bug in api_permission parsing
2017-02-28 13:36:34 +01:00
Jerome Sautret
d6a9ef5bc1
Propagate the TRANSACTION_TIMEOUT to pgsql driver (EJAB-1266)
2017-02-28 12:19:07 +01:00
Evgeniy Khramtsov
ac74b7dca1
Don't crash on malformed IP addresses
2017-02-28 13:11:49 +03:00
Evgeniy Khramtsov
d81b07bd5f
Improve logging of outbound s2s auth failures
2017-02-28 12:13:35 +03:00
Evgeniy Khramtsov
95a8f58314
Improve logging of dialback failures
2017-02-28 10:13:09 +03:00
Evgeniy Khramtsov
f3594ec881
Resend stream header before calling handle_auth_success/2 callback
2017-02-28 10:12:11 +03:00
Paweł Chmielowski
7a186e242d
Fix compilation on R17
2017-02-27 20:38:59 +01:00
Paweł Chmielowski
b2e16ffb12
Fix parsing of acl/access rules inside oauth sections of api_permissions
...
This should fix problem reported in #1568
2017-02-27 20:23:37 +01:00
Evgeniy Khramtsov
719b4d1183
Don't perform useless resourceprep
2017-02-27 13:58:57 +03:00
Paweł Chmielowski
6808865068
Return ok from start/2
2017-02-27 10:05:35 +01:00
Evgeniy Khramtsov
7a9fa52e91
Change loglevel on configuration reload
2017-02-27 11:11:29 +03:00
Evgeniy Khramtsov
d523357ba8
Invalidate access permissions on configuration reload
2017-02-27 09:55:54 +03:00
Evgeniy Khramtsov
933351ab4c
Fix log message format
2017-02-26 16:27:26 +03:00
Evgeniy Khramtsov
fadcc85553
Put more stuff under supervision
2017-02-26 15:10:59 +03:00
Evgeniy Khramtsov
7decd58aaa
Don't fail on elements decoding
2017-02-26 11:53:41 +03:00
Evgeniy Khramtsov
c1439ddd5b
Get rid of jid:to_string/1 and jid:from_string/1
2017-02-26 10:07:12 +03:00
Evgeniy Khramtsov
603ec9cb19
Don't pass empty resource to jid:make()
2017-02-25 10:01:01 +03:00
Evgeniy Khramtsov
485aae8134
Don't pass 'from' and 'to' along with stanza in hooks' arguments
2017-02-24 21:25:25 +03:00
Evgeniy Khramtsov
039ac46963
Don't polute log with known content types
2017-02-24 20:57:24 +03:00
Evgeniy Khramtsov
4892b01eb4
Get rid of unused variable warning
2017-02-24 17:48:17 +03:00
Evgeniy Khramtsov
03e2b0f0bf
Remove previous options when the config gets reloaded
2017-02-24 17:03:11 +03:00
Evgeniy Khramtsov
0124d292b5
Add gen_mod:is_loaded_elsewhere/2
2017-02-24 16:31:39 +03:00
Evgeniy Khramtsov
b8fbac72ac
Restart listeners on configuration reload
2017-02-24 15:18:10 +03:00
Paweł Chmielowski
e8c0e21f71
We don't like now()
2017-02-24 12:08:57 +01:00
Evgeniy Khramtsov
0db99ccb4b
Improve config reloading support by ejabberd_auth
2017-02-24 14:06:47 +03:00
Paweł Chmielowski
6aab450c16
Make sure that addr_re is always initialized when creating http state
2017-02-24 11:30:36 +01:00
Evgeniy Khramtsov
c15d230a57
Return ejabberd_sm:stop/0 back
2017-02-24 12:39:44 +03:00
Paweł Chmielowski
f310d7bb12
Make host header parser work correctly with ipv6 literal addresses
2017-02-24 10:25:26 +01:00
Evgeniy Khramtsov
67d6ca9f10
Improve startup procedure
2017-02-24 12:05:47 +03:00
Evgeniy Khramtsov
5b112c86bf
Fix a case clause and run c2s_filter_send on send_error/3
2017-02-24 07:57:57 +03:00
Badlop
57181c0a76
get_last now always returns tuple with UTC XEP-0082 and status ( #1565 )
2017-02-23 23:27:57 +01:00