mirror of
https://github.com/weechat/weechat.git
synced 2026-07-10 02:45:42 +02:00
irc: connect with TLS and port 6697 by default (issue #1903)
This commit is contained in:
+1
-1
@@ -36,7 +36,7 @@ New features::
|
||||
* core: add item "mouse_status" in default status bar, change default color to lightgreen
|
||||
* api: add function config_set_version (issue #1238)
|
||||
* alias: use lower case for default aliases, rename all aliases to lower case on upgrade (issue #1872)
|
||||
* irc: rename "ssl" options to "tls"
|
||||
* irc: rename "ssl" options to "tls", connect with TLS and port 6697 by default
|
||||
* irc: add command `/rules` (issue #1864)
|
||||
* irc: add command `/knock` (issue #7)
|
||||
* irc: add server option "registered_mode", add fields "authentication_method" and "sasl_mechanism_used" in server (issue #1625)
|
||||
|
||||
@@ -5549,7 +5549,7 @@ IRC_COMMAND_CALLBACK(server)
|
||||
{
|
||||
int i, detailed_list, one_server_found, length, count, refresh;
|
||||
struct t_irc_server *ptr_server2, *server_found, *new_server;
|
||||
char *server_name, *msg_no_quotes, *message;
|
||||
char *server_name, *msg_no_quotes, *message, *description;
|
||||
|
||||
IRC_BUFFER_GET_SERVER_CHANNEL(buffer);
|
||||
|
||||
@@ -5647,9 +5647,11 @@ IRC_COMMAND_CALLBACK(server)
|
||||
new_server->options[IRC_SERVER_OPTION_ADDRESSES], argv[3], 1);
|
||||
irc_server_apply_command_line_options (new_server, argc, argv);
|
||||
|
||||
description = irc_server_get_addresses_ports_tls (new_server);
|
||||
|
||||
weechat_printf (
|
||||
NULL,
|
||||
_("%s: server added: %s%s%s%s%s"),
|
||||
_("%s: server added: %s%s%s%s%s -> %s"),
|
||||
IRC_PLUGIN_NAME,
|
||||
IRC_COLOR_CHAT_SERVER,
|
||||
new_server->name,
|
||||
@@ -5657,7 +5659,11 @@ IRC_COMMAND_CALLBACK(server)
|
||||
/* TRANSLATORS: "temporary IRC server" */
|
||||
(new_server->temp_server) ? _(" (temporary)") : "",
|
||||
/* TRANSLATORS: "fake IRC server" */
|
||||
(new_server->fake_server) ? _(" (fake)") : "");
|
||||
(new_server->fake_server) ? _(" (fake)") : "",
|
||||
description);
|
||||
|
||||
if (description)
|
||||
free (description);
|
||||
|
||||
/* do not connect to server after adding it */
|
||||
/*
|
||||
@@ -6978,7 +6984,8 @@ irc_command_init ()
|
||||
N_(" server: server name, which can be:\n"
|
||||
" - internal server name (added by /server add, "
|
||||
"recommended usage)\n"
|
||||
" - hostname/port or IP/port, port is 6667 by default\n"
|
||||
" - hostname/port or IP/port, port is 6697 by default "
|
||||
"for TLS, 6667 otherwise\n"
|
||||
" - URL with format: irc[6][s]://[nickname[:password]@]"
|
||||
"irc.example.org[:port][/#channel1][,#channel2[...]]\n"
|
||||
" Note: for an address/IP/URL, a temporary server is "
|
||||
@@ -6999,10 +7006,10 @@ irc_command_init ()
|
||||
"\n"
|
||||
"Examples:\n"
|
||||
" /connect libera\n"
|
||||
" /connect irc.oftc.net/6667\n"
|
||||
" /connect irc6.oftc.net/6667 -ipv6\n"
|
||||
" /connect irc6.oftc.net/6697 -ipv6 -tls\n"
|
||||
" /connect my.server.org/6697 -tls -password=test\n"
|
||||
" /connect irc.oftc.net\n"
|
||||
" /connect irc.oftc.net/6667 -notls\n"
|
||||
" /connect irc6.oftc.net/9999 -ipv6\n"
|
||||
" /connect my.server.org -password=test\n"
|
||||
" /connect irc://nick@irc.oftc.net/#channel\n"
|
||||
" /connect -switch"),
|
||||
"%(irc_servers)|-all|-auto|-open|-nojoin|-switch|%*",
|
||||
@@ -7522,7 +7529,8 @@ irc_command_init ()
|
||||
"is used to connect to the server (/connect name) and to set server "
|
||||
"options: irc.server.name.xxx\n"
|
||||
"hostname: name or IP address of server, with optional port "
|
||||
"(default: 6667), many addresses can be separated by a comma\n"
|
||||
"(default: 6697 for TLS, 6667 otherwise), many addresses can be "
|
||||
"separated by a comma\n"
|
||||
" -temp: add a temporary server (not saved)\n"
|
||||
" option: set option for server (for boolean option, value can be "
|
||||
"omitted)\n"
|
||||
@@ -7557,9 +7565,9 @@ irc_command_init ()
|
||||
"Examples:\n"
|
||||
" /server listfull\n"
|
||||
" /server add libera irc.libera.chat\n"
|
||||
" /server add libera irc.libera.chat/6697 -tls -autoconnect\n"
|
||||
" /server add libera irc.libera.chat/6667 -notls -autoconnect\n"
|
||||
" /server add chatspike irc.chatspike.net/6667,"
|
||||
"irc.duckspike.net/6667\n"
|
||||
"irc.duckspike.net/6667 -notls\n"
|
||||
" /server copy libera libera-test\n"
|
||||
" /server rename libera-test libera2\n"
|
||||
" /server reorder libera2 libera\n"
|
||||
|
||||
@@ -997,8 +997,18 @@ irc_config_server_default_change_cb (const void *pointer, void *data,
|
||||
switch (index_option)
|
||||
{
|
||||
case IRC_SERVER_OPTION_ADDRESSES:
|
||||
irc_server_set_addresses (ptr_server,
|
||||
weechat_config_string (option));
|
||||
irc_server_set_addresses (
|
||||
ptr_server,
|
||||
weechat_config_string (option),
|
||||
IRC_SERVER_OPTION_BOOLEAN(
|
||||
ptr_server, IRC_SERVER_OPTION_TLS));
|
||||
break;
|
||||
case IRC_SERVER_OPTION_TLS:
|
||||
irc_server_set_addresses (
|
||||
ptr_server,
|
||||
IRC_SERVER_OPTION_STRING(
|
||||
ptr_server, IRC_SERVER_OPTION_ADDRESSES),
|
||||
weechat_config_boolean (option));
|
||||
break;
|
||||
case IRC_SERVER_OPTION_NICKS:
|
||||
irc_server_set_nicks (ptr_server,
|
||||
@@ -1006,10 +1016,15 @@ irc_config_server_default_change_cb (const void *pointer, void *data,
|
||||
break;
|
||||
case IRC_SERVER_OPTION_AWAY_CHECK:
|
||||
case IRC_SERVER_OPTION_AWAY_CHECK_MAX_NICKS:
|
||||
if (IRC_SERVER_OPTION_INTEGER(ptr_server, IRC_SERVER_OPTION_AWAY_CHECK) > 0)
|
||||
if (IRC_SERVER_OPTION_INTEGER(
|
||||
ptr_server, IRC_SERVER_OPTION_AWAY_CHECK) > 0)
|
||||
{
|
||||
irc_server_check_away (ptr_server);
|
||||
}
|
||||
else
|
||||
{
|
||||
irc_server_remove_away (ptr_server);
|
||||
}
|
||||
break;
|
||||
case IRC_SERVER_OPTION_REGISTERED_MODE:
|
||||
irc_mode_registered_mode_change (ptr_server);
|
||||
@@ -1280,7 +1295,17 @@ irc_config_server_change_cb (const void *pointer, void *data,
|
||||
irc_server_set_addresses (
|
||||
ptr_server,
|
||||
IRC_SERVER_OPTION_STRING(ptr_server,
|
||||
IRC_SERVER_OPTION_ADDRESSES));
|
||||
IRC_SERVER_OPTION_ADDRESSES),
|
||||
IRC_SERVER_OPTION_BOOLEAN(ptr_server,
|
||||
IRC_SERVER_OPTION_TLS));
|
||||
break;
|
||||
case IRC_SERVER_OPTION_TLS:
|
||||
irc_server_set_addresses (
|
||||
ptr_server,
|
||||
IRC_SERVER_OPTION_STRING(ptr_server,
|
||||
IRC_SERVER_OPTION_ADDRESSES),
|
||||
IRC_SERVER_OPTION_BOOLEAN(ptr_server,
|
||||
IRC_SERVER_OPTION_TLS));
|
||||
break;
|
||||
case IRC_SERVER_OPTION_NICKS:
|
||||
irc_server_set_nicks (
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -120,9 +120,10 @@ enum t_irc_server_option
|
||||
weechat_config_string(irc_config_server_default[__index]) \
|
||||
: weechat_config_string_default(irc_config_server_default[__index])))
|
||||
|
||||
#define IRC_SERVER_DEFAULT_PORT 6667
|
||||
#define IRC_SERVER_DEFAULT_PORT_TLS 6697
|
||||
#define IRC_SERVER_DEFAULT_NICKS "weechat1,weechat2,weechat3,weechat4,weechat5"
|
||||
#define IRC_SERVER_DEFAULT_PORT_CLEARTEXT 6667
|
||||
#define IRC_SERVER_DEFAULT_PORT_TLS 6697
|
||||
|
||||
#define IRC_SERVER_DEFAULT_NICKS "weechat1,weechat2,weechat3,weechat4,weechat5"
|
||||
|
||||
/* number of queues for sending messages */
|
||||
#define IRC_SERVER_NUM_OUTQUEUES_PRIO 2
|
||||
@@ -333,8 +334,9 @@ extern void irc_server_sasl_get_creds (struct t_irc_server *server,
|
||||
char **key);
|
||||
extern int irc_server_sasl_enabled (struct t_irc_server *server);
|
||||
extern char *irc_server_get_name_without_port (const char *name);
|
||||
extern char *irc_server_get_addresses_ports_tls (struct t_irc_server *server);
|
||||
extern int irc_server_set_addresses (struct t_irc_server *server,
|
||||
const char *addresses);
|
||||
const char *addresses, int tls);
|
||||
extern void irc_server_set_nicks (struct t_irc_server *server,
|
||||
const char *nicks);
|
||||
extern void irc_server_set_nick (struct t_irc_server *server,
|
||||
|
||||
@@ -177,12 +177,97 @@ TEST(IrcServer, GetNameWithoutPort)
|
||||
|
||||
/*
|
||||
* Tests functions:
|
||||
* irc_server_get_addresses_ports_tls
|
||||
* irc_server_set_addresses
|
||||
*/
|
||||
|
||||
TEST(IrcServer, SetAddresses)
|
||||
{
|
||||
/* TODO: write tests */
|
||||
struct t_irc_server *server;
|
||||
char *str;
|
||||
|
||||
POINTERS_EQUAL(NULL, irc_server_get_addresses_ports_tls (NULL));
|
||||
|
||||
server = irc_server_alloc ("server1");
|
||||
|
||||
config_file_option_set (server->options[IRC_SERVER_OPTION_TLS], "off", 1);
|
||||
|
||||
LONGS_EQUAL(0, irc_server_set_addresses (NULL, NULL, 0));
|
||||
LONGS_EQUAL(0, irc_server_set_addresses (NULL, "irc.example.org", 0));
|
||||
|
||||
LONGS_EQUAL(1, irc_server_set_addresses (server, "fake:irc.fake.org", 0));
|
||||
LONGS_EQUAL(1, server->fake_server);
|
||||
STRCMP_EQUAL("irc.fake.org", server->addresses_eval);
|
||||
LONGS_EQUAL(1, server->addresses_count);
|
||||
STRCMP_EQUAL("irc.fake.org", server->addresses_array[0]);
|
||||
LONGS_EQUAL(6667, server->ports_array[0]);
|
||||
LONGS_EQUAL(0, server->retry_array[0]);
|
||||
|
||||
WEE_TEST_STR("irc.fake.org/6667 (TLS: disabled)",
|
||||
irc_server_get_addresses_ports_tls (server));
|
||||
|
||||
LONGS_EQUAL(1, irc_server_set_addresses (server, "irc.example.org", 0));
|
||||
LONGS_EQUAL(0, server->fake_server);
|
||||
STRCMP_EQUAL("irc.example.org", server->addresses_eval);
|
||||
LONGS_EQUAL(1, server->addresses_count);
|
||||
STRCMP_EQUAL("irc.example.org", server->addresses_array[0]);
|
||||
LONGS_EQUAL(6667, server->ports_array[0]);
|
||||
LONGS_EQUAL(0, server->retry_array[0]);
|
||||
|
||||
WEE_TEST_STR("irc.example.org/6667 (TLS: disabled)",
|
||||
irc_server_get_addresses_ports_tls (server));
|
||||
|
||||
LONGS_EQUAL(1,
|
||||
irc_server_set_addresses (
|
||||
server, "irc.example.org,irc2.example.org/6666", 0));
|
||||
LONGS_EQUAL(0, server->fake_server);
|
||||
STRCMP_EQUAL("irc.example.org,irc2.example.org/6666", server->addresses_eval);
|
||||
LONGS_EQUAL(2, server->addresses_count);
|
||||
STRCMP_EQUAL("irc.example.org", server->addresses_array[0]);
|
||||
STRCMP_EQUAL("irc2.example.org", server->addresses_array[1]);
|
||||
LONGS_EQUAL(6667, server->ports_array[0]);
|
||||
LONGS_EQUAL(6666, server->ports_array[1]);
|
||||
LONGS_EQUAL(0, server->retry_array[0]);
|
||||
LONGS_EQUAL(0, server->retry_array[1]);
|
||||
|
||||
WEE_TEST_STR("irc.example.org/6667, irc2.example.org/6666 (TLS: disabled)",
|
||||
irc_server_get_addresses_ports_tls (server));
|
||||
|
||||
config_file_option_set (server->options[IRC_SERVER_OPTION_TLS], "on", 1);
|
||||
|
||||
LONGS_EQUAL(1,
|
||||
irc_server_set_addresses (
|
||||
server, "irc.example.org,irc2.example.org/7000", 1));
|
||||
LONGS_EQUAL(0, server->fake_server);
|
||||
STRCMP_EQUAL("irc.example.org,irc2.example.org/7000", server->addresses_eval);
|
||||
LONGS_EQUAL(2, server->addresses_count);
|
||||
STRCMP_EQUAL("irc.example.org", server->addresses_array[0]);
|
||||
STRCMP_EQUAL("irc2.example.org", server->addresses_array[1]);
|
||||
LONGS_EQUAL(6697, server->ports_array[0]);
|
||||
LONGS_EQUAL(7000, server->ports_array[1]);
|
||||
LONGS_EQUAL(0, server->retry_array[0]);
|
||||
LONGS_EQUAL(0, server->retry_array[1]);
|
||||
|
||||
WEE_TEST_STR("irc.example.org/6697, irc2.example.org/7000 (TLS: enabled)",
|
||||
irc_server_get_addresses_ports_tls (server));
|
||||
|
||||
LONGS_EQUAL(0,
|
||||
irc_server_set_addresses (
|
||||
server, "irc.example.org,irc2.example.org/7000", 1));
|
||||
LONGS_EQUAL(0, server->fake_server);
|
||||
STRCMP_EQUAL("irc.example.org,irc2.example.org/7000", server->addresses_eval);
|
||||
LONGS_EQUAL(2, server->addresses_count);
|
||||
STRCMP_EQUAL("irc.example.org", server->addresses_array[0]);
|
||||
STRCMP_EQUAL("irc2.example.org", server->addresses_array[1]);
|
||||
LONGS_EQUAL(6697, server->ports_array[0]);
|
||||
LONGS_EQUAL(7000, server->ports_array[1]);
|
||||
LONGS_EQUAL(0, server->retry_array[0]);
|
||||
LONGS_EQUAL(0, server->retry_array[1]);
|
||||
|
||||
WEE_TEST_STR("irc.example.org/6697, irc2.example.org/7000 (TLS: enabled)",
|
||||
irc_server_get_addresses_ports_tls (server));
|
||||
|
||||
irc_server_free (server);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user