mirror of
https://github.com/irssi/irssi.git
synced 2026-08-09 11:50:10 +02:00
Allow the user to set and modify the SASL parameters
The /NETWORK ADD command now is able to modify the SASL mechanism, the username and the password on a chatnet basis.
This commit is contained in:
parent
f247a43b97
commit
1a2c479bc0
4 changed files with 34 additions and 10 deletions
|
|
@ -82,10 +82,12 @@ static void cmd_network_list(void)
|
|||
}
|
||||
|
||||
/* SYNTAX: NETWORK ADD [-nick <nick>] [-user <user>] [-realname <name>]
|
||||
[-host <host>] [-usermode <mode>] [-autosendcmd <cmd>]
|
||||
[-querychans <count>] [-whois <count>] [-msgs <count>]
|
||||
[-kicks <count>] [-modes <count>]
|
||||
[-cmdspeed <ms>] [-cmdmax <count>] <name> */
|
||||
[-host <host>] [-usermode <mode>] [-autosendcmd <cmd>]
|
||||
[-querychans <count>] [-whois <count>] [-msgs <count>]
|
||||
[-kicks <count>] [-modes <count>] [-cmdspeed <ms>]
|
||||
[-cmdmax <count>] [-sasl_mechanism <mechanism>]
|
||||
[-sasl_username <username>] [-sasl_password <password>]
|
||||
<name> */
|
||||
static void cmd_network_add(const char *data)
|
||||
{
|
||||
GHashTable *optlist;
|
||||
|
|
@ -112,6 +114,9 @@ static void cmd_network_add(const char *data)
|
|||
}
|
||||
if (g_hash_table_lookup(optlist, "usermode")) g_free_and_null(rec->usermode);
|
||||
if (g_hash_table_lookup(optlist, "autosendcmd")) g_free_and_null(rec->autosendcmd);
|
||||
if (g_hash_table_lookup(optlist, "sasl_mechanism")) g_free_and_null(rec->sasl_mechanism);
|
||||
if (g_hash_table_lookup(optlist, "sasl_username")) g_free_and_null(rec->sasl_username);
|
||||
if (g_hash_table_lookup(optlist, "sasl_password")) g_free_and_null(rec->sasl_password);
|
||||
}
|
||||
|
||||
value = g_hash_table_lookup(optlist, "kicks");
|
||||
|
|
@ -148,6 +153,14 @@ static void cmd_network_add(const char *data)
|
|||
value = g_hash_table_lookup(optlist, "autosendcmd");
|
||||
if (value != NULL && *value != '\0') rec->autosendcmd = g_strdup(value);
|
||||
|
||||
/* the validity of the parameters is checked in sig_server_setup_fill_chatnet */
|
||||
value = g_hash_table_lookup(optlist, "sasl_mechanism");
|
||||
if (value != NULL && *value != '\0') rec->sasl_mechanism = g_strdup(value);
|
||||
value = g_hash_table_lookup(optlist, "sasl_username");
|
||||
if (value != NULL && *value != '\0') rec->sasl_username = g_strdup(value);
|
||||
value = g_hash_table_lookup(optlist, "sasl_password");
|
||||
if (value != NULL && *value != '\0') rec->sasl_password = g_strdup(value);
|
||||
|
||||
ircnet_create(rec);
|
||||
printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, IRCTXT_NETWORK_ADDED, name);
|
||||
|
||||
|
|
@ -186,7 +199,8 @@ void fe_ircnet_init(void)
|
|||
command_bind("network add", NULL, (SIGNAL_FUNC) cmd_network_add);
|
||||
command_bind("network remove", NULL, (SIGNAL_FUNC) cmd_network_remove);
|
||||
|
||||
command_set_options("network add", "-kicks -msgs -modes -whois -cmdspeed -cmdmax -nick -user -realname -host -autosendcmd -querychans -usermode");
|
||||
command_set_options("network add", "-kicks -msgs -modes -whois -cmdspeed "
|
||||
"-cmdmax -nick -user -realname -host -autosendcmd -querychans -usermode -sasl_mechanism -sasl_username -sasl_password");
|
||||
}
|
||||
|
||||
void fe_ircnet_deinit(void)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue