mirror of
https://github.com/moparisthebest/hexchat
synced 2024-11-29 12:42:16 -05:00
implement XSASL LIST
This commit is contained in:
parent
5c30b84891
commit
306b2a8707
@ -43,7 +43,7 @@ static xchat_plugin *ph; /* plugin handle */
|
|||||||
static const char name[] = "X-SASL";
|
static const char name[] = "X-SASL";
|
||||||
static const char desc[] = "SASL authentication plugin for XChat";
|
static const char desc[] = "SASL authentication plugin for XChat";
|
||||||
static const char version[] = "1.1";
|
static const char version[] = "1.1";
|
||||||
static const char xsasl_help[] = "X-SASL Usage:\n /XSASL ADD <login> <password> <network>, enable SASL authentication for given network\n /XSASL DEL <network>, disable SASL authentication for given network\n";
|
static const char xsasl_help[] = "X-SASL Usage:\n /XSASL ADD <login> <password> <network>, enable SASL authentication for given network\n /XSASL DEL <network>, disable SASL authentication for given network\n /XSASL LIST, get the list of SASL-enabled networks\n";
|
||||||
|
|
||||||
struct sasl_info
|
struct sasl_info
|
||||||
{
|
{
|
||||||
@ -69,6 +69,29 @@ del_info (char const* network)
|
|||||||
return xchat_pluginpref_delete (ph, network);
|
return xchat_pluginpref_delete (ph, network);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
print_info ()
|
||||||
|
{
|
||||||
|
char list[512];
|
||||||
|
char* token;
|
||||||
|
|
||||||
|
if (xchat_pluginpref_list (ph, list))
|
||||||
|
{
|
||||||
|
xchat_printf (ph, "%s\tSASL-enabled networks:", name);
|
||||||
|
xchat_printf (ph, "%s\t----------------------", name);
|
||||||
|
token = strtok (list, ",");
|
||||||
|
while (token != NULL)
|
||||||
|
{
|
||||||
|
xchat_printf (ph, "%s\t%s", name, token);
|
||||||
|
token = strtok (NULL, ",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
xchat_printf (ph, "%s\tThere are no SASL-enabled networks currently", name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static sasl_info*
|
static sasl_info*
|
||||||
find_info (char const* network)
|
find_info (char const* network)
|
||||||
{
|
{
|
||||||
@ -232,6 +255,11 @@ sasl_cmd_cb (char *word[], char *word_eol[], void *userdata)
|
|||||||
|
|
||||||
return XCHAT_EAT_ALL;
|
return XCHAT_EAT_ALL;
|
||||||
}
|
}
|
||||||
|
else if (!stricmp ("LIST", mode))
|
||||||
|
{
|
||||||
|
print_info ();
|
||||||
|
return XCHAT_EAT_ALL;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
xchat_printf (ph, "%s", xsasl_help);
|
xchat_printf (ph, "%s", xsasl_help);
|
||||||
|
Loading…
Reference in New Issue
Block a user