Stu Tomlinson
06afe3d1c2
Add API to register callback to set socket options
...
The registered callback function will be called before connect() is
called on the socket, allowing tweaking of much more than just keepalive
settings.
This deprecates xmpp_conn_set_keepalive().
Includes helper/example callback function to set default keepalive
parameters that some library users may find useful.
2022-03-17 22:59:07 +00:00
Steffen Jaeckel
fc6ba89c61
properly rename internal [v]snprintf() functions
...
Otherwise it clashes when we want to re-introduce the `xmpp_` prefix'ed
versions.
Signed-off-by: Steffen Jaeckel <jaeckel-floss@eyet-services.de >
2022-03-16 14:39:20 +01:00
Dmitry Podgorny
db8a511f68
style: remove extra const keyword from interfaces
...
Const variables in prototypes don't add much value, but make the code
larger and redundant. Remove these const keywords.
Note, this doesn't apply to pointers to const memory.
2021-03-19 22:12:15 +02:00
Dmitry Podgorny
7c83eb0efa
windows: rewrite headers in lower case
...
Otherwise, compilation fails on systems that are case sensitive.
Reference: #159 .
2020-05-31 21:03:44 +03:00
Dmitry Podgorny
20c039fdb8
sock: replace sockaddr with sockaddr_storage
...
sockaddr structure may be insufficient to hold IPv6 address. Replace it
with sockaddr_storage structure.
Fixes #153 .
2020-03-31 16:29:09 +03:00
Dmitry Podgorny
562a06425b
Unify coding style
...
@sjaeckel integrated clang-format with formal coding style. Run his
script and commit changes.
There are pros and cons of this commit.
Mixed coding style is a "broken window". A good single style simplifies
reading and writing code.
On the other hand, this is a big change which will lead to conflicts.
2020-01-31 01:16:50 +02:00
Steffen Jaeckel
abd1b08a97
trim trailing spaces
2020-01-31 01:14:32 +02:00
Dmitry Podgorny
038404cb99
sock: reduce copy-paste
...
Move setting (non)block mode to a single static function.
2019-10-14 20:13:04 +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
96dc61c772
sock: use sock_close() instead of close()
2016-04-16 20:19:16 +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
Dmitry Podgorny
a78201bae0
sock: use xmpp_snprintf instead of snprintf
2015-10-16 14:58:18 +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
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
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
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
Chih-Wei Chen
b2a98fb9b6
sock : Add IPv6 support
2015-10-10 00:24:08 +03:00
Dariusz Dwornikowski
71f75b2e2e
Closes #31
2014-10-23 08:44:52 +02:00
Jack Moffitt
713cfa245a
Another try at OpenBSD fixes.
...
nameser_compat.h is required on Darwin, but doesn't exist on
OpenBSD. Also, OpenBSD doesn't support the ns_c_in or ns_t_srv enums,
so the C_IN and T_SRV macros are required.
2012-02-10 22:10:32 -07:00
Jack Moffitt
f9471368f5
Fix snprintf warnings about missing format strings.
2012-02-08 21:46:37 -07:00
Jack Moffitt
143eec7e1f
Remove need for nameser_compat.h.
2012-02-08 21:46:25 -07:00
Jack Moffitt
370a371800
Dual licensed libstrophe under MIT and GPLv3.
...
Updated copyright headers.
2009-06-15 15:26:10 -06:00
Jack Moffitt
3b47afaac9
Fix warnings and line endings from previous SRV commit. Get rid of domain parameter of xmpp_connect_client(). Remove usused handler.c helper left over from previous commit.
2008-07-03 05:20:59 +00:00
James Canete
561fac842c
Add linux/unix version of SRV lookup.
...
Add some extra debugging when SRV lookup fails.
2008-07-03 04:32:28 +00:00
James Canete
1c098531d8
Rewrite sock lib to not use malloc.
2008-07-03 00:26:44 +00:00
Jack Moffitt
9c49b16554
Fix examples to use new API and lots of compiler warnings.
2008-07-02 23:17:27 +00:00
Jack Moffitt
65a174ee7e
Most public API points are now documented.
2008-06-24 14:43:54 +00:00
Jack Moffitt
b6027cfd7f
Updated copyright years and fixed LLC typo.
2008-06-19 22:33:13 +00:00
James Canete
77e3b1be77
Improve sock_connect_error(), and add manual DNS query support.
2008-05-14 21:07:50 +00:00
James Canete
1f453d2ecf
Add schannel support (win32 only)
...
Fix a couple compile warnings.
Extend features timeout to 5 seconds.
2007-11-05 02:30:04 +00:00
James Canete
f45380bb23
Added OpenSSL support.
...
Added win32-specific srv lookup support.
Extend session timeout to 15 seconds.
2007-09-05 20:01:24 +00:00
Ralph Giles
76e0c6a4b3
Add the 'libstrophe' name to the copyright headers.
2005-06-15 16:58:11 +00:00
Jack Moffitt
e6fa890d3d
Minor fixes for Win32 build. It now builds, but doesn't link.
2005-06-14 22:35:15 +00:00
Ralph Giles
f27235b862
Move the xmpp library to its new name.
2005-06-14 14:10:31 +00:00