Holger Weiss
e7217e6320
Add functions to get/set some c2s state elements
2016-08-15 20:24:43 +02:00
Badlop
5b4f347da8
Support sql backend in mod_shared_roster commands ( #1244 )
2016-08-15 15:53:35 +02:00
Evgeny Khramtsov
38666cfd58
Merge pull request #1245 from hamano/clean_redis_table
...
fix clean redis table
2016-08-15 15:12:20 +04:00
HAMANO Tsukasa
877d0752e2
fix clean redis table
2016-08-15 17:51:06 +09:00
Badlop
0ab08f4eeb
Don't delete ejabberd_commands table, it's problematic in cluster ( #1210 )
2016-08-14 20:35:25 +02:00
Holger Weiss
4ee8af633b
Store announcements for offline users
...
Add a <store/> hint to announcements (unless they are explicitly sent to
online users). Without that hint, announcements weren't delivered to
offline users, since they are sent as messages of type "headline".
2016-08-13 00:07:27 +02:00
Holger Weiss
bf9d6b5534
Honor <store/> hint for any non-"error" message
...
XEP-0334 says: "A message containing the <store/> hint that is not of
type 'error' SHOULD be stored by the entity."
2016-08-12 21:13:10 +02:00
Holger Weiss
28dde294e5
mod_mam: Don't store messages of type "headline"
...
XEP-0313 says: "a server SHOULD include in a user archive all of the
messages a user sends or receives of type 'normal' or 'chat' that
contain a <body> element."
2016-08-12 20:38:17 +02:00
Evgeniy Khramtsov
31faa4eb9a
Add more type specs
2016-08-12 13:17:42 +03:00
Evgeniy Khramtsov
ffba664f2c
Add a requirement for full JID in subscribe_room command
2016-08-11 17:13:20 +03:00
Paweł Chmielowski
50596dc4d3
Provide proper args_desc in oauth_issue_token command
2016-08-10 11:26:04 +02:00
Paweł Chmielowski
e63fe5c216
Fix result type of subscribe_room command
2016-08-10 11:22:19 +02:00
Evgeniy Khramtsov
1fc58ace2f
Add commands for MUC subscriptions management
2016-08-09 13:36:43 +03:00
Evgeniy Khramtsov
522a186a38
Improve some type specs
2016-08-09 10:56:32 +03:00
Mickael Remond
efc744092b
We do not force yet access rules check on register command
2016-08-07 18:27:16 +02:00
Mickael Remond
a0c8012c66
Do not force command line to pass a credentials
2016-08-07 18:24:08 +02:00
Holger Weiss
b62aa3d2dc
mod_client_state: Let other modules filter stanzas
...
Don't stop execution of the 'csi_filter_stanza' hook if mod_client_state
won't queue the stanza.
2016-08-06 13:36:27 +02:00
Holger Weiss
91e26fbf7a
Add user's JID to CSI hook arguments
...
Add the JID of the CSI user to the arguments of the 'csi_filter_stanza'
and 'csi_flush_queue' hooks.
2016-08-05 23:47:18 +02:00
Holger Weiss
c2ef55a075
Cosmetic change: Set CSI state 'active' on resume
...
The CSI state is always set to 'active' when a stream management session
is resumed; so there's no need to apply the CSI state of the old c2s
process, first.
2016-08-05 20:09:52 +02:00
Evgeniy Khramtsov
4ff8d7918a
Change code to reflect recent changes in fxml_gen
2016-08-05 08:41:08 +03:00
Holger Weiss
9a5f0751be
mod_mam: Simplify "assume_mam_usage" option
...
The "assume_mam_usage" option now takes a boolean value. Setting it to
"true" has the same effect as "if_enabled" had before. The "on_request"
behavior is no longer offered, as it made the option (and its
documentation) overly complex.
2016-08-05 01:57:01 +02:00
Evgeniy Khramtsov
b487ccfb34
Delete mod_configure2
...
The module doesn't work properly for many years and nobody reported
this, which means nobody is using it. Also, mod_configure does
the same (and more) in a standard compliant way (XEP-0133).
2016-08-04 16:45:33 +03:00
Evgeniy Khramtsov
ca217dc105
Rewrite HTTP Bind and Web Admin code to use XML generator
2016-08-04 13:41:38 +03:00
Evgeniy Khramtsov
8b81b9ecb1
Rewrite PIEFXIS code to use XML generator
2016-08-04 13:37:07 +03:00
Evgeniy Khramtsov
cbdc106427
Rewrite jd2ejd to use XML generator
2016-08-04 12:34:12 +03:00
Evgeniy Khramtsov
bc33a3873d
Rewrite multicast code to use XML generator
2016-08-04 11:49:17 +03:00
Christophe Romain
72b0fb49e8
Fix type convertion bug injected by 4ccc40b
( #1229 )
2016-08-04 09:49:23 +02:00
Alexey Shchepin
111aa83f5e
Add tokens cache to ejabberd_oauth
2016-08-04 01:59:28 +03:00
Evgeniy Khramtsov
abb4446b51
Fix calls to undefined functions
2016-08-03 21:00:22 +03:00
Evgeniy Khramtsov
a417fbf45b
Rewrite mod_irc to use XML generator
2016-08-03 20:57:05 +03:00
Evgeniy Khramtsov
5d06c6acbf
Rewrite mod_configure to use XML generator
2016-08-03 10:34:54 +03:00
Holger Weiss
78fa9e08a5
XEP-0198: Handle timeouts during stream resumption
...
If session resumption failed because requesting the #state from the old
c2s process took too long, the new c2s process will usually receive the
response. Let the new process handle that case gracefully.
2016-08-03 02:28:46 +02:00
Holger Weiss
3c1e4f0dfd
XEP-0198: Increase timeout for stream resumption
...
During stream resumption, the #state is transferred from the old c2s
process to the new one. This is usually very fast, but under certain
conditions, it can take longer than five seconds.
2016-08-03 02:15:15 +02:00
Alexey Shchepin
4add262090
Add OAUTH SQL backend
2016-08-01 16:55:43 +03:00
Mickaël Rémond
2ef58a33a9
Merge pull request #1223 from processone/expand_api
...
More API fixes and improvements
2016-08-01 15:36:47 +02:00
Mickael Remond
d02d7b2b6a
Remove compile warning
2016-08-01 15:35:54 +02:00
Mickael Remond
90ea3ca361
Improve error message when try to call api on api root
2016-08-01 15:29:47 +02:00
Christophe Romain
bf45c9eeee
Switch mix worker to transient
2016-08-01 14:09:16 +02:00
Christophe Romain
a9c6748ec7
Add missing comas in sql statement ( #1219 )
2016-08-01 10:55:02 +02:00
Mickael Remond
c5c394e929
Fix HTTP process return formatting
2016-08-01 08:58:49 +02:00
Mickael Remond
6ea7153e31
Improve error handling
2016-07-31 22:48:24 +02:00
Evgeniy Khramtsov
c0272ae766
Rewrite mod_stats to use XML generator
2016-07-31 14:51:16 +03:00
Evgeniy Khramtsov
e258462b6b
Improve vCard creation from LDAP result
2016-07-31 14:17:17 +03:00
Evgeniy Khramtsov
0bcbd12776
Rewrite mod_mix to use XML generator
2016-07-31 08:51:47 +03:00
Mickael Remond
2a49f8cae7
Change name of result key for offline count to value
...
This is more user friendly and should be more consistent with other commands.
2016-07-30 20:12:04 +02:00
Mickael Remond
674a8039ef
Add support for sending back missing scope error to API ReST command calls
2016-07-30 18:51:54 +02:00
Mickael Remond
4bf8ce7681
Make s2s stats commands more robust
2016-07-30 18:50:58 +02:00
Evgeniy Khramtsov
eb1d385d4e
Get rid of "jlib.hrl" dependency in mod_service_log
2016-07-30 18:42:17 +03:00
Evgeniy Khramtsov
5cd1cf5096
Get rid of "jlib.hrl" dependency in some modules
2016-07-30 18:37:57 +03:00
Evgeniy Khramtsov
792e6a7c1c
Rewrite mod_http_upload to use XML generator
2016-07-30 17:48:52 +03:00
Mickael Remond
19ad6e6145
Ensure ejabberdctl status result is in valid shell supported range
2016-07-30 13:18:39 +02:00
Mickael Remond
39640b67c7
Add support for rich error reporting for API
2016-07-30 13:08:30 +02:00
Evgeniy Khramtsov
d2d3b961eb
Rewrite mod_sic to use XML generator
2016-07-30 13:30:29 +03:00
Mickael Remond
fb2603d3cd
Return 409 conflict error code on register if user already exists
2016-07-30 11:50:04 +02:00
Mickaël Rémond
4a49dfecf3
Merge pull request #1221 from processone/expand_api
...
Do not crash on check when we do not have JID
2016-07-30 10:55:39 +02:00
Evgeniy Khramtsov
f19d2fdcff
Rewrite mod_shared_roster backends module to use XML generator
2016-07-30 08:39:30 +03:00
Evgeniy Khramtsov
a093e9d441
Rewrite mod_shared_roster to use XML generator
2016-07-30 08:37:34 +03:00
Mickael Remond
42e6f72ee9
Do not crash on check when we do not have JID
2016-07-29 20:38:05 +02:00
Evgeniy Khramtsov
9bf1bac7df
Rewrite mod_vcard_ldap to use XML generator
2016-07-29 17:39:13 +03:00
Evgeniy Khramtsov
f91f2bc3d2
Rewrite several modules to use XML generator
2016-07-29 13:21:00 +03:00
Christophe Romain
a080322055
Switch workers from temporary to transient
2016-07-29 11:18:42 +02:00
Paweł Chmielowski
fd365b2893
Display data that is send to websocket connection in debug log level
...
This should help with detecting problems like in #1097
2016-07-28 16:20:28 +02:00
Christophe Romain
fad088a3c4
Merge pull request #1193 from gabrielgatu/support-elixir-module-installer
...
Fix issue #625 : Writing Elixir modules
2016-07-28 16:06:12 +02:00
gabrielgatu
91865c66c0
Start elixir application after ejabberd_app:start_apps()
2016-07-28 15:57:35 +02:00
Mickaël Rémond
7a74a4836a
Merge pull request #1211 from processone/expand_api
...
There is still work to do, be we reached a stable state and can merge up to this point.
2016-07-28 14:57:48 +02:00
Evgeniy Khramtsov
b31ebd2ea0
Rewrite captcha to use XML generator
2016-07-28 15:10:41 +03:00
Evgeniy Khramtsov
96e912b09a
Rewrite mod_register to use XML generator
2016-07-27 18:06:54 +03:00
Evgeniy Khramtsov
8275e95a16
Swap variables in their correct places
2016-07-27 18:06:34 +03:00
Evgeniy Khramtsov
1097d31d63
Fix type spec for set_from_to/3
2016-07-27 18:05:11 +03:00
Evgeniy Khramtsov
c409ed2f2c
Rewrite S2S and ejabberd_service code to use XML generator
2016-07-27 10:45:08 +03:00
Holger Weiss
72445bb374
mod_http_upload_quota: Apply cosmetic changes
...
Use "fun f/1" syntax in place of "fun(X) -> f(X) end".
2016-07-27 00:28:47 +02:00
Evgeniy Khramtsov
984c4cf6bd
Add 'allow_subscription' MUC configuration option
2016-07-26 14:37:28 +03:00
Mickael Remond
7781f39b74
Clarify command module API
2016-07-26 12:15:03 +02:00
Mickael Remond
e5fd1ee4f6
Avoid starting several time the owner process
2016-07-26 12:12:48 +02:00
Mickael Remond
9ff7257287
Make jlib ETS table more resilient
2016-07-26 11:58:14 +02:00
Mickael Remond
12f74b4aa7
Fix list appending bug
2016-07-26 11:57:38 +02:00
Evgeniy Khramtsov
23858469b7
Get rid of "jlib.hrl" dependency in some files
2016-07-26 11:29:17 +03:00
Evgeniy Khramtsov
c26d38a893
Remove jlib dependency from acl.erl
2016-07-26 10:01:59 +03:00
Evgeniy Khramtsov
da310a5173
Rewrite mod_adhoc and mod_announce to use XML generator
2016-07-26 09:52:29 +03:00
Alexey Shchepin
839490b0d9
Add DB backend support for ejabberd_oauth
2016-07-25 20:08:30 +03:00
Mickael Remond
c183092aa4
Simplify code for command policy group expansion
2016-07-25 18:28:05 +02:00
Badlop
5d4f8bcf0d
Export acl:parse_ip_netmask/1 for mod_rest (ejabberd-contrib#175)
2016-07-25 16:57:05 +02:00
Evgeniy Khramtsov
179fcd9521
Rewrite mod_mam and mod_muc to use XML generator
2016-07-25 13:50:30 +03:00
Mickael Remond
d7ad99f147
Initial attempt on access on commands
...
May change and will require more work / test / refactor
2016-07-25 11:43:49 +02:00
Holger Weiss
4b0d71d402
Don't return error for blocked MUC PMs
...
If a message stanza is blocked as per XEP-0016 or XEP-0191 and the
stanza is marked as a private MUC message, don't return an error. This
makes sure users won't be kicked from MUC rooms when blocking other
participants.
2016-07-24 20:55:11 +02:00
Mickael Remond
b4a430541d
Return more user friendly, human readable error description
2016-07-24 14:10:12 +02:00
Mickael Remond
bfa61eaa46
Make default OAuth token TTL values more user friendly
2016-07-23 18:57:57 +02:00
Mickael Remond
68555ff466
Add support for checking access rules conformance for commands
2016-07-23 18:21:45 +02:00
Mickael Remond
1485b56211
Move any access rules check to ACL module
2016-07-23 18:21:45 +02:00
Mickael Remond
2c70c572c8
Clean-up of error codes and format json structure
2016-07-23 18:21:45 +02:00
Holger Weiss
d4d1941133
XEP-0198: Log debug message when dropping stanza
...
Log a debug message when an unacknowledged message is neither resent nor
bounced because it's archived.
2016-07-23 01:23:24 +02:00
Holger Weiss
814b80c644
Preserve PID for offline sessions
...
Don't set the PID to 'undefined' when a session goes offline, as this
looses the information which node created the session table entry.
Fixes #1196 .
2016-07-23 01:08:05 +02:00
Pablo Polvorin
4332dddbc4
Support oauth password grant type
...
As in https://tools.ietf.org/html/rfc6749#section-4.3
2016-07-22 19:17:12 -03:00
Pablo Polvorin
caf7b54305
oauth: single jid field instead of username/password fields
2016-07-22 15:37:48 -03:00
Badlop
c5d9d35e7b
Convert password provided by web form to UTF8 before passing it ( #375 )
2016-07-22 16:52:13 +02:00
Jerome Sautret
ffbe97d988
Quote postgresql database name ( #1136 )
2016-07-22 16:33:40 +02:00
Paweł Chmielowski
bdfef09c0f
Fix handling of complex values as arguments in http_api
2016-07-22 15:26:27 +02:00
Evgeny Khramtsov
dd38bef8b1
Merge pull request #1201 from xmppjingle/master
...
External Component Connection Hooks
2016-07-22 00:35:43 +04:00
xmppjingle
6983dfa21f
External Component Hook
...
Changed Hook Trigger Event and included a Reason upon
component_disconnected/2 Hook
2016-07-21 14:03:01 -03:00
Pablo Polvorin
cbfab687e8
Oauth callback must pass expires_in as ttl instead of epoch
2016-07-20 14:47:11 -03:00
Pablo Polvorin
b5a90be3cb
Merge branch 'master' of github.com:processone/ejabberd
2016-07-19 20:19:17 -03:00
Pablo Polvorin
1d317e8068
Let user choose the desired oauth token TTL
2016-07-19 20:18:07 -03:00
Holger Weiss
8f8c499cfa
mod_mam: Fix handling of result set page limit
...
Restore function clause for handling a client-specified result set page
limit that doesn't exceed mod_mam's upper threshold.
2016-07-19 21:23:30 +02:00
Holger Weiss
9fcb81dea9
mod_mam: Always limit result set page size
...
Limit the number of messages returned for a given MAM request even if
the client didn't specify an RSM set (not just if the client specified
an RSM set without a limit).
This is still not done for MAM v0.2 requests though, as that version of
the XEP doesn't require clients to support RSM.
2016-07-19 21:08:13 +02:00
Evgeniy Khramtsov
5d90292849
Fix hooks de-registration
2016-07-19 15:33:17 +03:00
Paweł Chmielowski
655cbf6055
Make access rules in ejabberd_web_admin configurable
2016-07-19 11:27:45 +02:00
Evgeniy Khramtsov
bc802a4049
Rewrite mod_blocking to use XML generator
2016-07-19 10:07:04 +03:00
Evgeniy Khramtsov
a4a9dd7f03
Rewrite mod_offline to use XML generator
2016-07-19 07:56:14 +03:00
Pablo Polvorin
483ef09263
Fix command argument formatting
2016-07-19 00:51:04 -03:00
Pablo Polvorin
33e0283f0d
Add 'ejabberd:user' and 'ejabberd:admin' oauth scopes
...
'ejabberd:user' includes all commands defined with policy "user".
'ejabberd:admin' includes commands defined with policy "admin".
2016-07-19 00:24:06 -03:00
Pablo Polvorin
673a654c47
Fix ce0d1704c6
...
Original request was to allow ejabberd sysadmin to generate
tokens for specific users. JIDs must not be passed as argument
when requesting the tokens.
2016-07-18 20:25:23 -03:00
xmppjingle
48c88b61b6
Merge remote-tracking branch 'processone/master'
2016-07-18 17:55:31 -03:00
xmppjingle
fca2f24231
External Component Connection Hooks
2016-07-18 17:55:10 -03:00
Holger Weiss
8bc3dc9c49
jlib: Don't try to keep just one <delay/> tag
...
It seems unclear whether XEP-0203 really mandates that stanzas may not
have multiple <delay/> tags. Editing/removing existing tags doesn't
seem worth the effort, especially as we'd have to take more care which
tag to keep if the stanza already has more than one.
2016-07-18 22:31:08 +02:00
Evgeniy Khramtsov
9a8e197d7e
Initial version based on XML generator
2016-07-18 15:01:32 +03:00
Holger Weiss
749033598d
Omit [info] message with number of queued stanzas
...
Just log a debug message if a stream management session times out and
some stanzas weren't acknowledged.
2016-07-10 22:21:57 +02:00
Evgeniy Khramtsov
f6e960d326
Fix compilation error
2016-07-10 08:45:24 +03:00
Evgeniy Khramtsov
786bd4f26c
Use hooks instead of direct calls to mod_mam
2016-07-09 12:43:01 +03:00
Holger Weiss
5f48d2641b
mod_http_upload_quota: Depend on mod_http_upload
...
mod_http_upload_quota uses mod_http_upload's "docroot" option, so the
mod_http_upload configuration must be parsed, first. Fixes #1025 .
2016-07-08 20:47:02 +02:00
Christophe Romain
6b38d19085
Do send last items only for subscription on current plugin type
2016-07-08 15:18:39 +02:00
Evgeniy Khramtsov
661b041302
Rename MUC/Sub's namespace
2016-07-08 15:07:26 +03:00
Evgeniy Khramtsov
368b202144
Handle MUC/Sub subscriptions list request
2016-07-08 15:07:10 +03:00
Evgeniy Khramtsov
caaf02eaa0
Advertise MUC/Sub support in MUC service disco#info
2016-07-08 15:06:08 +03:00
Evgeniy Khramtsov
32de9a56a5
Experimental MUC/Sub support
2016-07-08 15:05:50 +03:00
Evgeniy Khramtsov
71f27ee7d4
Get rid of warnings
2016-07-07 12:17:38 +03:00
Evgeniy Khramtsov
c718cbbd9f
Warn on cyclic modules dependencies
2016-07-07 11:34:17 +03:00
Badlop
12c0d888b1
Revert "Recover fix of 907e239
lost in 9deb294
(thanks to Alexey Shchepin)" ( #1183 )
...
This reverts commit 53f3a45803
.
2016-07-06 17:54:37 +02:00
Evgeniy Khramtsov
4220a2b98c
Make modules loading in a dependent order ( #1191 )
2016-07-06 14:58:48 +03:00
Christophe Romain
de9f80f2ce
Add missing '/' for jid matching from commit e300f80
2016-07-06 10:06:17 +02:00
Alexey Shchepin
be3a4acb55
Fix missed escaping in node_flat_sql.erl
2016-07-05 17:45:37 +03:00
Christophe Romain
3820aaa421
Quote reserver 'type' keyword for pgsql to fix e300f80
2016-07-05 16:16:40 +02:00
Christophe Romain
e300f8095d
Fix use of like parameter in sql pubsub's requests
2016-07-05 15:43:59 +02:00
gabrielgatu
b31c0d9e2e
Support elixir module installer
2016-07-05 12:36:49 +02:00
Holger Weiss
8e04a7ef4d
mod_configure: Fix editing of access rules
2016-07-03 22:58:54 +02:00
Paweł Chmielowski
0737958b45
Fix compilation issues on R19
2016-07-01 21:20:10 +02:00
Holger Weiss
8be1d49961
mod_mam_mnesia: Force garbage collection
...
The VM fails to collect the garbage generated during MAM lookups
automatically, so mod_mam_mnesia's memory usage easily goes up to
several gigabytes if we don't force garbage collection.
2016-06-29 22:32:59 +02:00
Holger Weiss
10d4c16a97
mod_client_state: Throttle PEP stanzas by default
2016-06-29 22:22:49 +02:00
Pablo Polvorin
ce0d1704c6
Allow generation of oauth tokens from command line
...
Oauth tokens can be generated for commands (scopes) having admin|user|open
policy. Restricted commands are not available as those are only usable
from ejabberdctl command line.
Four new commands are available:
$ejabberdctl oauth_issue_token "stats;get_roster"
Generates a token authorized to call both stats and get_roster
commands. Note scopes must be separated by semicolon.
$ejabberdctl oauth_list_tokens
List tokens generated from the command line, with their scope
and expirity time.
$ejabberdctl oauth_list_scopes
List scopes available
$ejabberdctl oauth_revoke_token "Lbs7qdJfdKXOWzVrArgyckY055tE1xnt"
Revokes the given token
2016-06-29 00:22:28 -03:00
Paweł Chmielowski
3446aba753
Include correct version in stream:stream when reporting errors
...
This fixes issue #1174
2016-06-27 16:40:57 +02:00
Paweł Chmielowski
f56cff925c
acl: ACLName rule should match if any part of ACLName matches
2016-06-24 15:09:51 +02:00
Holger Weiss
1794dd19d0
mod_pubsub: Fix matching of set_node/1 result
...
nodetree_tree_sql:set_node/1 returns {result, NodeIdx} on success, not
{ok, NodeIdx}. Thanks to Christophe Romain for spotting this.
2016-06-23 14:23:24 +02:00
Paweł Chmielowski
1b5c50a384
When convertion of xmlrpc argument to type fails, report it as error
2016-06-23 10:41:16 +02:00
Holger Weiss
065f5272e6
mod_blocking_sql: Handle default list corner case
...
Handle the situation where a list of the name "Blocked contacts" was
created by an XEP-0016 client, but no default list exists.
2016-06-22 22:36:27 +02:00
Christophe Romain
cd0244eb71
Merge pull request #1120 from anagromataf/feature/archive-id-in-message-carbons
...
Send unique stanza id and archived tag also in the message carbons
2016-06-22 15:47:27 +02:00
Christophe Romain
f029488260
Restore get_items conditions when not using RSM ( #1147 )
2016-06-22 13:12:40 +02:00
Badlop
eeeb190680
Set HTTP/1.0 so github accepts the request ( #1157 )
2016-06-22 12:43:24 +02:00
Christophe Romain
95ff94b054
Fix PubSub RSM on get_items ( #1147 )
2016-06-22 12:25:41 +02:00
Christophe Romain
7744339347
Update supported xep version
2016-06-22 11:24:01 +02:00
Christophe Romain
2efa8677c9
Fix pgsql compatibility on delete_old_messages ( #1137 )
2016-06-22 11:21:11 +02:00
Holger Weiss
c928956d73
XEP-0198: Apply cosmetic changes
2016-06-21 23:17:17 +02:00
Holger Weiss
7ddeac38b6
XEP-0198: Also count stanzas when socket is closed
...
Don't forget to count stanzas received from the stream management client
that are processed right after the connection was lost.
2016-06-21 22:54:41 +02:00
Paweł Chmielowski
3a8da27d86
Use {access,shaper}_rules_validator in other places where access rules are used
2016-06-21 13:18:24 +02:00
Paweł Chmielowski
52d45604ba
Use new access_rules_validator in couple places
2016-06-21 12:28:53 +02:00
Paweł Chmielowski
804190e4a8
Add acl:{access,shaper}_rules_validator for use in {mod_}opt_type()
2016-06-21 12:26:31 +02:00
Paweł Chmielowski
4b9613e8fe
Allow {mod_}opt_type to transform values passed to it, and for better error reporting
2016-06-21 12:25:29 +02:00
Christophe Romain
b2f53fb962
Avoid cleanup on bag when disc_only, switch in memory ( #1161 )
2016-06-21 10:43:19 +02:00
Holger Weiss
c91c5aa352
Fix handling of queued stanzas on session timeout
...
Don't fail to resend or bounce unacknowledged stanzas if the stream
management session timed out.
Closes #1160 .
2016-06-19 23:32:15 +02:00
Paweł Chmielowski
1fb1e8721b
Allow using shaper defined by name like in in s2s_shaper: fast
2016-06-16 11:04:01 +02:00
Paweł Chmielowski
0a09f27373
Typo in option name
2016-06-16 11:00:38 +02:00
Paweł Chmielowski
7b308e0d41
Add shorter version of some common access rules definitions
...
This add conversion of
- allow
to
- allow: all
and
- allow: acl_name
to
- allow:
- acl: acl_name
(this works also for deny, and number in shapers)
2016-06-15 19:23:55 +02:00
Badlop
9004608181
Check password with jid:resourceprep when registering account ( #996 )
2016-06-14 23:35:47 +02:00
Holger Weiss
26bce5dee3
mod_mam: Fix "assume_mam_usage: if_enabled"
2016-06-14 16:40:46 +02:00
Badlop
34cf693231
Recover ec6c58a
which was reverted in 100827e
(thanks to Alexey Shchepin)
2016-06-10 13:18:32 +02:00
Badlop
4ccc40bce5
push_roster must convert read strings to binaries ( #1075 )
2016-06-08 21:16:30 +02:00
Badlop
53f3a45803
Recover fix of 907e239
lost in 9deb294
(thanks to Alexey Shchepin)
2016-06-08 19:34:05 +02:00
Badlop
858d880675
Allow again multiple fqdn values in configuration (EJAB-1578)
2016-06-08 19:28:17 +02:00
badlop
a4f213837e
Merge pull request #1125 from vthriller/roster-push
...
mod_roster should probably respect roster item changes introduced with roster_process_item hooks upon pushing
2016-06-08 13:57:52 +02:00
Badlop
5173de503c
Produce mod_last entry on account creation ( processone/ejabberd-contrib#62 )
2016-06-08 13:02:20 +02:00
Badlop
8a7b31ca63
When stopping ejabberd, stop modules after broadcasting c2s shutdown ( #1144 )
2016-06-07 18:41:38 +02:00
Holger Weiss
78d4200f05
mod_pubsub: Fix node configuration changes for SQL
...
nodetree_tree_sql:set_node/1 returns {ok, NodeIdx} rather than 'ok' on
success.
2016-06-06 00:18:24 +02:00
Holger Weiss
60803f5780
Simplify check for carbon-copied chat states
...
Let jlib:is_standalone_chat_state/1 unwrap carbon copies rather than
leaving this to the caller. We still export jlib:unwrap_carbon/1, as
this function might also be useful for other purposes.
2016-06-05 22:36:56 +02:00
Holger Weiss
5c3074c0fb
mod_client_state: Fix handling of chat states
...
Fix the check for chat states sent from other resources of the same
user.
2016-06-05 22:04:38 +02:00
Holger Weiss
4789ddf1ee
mod_client_state: Simplify handling of PEP stanzas
...
Let mod_client_state simply queue the most recent item of a given PEP
node (from a given contact) instead of also taking the payload namespace
into account.
2016-06-05 21:48:03 +02:00
Holger Weiss
8305cc293b
XEP-0352: Pass chat states of other resources
...
Don't hold back (carbon copies of) chat states from other resources, as
they might be used to sync the state of conversations across clients.
E.g., if one client becomes active, another one might want to remove a
notification (immediately).
2016-06-03 21:52:11 +02:00
Holger Weiss
4d5eab6662
Unwrap carbon copies when checking for chat states
...
Detect standalone chat states that were carbon-copied.
2016-06-03 20:28:48 +02:00
Holger Weiss
3a1fc6fb66
Ignore <delay/> when checking for chat states
...
Ignore XEP-0203 elements when checking whether a message stanza is a
standalone chat state.
2016-06-03 19:02:26 +02:00
Holger Weiss
5c1db176a9
Fix "unused variable" warning
2016-06-03 12:58:20 +02:00
Badlop
0503d899cf
Fix problem in dfee843
when non-occupant admin kicks an occupant ( #1135 )
2016-06-03 00:10:25 +02:00
Alexey Shchepin
d201f013b2
Stronger tests in the test suite, SQL updates and fixes
2016-06-02 18:09:58 +03:00
Badlop
5352037680
Report in SQL when scram is enabled but the stored password isn't ( #1096 )
2016-06-01 20:48:52 +02:00
Holger Weiss
bbb90b9928
Ignore offline sessions
...
Let mod_admin_extra and mod_configure ignore offline sessions when
querying the session table.
2016-06-01 01:01:54 +02:00
Christophe Romain
e7843bf92b
Fix set_presence API
2016-05-31 11:47:08 +02:00
Paweł Chmielowski
fc2b7018cc
More strict check for commands with policy user
2016-05-30 23:06:29 +02:00
Paweł Chmielowski
e81302dc79
Allow @ inside acl user{,_glob,_regexp} to pass both user and server in single string
2016-05-30 12:30:44 +02:00
Paweł Chmielowski
1981e13326
Allow passing username and ip to ejabberd_comamnds, and use it in mod_http_api
2016-05-26 11:08:53 +02:00
Paweł Chmielowski
fffae97940
Use acl:access_matches in c2s
2016-05-26 11:08:53 +02:00
Paweł Chmielowski
49658e1655
New ACL infrastructure
2016-05-26 11:08:53 +02:00
Paweł Chmielowski
c55319c81e
Do not call transform_terms multiple times on configs when merging them
2016-05-26 11:08:53 +02:00
Badlop
ca329826cb
Retrieve parenthesis for easy reading, lost in old commit 9deb294
2016-05-25 12:44:05 +02:00
Evgeny Khramtsov
14b53fbcb0
Merge pull request #1131 from weiss/failed-resume-h
...
XEP-0198: Indicate number of handled stanzas if resumption fails
2016-05-25 11:56:47 +04:00
Evgeny Khramtsov
b055c2a13a
Merge pull request #1126 from weiss/muc-send-affiliation
...
Notify on MUC affiliation changes of non-occupants
2016-05-25 11:55:06 +04:00
Holger Weiss
c958fa2f06
Add support for PubSub publishing options
...
Add code necessary to support publishing options as described in
XEP-0060, #7.1.5. A node plugin that expects publishing options must
add <<"publish-options">> to the features/0 list and then handle the
publishing options handed over to the publish_item/7 call.
Signed-off-by: Christian Ulrich <christian@rechenwerk.net>
2016-05-25 08:40:12 +02:00
Holger Weiss
30e814dd4b
XEP-0198: Add 'h' attribute to <failed/> element
...
If a resume request is rejected because the session timed out, indicate
the number of handled stanzas as per version 1.5 of XEP-0198.
2016-05-24 22:20:58 +02:00
Holger Weiss
8c16fdf59f
mod_mam_mnesia: Clarify error message
2016-05-24 07:58:07 +02:00
Holger Weiss
a2f0e157bc
ejabberd_auth*: Fix indentation
2016-05-24 00:40:25 +02:00
Holger Weiss
2a9dd548b5
mod_mam_mnesia: Don't exceed table size limit
...
Don't write MAM messages into an Mnesia archive if the size of the table
comes close to the 2 GB limit for tables with disc-only copies. That
way, the table is at least not corrupted when the limit is reached.
2016-05-24 00:25:52 +02:00
Holger Weiss
3f3ecad981
mod_mam_mnesia: Use transactions when writing
...
Let mod_mam_mnesia use transactions when storing or deleting messages.
If old messages of a user are to be removed, delete the user's archive
and rewrite it from scratch, as that seems to be much faster than
removing individual records with delete_object/1.
Closes #1065 .
2016-05-24 00:08:23 +02:00
Holger Weiss
70452ba25a
mod_register: Only set timeout on success
...
Don't set the registration timeout if the password was rejected for
being too weak.
2016-05-23 23:27:42 +02:00
Holger Weiss
9d87a4a6d4
mod_muc_room: Notify on affiliation changes
...
Notify the current room occupants if the affiliation of a non-occupant
is changed as per example 195 of XEP-0045. In anonymous rooms, only
moderators are notified, though.
2016-05-20 01:28:16 +02:00
vthriller
f6ba91ff97
mod_roster should probably respect roster item changes introduced with roster_process_item hooks upon pushing
2016-05-19 13:45:42 +03:00
Holger Weiss
420ae65590
mod_client_state: Add function specifications
...
Add function specifications and apply cosmetic changes to
mod_client_state.
2016-05-18 21:30:38 +02:00
Holger Weiss
8f72c27b88
mod_client_state: Add "queue_pep" option
...
If the new "queue_pep" option is enabled and the client is inactive, PEP
notifications are throttled in a similar way to presence stanzas and
chat states. Only the most recent notification of a given node and
payload type will be queued from a given contact.
2016-05-17 22:12:04 +02:00
Holger Weiss
4f009e64fc
mod_client_state: Queue chat state notifications
...
Queue standalone chat states instead of simply dropping them when the
client is inactive. Only the most recent chat state of a given client
is queued.
2016-05-17 20:55:45 +02:00
Holger Weiss
ba74c1c367
Move CSI queue handling into mod_client_state
...
Let mod_client_state handle the queueing of stanzas, not just their
classification. This simplifies the ejabberd_c2s code and gives
(custom) CSI modules more flexibility.
2016-05-17 19:27:18 +02:00
Badlop
ba2680df61
Delete duplicated command export_sql, use export2sql instead ( #1118 )
2016-05-16 17:57:57 +02:00
Tobias Kräntzer
2529acc36c
Send unique stanza id and archived tag also in the message carbons
...
- Change order of the hooks in mod_mam for sending and receiving packets. Messages are archived before a carbon copy is send to the other recourcces.
- Add archived tag and unique stanza id to the outgoing packet to have message carbons with the archive information.
- Add additional hook (in mod_mam) to strip the archive tag for outgoing packets after message carbons have been send.
2016-05-15 20:13:25 +02:00
Holger Weiss
ff199a323d
Fix jid:from_string/1 function specification
2016-05-15 16:19:13 +02:00
Alexey Shchepin
792f47b4bd
Update SQL escaping
2016-05-13 17:56:48 +03:00
Evgeniy Khramtsov
be2a9e35ae
Fix C2S session data leak ( #1078 )
2016-05-09 14:18:47 +03:00
Evgeniy Khramtsov
068db1a2d9
Handle Redis connection in a separate module
2016-05-09 08:36:30 +03:00
Holger Weiss
4717d64d7a
mod_client_state: Delete only the configured hooks
2016-05-08 16:45:31 +02:00
Holger Weiss
f7f40cf9a6
Let client retry HTTP upload on file size mismatch
...
Let the main mod_http_upload process look at the size of an HTTP upload
rather than performing this check in the ejabberd_http handler. This
way, the upload slot won't be invalidated if the size of the uploaded
file doesn't match the size requested for the slot. The PUT request is
still rejected, but the client now has a chance to retry the upload.
2016-05-08 15:36:51 +02:00
Holger Weiss
ff4a0e1808
XEP-0198: Use different error message for bounces
...
When stanzas are bounced from the stream management queue (because the
session timed out or was closed for some other reason), use a different
error message so that this situation can be distinguished from other
cases.
2016-05-06 14:12:22 +02:00
Holger Weiss
51238bff83
Bounce messages sent to server JID
...
If a message is sent to the server JID (without node part), generate an
error message rather than dropping the message silently.
2016-05-06 13:59:21 +02:00
Alexey Shchepin
b2ffa1db96
Add missed jlib:term_to_expr and jlib:expr_to_term functions
2016-05-05 16:42:48 +03:00
Alexey Shchepin
0ea0ba3004
Update more SQL queries
2016-05-05 15:51:58 +03:00
Holger Weiss
d6700bdc5b
Merge remote-tracking branch 'processone/pr/1088'
...
* processone/pr/1088:
Process messages of unknown type consistently
2016-05-05 00:20:15 +02:00
Christophe Romain
13c6430341
Add missing odbc->sql in comment from commit 1aae8a9f
2016-05-04 09:11:18 +02:00
Holger Weiss
12a8d915cd
Merge remote-tracking branch 'processone/pr/1087'
...
* processone/pr/1087:
Return error when blocking last activity request
2016-05-04 00:16:56 +02:00
Holger Wei
6cb60aaff5
Cosmetic change: Make variable names consistent
...
Use the same variable names in both mod_mam:select/8 clauses to avoid
confusion.
2016-05-03 19:12:57 +02:00
Holger Weiss
6da07d78b5
Merge remote-tracking branch 'processone/pr/1086'
...
* processone/pr/1086:
Return error when blocking message to offline user
2016-05-02 21:08:06 +02:00
Christophe Romain
8a6c51290a
Pass noauth when auth isn't provided
2016-05-02 15:07:00 +02:00
Christophe Romain
07196b6c62
Fix sender in case of explicit pep subscriptions
2016-05-02 15:04:14 +02:00
Paweł Chmielowski
53e1100cc4
Don't halt program when include_config_file is missing/can't be read
2016-05-02 14:52:23 +02:00
Evgeniy Khramtsov
47050db6b8
Don't forget to import mod_opt_type/1 in mod_metrics
2016-05-02 12:18:18 +03:00
Holger Weiss
d54f211514
Add mod_opt_type/1 callback to gen_mod behaviour
2016-05-01 22:09:40 +02:00
Holger Weiss
b46ed7044a
Cope with modules that don't export mod_opt_type/1
2016-05-01 22:06:15 +02:00
Evgeniy Khramtsov
82082f1799
Add behaviour to mod_vcard_xupdate DB modules
2016-05-01 11:03:20 +03:00
Evgeniy Khramtsov
3493a87469
Fix typo in mod_mam:select() ( #1098 )
2016-04-30 21:37:18 +03:00
Christophe Romain
6a10916dda
Let shaper cope with low resolution system clock
...
We no longer rely on getting unique values from clock source, so we need
to handle cope with systems which does not have a microsecond resolution
on system clock (such as MS Windows)
2016-04-29 10:57:34 +02:00
Christophe Romain
639c2fb640
Add pubsub subscribe/unsubscribe hook
2016-04-28 15:57:55 +02:00
Evgeniy Khramtsov
c585f74730
Better formatting of configuration problem log message
2016-04-28 09:03:05 +03:00
Evgeniy Khramtsov
9c369b7a8c
Improve detection of databases supported by modules ( #1092 )
2016-04-27 17:10:50 +03:00
Evgeniy Khramtsov
52fde758b3
Get rid of "internal" DB type. This also fixes #1092
2016-04-27 09:44:32 +03:00
Christophe Romain
ef90a389c1
Fix use of pubsub node plugin when configured with default_node_config
2016-04-25 09:44:46 +02:00
Holger Weiss
36164d9446
Return error when blocking last activity request
...
As per XEP-0016 and XEP-0191, return a service-unavailable error when an
incoming last activity query was blocked by a privacy list (just as we
do for other IQ requests).
2016-04-25 09:33:47 +02:00
Holger Weiss
45321fa2e2
Process messages of unknown type consistently
...
If an incoming message sent to an unavailable resource has an unknown
type, handle it like messages of type "normal" (as mandated by RFC 6121,
section 5.2.2). The same is already done for messages of unknown type
sent to the bare JID of an offline user.
2016-04-25 01:13:41 +02:00
Holger Weiss
65ad70d7dc
Fix error text for message bounces
2016-04-25 00:53:48 +02:00
Holger Weiss
a37cf33358
Drop headline messages sent to offline resources
...
Don't bounce an error when a message of type "headline" is sent to an
unavailable resource. This is consistent with how headline messages
sent to the bare JID of an offline user are dropped, and it avoids a
presence leak.
2016-04-25 00:02:12 +02:00
Holger Weiss
58478e52bf
Don't omit bounces for messages of type "result"
2016-04-24 22:47:53 +02:00
Holger Weiss
cebdfb6523
Return error when blocking message to offline user
...
As per XEP-0016 and XEP-0191, return a service-unavailable error when an
incoming message sent to an offline user was blocked by a privacy list.
The same is done for a message sent to an online user, so this avoids a
presence leak.
2016-04-24 22:00:15 +02:00
Holger Weiss
b79f09d0eb
Match namespace when checking for chat states
...
When checking for standalone chat states, match the namespace rather
than the names of the elements defined in the current XEP-0085 revision.
2016-04-24 17:16:28 +02:00
Holger Weiss
beeb1c82d9
Fix check for standalone chat state notifications
...
Ignore whitespace (and other XML CDATA) when checking whether a message
stanza is a standalone chat state notification.
2016-04-24 17:09:56 +02:00
badlop
2660dcabba
Merge pull request #931 from cclam0827/dev/mod_ping
...
change mod_ping Timers using maps instead of dict
2016-04-22 13:07:03 +02:00
Holger Weiss
f0e6def3ed
Set default value for pubsub#itemreply option
2016-04-21 23:47:07 +02:00
Paweł Chmielowski
97e3a33077
Accept commands: add_commands syntax (along commands: - add_commands)
2016-04-21 11:16:36 +02:00
Evgeniy Khramtsov
1aae8a9fda
Rename odbc to sql everywhere
2016-04-20 13:25:42 +03:00
Evgeniy Khramtsov
fafeeb80c2
Rename ejabberd_sm_odbc -> ejabberd_sm_sql
2016-04-20 09:11:02 +03:00
Christophe Romain
655c22021b
Fix hometree root check ( #1070 )
2016-04-19 15:18:32 +02:00
Holger Weiss
382c6ce1fb
Specify type of second terminate/2 parameter
2016-04-19 09:15:09 +02:00