aboutsummaryrefslogtreecommitdiff
path: root/src/xmpp_stream_out.erl (unfollow)
Commit message (Collapse)AuthorFilesLines
2018-07-05Move move randoms module to p1_utils repoEvgeniy Khramtsov1-2/+2
2018-07-05Move shaper to p1_utils repoEvgeniy Khramtsov1-1/+1
2018-07-04Set 'from' attribute for client connections when it is absentEvgeniy Khramtsov1-1/+19
2018-07-04Don't set from/to attributes in resource binding iqEvgeniy Khramtsov1-4/+2
2018-06-30Accept IP address as a return value from resolve/2 callbackEvgeniy Khramtsov1-29/+29
2018-06-25Support SASL PLAIN by xmpp_stream_outEvgeniy Khramtsov1-55/+140
Also, SASL mechanisms chaining is now supported: if several mechanisms are supported and authentication fails, next mechanism in the list is picked, until the list is exhausted. In the case of a failure, the latest SASL failure reason is returned within handle_auth_failure/3 callback.
2018-06-25Don't pass sockmod to xmpp_stream_outEvgeniy Khramtsov1-1/+1
2018-06-25Introduce resolve/2 and connect_options/3 callbacks for xmpp_stream_outEvgeniy Khramtsov1-33/+64
2018-06-25Allow gen_server process registrationEvgeniy Khramtsov1-0/+4
2018-06-25Allow reconnecting from disconnected stateEvgeniy Khramtsov1-0/+11
2018-06-25Intercept EXIT signalEvgeniy Khramtsov1-0/+2
2018-06-25Add Resource Binding support to xmpp_stream_outEvgeniy Khramtsov1-5/+70
2018-06-25Use error formatting functions from xmpp libraryEvgeniy Khramtsov1-30/+5
2018-06-23Generate SASL failures on unencrypted connections only for s2sEvgeniy Khramtsov1-3/+3
2018-06-01Send trailer and close socket explicitly on stream endEvgeniy Khramtsov1-2/+1
2018-05-26Don't call Mod:function() in xmpp_stream callbacksEvgeniy Khramtsov1-86/+111
If a callback function is not defined by the `Mod` then a call to code_server process is performed. Under heavy load this may cause code_server to get overloaded. We now avoid this.
2018-02-09Introduce option 'validate_stream'Evgeniy Khramtsov1-2/+3
If set to `true`, all incoming XML packets are fully validated against known schemas. If an error occurs, the packet will be bounced with the corresponding error reason. The default value is `false`. The option might be useful to protect client software from sofisticated bugs related to XML validation as well as for client developers who want to catch validation errors at early stage of development. Note that the option might have slight performance impact, so use it with care on loaded machines.
2018-01-28Improve logging of idle s2s connectionsEvgeniy Khramtsov1-2/+3
2018-01-13Improve logging of failed s2s EXTERNAL authenticationEvgeniy Khramtsov1-2/+4
2018-01-05Update copyright datesEvgeniy Khramtsov1-1/+1
2017-12-26Get rid of ejabberd receiverEvgeniy Khramtsov1-37/+51
ejabberd receivers were meant to serve connections from frontends to backends. However, this approach was not popular and frontend related code was removed in previous releases. Now, ejabberd receiver's code was also removed, making the code shorter and cleaner. Also, in stress tests ejabberd now handles load more robustly, without c2s processes overload (even with disabled shapers). ejabberd_socket.erl is renamed to xmpp_socket.erl: it's supposed to be finally moved into stand-alone xmpp library.
2017-12-09Better process subtag decoding errorsEvgeniy Khramtsov1-2/+8
2017-12-06Improve code using new xmpp APIEvgeniy Khramtsov1-5/+3
2017-10-25Fix another typo ;)Evgeniy Khramtsov1-1/+1
2017-10-25Fix typoEvgeniy Khramtsov1-1/+1
2017-10-25Mix _xmpp-server and _xmpps-server SRV recordsEvgeniy Khramtsov1-62/+76
XEP-0368 describes this procedure as following: > Both 'xmpp-' and 'xmpps-' records SHOULD be treated as > the same record with regard to connection order as specified > by RFC 2782 [3], in that all priorities and weights are mixed. > This enables the server operator to decide if they would > rather clients connect with STARTTLS or direct TLS.
2017-10-25Mention XEP-0368 supportEvgeniy Khramtsov1-0/+1
2017-10-13Reflect changes in the xmpp libEvgeniy Khramtsov1-5/+5
2017-09-28Fix function clause introduced by c17ec50e3aEvgeniy Khramtsov1-3/+3
2017-09-27Add support for XEP-0368: SRV records for XMPP over TLSEvgeniy Khramtsov1-26/+65
Currently this is only supported for outgoing s2s connections. For such connections ejabberd is now able to resolve SRV records of type "_xmpps-server._tcp". Also, SNI and ALPN fields are set during TLS handshake. No additional configuration is required.
2017-04-15Fix closing of outbound S2S connectionsEvgeniy Khramtsov1-16/+15
2017-04-15Improve ejabberd_c2s:close()Evgeniy Khramtsov1-20/+15
2017-04-14Make sure stream trailer is sent in the very endEvgeniy Khramtsov1-6/+7
2017-04-04Fix c2s connection close on demandEvgeniy Khramtsov1-0/+10
Fixes #1652
2017-03-18Better log s2s auth failures when TLS is not availableEvgeniy Khramtsov1-0/+6
2017-03-12Return 'closed' instead of 'einval' on closed socketsEvgeniy Khramtsov1-0/+2
2017-03-01Improve reporting of unavailable SASL mechanismsEvgeniy Khramtsov1-5/+6
2017-03-01Resolve all addresses from SRV lookupEvgeniy Khramtsov1-8/+10
2017-02-28Don't crash on malformed IP addressesEvgeniy Khramtsov1-6/+8
2017-02-28Improve logging of outbound s2s auth failuresEvgeniy Khramtsov1-1/+14
2017-02-28Resend stream header before calling handle_auth_success/2 callbackEvgeniy Khramtsov1-11/+11
2017-02-26Get rid of jid:to_string/1 and jid:from_string/1Evgeniy Khramtsov1-1/+1
2017-02-20Fix s2s_dns_timeout issuesEvgeniy Khramtsov1-2/+13
2017-02-18Fix some dialyzer warningsEvgeniy Khramtsov1-2/+3
2017-02-08Use p1_server behaviour in xmpp_stream layerEvgeniy Khramtsov1-1/+1
2017-01-20Update copyright headers in new filesEvgeniy Khramtsov1-1/+1
2017-01-18Don't attempt to resolve _jabber._tcp SRV recordEvgeniy Khramtsov1-10/+4
2017-01-13Fix some corner cases while re-reading RFC6120Evgeniy Khramtsov1-3/+3
2017-01-09Adopt remaining code to support new hooksEvgeniy Khramtsov1-76/+154
2016-12-31Better cope with IPv6 domainsEvgeniy Khramtsov1-1/+20