Commit Graph

420 Commits

Author SHA1 Message Date
Dmitry Podgorny
84fa4466ee conn: clear authenticated flag on reset 2016-09-03 17:09:21 +03:00
Dmitry Podgorny
beaaab5742 tls_schannel: don't force RC4 for TLS handshake
Leave default configuration. A particular server closes tcp connection
during negotiation otherwise.

tls_schannel is still broken and tls_read() fails with
SEC_E_UNSUPPORTED_FUNCTION error.
2016-09-03 16:38:43 +03:00
Dmitry Podgorny
f351d62355 tests/jid: fixed crash on QNX
QNX version of printf() doesn't check whether a string is valid or not.
Passing NULL pointer leads to a crash inside strlen(). Fix this with a
wrapper _s() which returns "<NULL>" for instead of NULL pointer.
Add checks before strcmp() to avoid crash in case of unexpected result
of the jid functions.
2016-09-02 19:57:25 +03:00
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
2b2de142ef tests/resolver: fix the test and add new testcase
It was broken because of changed API.
2016-09-02 12:45:28 +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
b0a1842a53 examples/bot: fix memory leaks and use stanza helpers 2016-08-30 15:32:10 +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
f46cf669a3 Android: added make files 2016-08-22 15:52:31 +03:00
James Booth
09e5103eee Update ChangeLog 2016-08-22 13:10:23 +01: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
c62d1d64ab tests/ctx: enable the test 2016-04-30 16:37:18 +00:00
Dmitry Podgorny
c9a5cba113 tests/jid: enable the test 2016-04-30 16:15:45 +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
565ace7982 tests/snprintf: undef HAVE_SNPRINTF and HAVE_VSNPRINTF 2016-04-29 22:51:23 +00:00
Dmitry Podgorny
71d90d60a5 Fixed comments inside strophe.h
Don't use doxygen comments in strophe.h since functions are documented
in *.c files.
Remove mutex from xmpp_log_t because libstrophe is single-thread
library.
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
063f4deb22 Refactor autotools scripts
* Add --disable-tls
* Check for libxml2 if expat is not found
* Single coding style
2016-04-28 22:37:27 +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
c0aad0bf00 README: describe autotools dependency 2016-04-27 11:54:04 +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