From aaa0f73eac88316978c65fb0f0c8b5d23d1dc100 Mon Sep 17 00:00:00 2001 From: Hans Nielsen Date: Tue, 24 Jun 2014 23:45:35 -0700 Subject: Make proxy messages include more detail and add status command --- src/irc/proxy/proxy.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/irc/proxy/proxy.c') diff --git a/src/irc/proxy/proxy.c b/src/irc/proxy/proxy.c index c8f47bdf..75da112c 100644 --- a/src/irc/proxy/proxy.c +++ b/src/irc/proxy/proxy.c @@ -23,6 +23,37 @@ #include "settings.h" #include "levels.h" +#include "fe-common/core/printtext.h" + +static void cmd_proxy_status(const char *data, IRC_SERVER_REC *server) +{ + GSList *tmp; + + printtext(server, NULL, MSGLEVEL_CLIENTNOTICE, + "Proxy: Currently connected clients: %d", + g_slist_length(proxy_clients)); + + for (tmp = proxy_clients; tmp != NULL; tmp = tmp->next) { + CLIENT_REC *rec = tmp->data; + + printtext(server, NULL, MSGLEVEL_CLIENTNOTICE, + " %s:%d connect%s to %d (%s)", + rec->host, rec->port, + rec->connected ? "ed" : "ing", + rec->listen->port, rec->listen->ircnet); + } +} + +static void cmd_proxy(const char *data, IRC_SERVER_REC *server, void *item) +{ + if (*data == '\0') { + cmd_proxy_status(data, server); + return; + } + + command_runsub("proxy", data, server, item); +} + void irc_proxy_init(void) { settings_add_str("irssiproxy", "irssiproxy_ports", ""); @@ -43,6 +74,9 @@ void irc_proxy_init(void) "... to set them."); } + command_bind("proxy", NULL, (SIGNAL_FUNC) cmd_proxy); + command_bind("proxy status", NULL, (SIGNAL_FUNC) cmd_proxy_status); + proxy_listen_init(); settings_check(); module_register("proxy", "irc"); -- cgit debian/1.2.3+git2.25.1-1-2-gaceb0 From 6a28bad81440290e799c4d4985f31bea6493f58b Mon Sep 17 00:00:00 2001 From: Hans Nielsen Date: Wed, 25 Jun 2014 22:29:05 -0700 Subject: Add boolean toggle for irssiproxy being enabled --- src/irc/proxy/proxy.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src/irc/proxy/proxy.c') diff --git a/src/irc/proxy/proxy.c b/src/irc/proxy/proxy.c index 75da112c..1cc8aebe 100644 --- a/src/irc/proxy/proxy.c +++ b/src/irc/proxy/proxy.c @@ -27,6 +27,12 @@ static void cmd_proxy_status(const char *data, IRC_SERVER_REC *server) { + if (!settings_get_bool("irssiproxy")) { + printtext(server, NULL, MSGLEVEL_CLIENTNOTICE, + "Proxy is currently disabled"); + return; + } + GSList *tmp; printtext(server, NULL, MSGLEVEL_CLIENTNOTICE, @@ -54,11 +60,21 @@ static void cmd_proxy(const char *data, IRC_SERVER_REC *server, void *item) command_runsub("proxy", data, server, item); } +static void irc_proxy_setup_changed(void) +{ + if (settings_get_bool("irssiproxy")) { + proxy_listen_init(); + } else { + proxy_listen_deinit(); + } +} + void irc_proxy_init(void) { settings_add_str("irssiproxy", "irssiproxy_ports", ""); settings_add_str("irssiproxy", "irssiproxy_password", ""); settings_add_str("irssiproxy", "irssiproxy_bind", ""); + settings_add_bool("irssiproxy", "irssiproxy", TRUE); if (*settings_get_str("irssiproxy_password") == '\0') { /* no password - bad idea! */ @@ -77,7 +93,11 @@ void irc_proxy_init(void) command_bind("proxy", NULL, (SIGNAL_FUNC) cmd_proxy); command_bind("proxy status", NULL, (SIGNAL_FUNC) cmd_proxy_status); - proxy_listen_init(); + signal_add_first("setup changed", (SIGNAL_FUNC) irc_proxy_setup_changed); + + if (settings_get_bool("irssiproxy")) { + proxy_listen_init(); + } settings_check(); module_register("proxy", "irc"); } -- cgit debian/1.2.3+git2.25.1-1-2-gaceb0 From 7beffbdcc5d9ca7433f6617a652ed0b2feca3677 Mon Sep 17 00:00:00 2001 From: Hans Nielsen Date: Tue, 24 Feb 2015 19:46:59 -0800 Subject: Add help files for proxy module --- src/irc/proxy/proxy.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/irc/proxy/proxy.c') diff --git a/src/irc/proxy/proxy.c b/src/irc/proxy/proxy.c index 1cc8aebe..65c778d1 100644 --- a/src/irc/proxy/proxy.c +++ b/src/irc/proxy/proxy.c @@ -25,6 +25,7 @@ #include "fe-common/core/printtext.h" +/* SYNTAX: PROXY STATUS */ static void cmd_proxy_status(const char *data, IRC_SERVER_REC *server) { if (!settings_get_bool("irssiproxy")) { @@ -50,6 +51,7 @@ static void cmd_proxy_status(const char *data, IRC_SERVER_REC *server) } } +/* SYNTAX: PROXY */ static void cmd_proxy(const char *data, IRC_SERVER_REC *server, void *item) { if (*data == '\0') { -- cgit debian/1.2.3+git2.25.1-1-2-gaceb0 From a47f45b5b7438209177d76f3efde559e61e5bdb7 Mon Sep 17 00:00:00 2001 From: dequis Date: Sun, 14 Jun 2015 11:57:11 -0300 Subject: Rename /proxy command to /irssiproxy for clarity --- src/irc/proxy/proxy.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/irc/proxy/proxy.c') diff --git a/src/irc/proxy/proxy.c b/src/irc/proxy/proxy.c index 65c778d1..ce79e2b7 100644 --- a/src/irc/proxy/proxy.c +++ b/src/irc/proxy/proxy.c @@ -25,8 +25,8 @@ #include "fe-common/core/printtext.h" -/* SYNTAX: PROXY STATUS */ -static void cmd_proxy_status(const char *data, IRC_SERVER_REC *server) +/* SYNTAX: IRSSIPROXY STATUS */ +static void cmd_irssiproxy_status(const char *data, IRC_SERVER_REC *server) { if (!settings_get_bool("irssiproxy")) { printtext(server, NULL, MSGLEVEL_CLIENTNOTICE, @@ -51,15 +51,15 @@ static void cmd_proxy_status(const char *data, IRC_SERVER_REC *server) } } -/* SYNTAX: PROXY */ -static void cmd_proxy(const char *data, IRC_SERVER_REC *server, void *item) +/* SYNTAX: IRSSIPROXY */ +static void cmd_irssiproxy(const char *data, IRC_SERVER_REC *server, void *item) { if (*data == '\0') { - cmd_proxy_status(data, server); + cmd_irssiproxy_status(data, server); return; } - command_runsub("proxy", data, server, item); + command_runsub("irssiproxy", data, server, item); } static void irc_proxy_setup_changed(void) @@ -92,8 +92,8 @@ void irc_proxy_init(void) "... to set them."); } - command_bind("proxy", NULL, (SIGNAL_FUNC) cmd_proxy); - command_bind("proxy status", NULL, (SIGNAL_FUNC) cmd_proxy_status); + command_bind("irssiproxy", NULL, (SIGNAL_FUNC) cmd_irssiproxy); + command_bind("irssiproxy status", NULL, (SIGNAL_FUNC) cmd_irssiproxy_status); signal_add_first("setup changed", (SIGNAL_FUNC) irc_proxy_setup_changed); -- cgit debian/1.2.3+git2.25.1-1-2-gaceb0