From 84d78fed42c5d5919fcd406489b3e5f46cba26e7 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Wed, 28 Jan 2009 12:14:03 +0100 Subject: [PATCH] Add boolean option to enable relay plugin to listen for clients (disabled by default) --- po/cs.po | 17 ++++++++++++++++- po/de.po | 17 ++++++++++++++++- po/es.po | 17 ++++++++++++++++- po/fr.po | 19 +++++++++++++++++-- po/hu.po | 17 ++++++++++++++++- po/ru.po | 17 ++++++++++++++++- po/weechat.pot | 17 ++++++++++++++++- src/plugins/relay/relay-config.c | 28 ++++++++++++++++++++++++++++ src/plugins/relay/relay-config.h | 1 + src/plugins/relay/relay-network.c | 6 ++++++ src/plugins/relay/relay-network.h | 2 ++ 11 files changed, 150 insertions(+), 8 deletions(-) diff --git a/po/cs.po b/po/cs.po index e91d4fdda..2e3017b7a 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.7-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-01-15 14:36+0100\n" +"POT-Creation-Date: 2009-01-28 10:21+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Jiri Golembiovsky \n" "Language-Team: weechat-dev \n" @@ -4336,6 +4336,14 @@ msgstr "%s nemohu vytvořit server\n" msgid "%s%s: failed to create id" msgstr "%s DCC: nemohu vytvořit rouru\n" +#, fuzzy, c-format +msgid "%s%s: TLS handshake failed" +msgstr "%s handshake s gnutls selhal\n" + +#, fuzzy, c-format +msgid "%s%s: I/O error (%d)" +msgstr "%sServer: %s%s\n" + #, fuzzy, c-format msgid "%s%s: SASL authentication failed (check SASL option and password)" msgstr "Nemůžu zapsat log soubor \"%s\"\n" @@ -4783,6 +4791,9 @@ msgstr "barva pro \"failed\" status dcc" msgid "text color for \"disconnected\" status" msgstr "barva pro \"connecting\" status dcc" +msgid "enable relay" +msgstr "" + #, fuzzy msgid "" "port number (or range of ports) that relay plugin listens on (syntax: a " @@ -4796,6 +4807,10 @@ msgstr "" msgid "list of relay clients" msgstr "Seznam pro aliasy:\n" +#, fuzzy, c-format +msgid "%s: socket closed" +msgstr "FIFO roura zavřena\n" + #, fuzzy, c-format msgid "%s%s: cannot accept client" msgstr "%s nemohu vytvořit soket\n" diff --git a/po/de.po b/po/de.po index 9fab9c20a..047f4ebca 100644 --- a/po/de.po +++ b/po/de.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.7-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-01-15 14:36+0100\n" +"POT-Creation-Date: 2009-01-28 10:21+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Thomas Schuetz \n" "Language-Team: weechat-dev \n" @@ -4287,6 +4287,14 @@ msgstr "%s kann den Server nicht anlegen\n" msgid "%s%s: failed to create id" msgstr "%s DCC: kann keine Pipe erstellen\n" +#, fuzzy, c-format +msgid "%s%s: TLS handshake failed" +msgstr "%s gnutls-Handshake schlug fehl\n" + +#, fuzzy, c-format +msgid "%s%s: I/O error (%d)" +msgstr "%sServer: %s%s\n" + #, fuzzy, c-format msgid "%s%s: SASL authentication failed (check SASL option and password)" msgstr "Kann das Logfile nicht schreiben\n" @@ -4730,6 +4738,9 @@ msgstr "Farbe des DCC-Status 'fehlgeschlagen'" msgid "text color for \"disconnected\" status" msgstr "Farbe des DCC-Status 'verbinden'" +msgid "enable relay" +msgstr "" + #, fuzzy msgid "" "port number (or range of ports) that relay plugin listens on (syntax: a " @@ -4744,6 +4755,10 @@ msgstr "" msgid "list of relay clients" msgstr "Liste der Aliases:\n" +#, fuzzy, c-format +msgid "%s: socket closed" +msgstr "FIFO geschlossen\n" + #, fuzzy, c-format msgid "%s%s: cannot accept client" msgstr "%s Socket konnte nicht angelegt werden\n" diff --git a/po/es.po b/po/es.po index 704dc0761..a67223061 100644 --- a/po/es.po +++ b/po/es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.7-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-01-15 14:36+0100\n" +"POT-Creation-Date: 2009-01-28 10:21+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Roberto González Cardenete \n" "Language-Team: weechat-dev \n" @@ -4277,6 +4277,14 @@ msgstr "%s no es posible crear el servidor\n" msgid "%s%s: failed to create id" msgstr "%s no es posible crear el servidor\n" +#, fuzzy, c-format +msgid "%s%s: TLS handshake failed" +msgstr "%s el handshake gnutls ha fallado\n" + +#, fuzzy, c-format +msgid "%s%s: I/O error (%d)" +msgstr "%sServidor: %s%s\n" + #, fuzzy, c-format msgid "%s%s: SASL authentication failed (check SASL option and password)" msgstr "No es posible escribir un fichero de log para un búfer\n" @@ -4723,6 +4731,9 @@ msgstr "color para el estado dcc \"fallo\"" msgid "text color for \"disconnected\" status" msgstr "color para el estado dcc \"conectando\"" +msgid "enable relay" +msgstr "" + #, fuzzy msgid "" "port number (or range of ports) that relay plugin listens on (syntax: a " @@ -4736,6 +4747,10 @@ msgstr "" msgid "list of relay clients" msgstr "Lista de alias:\n" +#, fuzzy, c-format +msgid "%s: socket closed" +msgstr "La tubería FIFO está cerrada\n" + #, fuzzy, c-format msgid "%s%s: cannot accept client" msgstr "%s no ha sido posible crear el socket\n" diff --git a/po/fr.po b/po/fr.po index fe5d5bcfa..bb153baee 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.7-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-01-15 14:36+0100\n" -"PO-Revision-Date: 2009-01-15 14:38+0100\n" +"POT-Creation-Date: 2009-01-28 10:21+0100\n" +"PO-Revision-Date: 2009-01-28 10:22+0100\n" "Last-Translator: FlashCode \n" "Language-Team: weechat-dev \n" "MIME-Version: 1.0\n" @@ -4433,6 +4433,14 @@ msgstr "%s%s: impossible de créer l'analyseur de flux" msgid "%s%s: failed to create id" msgstr "%s%s: impossible de créer l'id" +#, c-format +msgid "%s%s: TLS handshake failed" +msgstr "%s%s: la poignée de main de TLS a échoué" + +#, c-format +msgid "%s%s: I/O error (%d)" +msgstr "%s%s: erreur I/O (%d)" + #, c-format msgid "%s%s: SASL authentication failed (check SASL option and password)" msgstr "" @@ -4907,6 +4915,9 @@ msgstr "couleur du texte pour le statut \"échec auth\"" msgid "text color for \"disconnected\" status" msgstr "couleur du texte pour le statut \"déconnecté\"" +msgid "enable relay" +msgstr "activer le relai" + msgid "" "port number (or range of ports) that relay plugin listens on (syntax: a " "single port, ie. 5000 or a port range, ie. 5000-5015)" @@ -4918,6 +4929,10 @@ msgstr "" msgid "list of relay clients" msgstr "liste des clients pour le relai" +#, c-format +msgid "%s: socket closed" +msgstr "%s: socket fermée" + #, c-format msgid "%s%s: cannot accept client" msgstr "%s%s: impossible d'accepter le client" diff --git a/po/hu.po b/po/hu.po index 20d640e35..715814f46 100644 --- a/po/hu.po +++ b/po/hu.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.7-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-01-15 14:36+0100\n" +"POT-Creation-Date: 2009-01-28 10:21+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Andras Voroskoi \n" "Language-Team: weechat-dev \n" @@ -4346,6 +4346,14 @@ msgstr "%s nem sikerült a szervert létrehozni\n" msgid "%s%s: failed to create id" msgstr "%s DCC: nem sikerült a csövet létrehozni\n" +#, fuzzy, c-format +msgid "%s%s: TLS handshake failed" +msgstr "%s gnutls kézfogás sikertelen\n" + +#, fuzzy, c-format +msgid "%s%s: I/O error (%d)" +msgstr "%sSzerver: %s%s\n" + #, fuzzy, c-format msgid "%s%s: SASL authentication failed (check SASL option and password)" msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n" @@ -4788,6 +4796,9 @@ msgstr "\"failed\" dcc státusz színe" msgid "text color for \"disconnected\" status" msgstr "\"connecting\" dcc státusz színe" +msgid "enable relay" +msgstr "" + #, fuzzy msgid "" "port number (or range of ports) that relay plugin listens on (syntax: a " @@ -4801,6 +4812,10 @@ msgstr "" msgid "list of relay clients" msgstr "Aliaszok listája:\n" +#, fuzzy, c-format +msgid "%s: socket closed" +msgstr "FIFO cső bezárva\n" + #, fuzzy, c-format msgid "%s%s: cannot accept client" msgstr "%s nem sikerült a csatornát létrehozni\n" diff --git a/po/ru.po b/po/ru.po index aa2713b63..a23cca724 100644 --- a/po/ru.po +++ b/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.7-dev\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-01-15 14:36+0100\n" +"POT-Creation-Date: 2009-01-28 10:21+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Pavel Shevchuk \n" "Language-Team: weechat-dev \n" @@ -4323,6 +4323,14 @@ msgstr "%s не могу создать сервер\n" msgid "%s%s: failed to create id" msgstr "%s DCC: не могу создать pipe\n" +#, fuzzy, c-format +msgid "%s%s: TLS handshake failed" +msgstr "%s инициализация gnutls не удалось\n" + +#, fuzzy, c-format +msgid "%s%s: I/O error (%d)" +msgstr "%sСервер: %s%s\n" + #, fuzzy, c-format msgid "%s%s: SASL authentication failed (check SASL option and password)" msgstr "Не могу записать лог-файл \"%s\"\n" @@ -4764,6 +4772,9 @@ msgstr "цвет \"неудачных\" в окне DCC" msgid "text color for \"disconnected\" status" msgstr "цвет \"соединения\" в окне DCC" +msgid "enable relay" +msgstr "" + #, fuzzy msgid "" "port number (or range of ports) that relay plugin listens on (syntax: a " @@ -4777,6 +4788,10 @@ msgstr "" msgid "list of relay clients" msgstr "Список сокращений:\n" +#, fuzzy, c-format +msgid "%s: socket closed" +msgstr "FIFO pipe закрыт\n" + #, fuzzy, c-format msgid "%s%s: cannot accept client" msgstr "%s невозможно создать сокет\n" diff --git a/po/weechat.pot b/po/weechat.pot index 4c8a944dd..17da194a9 100644 --- a/po/weechat.pot +++ b/po/weechat.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-01-15 14:36+0100\n" +"POT-Creation-Date: 2009-01-28 10:21+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -3705,6 +3705,14 @@ msgstr "" msgid "%s%s: failed to create id" msgstr "" +#, c-format +msgid "%s%s: TLS handshake failed" +msgstr "" + +#, c-format +msgid "%s%s: I/O error (%d)" +msgstr "" + #, c-format msgid "%s%s: SASL authentication failed (check SASL option and password)" msgstr "" @@ -4099,6 +4107,9 @@ msgstr "" msgid "text color for \"disconnected\" status" msgstr "" +msgid "enable relay" +msgstr "" + msgid "" "port number (or range of ports) that relay plugin listens on (syntax: a " "single port, ie. 5000 or a port range, ie. 5000-5015)" @@ -4107,6 +4118,10 @@ msgstr "" msgid "list of relay clients" msgstr "" +#, c-format +msgid "%s: socket closed" +msgstr "" + #, c-format msgid "%s%s: cannot accept client" msgstr "" diff --git a/src/plugins/relay/relay-config.c b/src/plugins/relay/relay-config.c index a4e916cc8..64336f68d 100644 --- a/src/plugins/relay/relay-config.c +++ b/src/plugins/relay/relay-config.c @@ -27,6 +27,7 @@ #include "relay-config.h" #include "relay-client.h" #include "relay-buffer.h" +#include "relay-network.h" struct t_config_file *relay_config_file = NULL; @@ -44,6 +45,7 @@ struct t_config_option *relay_config_color_status[RELAY_NUM_STATUS]; /* relay config, network section */ +struct t_config_option *relay_config_network_enabled; struct t_config_option *relay_config_network_listen_port_range; @@ -63,6 +65,26 @@ relay_config_refresh_cb (void *data, struct t_config_option *option) relay_buffer_refresh (NULL); } +/* + * relay_config_change_network_enabled_cb: callback called when user + * enables/disables relay + */ + +void +relay_config_change_network_enabled_cb (void *data, + struct t_config_option *option) +{ + /* make C compiler happy */ + (void) data; + (void) option; + + if ((weechat_config_boolean(relay_config_network_enabled) && relay_network_sock < 0) + || (!weechat_config_boolean(relay_config_network_enabled) && relay_network_sock >= 0)) + { + relay_network_init (); + } +} + /* * relay_config_reload: reload relay configuration file */ @@ -179,6 +201,12 @@ relay_config_init () return 0; } + relay_config_network_enabled = weechat_config_new_option ( + relay_config_file, ptr_section, + "enabled", "boolean", + N_("enable relay"), + NULL, 0, 0, "off", NULL, 0, NULL, NULL, + &relay_config_change_network_enabled_cb, NULL, NULL, NULL); relay_config_network_listen_port_range = weechat_config_new_option ( relay_config_file, ptr_section, "listen_port_range", "string", diff --git a/src/plugins/relay/relay-config.h b/src/plugins/relay/relay-config.h index 30fe1a01a..6671127a4 100644 --- a/src/plugins/relay/relay-config.h +++ b/src/plugins/relay/relay-config.h @@ -31,6 +31,7 @@ extern struct t_config_option *relay_config_color_text_bg; extern struct t_config_option *relay_config_color_text_selected; extern struct t_config_option *relay_config_color_status[]; +extern struct t_config_option *relay_config_network_enabled; extern struct t_config_option *relay_config_network_listen_port_range; extern int relay_config_init (); diff --git a/src/plugins/relay/relay-network.c b/src/plugins/relay/relay-network.c index 8b48edacb..b5305193a 100644 --- a/src/plugins/relay/relay-network.c +++ b/src/plugins/relay/relay-network.c @@ -57,6 +57,9 @@ relay_network_close_socket () { close (relay_network_sock); relay_network_sock = -1; + weechat_printf (NULL, + _("%s: socket closed"), + RELAY_PLUGIN_NAME); } } @@ -116,6 +119,9 @@ relay_network_init () relay_network_close_socket (); + if (!weechat_config_boolean (relay_config_network_enabled)) + return 1; + port_range = weechat_config_string (relay_config_network_listen_port_range); if (!port_range || !port_range[0]) { diff --git a/src/plugins/relay/relay-network.h b/src/plugins/relay/relay-network.h index 57f6ba9e1..1714256e0 100644 --- a/src/plugins/relay/relay-network.h +++ b/src/plugins/relay/relay-network.h @@ -20,6 +20,8 @@ #ifndef __WEECHAT_RELAY_NETWORK_H #define __WEECHAT_RELAY_NETWORK_H 1 +extern int relay_network_sock; + extern int relay_network_init (); extern void relay_network_end ();