Dmitry Podgorny
85bf3f4241
conn: don't set flag in xmpp_conn_disable_tls() directly
...
Instead, use xmpp_conn_set_flags() interface to force all necessary
checks.
2016-04-13 12:43:03 +00:00
Dmitry Podgorny
e60895087e
event: let event loop start after xmpp_stop()
2016-04-13 10:25:15 +00:00
Dmitry Podgorny
b169c0a91e
conn: refactore connect functions
...
Common code is moved to a separated function.
2016-04-12 20:19:16 +00:00
Dmitry Podgorny
968cb7dcdf
conn: fixed indentation
2016-04-12 20:07:58 +00:00
Dmitry Podgorny
367aeb5844
conn: don't set tcp keepalives for disconnected connection
...
In XMPP_CONN_DISCONNECTED state conn->sock is undefined.
2016-04-08 18:17:07 +00:00
Dmitry Podgorny
5518a9e10a
sock: refactore tcp keepalive setting
...
- Leave default number of keepalive probes rather than hardcoded value
- QNX and OSX use TCP_KEEPALIVE instead of TCP_KEEPIDLE
- QNX doesn't have TCP_KEEPINTVL
2016-04-08 18:12:48 +00:00
Andrey (Stanson) Kozin
6c1c2a86f8
TCP keepalive setting support
2016-04-08 16:40:56 +00:00
Dmitry Podgorny
b7e308d057
Implemented resolver to replace sock_srv_lookup()
2016-02-20 00:15:08 +02:00
Andrey (Stanson) Kozin
714b2f9c03
Free send queue on connection release
2016-02-06 00:10:21 +00:00
Dmitry Podgorny
5b41247bac
rand: remove sizeof(uint8_t) because it's always 1
2016-01-10 13:05:30 +02:00
vf
fc563272fe
Fix for MSVC
2016-01-09 17:57:32 +03:00
Dmitry Podgorny
38545af533
parser/expat: reduce code duplication
2015-12-21 13:46:51 +02:00
Dmitry Podgorny
a1bc5e82cf
sha1: don't make in-place operations
...
SHA1HANDSOFF makes SHA1_Transform() use an internal buffer.
2015-12-06 11:11:52 +02:00
Dmitry Podgorny
01af2deed9
conn: fixed memory leak
...
Memory leak appeared when xmpp_connect_client() was called for a
connection more than once. In this case conn->domain wasn't freed.
2015-10-23 01:28:19 +03:00
Dmitry Podgorny
2aea1a627c
stanza: avoid copy-paste in 'get' functions
2015-10-21 02:13:55 +03:00
Dmitry Podgorny
e475ca13ea
stanza: handle errors better
...
* Free memory on error in xmpp_stanza_set_attribute()
* Handle memory allocation error in xmpp_stanza_set_text()
2015-10-21 02:11:03 +03:00
Dmitry Podgorny
c012f20c99
stanza: handle EMEM in xmpp_stanza_set_name()
2015-10-20 16:26:43 +03:00
Tristan Le Guern
9de0293405
Implement xmpp_stanza_reply()
...
This function creates a copy of the given stanza minus its children and
set the “to” attribute with the value of the original “from”.
2015-10-20 16:26:43 +03:00
Tristan Le Guern
21f742f888
Implement xmpp_stanza_del_attribute()
2015-10-20 16:26:43 +03:00
Tristan Le Guern
0d4bcc0228
Extract the copy loop into its own function
...
It will help reduce code duplication for xmpp_stanza_copy
2015-10-20 16:26:43 +03:00
Tristan Le Guern
90a595f8ef
Implements helpers for to and from attributes
...
xmpp_stanza_{get,set}_{from,to}
2015-10-20 15:22:20 +03:00
Dmitry Podgorny
a39267c1b0
conn: use altport for legacy ssl if specified
2015-10-19 22:42:44 +03:00
Dmitry Podgorny
9cea7e4002
md5: cleanup
...
* Indentation
* Removed MD5DumpBytes()
* Removed ASM_MD5
2015-10-18 03:03:15 +03:00
Dmitry Podgorny
f63aba88d4
conn: fixed indentations
2015-10-18 02:22:15 +03:00
Dmitry Podgorny
a78201bae0
sock: use xmpp_snprintf instead of snprintf
2015-10-16 14:58:18 +03:00
Tristan Le Guern
a61dba0c13
Move declarations of xmpp_{v,}snprintf.
...
Use HAVE_SNPRINTF and HAVE_VSNPRINTF to conditionnaly use an internal
version of these functions or use the libc one.
2015-10-16 14:48:10 +03:00
Dmitry Podgorny
60cfcc72e6
snprintf: moved self-test to a separated test
2015-10-16 00:05:26 +03:00
Dmitry Podgorny
4cc9ba79c4
sock: choose target with the lowest priority
...
sock_srv_lookup chose the last target in the answer section. But it must
choose one with the lowest priority it can reach (due to RFC2052).
2015-10-15 17:49:44 +03:00
Dmitry Podgorny
182803926b
conn: added new API xmpp_conn_set_flags()
...
xmpp_conn_set_flags() and xmpp_conn_get_flags() unify interface of
connection configuration.
This interface allows compile-time check of supported features or even
run-time check. Therefore, applications can be built with older
libstrophe which doesn't support some optional flags.
2015-10-15 16:01:13 +03:00
Dmitry Podgorny
e41b7a06e4
sha1: moved self test to separated test
2015-10-15 00:35:19 +03:00
Dmitry Podgorny
0994022066
scram: renamed BLOCK_SIZE
...
BLOCK_SIZE is too common name, so remove it to HMAC_BLOCK_SIZE.
2015-10-15 00:11:09 +03:00
Dmitry Podgorny
c156e13791
sock: removed unused static functions
2015-10-14 01:45:25 +03:00
Tristan Le Guern
a47b71e52b
netbuf_* and friends should be static
2015-10-13 23:17:09 +02:00
Tristan Le Guern
db908563d0
xmpp_default_logger should be static
2015-10-13 23:16:44 +02:00
Dmitry Podgorny
b5e49a0600
base64: fixed crash when len is small
2015-10-13 23:20:41 +03:00
Dmitry Podgorny
b04c40d3ea
tls: don't hang with openssl implementation
...
* Exit from tls_start() on fatal errors. If SSL_connect() fails and
returns -1 this leads to endless loop in case of fatal error.
* Don't set writefds on SSL_ERROR_WANT_READ. Otherwise, this makes
select(2) exit immediately what leads to CPU usage.
2015-10-13 02:43:23 +03:00
Tristan Le Guern
442914c375
Shorten the nlen+dlen+rlen part
2015-10-13 01:11:45 +03:00
Tristan Le Guern
a4558b69df
Publicly expose JID manipulation functions
2015-10-13 01:11:25 +03:00
Dmitry Podgorny
07751974ac
conn: fixed typo
2015-10-13 00:53:15 +03:00
Dmitry Podgorny
8ff46add8c
conn: don't remember tls state from old connection
...
* Clear conn->secured and conn->tls_failed. These values could be
saved after re-connect.
* conn is not secured if conn->tls is NULL. This condition handles
disconnected connections.
2015-10-13 00:44:23 +03:00
Dmitry Podgorny
b7fbc81740
conn: added API xmpp_conn_is_secured()
...
This patch is provided by @kjkao. New API is already used in
WorksSystems/wks_xep0047.
2015-10-13 00:10:02 +03:00
Dmitry Podgorny
36af7afa27
conn: implemented old-style SSL connection
...
Added new API xmpp_conn_set_old_style_ssl(). This function forces
using of old-style SSL connection.
2015-10-12 22:25:39 +03:00
Dmitry Podgorny
254b9d73a1
sock: do nothing if srv lookup fails
...
Proper action is performed in xmpp_connect_client.
2015-10-12 22:06:27 +03:00
Dmitry Podgorny
8627fbb13f
Implemented UUID generation (RFC4122)
...
This patch adds new API:
* xmpp_uuid_gen()
2015-10-12 15:17:22 +03:00
Dmitry Podgorny
533664903a
tls: fixed GnuTLS implementation
2015-10-11 16:30:50 +03:00
Dmitry Podgorny
cda805163f
conn: cleanup of headers
...
* added stdarg.h
* removed unused headers
2015-10-11 05:38:12 +03:00
Dmitry Podgorny
8339fd0420
sock: socket should be non-blocking
...
Event loop handles asynchronous connections.
2015-10-11 05:20:31 +03:00
Dmitry Podgorny
63946ff7ef
sock: set AI_ADDRCONFIG only if defined
...
AI_ADDRCONFIG is undefined on some systems.
2015-10-10 23:09:48 +03:00
Dmitry Podgorny
e6bbfa7a62
Updated license in new files
2015-10-10 01:11:08 +03:00
Chih-Wei Chen
b2a98fb9b6
sock : Add IPv6 support
2015-10-10 00:24:08 +03:00