Previously using option values
irc.look.buffer_open_before_join off
irc.look.buffer_switch_join on
and manually joining a channel which gets forwarded
(e.g. #linux -> ##linux-overflow on freenode) the channel buffer for
##linux-overflow was not switched to even though the option says it should
have.
This patch copies manual join and noswitch information for channels which
get forwarded.
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.
Options moved from irc.conf to weechat.conf:
* "irc.look.nick_color_force" moved to "weechat.look.nick_color_force"
* "irc.look.nick_color_hash" moved to "weechat.look.nick_color_hash"
* "irc.look.nick_color_stop_chars" moved to
"weechat.look.nick_color_stop_chars"
New info (for API function "info_get"):
* "nick_color" (replaces "irc_nick_color")
* "nick_color_name" (replaced "irc_nick_color_name")
Info "irc_nick_color" and "irc_nick_color_name" are now deprecated.
And a bug has been fixed in nick coloring: stop chars are removed before
looking at a forced color.
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
Previously SASL did not fail when it was set up for the server but wasn't
supported by it. This makes no difference when the server's sasl_fail is
set to "continue" but might make a difference if set to "disconnect" or
"reconnect".
To make sure server connection is not made under such circumstances, this
patch adds an extra configurable ("on" by default) check to trigger SASL
failure when it is set up but not supported by the server. Although not
directly a SASL failure, this makes SASL not-authenticated scenarios all
handled consistently, while providing extra security by not silently
ignoring not being authenticated as requested.