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.
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.
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
Inherited values are now displayed in /set output when the value is
null, if a parent option name is defined in option.
New option: weechat.color.chat_value_null
Since the received messages are displayed without UTF-8 conversion (ie
this is really the data received), it is consistent to display the
message really sent to server (ie after charset conversion), instead of
the UTF-8 internal message.
This is a workaround (disabled by default) to join and chat on ISO
encoded channels (or another charset different from UTF-8).
This option may be removed in future if a better solution is
implemented.
New possible values are:
- "continue": ignore the SASL failed (continue connection to server
without authentication)
- "reconnect": disconnect and schedule a reconnection to server
- "disconnect": disconnect