1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-25 20:36:38 +02:00
Commit Graph

96 Commits

Author SHA1 Message Date
Sébastien Helleu e130ee7358 core: make GnuTLS a required dependency 2020-04-18 11:34:59 +02:00
Sébastien Helleu feb6258910 core: update copyright dates 2020-01-04 10:41:26 +01:00
Sébastien Helleu 413aa499cc core: add documentation on command line debug options (in --help and man pages)
Command line debug options are now documented:

* --no-dlclose: do not call the function dlclose after plugins are unloaded
* --no-gnutls: do not call the init and deinit functions of GnuTLS library
* --no-gcrypt: do not call the init and deinit functions of Gcrypt library

These options must not be used in production, they're for debug only and can be
used with tools like Valgrind or electric-fence.
2019-03-31 23:53:54 +02:00
Sébastien Helleu 2b0057239b core: update copyright dates 2019-01-01 15:40:51 +01:00
Sébastien Helleu 342261d35b core: use https for all links where secured http is supported 2018-11-29 23:18:55 +01:00
Sébastien Helleu 4712d0bb06 core: use https for links to GNU GPL license 2018-11-29 23:16:07 +01:00
Sébastien Helleu d26380a9bb core: replace "Mac OS X" and "OS X" by "macOS" (issue #1272) 2018-11-18 11:04:29 +01:00
Sébastien Helleu ed3f281ba9 api: add functions string_base_{encode,decode}, remove functions string_{encode,decode}_base64 2018-11-04 14:49:11 +01:00
Sébastien Helleu 8848b0e22a api: return integer in function string_encode_base64 2018-11-02 14:09:23 +01:00
Simon Arlott 9aaea09b02 core: unhook TLS handshake fd before calling connect callback
When there are multiple addresses for a server and a TLS handshake failure
occurs, the next server in the list will connect and then timeout without
performing any TLS handshake.

This is because irc_server_close_connection closes server->sock so the next
pipe to be created reuses that fd, but the hook for the handshake fd still
exists when the next connection attempt is started.

The hook for network_connect_child_read_cb is never added because a hook
for the reused fd number still exists.

Resolve this by removing the handshake hook before calling the connect
callback.
2018-05-22 12:27:41 +01:00
Sébastien Helleu 7ee88fb46c core: fix some styles 2018-01-07 09:11:45 +01:00
Sébastien Helleu ed4837b2f6 core: update copyright dates 2018-01-05 00:54:18 +01:00
Sébastien Helleu 705d86e684 core: update copyright dates 2017-01-01 11:32:04 +01:00
Sébastien Helleu 6c1815d3d1 core, xfer: display more information on fork errors (issue #573) 2016-12-13 18:24:46 +01:00
Sébastien Helleu d6767b4ed6 api: fix crash in function network_connect_to() if address is NULL (issue #781) 2016-08-20 19:55:35 +02:00
Sébastien Helleu c2ea70c3e9 api: fix connection to servers with hook_connect() on Windows 10 with Windows subsystem for Linux (issue #770)
The test on socketpair() function is now made when hooks are
initialized (instead of doing the test at compilation time).
2016-08-19 20:06:04 +02:00
Sébastien Helleu 751769b49d core: irc, xfer: do not check return code of res_init()
If the call to res_init() fails, the connection may be OK anyway
or in worst case it will fail (with an appropriate error) if the name
can not be resolved.
2016-08-07 16:17:42 +02:00
Sébastien Helleu f695a79d9b core, irc, xfer: add missing includes for function res_init() 2016-08-07 16:15:59 +02:00
Raghavendra Prabhu 761c5e2d11 core/plugins: Use res_init before getaddrinfo.
With weechat, if the network changes in anyway that causes resolv.conf
to be updated, that is not picked up, resulting in

    irc: connecting to server XXXX.com/1026 (SSL)...
    irc: address "XXX.com" not found
    irc: error: Name or service not known
    irc: reconnecting to server in 30 seconds

This happens, especially when one connects to an irc server behind a
VPN.

This can also happen when there is no network connectivity weechat was started
but later network is connected to.

The fix is simple, it relies on calling  res_init (3) before getaddrinfo in
network_connect_child and other places.

res_init reloads the resolv.conf and getaddrinfo does not fail with
address resolution error.
2016-08-07 13:20:54 +01:00
Sébastien Helleu 7342a47de0 core, irc, xfer: display more information in memory allocation errors (issue #573) 2016-05-27 20:13:35 +02:00
Sébastien Helleu b9d427fc1f core: add missing pointer argument in calls to hook_connect callback 2016-03-22 07:25:25 +01:00
Sébastien Helleu cf6aca1619 core: add pointer in some callbacks (closes #406)
This pointer is the first argument received by callbacks, and the
existing argument "data" is now automatically freed by WeeChat when the
object containing the callback is removed.

With this new pointer, the linked list of callbacks in scripts has been
removed. This will improve speed of scripts (using a lot of hooks),
reduce memory used by scripts and reduce time to unload scripts.

Following functions are affected in the C API:

* exec_on_files
* config_new
* config_new_section
* config_new_option
* hook_command
* hook_command_run
* hook_timer
* hook_fd
* hook_process
* hook_process_hashtable
* hook_connect
* hook_print
* hook_signal
* hook_hsignal
* hook_config
* hook_completion
* hook_modifier
* hook_info
* hook_info_hashtable
* hook_infolist
* hook_hdata
* hook_focus
* unhook_all_plugin
* buffer_new
* bar_item_new
* upgrade_new
* upgrade_read
2016-03-21 18:11:21 +01:00
Sébastien Helleu 3330724574 core: update copyright dates 2016-01-01 11:09:53 +01:00
Sébastien Helleu 136da36d7a irc: add support of SNI in SSL connection to IRC server (closes #620) 2015-12-10 07:13:20 +01:00
Sébastien Helleu 3b2ee85b04 core: fix crash if a file descriptor used in hook_fd() is too high (> 1024 on Linux/BSD) (closes #465)
The calls to select() are replaced by poll(), which doesn't have limitation
on file descriptor number.
2015-07-18 20:03:34 +02:00
Sébastien Helleu 86886e311a core: fix format of comment 2015-07-17 19:46:53 +02:00
Sébastien Helleu 8d25cd5d34 core: fix compilation on Cygwin
The header sys/select.h is now required for select() function.
2015-05-01 09:54:07 +02:00
Sébastien Helleu 71dd64678c core: add comments after some #endif 2015-04-30 21:15:30 +02:00
Sébastien Helleu b0117f0d18 core: add gnutls version in #if compiler directives 2015-01-21 07:50:54 +01:00
Sébastien Helleu a020c28ea6 core: update copyright dates 2015-01-01 09:23:23 +01:00
Sebastien Helleu a4a4e2f38f core: fix compilation on SmartOS (bug #40981, closes #23) 2014-03-16 19:18:16 +01:00
Andrew Potter 144dc60d0a xfer: add support of IPv6 for DCC chat/file (patch #7992) 2014-01-09 12:48:54 +01:00
Sebastien Helleu 892aa79fb5 core: update copyright dates 2014-01-01 00:14:12 +01:00
Sebastien Helleu 2110c6d92e core: add support of secured data in proxy options username/password (evaluate content) 2013-09-19 15:12:04 +02:00
Sebastien Helleu a490195032 core: add secured data with optional encryption in file sec.conf 2013-07-27 12:57:08 +02:00
Sebastien Helleu 1a9fe7b590 core: fix compilation error when gnutls is not found 2013-05-24 14:16:13 +02:00
Sebastien Helleu e7c947df3e core: fix compilation warnings 2013-05-22 20:56:54 +02:00
Sebastien Helleu 149c77decd core: fix typos in many comments and some strings 2013-03-17 12:55:20 +01:00
Simon Kuhnle 1c17274178 core: fix compilation on OpenBSD (bug #38022)
File "sys/uio.h" needs to be included explicitly for use of "struct iovec" on OpenBSD.

Signed-off-by: Simon Kuhnle <simon@blarzwurst.de>
2013-01-04 17:52:35 +01:00
Sebastien Helleu f97598b4aa core: update copyright dates 2013-01-01 13:12:49 +01:00
Sebastien Helleu 7eb5cc4b97 core: move comments with description of C file to top of files 2012-12-15 12:27:57 +01:00
Sebastien Helleu 7d34812f1c core: reformat comments for functions 2012-12-13 18:51:44 +01:00
stfn c2b26972da core: fix gnutls warnings 2012-10-18 22:36:52 +02:00
Simon Arlott d5f140805b core: fix sendmsg/recvmsg on BSD/OSX by sending 1 byte of data (in hook_connect) 2012-10-17 17:32:56 +02:00
Simon Arlott 248aa8d73a api: connect with IPv6 by default in hook_connect (with fallback to IPv4), shuffle list of hosts for a same address (task #11205) 2012-10-14 10:59:00 +02:00
Sebastien Helleu e767346a19 core: fix IP address returned by hook_connect (return IP really used, not first IP for hostname) 2012-08-25 18:51:25 +02:00
Sebastien Helleu a99d136018 core: add new plugin "script" (scripts manager, replacing scripts weeget.py and script.pl) 2012-08-14 18:29:32 +02:00
Sebastien Helleu 5164bab407 core: add hidden command line options --no-gnutls and --no-gcrypt (no init/deinit of gnutls/crypt, useful for valgrind/electric-fence) 2012-08-14 11:05:35 +02:00
Sebastien Helleu 777fa366d7 core: fix connection to host in child process when socket is non-blocking (with or without proxy) 2012-08-08 14:20:48 +02:00
Sebastien Helleu c13b2ca57d core: return error string to callback of hook_connect if getaddrinfo fails in child process 2012-08-06 16:39:58 +02:00