24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-06-08 21:43:07 +02:00
Commit Graph

144 Commits

Author SHA1 Message Date
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
b8fbac72ac Restart listeners on configuration reload 2017-02-24 15:18:10 +03:00
Evgeniy Khramtsov
67d6ca9f10 Improve startup procedure 2017-02-24 12:05:47 +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
22ee16fd9d Get rid of ejabberd_frontend_socket 2017-01-17 14:00:01 +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
Badlop
f448ff608a Update copyright to 2016 (#901) 2016-01-13 12:29:14 +01:00
Alexey Shchepin
c6798fc515 Add accept_interval option in ejabberd_listener 2015-12-16 17:26:44 +03:00
Evgeniy Khramtsov
99f506135b Fix ipv6 configuration processing (#803) 2015-10-30 17:20:32 +03:00
Holger Weiss
28e28e926a ejabberd_listener: Fix ETS update on port reuse 2015-10-18 01:14:48 +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
Evgeniy Khramtsov
fb6267f38e Add config validation at startup 2015-06-01 15:38:27 +03:00
Holger Weiss
e408276283 Don't forget gen_tcp:listen/2 options
Fixes #530.
2015-04-14 20:22:34 +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
liudan
f981a53f9a fix otp version check in listen_tcp/5 2015-04-07 09:28:35 +08:00
Holger Weiss
27a4d783a5 Fix "IP address not available" error message 2015-03-24 17:32:57 +01:00
Badlop
5a35405cd5 Update copyright dates to 2015 (EJAB-1733) 2015-01-08 17:34:43 +01:00
Evgeniy Khramtsov
1d782db84f Process XML-RPC requests via p1_xml and ejabberd_http 2014-10-04 12:49:12 +04: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
Evgeniy Khramtsov
90a5c054d4 TURN support (EJAB-1017) 2014-05-08 16:14:21 +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
02e0649d18 SIP support
Conflicts:
	configure
	configure.ac
	doc/guide.tex
2014-04-30 19:38:15 +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
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
c0240e7249 Do not try to start STUN application during config checks 2013-11-02 10:30:19 +10:00
Evgeniy Khramtsov
91a74e3e27 Change configuration file format to YAML 2013-08-21 22:17:59 +10:00
Evgeniy Khramtsov
b50a4948ed Fix the error report of an incorrect certfile 2013-06-17 16:04:43 +03: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
c0bf054583 Tweak ejabberd_listener to allow ejabberd_xmlrpc work properly 2013-05-14 18:50:54 +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
Evgeniy Khramtsov
3a51c801e1 Change log level from informational to error 2012-03-19 18:52:20 +10:00
Alexey Shchepin
b1e2538488 Update copyright dates 2012-02-23 17:52:34 +02:00
Christophe Romain
fd52f2cb7d update copyright up to 2011 2011-02-14 13:50:55 +01:00
Andreas Köhler
18ef908759 Before binding tcp ports, checks the socket type and listener options
If the callback module has a socket type of independent and needs to
create the listener itself, do not pre-bind the port. The same holds if
there are errors in the listener configuration.
2010-11-10 23:46:18 +01:00
Andreas Köhler
1f1d2bd5f5 Bind listener ports early and start accepting connections later
It may happen that auth or rdbms client tcp connections bind a local
socket to a port number required by a configered listener. The ejabberd
applications fails to start up and needs to be restarted.

In plain C you would bind(2) the listener port and listen(2) later on.
gen_tcp:listen/2 does not allow to separate these two steps though, so
another way is not to accept connections while start up. OTOH, the
kernel will syn/ack incoming connections and receive data, leaving them
in a buffer for the ejabberd to read from. If this is unwanted, a load
balancer would need to receive data from the ejabberd server before
adding the node to its pool.

This patch binds tcp ports while initializing the ejabberd_listener
process, storing ListenSockets in an ets table. start_listeners/0 will
reuse these ports later on.
2010-11-10 23:46:16 +01:00
Badlop
86794b1d23 Fix OTP version detection to work with old supported R10 and R11
SVN Revision: 2906
2010-01-16 12:24:11 +00: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
Badlop
8d218dd2b9 Command to stop ejabberd informing users, with grace period, and kindly (EJAB-1112)
SVN Revision: 2853
2010-01-03 00:38:00 +00:00
Badlop
041d947e83 Fix bug that forgot listener options when using R12 or older.
SVN Revision: 2734
2009-11-06 18:24:54 +00:00
Badlop
257e4c34a8 Provide send_timeout_close option in TCP only in R13B or higher (EJAB-926)
SVN Revision: 2680
2009-10-19 14:47:05 +00:00
Badlop
66cd86e726 Support ejabberd_listener option 'backlog' to increase TCP backlog (thanks to Janusz Dziemidowicz)(EJAB-1063)
SVN Revision: 2678
2009-10-19 13:23:46 +00:00
Mickaël Rémond
006515020a Support gen_tcp send timeout: Close the connection if the other end has disconnected ungracefully or cannot keep up with the rate at which we are sending data (EJAB-926)
SVN Revision: 2671
2009-10-19 09:36:23 +00:00
Evgeniy Khramtsov
01a9f981f4 it is now possible to start TCP/UDP on the same port
SVN Revision: 2452
2009-08-11 07:15:36 +00:00
Evgeniy Khramtsov
73fabfe3a6 RFC5389 (STUN) support: stand-alone server, binding usage only
SVN Revision: 2450
2009-08-09 10:44:16 +00:00
Badlop
1650a946f2 * src/ejabberd_listener.erl: Fix report message of 'undef' error
SVN Revision: 1916
2009-02-24 17:25:40 +00:00
Badlop
e6324f8a02 Fix a minor compilation warning and add EDoc comment
SVN Revision: 1907
2009-02-21 11:24:08 +00:00
Badlop
ce03742e1b * src/ejabberd_listener.erl: When stopping a listener, don't stop
the listener supervisor (EJAB-874)

SVN Revision: 1891
2009-02-20 14:51:13 +00:00
Badlop
74763be4dd * src/ejabberd_listener.erl: More error detections
SVN Revision: 1884
2009-02-17 15:42:22 +00:00
Badlop
e4a3cdb486 * src/ejabberd_listener.erl: More error detections
SVN Revision: 1883
2009-02-17 09:53:29 +00:00
Badlop
4659ae7683 * src/ejabberd_config.erl: Check certfiles are readable on server
start and listener start (EJAB-753)
* src/ejabberd_listener.erl: Likewise

SVN Revision: 1882
2009-02-16 17:57:30 +00:00
Badlop
70e431787e * src/ejabberd_listener.erl: Report error at startup if a listener
module isn't available or is not an ejabberd listener (EJAB-868)

SVN Revision: 1875
2009-02-13 23:52:24 +00:00
Badlop
d0273f4630 * doc/api/process-one.css: Add some style to HTML elements
* src/ejabberd_listener.erl: Fix EDoc errors
* src/web/ejabberd_web_admin.erl: Likewise

SVN Revision: 1843
2009-01-21 19:49:26 +00:00
Badlop
ba2eb35590 * src/ejabberd_listener.erl: New way to configure IP address and
IP version of listener. Support for definition of IP address in
string format, and implicit definition of IP
version (EJAB-388). Support for defining several listeners: all
with same port number but different IP addresses (EJAB-389)(thanks
to Fabrice Colliot and Sergei Golovan). Better report in WebAdmin
of problem when starting a listener. The old configuration method
of ip tuple and inet6 is fully supported for backwards
compatibility, but is not documented in the Guide anymore.
* src/ejabberd_config.erl: Likewise
* src/mod_proxy65/mod_proxy65_stream.erl: Likewise
* src/mod_proxy65/mod_proxy65_service.erl: Likewise
* src/web/ejabberd_web_admin.erl: Likewise
* doc/guide.tex: Document the new way to configure IP address and
IP version of listener, undocument options ip and inet6
* doc/guide.html: Likewise

SVN Revision: 1812
2009-01-12 20:03:02 +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
Mickaël Rémond
f0af10e600 * src/ejabberd_listener.erl: Define send timeout option to avoid blocking on socket send (EJAB-746).
* src/ejabberd_s2s_out.erl: Likewise.

SVN Revision: 1784
2009-01-08 20:49:16 +00:00
Badlop
cdcf2d380b * src/ejabberd_lstener.erl: Fix listeners
* src/ejabberd_sup.erl: Likewise
* src/gen_mod.erl: Likewise

SVN Revision: 1665
2008-10-24 17:26:11 +00:00
Badlop
9194c25a4e * src/ejabberd_app.erl: Start listeners explicitely at server
start after everything else (EJAB-303). Implement support in
ejabberd for 'independent listeners', which handle their
connections themselves: gen_tcp:listen, etc.
* src/ejabberd_listener.erl: Likewise
* src/ejabberd_socket.erl: Likewise
* src/ejabberd_sup.erl: Likewise

SVN Revision: 1631
2008-10-12 11:11:29 +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
Badlop
ab9b30c4d4 * src/ejabberd_listener.erl (start_listener): Revert SVN r1260.
SVN Revision: 1290
2008-04-11 15:47:44 +00:00
Badlop
dcc00bca6d * src/ejabberd_listener.erl: Remove code of the unused listening
socket option 'ssl' (EJAB-159)
* src/ejabberd_app.erl: Likewise

SVN Revision: 1263
2008-03-31 19:48:35 +00:00
Badlop
f634e4dc0d * src/ejabberd_listener.erl (start_listener): Start also the
supervisor of the module

SVN Revision: 1260
2008-03-31 09:30:51 +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
09a30422f5 * doc/guide.tex: Remove 'ssl' option from documentation and
configuration load (EJAB-461)
* src/ejabberd_listener.erl: Likewise

* src/msgs/cs.msg: Small typo (thanks to Lukas Polivka alias
Spike411)

* src/ejabberd.cfg.example: Small change in order of options

SVN Revision: 1073
2007-12-17 11:03:22 +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
Alexey Shchepin
c72599cacd * src/ejabberd_frontend_socket.erl: Support for frontend
connection manager
* src/ejabberd_c2s.erl: Likewise
* src/ejabberd_listener.erl: Likewise
* src/ejabberd_s2s_in.erl: Likewise
* src/ejabberd_service.erl: Likewise
* src/ejabberd_socket.erl: Likewise
* src/web/ejabberd_http_poll.erl: Likewise

SVN Revision: 657
2006-10-01 01:53:37 +00:00
Alexey Shchepin
a5e4d5d550 * src/mod_muc/mod_muc_log.erl: Fixed html special characters
escaping, added new image buttons, chatroom titles now point to
xmpp: URIs (thanks to Badlop)

* src/ejabberd_listener.erl: Bugfix

SVN Revision: 602
2006-09-09 23:33:00 +00:00
Alexey Shchepin
4d7cc9301a * src/ejabberd_socket.erl: All XML socket operations moved here
* src/ejabberd_listener.erl: Updated
* src/ejabberd_receiver.erl: Likewise
* src/ejabberd_c2s.erl: Likewise
* src/ejabberd_s2s_in.erl: Likewise
* src/ejabberd_s2s_out.erl: Likewise
* src/ejabberd_service.erl: Likewise

* src/mod_shared_roster.erl: Bugfix

* src/mod_roster_odbc.erl: Bugfix

SVN Revision: 599
2006-09-05 04:26:28 +00:00
Alexey Shchepin
6bb510d99e * src/ejabberd_service.erl: Bugfix
* src/ejabberd_receiver.erl: Rewritten to use {active, once} mode
for socket
* src/ejabberd_c2s.erl: Update
* src/ejabberd_listener.erl: Likewise
* src/ejabberd_s2s_in.erl: Likewise
* src/ejabberd_s2s_out.erl: Likewise
* src/ejabberd_service.erl: Likewise
* src/shaper.erl: Likewise
* src/tls/tls.erl: Likewise
* src/web/ejabberd_http.erl: Likewise

SVN Revision: 483
2006-01-13 01:55:20 +00:00
Alexey Shchepin
cc19cb1785 * src/ejabberd_listener.erl: Enable keepalive option
* src/xml_stream.erl: Added API for managing xml streams without
creating process
* src/ejabberd_receiver.erl: Use this API, now 2 processes are
created per C2S connection

SVN Revision: 288
2004-12-03 22:54:02 +00:00
Alexey Shchepin
db824bfc64 * src/ejabberd_listener.erl: Check result of controlling_process
SVN Revision: 270
2004-09-29 21:10:40 +00:00
Alexey Shchepin
84c4d93ca5 * src/web/ejabberd_web_admin.erl: Added configuration of listened
ports
* src/ejabberd_listener.erl: Added API for configuration of port
listeners

* src/web/ejabberd_web_admin.erl: Fixed "Stop" button on node
management page

SVN Revision: 238
2004-06-17 21:29:24 +00:00
Alexey Shchepin
63feb5dabf * src/web/ejabberd_web_admin.erl: Updated
* src/ejabberd_listener.erl: Added API for adding/removing
listeners

SVN Revision: 232
2004-05-09 18:38:49 +00:00
Alexey Shchepin
c812a59efc * doc/guide.tex: Updated
* src/ejabberd_listener.erl: Now possible to specify interface on
which one socket will be listened, also added another way to
specify SSL options
* src/ejabberd.cfg.example: Updated

SVN Revision: 231
2004-05-08 19:30:38 +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
188be0dc62 * src/ejabberd_listener.erl: Added handling of accept errors,
added timeout value to ssl:accept

* src/mod_vcard.erl: Added checks for all empty input fields

* src/mod_offline.erl: More strong checks for stored packets

SVN Revision: 163
2003-10-28 20:26:43 +00:00
Alexey Shchepin
146d464f96 * doc/guide.tex: Updated
* src/ejabberd.cfg: Added "register" rule, added some comments,
this file renamed to ejabberd.cfg.example

* src/mod_register.erl (try_register): Fixed error reply, added
check for "register" access rule

* src/stringprep/Makefile.win32: Added Makefile for Win32 (thanks
to Sergei Golovan)

SVN Revision: 148
2003-10-11 17:39:36 +00:00
Alexey Shchepin
7df146166a * src/ejabberd_c2s.erl: Added authentification logging
* src/ejabberd_listener.erl: Added logging of accepted connections

* src/stringprep/stringprep_drv.c: Cleanup

* src/jd2ejd.erl: Added support for iq:private importing

* src/mod_configure.erl: Fixed user removal

* src/mod_private.erl: Added remove_user/1

* doc/guide.tex: Updated

* src/mod_disco.erl: Added "extra_domains" option

SVN Revision: 146
2003-10-09 18:09:05 +00:00
Alexey Shchepin
ee72872087 * src/ejabberd_listener.erl: Fixed SSL options
SVN Revision: 133
2003-08-30 19:19:23 +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
Alexey Shchepin
8b26ac9e97 * src/ejabberd_s2s_out.erl: Fixed ports leak
* src/ejabberd_listener.erl: Likewise

* src/ejabberd_c2s.erl: Fixes for SASL support

* src/cyrsasl.erl: Fixes

* src/cyrsasl_digest.erl: DIGEST-MD5 SASL mechanism support

SVN Revision: 87
2003-03-12 19:48:05 +00:00
Alexey Shchepin
a8a8e3b5a6 *** empty log message ***
SVN Revision: 62
2003-02-06 19:09:22 +00:00
Alexey Shchepin
6599d1ecc5 *** empty log message ***
SVN Revision: 55
2003-02-01 20:21:28 +00:00
Alexey Shchepin
f0427ecab5 *** empty log message ***
SVN Revision: 46
2003-01-21 20:36:55 +00:00
Alexey Shchepin
2617433ae3 *** empty log message ***
SVN Revision: 32
2003-01-07 19:10:35 +00:00
Alexey Shchepin
e6c062fe40 *** empty log message ***
SVN Revision: 12
2002-12-06 20:59:19 +00:00
Alexey Shchepin
e0b348319a Initial revision
SVN Revision: 2
2002-11-18 20:39:47 +00:00