Dmitry Podgorny
b6fcb7035d
rand: replace time() with time_stamp() as entropy source
...
time_stamp() has bigger precision.
2016-09-02 17:38:42 +03:00
Dmitry Podgorny
c0a224cf84
Remove const in parser_free() declaration
...
To match the definitions.
2016-09-02 17:10:51 +03:00
Dmitry Podgorny
384ef8023e
auth: coding style
2016-09-02 17:10:14 +03:00
Dmitry Podgorny
f44232762e
tls/schannel: remove unused variable
2016-09-02 17:09:47 +03:00
Dmitry Podgorny
111659cc91
ctx: add workaround for ms compilers without va_copy support
2016-09-02 15:22:31 +03:00
Dmitry Podgorny
4ae4b8c94b
event: suppress warning about type overflow
2016-09-02 15:22:14 +03:00
Dmitry Podgorny
a45af3a929
resolver: srv_rr_list can be uninitialised
...
Resolver assumes that srv_rr_list is empty at the beginning. Make it so
explicitly and let user pass uninitialised list as argument.
2016-09-02 12:39:10 +03:00
Dmitry Podgorny
3e77afb27e
Fix type mismatch
...
Backported from NetXMS project.
2016-09-02 11:59:54 +03:00
Dmitry Podgorny
0c60e8d384
tls_openssl: coding style
2016-09-02 00:49:32 +03:00
Dmitry Podgorny
2bff3f8722
conn: unify error codes for API functions
...
Return error code from strophe.h instead of -1.
2016-09-02 00:49:32 +03:00
Dmitry Podgorny
dc56737b71
conn: implemented xmpp_connect_raw()
...
This function is similar to xmpp_connect_client(), but doesn't perform
authentication. Instead, it calls user's connection handler immediately
after establishing the connection. Hence, user can implement own
authendication or registration procedures.
Such a "raw" connection can be useful when user interaction is required
(e.g. Data Forms in XEP-0077, OAuth2).
2016-09-02 00:47:58 +03:00
Dmitry Podgorny
3869906357
Fixed spacing in event.c
2016-08-30 23:35:17 +03:00
Dmitry Podgorny
75b19be572
unify _sleep() macro in event.c
2016-08-30 19:43:05 +03:00
Dmitry Podgorny
14066d0bff
resolver: fix commit 171b285
2016-08-29 20:09:45 +03:00
Chih-Wei Chen
171b285cbe
sock : Add DNS-SRV list sorted by priority and weight, check result connection.
2016-08-29 11:32:20 +03:00
Dmitry Podgorny
1a657c67e2
Fixed typo
2016-05-21 01:28:39 +03:00
Dmitry Podgorny
3e86987f5f
sock: fixed build on cygwin
...
Cygwin doesn't have TCP_KEEPIDLE nor TCP_KEEPALIVE. Therefore, don't
change any tcp keepalive parameter on this system.
2016-05-11 11:30:21 +03:00
Dmitry Podgorny
e83d0d6b62
SCRAM-SHA-1: fixed base64-decoding of salt
...
Salt can contain 0x00, therefore must be decoded with
xmpp_base64_decode_bin().
2016-05-08 09:01:20 +03:00
Dmitry Podgorny
2ffb278aa4
Implemented public Base64 interface
...
Base64 is required for vCard avatars. It will also be useful for
an authentication mechanism with future xmpp_connect_raw() interface.
2016-04-30 18:09:01 +00:00
Dmitry Podgorny
7f57e3987a
tests/resolver: don't link against -lstrophe
2016-04-30 16:40:10 +00:00
Dmitry Podgorny
e4a4bdd3a3
Implemented public SHA1 interface
...
A number of XEPs require SHA1. Publishing its interface helps user to
reduce number of dependencies.
2016-04-29 22:51:23 +00:00
Dmitry Podgorny
b5d9b33b6f
Refactor rand
...
* Removed dependency from internal headers in rand.h. xmpp_rand
interface can be public in the future;
* xmpp_rand functions accept xmpp_rand_t object instead of xmpp_ctx_t.
2016-04-29 22:51:23 +00:00
Dmitry Podgorny
192ab59608
resolver: fixed uninitialised var
2016-04-28 20:40:16 +00:00
Dmitry Podgorny
a3da77b8f6
stanza: return const char* for non allocated strings
...
If interface function returns char* the result must be freed with
xmpp_free().
In case of const char* the result must not be changed by user. Also, the
result is valid only during stanza lifetime.
2016-04-27 11:56:50 +00:00
Dmitry Podgorny
a2834f8f92
conn: fixed doxygen comments
2016-04-26 20:27:25 +00:00
Dmitry Podgorny
2ef432f632
conn: xmpp_conn_set_keepalive() stores parameters in conn
...
Store keepalive parameters in conn object. This allows call the function
with a disconnected conn. Also, the parameters are not cleared on
reconnect and applied once a socket is created.
2016-04-26 19:48:34 +00:00
Dmitry Podgorny
a50d706bcd
stanza: added helpers for particular stanzas
...
These are wrappers for message, iq and presence stanzas.
2016-04-26 19:19:51 +00:00
Dmitry Podgorny
ca7af9c837
Fixed indentation and typos
2016-04-26 19:19:51 +00:00
Dmitry Podgorny
a65679dd72
conn: removed unused fields from xmpp_conn_t
2016-04-26 13:03:16 +00:00
Dmitry Podgorny
211748e65a
Replace bit mask hex values with shifts
2016-04-26 13:01:22 +00:00
Dmitry Podgorny
4c0c12343f
sha1: moved SHA1HANDSOFF definition
2016-04-22 21:30:17 +00:00
Dmitry Podgorny
96873984b2
conn: handle stream tag properly
...
If `id == NULL' there were two issues: use-after-free error or
logging wrong error description.
Also open stream handler was called even when error occured and
conn object was disconnected.
2016-04-22 21:04:29 +00:00
Dmitry Podgorny
b06599963b
conn: make xmpp_conn_t object reusable
...
Disconnected xmpp_conn_t object can be connected again. The object
is reset before connection, but the next fields remain untoucned:
* all handlers
* flags
* jid and password
Main use-case of this change is reconnect when an error occurs.
2016-04-22 20:52:36 +00:00
Dmitry Podgorny
ab80d72518
tls/openssl: handle SSL_shutdown() properly
...
Handle SSL_ERROR_WANT_READ/WRITE and return value 0.
2016-04-19 19:57:52 +00:00
Dmitry Podgorny
ba7422c893
tls/openssl: be more verbose
...
Log non-recoverable errors. The openssl error queue can contain useful
information.
2016-04-19 18:21:27 +00:00
Dmitry Podgorny
4b444ea699
tls/openssl: fixed indentation
2016-04-19 16:33:47 +00:00
Dmitry Podgorny
96dc61c772
sock: use sock_close() instead of close()
2016-04-16 20:19:16 +00:00
Andrey (Stanson) Kozin
f5c2c81142
Added conn_send_queue_purge() function.
...
Function frees all data and clean send queue in
xmpp_conn_release()
xmpp_connect_client()
xmpp_connect_component()
2016-04-15 16:08:24 +00:00
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