Evgeniy Khramtsov
b82b93f8f0
Don't validate an option in ejabberd_config:get_option() functions
...
The commit introduces the following changes:
* Now there is no need to pass validating function in
ejabberd_config:get_option() functions, because the configuration
keeps already validated values.
* New function ejabberd_config:get_option/1 is introduced
* Function ejabberd_config:get_option/3 is deprecated. If the function
is still called, the second argument (validating function) is simply
ignored.
* The second argument for ejabberd_config:get_option/2 is now
a default value, not a validating function.
2017-04-29 11:39:40 +03:00
Evgeniy Khramtsov
7129aebe76
Don't re-define validation functions in multiple places
2017-04-28 13:23:32 +03:00
Evgeniy Khramtsov
02790b105e
Speedup Mnesia tables initialization
2017-04-21 12:27:15 +03:00
Christophe Romain
b1acd1183f
Rename aux.erl as misc.erl
...
Thanks Microsoft Windows to not support some filenames
2017-04-11 12:13:58 +02:00
Evgeniy Khramtsov
7bcbea2108
Deprecate jlib.erl in favor of aux.erl
...
Since the main goal of jlib.erl is lost, all auxiliary functions
are now moved to aux.erl, and the whole jlib.erl is now deprecated.
2017-03-30 14:17:13 +03:00
Evgeniy Khramtsov
02064ae12a
Add support for file-based queues
...
It's now possible to use files as internal packet queues.
The following options are introduced:
* queue_type: the option can be set to `ram` (default) or `file`.
The option can be set per virtual host.
* queue_dir: path to the directory where queues will be allocated.
The default is 'queue' directory inside Mnesia directory.
This is a global option and cannot be set per virtual host.
2017-03-10 15:12:43 +03:00
Evgeniy Khramtsov
0542c65a07
Stop all s2s connections via supervisor calls
2017-02-23 16:18:29 +03:00
Evgeniy Khramtsov
7d68112265
Start/stop virtual hosts when reloading configuration file
2017-02-23 10:12:19 +03:00
Evgeniy Khramtsov
8b2d308498
Change routing API
...
Now 'From' and 'To' arguments must be omitted in functions
and structures related to routing.
The commit deprecates the following functions:
ejabberd_router:route/3 in favor of ejabberd_router:route/1
ejabberd_router:route_error/4 in favor of ejabberd_router:route_error/2
ejabberd_local:route_iq/4 in favor of ejabberd_local:route_iq/2
ejabberd_local:route_iq/5 in favor of ejabberd_local:route_iq/3
The format of {route, From, To, Packet} is changed in favor of {route, Packet}
2017-02-16 11:10:24 +03:00
Evgeniy Khramtsov
9d144bd495
Do not drop default TLS options
...
Fixes #1484
2017-01-26 10:58:26 +03:00
Evgeniy Khramtsov
435e5e6263
Make test suite working again
2017-01-23 13:51:05 +03:00
Evgeniy Khramtsov
d5d906184f
Merge branch 'new_stream'
...
Conflicts:
src/cyrsasl.erl
src/ejabberd_c2s.erl
src/ejabberd_cluster.erl
src/ejabberd_frontend_socket.erl
src/ejabberd_node_groups.erl
src/ejabberd_router.erl
src/mod_bosh.erl
src/mod_ip_blacklist.erl
src/mod_muc_mnesia.erl
src/mod_offline.erl
src/mod_proxy65_sm.erl
2017-01-20 19:35:46 +03:00
Evgeniy Khramtsov
c68ac1d5eb
Improve error reporting for forbidden servers
2017-01-17 13:38:05 +03:00
Evgeniy Khramtsov
1e55e018e5
Adopt remaining code to support new hooks
2017-01-09 17:02:17 +03:00
Badlop
5fdd1c39fe
Update copyright date automatically ( #1442 )
2017-01-02 21:42:06 +01:00
Evgeniy Khramtsov
309bdfbe28
Add xmpp_stream_out behaviour and rewrite s2s/SM code
2016-12-28 09:47:11 +03:00
Christophe Romain
92db9ff105
Improve handling of mnesia schema
2016-11-30 11:09:17 +01:00
Evgeniy Khramtsov
78a44e0176
Merge branch 'master' into xml-ng
...
Conflicts:
src/adhoc.erl
src/cyrsasl_oauth.erl
src/ejabberd_c2s.erl
src/ejabberd_config.erl
src/ejabberd_service.erl
src/gen_mod.erl
src/mod_admin_extra.erl
src/mod_announce.erl
src/mod_carboncopy.erl
src/mod_client_state.erl
src/mod_configure.erl
src/mod_echo.erl
src/mod_mam.erl
src/mod_muc.erl
src/mod_muc_room.erl
src/mod_offline.erl
src/mod_pubsub.erl
src/mod_stats.erl
src/node_flat_sql.erl
src/randoms.erl
2016-11-12 13:27:15 +03:00
Evgeniy Khramtsov
53209b9ab1
Add tests for s2s code
2016-09-23 12:30:33 +03:00
Mickael Remond
4bf8ce7681
Make s2s stats commands more robust
2016-07-30 18:50:58 +02:00
Evgeniy Khramtsov
c409ed2f2c
Rewrite S2S and ejabberd_service code to use XML generator
2016-07-27 10:45:08 +03: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
Evgeniy Khramtsov
fced8dc3d9
Replace some ?ERR_* macros with ?ERRT_*
2016-03-31 11:00:29 +03:00
Mickael Remond
dfc29ea03c
Switch to Fast XML module
2016-02-03 19:03:17 +01:00
Mickael Remond
71ee0d56fa
Switch to fast_tls and update app names
2016-02-03 16:13:16 +01:00
Paweł Chmielowski
bdeb4a7e32
Add a way to get all ejabberd_commands, not only those that was registered
...
This is part of (TECH-1828).
2016-01-26 10:00:28 +01:00
Badlop
f448ff608a
Update copyright to 2016 ( #901 )
2016-01-13 12:29:14 +01:00
Evgeniy Khramtsov
c7931b4a4f
CVE-2016-1232: Add Dialback Key Generation and Validation support (XEP-0185)
2016-01-11 14:22:17 +03:00
Paweł Chmielowski
29db302808
More now() replacements
2015-12-07 16:09:48 +01:00
Evgeniy Khramtsov
95265dd3ad
Move JID related functions to jid.erl ( #847 )
2015-11-24 18:44:13 +03:00
Evgeniy Khramtsov
b2eb9f197a
Don't crash on certificates without extensions (EJAB-1724)
2015-10-23 18:41:35 +03:00
Christophe Romain
6aeb9dcb38
cosmetic cleanup
2015-10-07 14:18:38 +02:00
Alexey Shchepin
cf975da8f2
Update several commands for recent ejabberd_commands changes
2015-09-28 15:29:25 +03:00
Evgeniy Khramtsov
6740b1f0e1
Rename idna.erl to ejabberd_idna.erl ( #702 )
2015-09-02 16:02:46 +03: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
Badlop
6631078884
Document a few more supported protocols
2015-06-22 13:11:37 +02:00
Evgeniy Khramtsov
fb6267f38e
Add config validation at startup
2015-06-01 15:38:27 +03:00
Badlop
5a35405cd5
Update copyright dates to 2015 (EJAB-1733)
2015-01-08 17:34:43 +01: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
badlop
285c4c17cf
Merge pull request #146 from jamielinux/master
...
Update FSF address
2014-04-11 13:35:46 +02:00
Badlop
633d47f784
Update copyright dates to 2014 (EJAB-1679)
2014-03-13 12:30:57 +01:00
Jamie Nguyen
8538997d61
Update FSF address
2014-02-22 10:27:40 +00:00
Evgeniy Khramtsov
91a74e3e27
Change configuration file format to YAML
2013-08-21 22:17:59 +10:00
Evgeniy Khramtsov
f9390f3e9a
Fix some dialyzer warnings
2013-06-24 20:04:56 +10:00
Evgeniy Khramtsov
4d8f770624
Switch to rebar build tool
...
Use dynamic Rebar configuration
Make iconv dependency optional
Disable transient_supervisors compile option
Add hipe compilation support
Only compile ibrowse and lhttpc when needed
Make it possible to generate an OTP application release
Add --enable-debug compile option
Add --enable-all compiler option
Add --enable-tools configure option
Add --with-erlang configure option.
Add --enable-erlang-version-check configure option.
Add lager support
Improve the test suite
2013-06-13 11:11:02 +02:00
Badlop
9deb294328
Accumulated patch to binarize and indent code
2013-03-14 10:33:02 +01:00
Alexey Shchepin
0ae400533c
Update copyright dates
2013-01-24 16:25:13 +02:00
Alexey Shchepin
b1e2538488
Update copyright dates
2012-02-23 17:52:34 +02: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
Christophe Romain
fd52f2cb7d
update copyright up to 2011
2011-02-14 13:50:55 +01:00
Christopher tofu Zorn
f2231a2282
expose find_connection for routing in other modules (if needed)
2010-11-29 20:05:39 +01:00
Badlop
a5230c46c2
Speed up ejabberd_s2s:is_service/2, allow_host/2 (thanks to Andreas Köhler)(EJAB-1319)
...
Iterating through the list of possible parent domains of a given domain
and comparing with the list of hosts or routes is almost always faster
than doing it the other way around. It naturally returns the shortest or
longest parent domain satisfying a predicate, whereas the possibly long
list compared with would need to be sorted by length first.
2010-10-14 21:15:40 +02:00
Evgeniy Khramtsov
e569087d83
now using mnesia:async_dirty when cleaning table from failed node
2010-02-19 16:38:18 +09:00
Badlop
7b76fdcde7
Update year of ProcessOne copyright from 2009 to 2010 (EJAB-1159)
...
SVN Revision: 2891
2010-01-12 16:11:32 +00:00
Evgeniy Khramtsov
311bf4dbb1
fixes allow_host/2 on subdomains. added hook s2s_allow_host: the hook should return deny or allow
...
SVN Revision: 2738
2009-11-13 16:19:46 +00:00
Badlop
b5964c2a5f
Added API function to get current S2S connections with information
...
get_info_s2s_connections(Type) returns a list of incoming (or outgoing)
S2S connections with information for each one including IP address,
port number, TLS options... (thanks to Juan Pablo Carlino)
SVN Revision: 2088
2009-05-19 09:38:17 +00:00
Badlop
fec3742aaa
Replace TYPE/1 with is_TYPE/1 (EJAB-922)
...
SVN Revision: 2057
2009-05-06 16:54:43 +00:00
Badlop
f09509502e
* doc/guide.tex: Update copyright date 2008 to 2009 (EJAB-842)
...
* doc/guide.html: Likewise
* src/*/*.erl: Likewise
* src/*/*.erl: Remove unneeded blankspaces in license text
SVN Revision: 1804
2009-01-12 14:44:42 +00:00
Badlop
3bfe585364
* src/ejabberd_sm.erl: Update from ctl to commands (EJAB-694)
...
* src/ejabberd_s2s.erl: Likewise
SVN Revision: 1639
2008-10-12 12:04:10 +00:00
Badlop
c3bda4aaee
* doc/guide.tex: Update Process-one name to ProcessOne (EJAB-708)
...
* doc/guide.html: Likewise
* doc/api/overview.edoc: Likewise
* src/*/*.erl: Likewise
* src/*/*.hrl: Likewise
* src/*/*.c: Likewise
* src/odbc/*.sql: Likewise
SVN Revision: 1499
2008-07-31 11:18:49 +00:00
Mickaël Rémond
5e9576ffa3
* src/ejabberd_s2s.erl: Added s2s_send_packet and s2s_receive_packet hooks (EJAB-635).
...
* src/ejabberd_s2s_in.erl: Likewise.
SVN Revision: 1342
2008-05-22 10:53:49 +00:00
Badlop
ee6aae8211
* src/ejabberd_s2s_out.erl: Fix long timeout when reconnecting s2s
...
after a remote server crash (EJAB-540)
* src/ejabberd_s2s_in.erl: Likewise
* src/ejabberd_s2s.erl: Likewise
* doc/guide.tex: Likewise
SVN Revision: 1296
2008-04-18 12:19:45 +00:00
Christophe Romain
b2bd9759c8
Rewrite io:format calls to loglevel macros (EJAB-555)
...
SVN Revision: 1239
2008-03-21 14:44:16 +00:00
Mickaël Rémond
320c266276
* src/ejabberd_s2s.erl: Only trigger s2s_connect_hook on successful connection (EJAB-566)
...
* src/ejabberd_s2s_out.erl: Likewise
SVN Revision: 1235
2008-03-17 10:16:21 +00:00
Mickaël Rémond
295da9cf02
* src/ejabberd_s2s.erl: API improvement: Added s2s_connect_hook (EJAB-566).
...
SVN Revision: 1232
2008-03-15 09:35:33 +00:00
Badlop
2d2fcc8210
* doc/guide.tex: Updated copyright dates to 2008
...
* src/*: Likewise
SVN Revision: 1153
2008-01-15 17:02:57 +00:00
Mickaël Rémond
56fe3579bb
* Applied copyright update patch 1.
...
SVN Revision: 1110
2007-12-24 11:41:41 +00:00
Badlop
d625fc80fc
* src/acl.erl and other 64 files: Remove Erlang module attribute
...
'vsn' because it doesn't provide any worth feature, and it
difficults hot code update (EJAB-440)
SVN Revision: 1044
2007-12-06 22:12:27 +00:00
Mickaël Rémond
2100ea63ca
* Making sure SVN properties are correctly set.
...
SVN Revision: 970
2007-11-15 10:33:18 +00:00
Jérôme Sautret
96ded4535d
* src/ejabberd_s2s.erl: don't use the resource of the sender to choose
...
a s2s connection to ensure that a muc room always uses the same
connection
Merge branch 'ejabberd_s2s'
Conflicts:
.gitignore
src/configure
src/ejabberd_c2s.erl
src/ejabberd_s2s.erl
SVN Revision: 963
2007-10-30 17:38:40 +00:00
Alexey Shchepin
f82b84158e
* src/ejabberd_s2s.erl: Max number of connections and max number
...
of connections per node now can be specified via
max_s2s_connections and max_s2s_connections_per_node acl rules
SVN Revision: 950
2007-09-25 16:32:18 +00:00
Mickaël Rémond
31449bc720
* src/ejabberd_s2s.erl: open all missing connections if needed.
...
SVN Revision: 945
2007-09-14 14:20:43 +00:00
Mickaël Rémond
f6d376a4fc
* src/ejabberd_s2s.erl: untabify
...
SVN Revision: 944
2007-09-14 14:20:30 +00:00
Mickaël Rémond
5a0b8288d4
* src/ejabberd_s2s.erl: don't check blacklist for services.
...
SVN Revision: 943
2007-09-14 14:20:15 +00:00
Mickaël Rémond
de63c622c2
* src/ejabberd_s2s.erl: Fixed merge conflict (duplicate functions).
...
SVN Revision: 942
2007-09-14 14:20:01 +00:00
Mickaël Rémond
b3fb9d9100
Try to open all s2s connections at the same time, to guarantee the right order of the packets.
...
SVN Revision: 941
2007-09-14 14:19:48 +00:00
Mickaël Rémond
653e6c1791
Comment.
...
SVN Revision: 938
2007-09-14 14:19:07 +00:00
Mickaël Rémond
78e6eb58d4
max_s2s_connexions_number local parameter added.
...
SVN Revision: 937
2007-09-14 14:18:51 +00:00
Mickaël Rémond
9fc203ee6d
open up to 3 s2s outgoing connection per domain pair
...
SVN Revision: 928
2007-09-14 14:15:44 +00:00
Mickaël Rémond
799ff1d883
* src/ejabberd_s2s_in.erl: Add s2s whitelist / blacklist support on incoming s2s connections (EJAB-283)
...
* src/ejabberd_s2s.erl: Likewise
SVN Revision: 820
2007-07-19 21:17:13 +00:00
Mickaël Rémond
944ef9bbc2
* src/ejabberd_s2s.erl: Fixed typo.
...
SVN Revision: 819
2007-07-18 18:42:00 +00:00
Mickaël Rémond
9da2c78eb4
* src/ejabberd_s2s.erl: Implements s2s hosts whitelist / blacklist
...
* src/ejabberd.cfg.example: Likewise
SVN Revision: 818
2007-07-18 17:42:53 +00:00
Mickaël Rémond
abadd82c66
* src/ejabberd_s2s_out.erl: Make s2s connections more robust
...
* src/ejabberd_s2s.erl: Likewise
SVN Revision: 817
2007-07-18 16:26:50 +00:00
Alexey Shchepin
2810c2b300
* src/ejabberd_s2s.erl: Added remove_connection/3
...
* src/ejabberd_s2s_out.erl: Bugfix: remove only own s2s record
SVN Revision: 812
2007-07-15 07:28:47 +00:00
Alexey Shchepin
77282b0e1a
* src/ejabberd_s2s.erl: Don't bounce packets with "error" and
...
"result" type
SVN Revision: 747
2007-03-17 23:02:06 +00:00
Alexey Shchepin
3d7090f62c
* src/ejabberd_s2s.erl: Fixed spelling
...
SVN Revision: 746
2007-03-17 22:53:42 +00:00
Alexey Shchepin
829f30e63b
* src/ejabberd_s2s.erl: Don't start s2s process for existing
...
connection in case of race condition
SVN Revision: 745
2007-03-17 22:17:03 +00:00
Alexey Shchepin
0d5e433b91
* src/ejabberd_s2s.erl: Confirm to RFC3920 section 10.3 (thanks to
...
Jerome Sautret)
SVN Revision: 726
2007-02-18 17:58:47 +00:00
Mickaël Rémond
30371b2483
* src/ejabberd_s2s.erl: More precise message for the new s2s
...
statistic command.
SVN Revision: 642
2006-09-26 11:08:44 +00:00
Alexey Shchepin
3ab30f34fb
* src/ejabberd_s2s.erl: Added incoming-s2s-number and
...
outgoing-s2s-number ejabberdctl commands
SVN Revision: 633
2006-09-25 13:36:41 +00:00
Alexey Shchepin
50f44530d2
* src/odbc/pg.sql: Fixed syntax error
...
* src/ejabberd_router.erl: Updated to use gen_server behaviour
* src/ejabberd_sm.erl: Likewise
* src/ejabberd_s2s.erl: Likewise
* src/gen_iq_handler.erl: Likewise
* src/ejabberd_sup.erl: Added supervisor for ejabberd_receiver
* src/ejabberd_receiver.erl: Updated
SVN Revision: 495
2006-01-29 04:38:31 +00:00
Alexey Shchepin
bbfd58a822
* src/ejabberd_s2s_out.erl: Fixed invalid behaviour upon
...
connecting to host with invalid domain
* src/ejabberd_s2s.erl: Likewise
SVN Revision: 433
2005-11-12 03:42:12 +00:00
Alexey Shchepin
2f7f3d9b00
* src/aclocal.m4: Fixed headers detecting in AM_WITH_OPENSSL
...
(thanks to Leif Johansson)
* src/ejabberd_auth.erl: Added support for ldap_rootdn and
ldap_password options (thanks to Stefan de Konink)
* src/mod_vcard_ldap.erl: Likewise
* src/ejabberd_router.erl: Now possible to route packet via
function call instead of message sending
* src/ejabberd_sm.erl: Added function route/3, use it in route
table
* src/ejabberd_local.erl: Likewise
* src/ejabberd_s2s.erl: Likewise
* (all): Fixed spelling of word "authentication"
* src/*/Makefile.in: Replaced erlc with @ERLC@
SVN Revision: 285
2004-11-05 21:14:31 +00:00
Alexey Shchepin
90e48213e0
* src/ejabberd_s2s.erl: More verbose error handling
...
SVN Revision: 218
2004-03-16 14:34:20 +00:00
Alexey Shchepin
4413036585
* src/ejabberd_s2s.erl: Partially rewrited
...
* src/mod_roster.erl: Removed debugging code
SVN Revision: 184
2003-12-13 21:36:53 +00:00
Alexey Shchepin
23b3779b20
* src/ejabberd_listener.erl: Fixed starting of SSL connection
...
* src/ejabberd_s2s_in.erl: Partially rewriten
* src/ejabberd_router.erl: More verbose error report
* src/ejabberd_local.erl: Likewise
* src/ejabberd_sm.erl: Likewise
* src/ejabberd_s2s_out.erl: Updated to be compatible with R9C
* src/ejabberd_c2s.erl: Minor fix
SVN Revision: 164
2003-10-29 20:09:09 +00:00
Alexey Shchepin
61875f80b3
* (all): Changed JID storage format, added support for stringprep
...
* src/stringprep/: Added support for Unicode normalization form KC
* src/stringprep/: Added support for case convertion to multiple
characters
* src/cyrsasl_digest.erl: Temporary removed "auth-int" QOP
SVN Revision: 144
2003-10-07 20:31:44 +00:00
Alexey Shchepin
ca5d88c368
* (all): Reorganized supervision tree
...
SVN Revision: 125
2003-07-20 20:35:35 +00:00
Alexey Shchepin
1834fb3a72
* src/ejabberd_s2s_out.erl: Close connection after key
...
verification
* src/ejabberd_c2s.erl: start replaced with start_link
* src/ejabberd_s2s_in.erl: Likewise
* src/ejabberd_s2s_out.erl: Likewise
* src/ejabberd_service.erl: Likewise
* src/ejabberd_listener.erl: Now uses proc_lib to spawn listeners,
removed 3rd parameter in listener configuration (assumed to equal
start_link)
* src/ejabberd.rel: Updated
* doc/guide.tex: Small changes
* doc/Makefile: Added implicit charset specification to hevea
SVN Revision: 124
2003-07-14 18:06:03 +00:00