diff options
-rw-r--r-- | po/cs.po | 13 | ||||
-rw-r--r-- | po/de.po | 22 | ||||
-rw-r--r-- | po/es.po | 13 | ||||
-rw-r--r-- | po/fr.po | 20 | ||||
-rw-r--r-- | po/hu.po | 12 | ||||
-rw-r--r-- | po/it.po | 13 | ||||
-rw-r--r-- | po/ja.po | 13 | ||||
-rw-r--r-- | po/pl.po | 19 | ||||
-rw-r--r-- | po/pt.po | 13 | ||||
-rw-r--r-- | po/pt_BR.po | 12 | ||||
-rw-r--r-- | po/ru.po | 12 | ||||
-rw-r--r-- | po/sr.po | 18 | ||||
-rw-r--r-- | po/tr.po | 13 | ||||
-rw-r--r-- | po/weechat.pot | 7 | ||||
-rw-r--r-- | src/plugins/relay/relay-command.c | 22 | ||||
-rw-r--r-- | src/plugins/relay/relay-config.c | 8 | ||||
-rw-r--r-- | src/plugins/relay/relay-remote.c | 50 | ||||
-rw-r--r-- | src/plugins/relay/relay-remote.h | 3 | ||||
-rw-r--r-- | src/plugins/relay/relay.c | 15 | ||||
-rw-r--r-- | tests/unit/plugins/relay/api/remote/test-relay-remote-network.cpp | 12 |
20 files changed, 244 insertions, 66 deletions
@@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" "PO-Revision-Date: 2024-04-07 14:50+0200\n" "Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -14259,8 +14259,10 @@ msgid "" "example.com:9000 (plain-text connection, not recommended)" msgstr "" -msgid "option: set option for remote relay: proxy, password or totp_secret" -msgstr "" +#, fuzzy +#| msgid "option: extra option, for some servers" +msgid "option: set option for remote relay" +msgstr "volba: extra volba pro některé servery" #, fuzzy #| msgid "reconnect to server(s)" @@ -14349,6 +14351,11 @@ msgid "" "recommended)" msgstr "" +#, fuzzy +#| msgid "reconnect to server(s)" +msgid "auto-connect to the remote relay" +msgstr "znovu připojit k serveru(ům)" + msgid "" "name of proxy used for this remote relay (optional, proxy must be defined " "with command /proxy)" @@ -26,7 +26,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" "PO-Revision-Date: 2024-05-14 08:46+0200\n" "Last-Translator: Nils Görs <weechatter@arcor.de>\n" "Language-Team: German <kde-i18n-de@kde.org>\n" @@ -5962,7 +5962,6 @@ msgstr "Farbe eines Buffers mit privater Nachricht (Statusbar)" msgid "text color for filter indicator in status bar" msgstr "Farbe des Filterkennzeichens in der Statuszeile" -#| msgid "text color for current buffer name in status bar" msgid "text color for buffer modes in status bar" msgstr "Farbe für Buffer-Modi in der Statuszeile" @@ -11137,14 +11136,12 @@ msgid "unban nicks or hosts" msgstr "Bann von Nicks oder Hosts aufheben" #. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated -#| msgid "[<channel>] <nick>|<number> [<nick>|<number>...]" msgid "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]" msgstr "[<channel>] <nick>|<number>|<n1>-<n2> [<nick>|<number>|<n1>-<n2>...]" msgid "number: ban number (as displayed by command /ban)" msgstr "Nummer: Nummer des Bannes (wird beim Befehl /ban angezeigt)" -#| msgid "server: internal server name" msgid "n1: interval start number" msgstr "n1: Intervall-Startnummer" @@ -15633,9 +15630,11 @@ msgstr "" "url: URL des Remote-Relays im Format https://example.com:9000 oder http://" "example.com:9000 (Klartext-Verbindung, nicht empfohlen)" -msgid "option: set option for remote relay: proxy, password or totp_secret" +#, fuzzy +#| msgid "option: extra option, for some servers" +msgid "option: set option for remote relay" msgstr "" -"option: Option für Remote-Relay festlegen: Proxy, Passwort oder totp_secret" +"option: zusätzliche Einstellung, die von manchen Servern berücksichtigt wird" msgid "raw[connect]: connect to a remote relay server" msgstr "raw[connect]: Verbindung zu einem Remote-Relay-Server herstellen" @@ -15720,6 +15719,11 @@ msgstr "" "example.com:9000 oder http://example.com:9000 (Klartext-Verbindung, nicht " "empfohlen)" +#, fuzzy +#| msgid "raw[connect]: connect to a remote relay server" +msgid "auto-connect to the remote relay" +msgstr "raw[connect]: Verbindung zu einem Remote-Relay-Server herstellen" + msgid "" "name of proxy used for this remote relay (optional, proxy must be defined " "with command /proxy)" @@ -18411,6 +18415,10 @@ msgid "%s%s: unable to connect: unexpected error (%d)" msgstr "" "%s%s: Verbindung konnte nicht hergestellt werden: unerwarteter Fehler (%d)" +#~ msgid "option: set option for remote relay: proxy, password or totp_secret" +#~ msgstr "" +#~ "option: Option für Remote-Relay festlegen: Proxy, Passwort oder " +#~ "totp_secret" + #~ msgid "color for channel modes, near channel name" #~ msgstr "Farbe der Kanal-Modes (neben des Kanalnamens)" - @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" "PO-Revision-Date: 2024-04-07 14:50+0200\n" "Last-Translator: Santiago Forero <santiago@forero.xyz>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -14582,8 +14582,10 @@ msgid "" "example.com:9000 (plain-text connection, not recommended)" msgstr "" -msgid "option: set option for remote relay: proxy, password or totp_secret" -msgstr "" +#, fuzzy +#| msgid "option: extra option, for some servers" +msgid "option: set option for remote relay" +msgstr "opción: opción extra, para algunos servidores" #, fuzzy #| msgid "reconnect to server(s)" @@ -14672,6 +14674,11 @@ msgid "" "recommended)" msgstr "" +#, fuzzy +#| msgid "reconnect to server(s)" +msgid "auto-connect to the remote relay" +msgstr "reconectar al servidor(es)" + msgid "" "name of proxy used for this remote relay (optional, proxy must be defined " "with command /proxy)" @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" -"PO-Revision-Date: 2024-05-13 22:53+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" +"PO-Revision-Date: 2024-05-14 22:23+0200\n" "Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "Language: fr\n" @@ -15324,13 +15324,11 @@ msgstr "" "url : URL du relai distant, le format est https://example.com:9000 ou http://" "example.com:9000 (connexion en clair, non recommandé)" -msgid "option: set option for remote relay: proxy, password or totp_secret" -msgstr "" -"option : définir une option pour le relai distant : proxy, password ou " -"totp_secret" +msgid "option: set option for remote relay" +msgstr "option : définir l'option pour le relai distant" msgid "raw[connect]: connect to a remote relay server" -msgstr "raw[connect] : se connecter au relay distant" +msgstr "raw[connect] : se connecter au relai distant" msgid "raw[send]: send JSON data to a remote relay server" msgstr "raw[send] : envoyer des données JSON au relai distant" @@ -15413,6 +15411,9 @@ msgstr "" "https://example.com:9000 ou http://example.com:9000 (connexion en clair, non " "recommandé)" +msgid "auto-connect to the remote relay" +msgstr "connexion automatique au relai distant" + msgid "" "name of proxy used for this remote relay (optional, proxy must be defined " "with command /proxy)" @@ -18062,5 +18063,10 @@ msgstr "%s%s : délai d'attente dépassé pour \"%s\" avec %s" msgid "%s%s: unable to connect: unexpected error (%d)" msgstr "%s%s : impossible de se connecter : erreur inattendue (%d)" +#~ msgid "option: set option for remote relay: proxy, password or totp_secret" +#~ msgstr "" +#~ "option : définir une option pour le relai distant : proxy, password ou " +#~ "totp_secret" + #~ msgid "color for channel modes, near channel name" #~ msgstr "couleur pour les modes du canal, à côté du nom du canal" @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" "PO-Revision-Date: 2024-04-07 14:50+0200\n" "Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -13647,8 +13647,9 @@ msgid "" "example.com:9000 (plain-text connection, not recommended)" msgstr "" -msgid "option: set option for remote relay: proxy, password or totp_secret" -msgstr "" +#, fuzzy +msgid "option: set option for remote relay" +msgstr "%s nincs csatlakozva a \"%s\" szerverhez!\n" #, fuzzy #| msgid "reconnect to server(s)" @@ -13733,6 +13734,11 @@ msgid "" "recommended)" msgstr "" +#, fuzzy +#| msgid "reconnect to server(s)" +msgid "auto-connect to the remote relay" +msgstr "újracsatlakozás a szerver(ek)hez" + msgid "" "name of proxy used for this remote relay (optional, proxy must be defined " "with command /proxy)" @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" "PO-Revision-Date: 2024-04-07 14:50+0200\n" "Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -14606,8 +14606,10 @@ msgid "" "example.com:9000 (plain-text connection, not recommended)" msgstr "" -msgid "option: set option for remote relay: proxy, password or totp_secret" -msgstr "" +#, fuzzy +#| msgid "option: extra option, for some servers" +msgid "option: set option for remote relay" +msgstr "opzione: opzione extra, per alcuni server" #, fuzzy #| msgid "reconnect to server(s)" @@ -14697,6 +14699,11 @@ msgid "" msgstr "" #, fuzzy +#| msgid "reconnect to server(s)" +msgid "auto-connect to the remote relay" +msgstr "riconnette a uno o più server" + +#, fuzzy #| msgid "" #| "name of proxy used for this server (optional, proxy must be defined with " #| "command /proxy)" @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" "PO-Revision-Date: 2024-04-07 14:50+0200\n" "Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n" "Language-Team: Japanese <https://github.com/l/weechat/tree/master/" @@ -15037,8 +15037,10 @@ msgid "" "example.com:9000 (plain-text connection, not recommended)" msgstr "" -msgid "option: set option for remote relay: proxy, password or totp_secret" -msgstr "" +#, fuzzy +#| msgid "option: extra option, for some servers" +msgid "option: set option for remote relay" +msgstr "option: 追加オプション、いくつかのサーバ用" #, fuzzy #| msgid "reconnect to server(s)" @@ -15131,6 +15133,11 @@ msgid "" msgstr "" #, fuzzy +#| msgid "reconnect to server(s)" +msgid "auto-connect to the remote relay" +msgstr "サーバに再接続" + +#, fuzzy #| msgid "" #| "name of proxy used for this server (optional, proxy must be defined with " #| "command /proxy)" @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" "PO-Revision-Date: 2024-05-02 00:06+0200\n" "Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -14911,9 +14911,10 @@ msgstr "" "url: URL zdalnego pośrednika, w formacie https://example.com:9000 lub http://" "example.com:9000 (czysty tekst, nie zalecane)" -msgid "option: set option for remote relay: proxy, password or totp_secret" -msgstr "" -"opcja: ustaw opcję dla zdalnego pośrednika: proxy, password lub totp_secret" +#, fuzzy +#| msgid "option: extra option, for some servers" +msgid "option: set option for remote relay" +msgstr "opcje: dodatkowe opcje, dla niektórych serwerów" msgid "raw[connect]: connect to a remote relay server" msgstr "raw[connect]: połącz się z pośrednikiem" @@ -14998,6 +14999,11 @@ msgstr "" "przykłady: https://example.com:9000 lub http://example.com:9000 (czysty " "tekst, nie zalecane)" +#, fuzzy +#| msgid "raw[connect]: connect to a remote relay server" +msgid "auto-connect to the remote relay" +msgstr "raw[connect]: połącz się z pośrednikiem" + msgid "" "name of proxy used for this remote relay (optional, proxy must be defined " "with command /proxy)" @@ -17568,5 +17574,10 @@ msgstr "%s%s: przekroczono czas na \"%s\" z %s" msgid "%s%s: unable to connect: unexpected error (%d)" msgstr "%s%s: nie można połączyć: niespodziewany błąd (%d)" +#~ msgid "option: set option for remote relay: proxy, password or totp_secret" +#~ msgstr "" +#~ "opcja: ustaw opcję dla zdalnego pośrednika: proxy, password lub " +#~ "totp_secret" + #~ msgid "color for channel modes, near channel name" #~ msgstr "kolor trybów kanału, przy nazwie kanału" @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" "PO-Revision-Date: 2024-04-07 14:50+0200\n" "Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n" "Language-Team: Portuguese <>\n" @@ -14952,8 +14952,10 @@ msgid "" "example.com:9000 (plain-text connection, not recommended)" msgstr "" -msgid "option: set option for remote relay: proxy, password or totp_secret" -msgstr "" +#, fuzzy +#| msgid "option: extra option, for some servers" +msgid "option: set option for remote relay" +msgstr "opção: opção extra, para alguns servidores" #, fuzzy #| msgid "reconnect to server(s)" @@ -15044,6 +15046,11 @@ msgid "" msgstr "" #, fuzzy +#| msgid "reconnect to server(s)" +msgid "auto-connect to the remote relay" +msgstr "reconectar-se a um servidor" + +#, fuzzy #| msgid "" #| "name of proxy used for this server (optional, proxy must be defined with " #| "command /proxy)" diff --git a/po/pt_BR.po b/po/pt_BR.po index ef155e2c9..1bba17cfe 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" "PO-Revision-Date: 2024-04-07 14:50+0200\n" "Last-Translator: Érico Nogueira <ericonr@disroot.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -14092,8 +14092,10 @@ msgid "" "example.com:9000 (plain-text connection, not recommended)" msgstr "" -msgid "option: set option for remote relay: proxy, password or totp_secret" -msgstr "" +#, fuzzy +#| msgid "option: extra option, for some servers" +msgid "option: set option for remote relay" +msgstr "opção: opção extra, para alguns servidores" #, fuzzy msgid "raw[connect]: connect to a remote relay server" @@ -14179,6 +14181,10 @@ msgid "" "recommended)" msgstr "" +#, fuzzy +msgid "auto-connect to the remote relay" +msgstr "%s: reconectando ao servidor..." + msgid "" "name of proxy used for this remote relay (optional, proxy must be defined " "with command /proxy)" @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" "PO-Revision-Date: 2024-04-07 14:50+0200\n" "Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -13701,8 +13701,9 @@ msgid "" "example.com:9000 (plain-text connection, not recommended)" msgstr "" -msgid "option: set option for remote relay: proxy, password or totp_secret" -msgstr "" +#, fuzzy +msgid "option: set option for remote relay" +msgstr "%s не подключен к серверу \"%s\"!\n" #, fuzzy #| msgid "reconnect to server(s)" @@ -13787,6 +13788,11 @@ msgid "" "recommended)" msgstr "" +#, fuzzy +#| msgid "reconnect to server(s)" +msgid "auto-connect to the remote relay" +msgstr "переподключиться к серверу(-ам)" + msgid "" "name of proxy used for this remote relay (optional, proxy must be defined " "with command /proxy)" @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" "PO-Revision-Date: 2024-05-07 14:00+0400\n" "Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -14898,9 +14898,10 @@ msgstr "" "url: URL релеја удаљених, формат је https://example.com:9000 или http://" "example.com:9000 (веза употребом чистог текста, не препоручује се)" -msgid "option: set option for remote relay: proxy, password or totp_secret" -msgstr "" -"опција: постављање опције релеја удаљених: proxy, password или totp_secret" +#, fuzzy +#| msgid "option: extra option, for some servers" +msgid "option: set option for remote relay" +msgstr "опција: додатна опција, за неке сервере" msgid "raw[connect]: connect to a remote relay server" msgstr "raw[connect]: повезивање на сервер релеја удаљених" @@ -14984,6 +14985,11 @@ msgstr "" "примери: https://example.com:9000 или http://example.com:9000 (веза " "коришћењем чистог текста, не препоручује се)" +#, fuzzy +#| msgid "raw[connect]: connect to a remote relay server" +msgid "auto-connect to the remote relay" +msgstr "raw[connect]: повезивање на сервер релеја удаљених" + msgid "" "name of proxy used for this remote relay (optional, proxy must be defined " "with command /proxy)" @@ -17536,5 +17542,9 @@ msgstr "%s%s: тајмаут за „%s” са %s" msgid "%s%s: unable to connect: unexpected error (%d)" msgstr "%s%s: повезивање није успело: неочекивана грешка (%d)" +#~ msgid "option: set option for remote relay: proxy, password or totp_secret" +#~ msgstr "" +#~ "опција: постављање опције релеја удаљених: proxy, password или totp_secret" + #~ msgid "color for channel modes, near channel name" #~ msgstr "боја за режиме канала, у близини имена канала" @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" "PO-Revision-Date: 2024-04-07 14:50+0200\n" "Last-Translator: Emir SARI <emir_sari@icloud.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -15212,8 +15212,10 @@ msgid "" "example.com:9000 (plain-text connection, not recommended)" msgstr "" -msgid "option: set option for remote relay: proxy, password or totp_secret" -msgstr "" +#, fuzzy +#| msgid "option: extra option, for some servers" +msgid "option: set option for remote relay" +msgstr "seçenek: bazı sunucular için ek seçenek" #, fuzzy #| msgid "reconnect to server(s)" @@ -15307,6 +15309,11 @@ msgid "" msgstr "" #, fuzzy +#| msgid "reconnect to server(s)" +msgid "auto-connect to the remote relay" +msgstr "sunuculara yeniden bağlan" + +#, fuzzy #| msgid "" #| "name of proxy used for this server (optional, proxy must be defined with " #| "command /proxy)" diff --git a/po/weechat.pot b/po/weechat.pot index e6a342bc8..b62d99950 100644 --- a/po/weechat.pot +++ b/po/weechat.pot @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2024-05-13 22:50+0200\n" +"POT-Creation-Date: 2024-05-14 22:20+0200\n" "PO-Revision-Date: 2014-08-16 10:27+0200\n" "Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -12491,7 +12491,7 @@ msgid "" "example.com:9000 (plain-text connection, not recommended)" msgstr "" -msgid "option: set option for remote relay: proxy, password or totp_secret" +msgid "option: set option for remote relay" msgstr "" msgid "raw[connect]: connect to a remote relay server" @@ -12569,6 +12569,9 @@ msgid "" "recommended)" msgstr "" +msgid "auto-connect to the remote relay" +msgstr "" + msgid "" "name of proxy used for this remote relay (optional, proxy must be defined " "with command /proxy)" diff --git a/src/plugins/relay/relay-command.c b/src/plugins/relay/relay-command.c index 85c36341d..98b7150a9 100644 --- a/src/plugins/relay/relay-command.c +++ b/src/plugins/relay/relay-command.c @@ -397,6 +397,9 @@ relay_command_display_remote (struct t_relay_remote *remote, int with_detail) weechat_printf (NULL, _("Remote: %s"), remote->name); weechat_printf (NULL, " url. . . . . . . . . : '%s'", weechat_config_string (remote->options[RELAY_REMOTE_OPTION_URL])); + weechat_printf (NULL, " autoconnect. . . . . : %s", + (weechat_config_string (remote->options[RELAY_REMOTE_OPTION_AUTOCONNECT])) ? + "on" : "off"); weechat_printf (NULL, " proxy. . . . . . . . : '%s'", weechat_config_string (remote->options[RELAY_REMOTE_OPTION_PROXY])); weechat_printf (NULL, " tls_verify . . . . . : %s", @@ -428,7 +431,8 @@ relay_command_remote (const void *pointer, void *data, { struct t_relay_remote *ptr_remote, *ptr_remote2; int i, detailed_list, one_remote_found; - const char *ptr_proxy, *ptr_tls_verify, *ptr_password, *ptr_totp_secret; + const char *ptr_autoconnect, *ptr_proxy, *ptr_tls_verify, *ptr_password; + const char *ptr_totp_secret; char *remote_name; /* make C compiler happy */ @@ -529,13 +533,18 @@ relay_command_remote (const void *pointer, void *data, argv[3]); return WEECHAT_RC_OK; } + ptr_autoconnect = NULL; ptr_proxy = NULL; ptr_tls_verify = NULL; ptr_password = NULL; ptr_totp_secret = NULL; for (i = 4; i < argc; i++) { - if (strncmp (argv[i], "-proxy=", 7) == 0) + if (strncmp (argv[i], "-autoconnect=", 13) == 0) + { + ptr_autoconnect = argv[i] + 13; + } + else if (strncmp (argv[i], "-proxy=", 7) == 0) { ptr_proxy = argv[i] + 7; } @@ -561,8 +570,8 @@ relay_command_remote (const void *pointer, void *data, return WEECHAT_RC_OK; } } - ptr_remote = relay_remote_new (argv[2], argv[3], ptr_proxy, - ptr_tls_verify, ptr_password, + ptr_remote = relay_remote_new (argv[2], argv[3], ptr_autoconnect, + ptr_proxy, ptr_tls_verify, ptr_password, ptr_totp_secret); if (ptr_remote) { @@ -835,7 +844,7 @@ relay_command_init () "remote relay options: relay.remote.name.xxx"), N_("url: URL of the remote relay, format is https://example.com:9000 " "or http://example.com:9000 (plain-text connection, not recommended)"), - N_("option: set option for remote relay: proxy, password or totp_secret"), + N_("option: set option for remote relay"), N_("raw[connect]: connect to a remote relay server"), N_("raw[send]: send JSON data to a remote relay server"), N_("raw[disconnect]: disconnect from a remote relay server"), @@ -850,7 +859,8 @@ relay_command_init () "list %(relay_remotes)" " || listfull %(relay_remotes)" " || add %(relay_remotes) https://localhost:9000 " - "-password=${xxx}|-proxy=xxx|-tls_verify=xxx|-totp_secret=${xxx}|%*" + "-autoconnect=on|-password=${xxx}|-proxy=xxx|-tls_verify=off|" + "-totp_secret=${xxx}|%*" " || connect %(relay_remotes)" " || send %(relay_remotes) {\"request\":\"\"}" " || disconnect %(relay_remotes)" diff --git a/src/plugins/relay/relay-config.c b/src/plugins/relay/relay-config.c index e58d29d6c..33276081e 100644 --- a/src/plugins/relay/relay-config.c +++ b/src/plugins/relay/relay-config.c @@ -1067,6 +1067,14 @@ relay_config_create_remote_option (const char *remote_name, int index_option, &relay_config_remote_url_change_cb, NULL, NULL, NULL, NULL, NULL); break; + case RELAY_REMOTE_OPTION_AUTOCONNECT: + ptr_option = weechat_config_new_option ( + relay_config_file, relay_config_section_remote, + option_name, "boolean", + N_("auto-connect to the remote relay"), + NULL, 0, 0, value, NULL, 0, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + break; case RELAY_REMOTE_OPTION_PROXY: ptr_option = weechat_config_new_option ( relay_config_file, relay_config_section_remote, diff --git a/src/plugins/relay/relay-remote.c b/src/plugins/relay/relay-remote.c index 6e686e118..36866662c 100644 --- a/src/plugins/relay/relay-remote.c +++ b/src/plugins/relay/relay-remote.c @@ -42,9 +42,9 @@ char *relay_remote_option_string[RELAY_REMOTE_NUM_OPTIONS] = -{ "url", "proxy", "tls_verify", "password", "totp_secret" }; +{ "url", "autoconnect", "proxy", "tls_verify", "password", "totp_secret" }; char *relay_remote_option_default[RELAY_REMOTE_NUM_OPTIONS] = -{ "", "", "on", "", "" }; +{ "", "off", "", "on", "", "" }; struct t_relay_remote *relay_remotes = NULL; struct t_relay_remote *last_relay_remote = NULL; @@ -464,9 +464,9 @@ relay_remote_new_with_options (const char *name, struct t_config_option **option */ struct t_relay_remote * -relay_remote_new (const char *name, const char *url, const char *proxy, - const char *tls_verify, const char *password, - const char *totp_secret) +relay_remote_new (const char *name, const char *url, const char *autoconnect, + const char *proxy, const char *tls_verify, + const char *password, const char *totp_secret) { struct t_config_option *option[RELAY_REMOTE_NUM_OPTIONS]; const char *value[RELAY_REMOTE_NUM_OPTIONS]; @@ -477,6 +477,7 @@ relay_remote_new (const char *name, const char *url, const char *proxy, return NULL; value[RELAY_REMOTE_OPTION_URL] = url; + value[RELAY_REMOTE_OPTION_AUTOCONNECT] = autoconnect; value[RELAY_REMOTE_OPTION_PROXY] = proxy; value[RELAY_REMOTE_OPTION_TLS_VERIFY] = tls_verify; value[RELAY_REMOTE_OPTION_PASSWORD] = password; @@ -650,6 +651,42 @@ relay_remote_connect (struct t_relay_remote *remote) } /* + * Callback for auto-connect to remotes (called at startup). + */ + +int +relay_remote_auto_connect_timer_cb (const void *pointer, void *data, + int remaining_calls) +{ + struct t_relay_remote *ptr_remote; + + /* make C compiler happy */ + (void) pointer; + (void) data; + (void) remaining_calls; + + for (ptr_remote = relay_remotes; ptr_remote; + ptr_remote = ptr_remote->next_remote) + { + if (weechat_config_boolean (ptr_remote->options[RELAY_REMOTE_OPTION_AUTOCONNECT])) + relay_remote_connect (ptr_remote); + } + + return WEECHAT_RC_OK; +} + +/* + * Auto-connects to all remotes with option autoconnect to "on". + */ + +void +relay_remote_auto_connect () +{ + weechat_hook_timer (1, 0, 1, + &relay_remote_auto_connect_timer_cb, NULL, NULL); +} + +/* * Sends JSON data to a remote WeeChat relay/api. * * Returns: @@ -927,6 +964,9 @@ relay_remote_print_log () weechat_log_printf (" name. . . . . . . . . . : '%s'", ptr_remote->name); weechat_log_printf (" url . . . . . . . . . . : '%s'", weechat_config_string (ptr_remote->options[RELAY_REMOTE_OPTION_URL])); + weechat_log_printf (" autoconnect . . . . . . : %s", + (weechat_config_boolean (ptr_remote->options[RELAY_REMOTE_OPTION_AUTOCONNECT])) ? + "on" : "off"); weechat_log_printf (" proxy . . . . . . . . . : '%s'", weechat_config_string (ptr_remote->options[RELAY_REMOTE_OPTION_PROXY])); weechat_log_printf (" tls_verify. . . . . . . : %s", diff --git a/src/plugins/relay/relay-remote.h b/src/plugins/relay/relay-remote.h index 87db6583e..4689c86c9 100644 --- a/src/plugins/relay/relay-remote.h +++ b/src/plugins/relay/relay-remote.h @@ -27,6 +27,7 @@ enum t_relay_remote_option { RELAY_REMOTE_OPTION_URL = 0, /* remote URL */ + RELAY_REMOTE_OPTION_AUTOCONNECT, /* auto-connect */ RELAY_REMOTE_OPTION_PROXY, /* proxy used for remote (optional) */ RELAY_REMOTE_OPTION_TLS_VERIFY, /* check if the connection is trusted */ RELAY_REMOTE_OPTION_PASSWORD, /* password for remote relay */ @@ -86,6 +87,7 @@ extern void relay_remote_set_url (struct t_relay_remote *remote, extern struct t_relay_remote *relay_remote_new_with_options (const char *name, struct t_config_option **options); extern struct t_relay_remote *relay_remote_new (const char *name, + const char *autoconnect, const char *proxy, const char *tls_verify, const char *url, @@ -95,6 +97,7 @@ extern struct t_relay_remote *relay_remote_new_with_infolist (struct t_infolist extern void relay_remote_set_status (struct t_relay_remote *remote, enum t_relay_status status); extern int relay_remote_connect (struct t_relay_remote *remote); +extern void relay_remote_auto_connect (); extern int relay_remote_send (struct t_relay_remote *remote, const char *json); extern void relay_remote_disconnect (struct t_relay_remote *remote); extern void relay_remote_disconnect_all (); diff --git a/src/plugins/relay/relay.c b/src/plugins/relay/relay.c index b81d08ac7..026a5fa4d 100644 --- a/src/plugins/relay/relay.c +++ b/src/plugins/relay/relay.c @@ -245,6 +245,9 @@ relay_debug_dump_cb (const void *pointer, void *data, int weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[]) { + int auto_connect; + char *info_auto_connect; + /* make C compiler happy */ (void) argc; (void) argv; @@ -282,7 +285,19 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[]) relay_info_init (); if (weechat_relay_plugin->upgrading) + { relay_upgrade_load (); + } + else + { + /* check if auto-connect is enabled */ + info_auto_connect = weechat_info_get ("auto_connect", NULL); + auto_connect = (info_auto_connect && (strcmp (info_auto_connect, "1") == 0)) ? + 1 : 0; + free (info_auto_connect); + if (auto_connect) + relay_remote_auto_connect (); + } relay_hook_timer = weechat_hook_timer (1 * 1000, 0, 0, &relay_client_timer_cb, NULL, NULL); diff --git a/tests/unit/plugins/relay/api/remote/test-relay-remote-network.cpp b/tests/unit/plugins/relay/api/remote/test-relay-remote-network.cpp index fd5913f2c..098b93c50 100644 --- a/tests/unit/plugins/relay/api/remote/test-relay-remote-network.cpp +++ b/tests/unit/plugins/relay/api/remote/test-relay-remote-network.cpp @@ -53,10 +53,14 @@ TEST_GROUP(RelayRemoteNetworkWithRemote) config_file_option_set (relay_config_look_auto_open_buffer, "off", 1); /* create two relay remotes */ - ptr_relay_remote = relay_remote_new ("remote", "http://localhost:9000", - NULL, "on", "secret", "secretbase32"); - ptr_relay_remote2 = relay_remote_new ("remote2", "https://localhost:9001/", - "my_proxy", "off", "secret", "secretbase32"); + ptr_relay_remote = relay_remote_new ("remote", + "http://localhost:9000", + "off", NULL, "on", + "secret", "secretbase32"); + ptr_relay_remote2 = relay_remote_new ("remote2", + "https://localhost:9001/", + "off", "my_proxy", "off", + "secret", "secretbase32"); } void teardown () |