diff options
-rw-r--r-- | po/cs.po | 27 | ||||
-rw-r--r-- | po/de.po | 27 | ||||
-rw-r--r-- | po/es.po | 27 | ||||
-rw-r--r-- | po/fr.po | 40 | ||||
-rw-r--r-- | po/hu.po | 27 | ||||
-rw-r--r-- | po/ru.po | 27 | ||||
-rw-r--r-- | po/weechat.pot | 24 | ||||
-rw-r--r-- | src/core/wee-config.c | 56 | ||||
-rw-r--r-- | src/core/wee-config.h | 2 | ||||
-rw-r--r-- | src/core/wee-hook.h | 1 | ||||
-rw-r--r-- | src/core/wee-network.c | 11 | ||||
-rw-r--r-- | src/plugins/irc/irc-server.c | 67 | ||||
-rw-r--r-- | src/plugins/jabber/jabber-server.c | 67 | ||||
-rw-r--r-- | src/plugins/scripts/lua/weechat-lua-api.c | 8 | ||||
-rw-r--r-- | src/plugins/scripts/perl/weechat-perl-api.c | 7 | ||||
-rw-r--r-- | src/plugins/scripts/python/weechat-python-api.c | 7 | ||||
-rw-r--r-- | src/plugins/scripts/ruby/weechat-ruby-api.c | 7 | ||||
-rw-r--r-- | src/plugins/scripts/script-api.c | 4 | ||||
-rw-r--r-- | src/plugins/scripts/script-api.h | 1 | ||||
-rw-r--r-- | src/plugins/scripts/tcl/weechat-tcl-api.c | 7 | ||||
-rw-r--r-- | src/plugins/weechat-plugin.h | 1 |
21 files changed, 356 insertions, 89 deletions
@@ -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-03-23 11:08+0100\n" +"POT-Creation-Date: 2009-03-27 16:41+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -1676,6 +1676,9 @@ msgstr "" "maximální počet příkazů, který zobrazit jako výchozí v seznamu historie (0 = " "nekonečno)" +msgid "minimum size in bits for handshake using Diffie Hellman key exchange" +msgstr "" + #, fuzzy msgid "" "comma separated list of plugins to load automatically at startup, \"*\" " @@ -1711,6 +1714,14 @@ msgstr "" msgid "save configuration files when unloading plugins" msgstr "uložit soubor s nastavením při ukončení" +#, fuzzy +msgid "FATAL: error initializing configuration options" +msgstr "říct serveru, aby znovu načetl svůj konfigurační soubor" + +#, fuzzy, c-format +msgid "%sError reading configuration" +msgstr "říct serveru, aby znovu načetl svůj konfigurační soubor" + #, fuzzy, c-format msgid "%sError: cannot create file \"%s\"" msgstr "%s nemohu vytvořit soubor \"%s\"\n" @@ -2375,13 +2386,13 @@ msgstr "%s chyba při čtení FIFO roury, zavírám ji\n" msgid "name of FIFO pipe" msgstr "" +msgid "away" +msgstr "" + #, fuzzy msgid "servers" msgstr "server" -msgid "away" -msgstr "" - msgid "Lag" msgstr "" @@ -4093,6 +4104,10 @@ msgid "%s%s: address \"%s\" not found" msgstr "%s adresa \"%s\" nenalezena\n" #, fuzzy, c-format +msgid "%s%s: error: %s" +msgstr "%sServer: %s%s\n" + +#, fuzzy, c-format msgid "%s%s: proxy IP address not found" msgstr "%s IP adresa proxy nenalezena\n" @@ -4965,10 +4980,6 @@ msgid "%s%s: unable to run function \"%s\"" msgstr "Nemůžu zapsat log soubor \"%s\"\n" #, fuzzy, c-format -msgid "%s%s: error: %s" -msgstr "%sServer: %s%s\n" - -#, fuzzy, c-format msgid "%s%s: script \"%s\" not found" msgstr "%s server \"%s\" nenalezen\n" @@ -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-03-23 11:08+0100\n" +"POT-Creation-Date: 2009-03-27 16:41+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Thomas Schuetz <i18n@internet-villa.de>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -1694,6 +1694,9 @@ msgid "" "unlimited)" msgstr "maximale Anzahl der angezeigten Befehle im Verlauf (0: unbegrenzt)" +msgid "minimum size in bits for handshake using Diffie Hellman key exchange" +msgstr "" + #, fuzzy msgid "" "comma separated list of plugins to load automatically at startup, \"*\" " @@ -1725,6 +1728,14 @@ msgstr "" msgid "save configuration files when unloading plugins" msgstr "Konfiguration beim Verlassen abspeichern" +#, fuzzy +msgid "FATAL: error initializing configuration options" +msgstr "den Server dazu bringen, seine Konfigurationsdatei neu zu laden" + +#, fuzzy, c-format +msgid "%sError reading configuration" +msgstr "den Server dazu bringen, seine Konfigurationsdatei neu zu laden" + #, fuzzy, c-format msgid "%sError: cannot create file \"%s\"" msgstr "%s kann die Datei \"%s\" nicht anlegen\n" @@ -2380,13 +2391,13 @@ msgstr "%s Fehler beim Lesen vom FIFO, FIFO wird geschlossen\n" msgid "name of FIFO pipe" msgstr "" +msgid "away" +msgstr "" + #, fuzzy msgid "servers" msgstr "Server" -msgid "away" -msgstr "" - msgid "Lag" msgstr "" @@ -4067,6 +4078,10 @@ msgid "%s%s: address \"%s\" not found" msgstr "%s Adresse \"%s\" nicht gefunden\n" #, fuzzy, c-format +msgid "%s%s: error: %s" +msgstr "%sServer: %s%s\n" + +#, fuzzy, c-format msgid "%s%s: proxy IP address not found" msgstr "%s Proxy-IP-Adresse nicht gefunden\n" @@ -4908,10 +4923,6 @@ msgid "%s%s: unable to run function \"%s\"" msgstr "Kann das Logfile nicht schreiben\n" #, fuzzy, c-format -msgid "%s%s: error: %s" -msgstr "%sServer: %s%s\n" - -#, fuzzy, c-format msgid "%s%s: script \"%s\" not found" msgstr "%s Server \"%s\" nicht gefunden\n" @@ -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-03-23 11:08+0100\n" +"POT-Creation-Date: 2009-03-27 16:41+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Roberto González Cardenete <robert.glez@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -1679,6 +1679,9 @@ msgstr "" "número máximo de comandos para mostrar por defecto en el listado del " "historial (0 = ilimitado)" +msgid "minimum size in bits for handshake using Diffie Hellman key exchange" +msgstr "" + #, fuzzy msgid "" "comma separated list of plugins to load automatically at startup, \"*\" " @@ -1710,6 +1713,14 @@ msgstr "" msgid "save configuration files when unloading plugins" msgstr "guardar configuración a disco" +#, fuzzy +msgid "FATAL: error initializing configuration options" +msgstr "pedir al servidor que recargue su archivo de configuración" + +#, fuzzy, c-format +msgid "%sError reading configuration" +msgstr "pedir al servidor que recargue su archivo de configuración" + #, fuzzy, c-format msgid "%sError: cannot create file \"%s\"" msgstr "%s no es posible crear el fichero \"%s\"\n" @@ -2355,13 +2366,13 @@ msgstr "%s error al leer la tuberÃa FIFO, cerrándola\n" msgid "name of FIFO pipe" msgstr "" +msgid "away" +msgstr "" + #, fuzzy msgid "servers" msgstr "servidor" -msgid "away" -msgstr "" - msgid "Lag" msgstr "" @@ -4060,6 +4071,10 @@ msgid "%s%s: address \"%s\" not found" msgstr "%s dirección \"%s\" no encontrada\n" #, fuzzy, c-format +msgid "%s%s: error: %s" +msgstr "%sServidor: %s%s\n" + +#, fuzzy, c-format msgid "%s%s: proxy IP address not found" msgstr "%s dirección proxy IP no encontrada\n" @@ -4900,10 +4915,6 @@ msgid "%s%s: unable to run function \"%s\"" msgstr "No es posible escribir un fichero de log para un búfer\n" #, fuzzy, c-format -msgid "%s%s: error: %s" -msgstr "%sServidor: %s%s\n" - -#, fuzzy, c-format msgid "%s%s: script \"%s\" not found" msgstr "%s servidor \"%s\" no encontrado\n" @@ -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-03-23 11:08+0100\n" -"PO-Revision-Date: 2009-03-23 11:08+0100\n" +"POT-Creation-Date: 2009-03-27 16:41+0100\n" +"PO-Revision-Date: 2009-03-27 16:43+0100\n" "Last-Translator: FlashCode <flashcode@flashtux.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" "MIME-Version: 1.0\n" @@ -1774,6 +1774,11 @@ msgstr "" "nombre maximum de commandes à afficher par défaut dans le listing " "d'historique (0 = sans limite)" +msgid "minimum size in bits for handshake using Diffie Hellman key exchange" +msgstr "" +"taille minimum en bits pour la poignée de main (handshake) utilisant un " +"échange de clé Diffie Hellman" + msgid "" "comma separated list of plugins to load automatically at startup, \"*\" " "means all plugins found (names may be partial, for example \"perl\" is ok " @@ -1808,6 +1813,13 @@ msgid "save configuration files when unloading plugins" msgstr "" "sauvegarder les fichiers de configuration lors du déchargement des extensions" +msgid "FATAL: error initializing configuration options" +msgstr "FATAL: erreur d'initialisation des options de configuration" + +#, c-format +msgid "%sError reading configuration" +msgstr "%sErreur de lecture de la configuration" + #, c-format msgid "%sError: cannot create file \"%s\"" msgstr "%sErreur: impossible de créer le fichier \"%s\"" @@ -2482,12 +2494,12 @@ msgstr "%s%s: erreur d'ouverture du fichier, fermeture" msgid "name of FIFO pipe" msgstr "nom du tube FIFO" -msgid "servers" -msgstr "serveurs" - msgid "away" msgstr "absent" +msgid "servers" +msgstr "serveurs" + msgid "Lag" msgstr "Lag" @@ -4215,6 +4227,10 @@ msgid "%s%s: address \"%s\" not found" msgstr "%s%s: adresse \"%s\" non trouvée" #, c-format +msgid "%s%s: error: %s" +msgstr "%s%s: erreur: %s" + +#, c-format msgid "%s%s: proxy IP address not found" msgstr "%s%s: adresse IP du proxy non trouvée" @@ -4249,7 +4265,7 @@ msgstr "%s%s: erreur d'initialisation TLS" #, c-format msgid "%s%s: TLS handshake failed" -msgstr "%s%s: la poignée de main de TLS a échoué" +msgstr "%s%s: la poignée de main (handshake) de TLS a échoué" #, c-format msgid "%s%s: not enough memory" @@ -4529,7 +4545,7 @@ msgstr "%s%s: erreur d'initialisation GnuTLS" #, c-format msgid "%s%s: GnuTLS handshake failed" -msgstr "%s%s: la poignée de main de GnuTLS a échoué" +msgstr "%s%s: la poignée de main (handshake) de GnuTLS a échoué" #, c-format msgid "%s%s: connecting to server %s/%d%s%s%s via %s proxy %s/%d%s..." @@ -5102,10 +5118,6 @@ msgid "%s%s: unable to run function \"%s\"" msgstr "%s%s: impossible de lancer la fonction \"%s\"" #, c-format -msgid "%s%s: error: %s" -msgstr "%s%s: erreur: %s" - -#, c-format msgid "%s%s: script \"%s\" not found" msgstr "%s%s: script \"%s\" non trouvé" @@ -5662,9 +5674,3 @@ msgstr "%s%s: impossible de positionner l'option \"nonblock\" pour la socket" #, c-format msgid "%s%s: timeout for \"%s\" with %s" msgstr "%s%s: délai d'attente dépassé pour \"%s\" avec %s" - -#~ msgid " (used by a plugin)" -#~ msgstr " (utilisé par une extension)" - -#~ msgid " (masked by a plugin)" -#~ msgstr " (masqué par une extension)" @@ -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-03-23 11:08+0100\n" +"POT-Creation-Date: 2009-03-27 16:41+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -1707,6 +1707,9 @@ msgstr "" "megjeleníthető parancsok maximális száma előzmények listázásakor ( 0 = " "korlátlan)" +msgid "minimum size in bits for handshake using Diffie Hellman key exchange" +msgstr "" + #, fuzzy msgid "" "comma separated list of plugins to load automatically at startup, \"*\" " @@ -1738,6 +1741,14 @@ msgstr "" msgid "save configuration files when unloading plugins" msgstr "beállítások mentése kilépéskor" +#, fuzzy +msgid "FATAL: error initializing configuration options" +msgstr "szerver konfigurációs fájljának újraolvastatása" + +#, fuzzy, c-format +msgid "%sError reading configuration" +msgstr "szerver konfigurációs fájljának újraolvastatása" + #, fuzzy, c-format msgid "%sError: cannot create file \"%s\"" msgstr "%s nem sikerült a \"%s\" fájlt létrehozni\n" @@ -2389,13 +2400,13 @@ msgstr "%s hiba a FIFO cső olvasása közben, bezárás\n" msgid "name of FIFO pipe" msgstr "" +msgid "away" +msgstr "" + #, fuzzy msgid "servers" msgstr "szerver" -msgid "away" -msgstr "" - msgid "Lag" msgstr "" @@ -4092,6 +4103,10 @@ msgid "%s%s: address \"%s\" not found" msgstr "%s cím \"%s\" nem található\n" #, fuzzy, c-format +msgid "%s%s: error: %s" +msgstr "%sSzerver: %s%s\n" + +#, fuzzy, c-format msgid "%s%s: proxy IP address not found" msgstr "%s proxy IP-cím nem található\n" @@ -4965,10 +4980,6 @@ msgid "%s%s: unable to run function \"%s\"" msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n" #, fuzzy, c-format -msgid "%s%s: error: %s" -msgstr "%sSzerver: %s%s\n" - -#, fuzzy, c-format msgid "%s%s: script \"%s\" not found" msgstr "%s a \"%s\" szerver nem található\n" @@ -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-03-23 11:08+0100\n" +"POT-Creation-Date: 2009-03-27 16:41+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n" "Language-Team: weechat-dev <weechat-dev@nongnu.org>\n" @@ -1708,6 +1708,9 @@ msgstr "" "максимальное количество отображаемых команд в листинге истории (0 = не " "ограничено)" +msgid "minimum size in bits for handshake using Diffie Hellman key exchange" +msgstr "" + #, fuzzy msgid "" "comma separated list of plugins to load automatically at startup, \"*\" " @@ -1739,6 +1742,14 @@ msgstr "" msgid "save configuration files when unloading plugins" msgstr "сохранять конфигурационный файл при выходе" +#, fuzzy +msgid "FATAL: error initializing configuration options" +msgstr "перезагрузить конфигурационный файл сервера" + +#, fuzzy, c-format +msgid "%sError reading configuration" +msgstr "перезагрузить конфигурационный файл сервера" + #, fuzzy, c-format msgid "%sError: cannot create file \"%s\"" msgstr "%s не могу создать файл \"%s\"\n" @@ -2393,13 +2404,13 @@ msgstr "%s ошибка чтения FIFO pipe, закрываю его\n" msgid "name of FIFO pipe" msgstr "" +msgid "away" +msgstr "" + #, fuzzy msgid "servers" msgstr "сервер" -msgid "away" -msgstr "" - msgid "Lag" msgstr "" @@ -4083,6 +4094,10 @@ msgid "%s%s: address \"%s\" not found" msgstr "%s адрес \"%s\" не найден\n" #, fuzzy, c-format +msgid "%s%s: error: %s" +msgstr "%sСервер: %s%s\n" + +#, fuzzy, c-format msgid "%s%s: proxy IP address not found" msgstr "%s IP адрес proxy-сервера не найден\n" @@ -4941,10 +4956,6 @@ msgid "%s%s: unable to run function \"%s\"" msgstr "Не могу записать лог-файл \"%s\"\n" #, fuzzy, c-format -msgid "%s%s: error: %s" -msgstr "%sСервер: %s%s\n" - -#, fuzzy, c-format msgid "%s%s: script \"%s\" not found" msgstr "%s сервер \"%s\" не найден\n" diff --git a/po/weechat.pot b/po/weechat.pot index 24f613fde..ca77d3988 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-03-23 11:08+0100\n" +"POT-Creation-Date: 2009-03-27 16:41+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -1432,6 +1432,9 @@ msgid "" "unlimited)" msgstr "" +msgid "minimum size in bits for handshake using Diffie Hellman key exchange" +msgstr "" + msgid "" "comma separated list of plugins to load automatically at startup, \"*\" " "means all plugins found (names may be partial, for example \"perl\" is ok " @@ -1456,6 +1459,13 @@ msgstr "" msgid "save configuration files when unloading plugins" msgstr "" +msgid "FATAL: error initializing configuration options" +msgstr "" + +#, c-format +msgid "%sError reading configuration" +msgstr "" + #, c-format msgid "%sError: cannot create file \"%s\"" msgstr "" @@ -2056,10 +2066,10 @@ msgstr "" msgid "name of FIFO pipe" msgstr "" -msgid "servers" +msgid "away" msgstr "" -msgid "away" +msgid "servers" msgstr "" msgid "Lag" @@ -3528,6 +3538,10 @@ msgid "%s%s: address \"%s\" not found" msgstr "" #, c-format +msgid "%s%s: error: %s" +msgstr "" + +#, c-format msgid "%s%s: proxy IP address not found" msgstr "" @@ -4258,10 +4272,6 @@ msgid "%s%s: unable to run function \"%s\"" msgstr "" #, c-format -msgid "%s%s: error: %s" -msgstr "" - -#, c-format msgid "%s%s: script \"%s\" not found" msgstr "" diff --git a/src/core/wee-config.c b/src/core/wee-config.c index 7d6b727bd..b5fd829e4 100644 --- a/src/core/wee-config.c +++ b/src/core/wee-config.c @@ -159,6 +159,10 @@ struct t_config_option *config_history_max_lines; struct t_config_option *config_history_max_commands; struct t_config_option *config_history_display_default; +/* config, network section */ + +struct t_config_option *config_network_gnutls_dh_prime_bits; + /* config, plugin section */ struct t_config_option *config_plugin_autoload; @@ -978,12 +982,12 @@ config_weechat_key_write_cb (void *data, struct t_config_file *config_file, } /* - * config_weechat_init: init WeeChat config structure - * return: 1 if ok, 0 if error + * config_weechat_init_options: init WeeChat config structure (all core options) + * return: 1 if ok, 0 if error */ int -config_weechat_init () +config_weechat_init_options () { struct t_config_section *ptr_section; @@ -1680,6 +1684,24 @@ config_weechat_init () } weechat_config_section_proxy = ptr_section; + + /* network */ + ptr_section = config_file_new_section (weechat_config_file, "network", + 0, 0, + NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL); + if (!ptr_section) + { + config_file_free (weechat_config_file); + return 0; + } + + config_network_gnutls_dh_prime_bits = config_file_new_option ( + weechat_config_file, ptr_section, + "gnutls_dh_prime_bitsmax_lines", "integer", + N_("minimum size in bits for handshake using Diffie Hellman key " + "exchange"), + NULL, 0, INT_MAX, "512", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL); /* plugin */ ptr_section = config_file_new_section (weechat_config_file, "plugin", @@ -1786,6 +1808,27 @@ config_weechat_init () } /* + * config_weechat_init: init WeeChat config structure + * return: 1 if ok, 0 if error + */ + +int +config_weechat_init () +{ + int rc; + + rc = config_weechat_init_options (); + + if (!rc) + { + gui_chat_printf (NULL, + _("FATAL: error initializing configuration options")); + } + + return rc; +} + +/* * config_weechat_read: read WeeChat configuration file * return one of these values: * WEECHAT_CONFIG_READ_OK @@ -1806,6 +1849,13 @@ config_weechat_read () gui_bar_use_temp_bars (); gui_bar_create_default (); } + + if (rc != WEECHAT_CONFIG_READ_OK) + { + gui_chat_printf (NULL, + _("%sError reading configuration"), + gui_chat_prefix[GUI_CHAT_PREFIX_ERROR]); + } return rc; } diff --git a/src/core/wee-config.h b/src/core/wee-config.h index 17314d806..bcefc2143 100644 --- a/src/core/wee-config.h +++ b/src/core/wee-config.h @@ -159,6 +159,8 @@ extern struct t_config_option *config_history_max_lines; extern struct t_config_option *config_history_max_commands; extern struct t_config_option *config_history_display_default; +extern struct t_config_option *config_network_gnutls_dh_prime_bits; + extern struct t_config_option *config_plugin_autoload; extern struct t_config_option *config_plugin_debug; extern struct t_config_option *config_plugin_extension; diff --git a/src/core/wee-hook.h b/src/core/wee-hook.h index 68f6d8800..fb6aa0010 100644 --- a/src/core/wee-hook.h +++ b/src/core/wee-hook.h @@ -167,6 +167,7 @@ struct t_hook_process /* hook connect */ typedef int (t_hook_callback_connect)(void *data, int status, + const char *error, const char *ip_address); struct t_hook_connect diff --git a/src/core/wee-network.c b/src/core/wee-network.c index d3468ab49..15d7bbb8c 100644 --- a/src/core/wee-network.c +++ b/src/core/wee-network.c @@ -804,6 +804,8 @@ network_connect_child_read_cb (void *arg_hook_connect, int fd) { gnutls_transport_set_ptr (*HOOK_CONNECT(hook_connect, gnutls_sess), (gnutls_transport_ptr) ((unsigned long) HOOK_CONNECT(hook_connect, sock))); + gnutls_dh_set_prime_bits (*HOOK_CONNECT(hook_connect, gnutls_sess), + CONFIG_INTEGER(config_network_gnutls_dh_prime_bits)); while (1) { rc = gnutls_handshake (*HOOK_CONNECT(hook_connect, gnutls_sess)); @@ -817,6 +819,7 @@ network_connect_child_read_cb (void *arg_hook_connect, int fd) (void) (HOOK_CONNECT(hook_connect, callback)) (hook_connect->callback_data, WEECHAT_HOOK_CONNECT_GNUTLS_HANDSHAKE_ERROR, + gnutls_strerror (rc), ip_address); unhook (hook_connect); if (ip_address) @@ -827,7 +830,7 @@ network_connect_child_read_cb (void *arg_hook_connect, int fd) #endif } (void) (HOOK_CONNECT(hook_connect, callback)) - (hook_connect->callback_data, buffer[0] - '0', ip_address); + (hook_connect->callback_data, buffer[0] - '0', NULL, ip_address); unhook (hook_connect); } @@ -858,7 +861,7 @@ network_connect_with_fork (struct t_hook *hook_connect) (void) (HOOK_CONNECT(hook_connect, callback)) (hook_connect->callback_data, '0' + WEECHAT_HOOK_CONNECT_GNUTLS_INIT_ERROR, - NULL); + NULL, NULL); unhook (hook_connect); return; } @@ -881,7 +884,7 @@ network_connect_with_fork (struct t_hook *hook_connect) (void) (HOOK_CONNECT(hook_connect, callback)) (hook_connect->callback_data, '0' + WEECHAT_HOOK_CONNECT_MEMORY_ERROR, - NULL); + NULL, NULL); unhook (hook_connect); return; } @@ -903,7 +906,7 @@ network_connect_with_fork (struct t_hook *hook_connect) (void) (HOOK_CONNECT(hook_connect, callback)) (hook_connect->callback_data, '0' + WEECHAT_HOOK_CONNECT_MEMORY_ERROR, - NULL); + NULL, NULL); unhook (hook_connect); return; /* child process */ diff --git a/src/plugins/irc/irc-server.c b/src/plugins/irc/irc-server.c index ff8692347..6f6918c4d 100644 --- a/src/plugins/irc/irc-server.c +++ b/src/plugins/irc/irc-server.c @@ -1847,7 +1847,8 @@ irc_server_switch_address (struct t_irc_server *server) */ int -irc_server_connect_cb (void *arg_server, int status, const char *ip_address) +irc_server_connect_cb (void *arg_server, int status, const char *error, + const char *ip_address) { struct t_irc_server *server; const char *proxy; @@ -1885,6 +1886,14 @@ irc_server_connect_cb (void *arg_server, int status, const char *ip_address) irc_buffer_get_server_prefix (server, "error"), IRC_PLUGIN_NAME, server->addresses_array[server->index_current_address]); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, + error); + } irc_server_close_connection (server); irc_server_switch_address (server); break; @@ -1895,6 +1904,14 @@ irc_server_connect_cb (void *arg_server, int status, const char *ip_address) _("%s%s: IP address not found"), irc_buffer_get_server_prefix (server, "error"), IRC_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, + error); + } irc_server_close_connection (server); irc_server_switch_address (server); break; @@ -1905,6 +1922,14 @@ irc_server_connect_cb (void *arg_server, int status, const char *ip_address) _("%s%s: connection refused"), irc_buffer_get_server_prefix (server, "error"), IRC_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, + error); + } irc_server_close_connection (server); irc_server_switch_address (server); break; @@ -1917,6 +1942,14 @@ irc_server_connect_cb (void *arg_server, int status, const char *ip_address) "proxy)"), irc_buffer_get_server_prefix (server, "error"), IRC_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, + error); + } irc_server_close_connection (server); irc_server_switch_address (server); break; @@ -1925,6 +1958,14 @@ irc_server_connect_cb (void *arg_server, int status, const char *ip_address) _("%s%s: unable to set local hostname/IP"), irc_buffer_get_server_prefix (server, "error"), IRC_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, + error); + } irc_server_close_connection (server); irc_server_reconnect_schedule (server); break; @@ -1933,6 +1974,14 @@ irc_server_connect_cb (void *arg_server, int status, const char *ip_address) _("%s%s: TLS init error"), irc_buffer_get_server_prefix (server, "error"), IRC_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, + error); + } irc_server_close_connection (server); irc_server_reconnect_schedule (server); break; @@ -1941,6 +1990,14 @@ irc_server_connect_cb (void *arg_server, int status, const char *ip_address) _("%s%s: TLS handshake failed"), irc_buffer_get_server_prefix (server, "error"), IRC_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, + error); + } irc_server_close_connection (server); irc_server_switch_address (server); break; @@ -1949,6 +2006,14 @@ irc_server_connect_cb (void *arg_server, int status, const char *ip_address) _("%s%s: not enough memory"), irc_buffer_get_server_prefix (server, "error"), IRC_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + irc_buffer_get_server_prefix (server, "error"), + IRC_PLUGIN_NAME, + error); + } irc_server_close_connection (server); irc_server_reconnect_schedule (server); break; diff --git a/src/plugins/jabber/jabber-server.c b/src/plugins/jabber/jabber-server.c index 7c09f2500..bb2053e0c 100644 --- a/src/plugins/jabber/jabber-server.c +++ b/src/plugins/jabber/jabber-server.c @@ -539,7 +539,8 @@ jabber_server_login (struct t_jabber_server *server) */ int -jabber_server_connect_cb (void *arg_server, int status, const char *ip_address) +jabber_server_connect_cb (void *arg_server, int status, const char *error, + const char *ip_address) { struct t_jabber_server *server; const char *proxy; @@ -577,6 +578,14 @@ jabber_server_connect_cb (void *arg_server, int status, const char *ip_address) jabber_buffer_get_server_prefix (server, "error"), JABBER_PLUGIN_NAME, server->address); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + jabber_buffer_get_server_prefix (server, "error"), + JABBER_PLUGIN_NAME, + error); + } jabber_server_close_connection (server); jabber_server_reconnect_schedule (server); break; @@ -587,6 +596,14 @@ jabber_server_connect_cb (void *arg_server, int status, const char *ip_address) _("%s%s: IP address not found"), jabber_buffer_get_server_prefix (server, "error"), JABBER_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + jabber_buffer_get_server_prefix (server, "error"), + JABBER_PLUGIN_NAME, + error); + } jabber_server_close_connection (server); jabber_server_reconnect_schedule (server); break; @@ -597,6 +614,14 @@ jabber_server_connect_cb (void *arg_server, int status, const char *ip_address) _("%s%s: connection refused"), jabber_buffer_get_server_prefix (server, "error"), JABBER_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + jabber_buffer_get_server_prefix (server, "error"), + JABBER_PLUGIN_NAME, + error); + } jabber_server_close_connection (server); jabber_server_reconnect_schedule (server); break; @@ -609,6 +634,14 @@ jabber_server_connect_cb (void *arg_server, int status, const char *ip_address) "proxy)"), jabber_buffer_get_server_prefix (server, "error"), JABBER_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + jabber_buffer_get_server_prefix (server, "error"), + JABBER_PLUGIN_NAME, + error); + } jabber_server_close_connection (server); jabber_server_reconnect_schedule (server); break; @@ -617,6 +650,14 @@ jabber_server_connect_cb (void *arg_server, int status, const char *ip_address) _("%s%s: unable to set local hostname/IP"), jabber_buffer_get_server_prefix (server, "error"), JABBER_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + jabber_buffer_get_server_prefix (server, "error"), + JABBER_PLUGIN_NAME, + error); + } jabber_server_close_connection (server); jabber_server_reconnect_schedule (server); break; @@ -625,6 +666,14 @@ jabber_server_connect_cb (void *arg_server, int status, const char *ip_address) _("%s%s: GnuTLS init error"), jabber_buffer_get_server_prefix (server, "error"), JABBER_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + jabber_buffer_get_server_prefix (server, "error"), + JABBER_PLUGIN_NAME, + error); + } jabber_server_close_connection (server); jabber_server_reconnect_schedule (server); break; @@ -633,6 +682,14 @@ jabber_server_connect_cb (void *arg_server, int status, const char *ip_address) _("%s%s: GnuTLS handshake failed"), jabber_buffer_get_server_prefix (server, "error"), JABBER_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + jabber_buffer_get_server_prefix (server, "error"), + JABBER_PLUGIN_NAME, + error); + } jabber_server_close_connection (server); jabber_server_reconnect_schedule (server); break; @@ -641,6 +698,14 @@ jabber_server_connect_cb (void *arg_server, int status, const char *ip_address) _("%s%s: not enough memory"), jabber_buffer_get_server_prefix (server, "error"), JABBER_PLUGIN_NAME); + if (error && error[0]) + { + weechat_printf (server->buffer, + _("%s%s: error: %s"), + jabber_buffer_get_server_prefix (server, "error"), + JABBER_PLUGIN_NAME, + error); + } jabber_server_close_connection (server); jabber_server_reconnect_schedule (server); break; diff --git a/src/plugins/scripts/lua/weechat-lua-api.c b/src/plugins/scripts/lua/weechat-lua-api.c index 9271d9ce4..7808cdc74 100644 --- a/src/plugins/scripts/lua/weechat-lua-api.c +++ b/src/plugins/scripts/lua/weechat-lua-api.c @@ -3424,10 +3424,11 @@ weechat_lua_api_hook_process (lua_State *L) */ int -weechat_lua_api_hook_connect_cb (void *data, int status, const char *ip_address) +weechat_lua_api_hook_connect_cb (void *data, int status, + const char *error, const char *ip_address) { struct t_script_callback *script_callback; - char *lua_argv[3], str_status[32], empty_arg[1] = { '\0' }; + char *lua_argv[4], str_status[32], empty_arg[1] = { '\0' }; int *rc, ret; script_callback = (struct t_script_callback *)data; @@ -3438,7 +3439,8 @@ weechat_lua_api_hook_connect_cb (void *data, int status, const char *ip_address) lua_argv[0] = str_status; lua_argv[1] = (ip_address) ? (char *)ip_address : empty_arg; - lua_argv[2] = NULL; + lua_argv[2] = (error) ? (char *)error : empty_arg; + lua_argv[3] = NULL; rc = (int *) weechat_lua_exec (script_callback->script, WEECHAT_SCRIPT_EXEC_INT, diff --git a/src/plugins/scripts/perl/weechat-perl-api.c b/src/plugins/scripts/perl/weechat-perl-api.c index 2a3ef2815..dfeb36686 100644 --- a/src/plugins/scripts/perl/weechat-perl-api.c +++ b/src/plugins/scripts/perl/weechat-perl-api.c @@ -2862,10 +2862,10 @@ static XS (XS_weechat_api_hook_process) int weechat_perl_api_hook_connect_cb (void *data, int status, - const char *ip_address) + const char *error, const char *ip_address) { struct t_script_callback *script_callback; - char *perl_argv[3], str_status[32], empty_arg[1] = { '\0' }; + char *perl_argv[4], str_status[32], empty_arg[1] = { '\0' }; int *rc, ret; script_callback = (struct t_script_callback *)data; @@ -2876,7 +2876,8 @@ weechat_perl_api_hook_connect_cb (void *data, int status, perl_argv[0] = str_status; perl_argv[1] = (ip_address) ? (char *)ip_address : empty_arg; - perl_argv[2] = NULL; + perl_argv[2] = (error) ? (char *)error : empty_arg; + perl_argv[3] = NULL; rc = (int *) weechat_perl_exec (script_callback->script, WEECHAT_SCRIPT_EXEC_INT, diff --git a/src/plugins/scripts/python/weechat-python-api.c b/src/plugins/scripts/python/weechat-python-api.c index 4f0d3a8d5..e42cbbbb4 100644 --- a/src/plugins/scripts/python/weechat-python-api.c +++ b/src/plugins/scripts/python/weechat-python-api.c @@ -3054,10 +3054,10 @@ weechat_python_api_hook_process (PyObject *self, PyObject *args) int weechat_python_api_hook_connect_cb (void *data, int status, - const char *ip_address) + const char *error, const char *ip_address) { struct t_script_callback *script_callback; - char *python_argv[3], str_status[32], empty_arg[1] = { '\0' }; + char *python_argv[4], str_status[32], empty_arg[1] = { '\0' }; int *rc, ret; script_callback = (struct t_script_callback *)data; @@ -3068,7 +3068,8 @@ weechat_python_api_hook_connect_cb (void *data, int status, python_argv[0] = str_status; python_argv[1] = (ip_address) ? (char *)ip_address : empty_arg; - python_argv[2] = NULL; + python_argv[2] = (error) ? (char *)error : empty_arg; + python_argv[3] = NULL; rc = (int *) weechat_python_exec (script_callback->script, WEECHAT_SCRIPT_EXEC_INT, diff --git a/src/plugins/scripts/ruby/weechat-ruby-api.c b/src/plugins/scripts/ruby/weechat-ruby-api.c index bf150363a..dd6b5fe6a 100644 --- a/src/plugins/scripts/ruby/weechat-ruby-api.c +++ b/src/plugins/scripts/ruby/weechat-ruby-api.c @@ -3494,10 +3494,10 @@ weechat_ruby_api_hook_process (VALUE class, VALUE command, VALUE timeout, int weechat_ruby_api_hook_connect_cb (void *data, int status, - const char *ip_address) + const char *error, const char *ip_address) { struct t_script_callback *script_callback; - char *ruby_argv[3], str_status[32], empty_arg[1] = { '\0' }; + char *ruby_argv[4], str_status[32], empty_arg[1] = { '\0' }; int *rc, ret; script_callback = (struct t_script_callback *)data; @@ -3508,7 +3508,8 @@ weechat_ruby_api_hook_connect_cb (void *data, int status, ruby_argv[0] = str_status; ruby_argv[1] = (ip_address) ? (char *)ip_address : empty_arg; - ruby_argv[2] = NULL; + ruby_argv[2] = (error) ? (char *)error : empty_arg; + ruby_argv[3] = NULL; rc = (int *) weechat_ruby_exec (script_callback->script, WEECHAT_SCRIPT_EXEC_INT, diff --git a/src/plugins/scripts/script-api.c b/src/plugins/scripts/script-api.c index 8784fba3e..99266a04f 100644 --- a/src/plugins/scripts/script-api.c +++ b/src/plugins/scripts/script-api.c @@ -917,7 +917,9 @@ script_api_hook_connect (struct t_weechat_plugin *weechat_plugin, const char *proxy, const char *address, int port, int sock, int ipv6, void *gnutls_sess, const char *local_hostname, - int (*callback)(void *data, int status, const char *ip_address), + int (*callback)(void *data, int status, + const char *error, + const char *ip_address), const char *function) { struct t_script_callback *new_script_callback; diff --git a/src/plugins/scripts/script-api.h b/src/plugins/scripts/script-api.h index 1bb20f0e5..6f6959a62 100644 --- a/src/plugins/scripts/script-api.h +++ b/src/plugins/scripts/script-api.h @@ -159,6 +159,7 @@ extern struct t_hook *script_api_hook_connect (struct t_weechat_plugin *weechat_ const char *local_hostname, int (*callback)(void *data, int status, + const char *error, const char *ip_address), const char *function); extern struct t_hook *script_api_hook_print (struct t_weechat_plugin *weechat_plugin, diff --git a/src/plugins/scripts/tcl/weechat-tcl-api.c b/src/plugins/scripts/tcl/weechat-tcl-api.c index 790122dad..99fb5282a 100644 --- a/src/plugins/scripts/tcl/weechat-tcl-api.c +++ b/src/plugins/scripts/tcl/weechat-tcl-api.c @@ -3274,10 +3274,10 @@ weechat_tcl_api_hook_process (ClientData clientData, Tcl_Interp *interp, int weechat_tcl_api_hook_connect_cb (void *data, int status, - const char *ip_address) + const char *error, const char *ip_address) { struct t_script_callback *script_callback; - char *tcl_argv[3], str_status[32], empty_arg[1] = { '\0' }; + char *tcl_argv[4], str_status[32], empty_arg[1] = { '\0' }; int *rc, ret; script_callback = (struct t_script_callback *)data; @@ -3288,7 +3288,8 @@ weechat_tcl_api_hook_connect_cb (void *data, int status, tcl_argv[0] = str_status; tcl_argv[1] = (ip_address) ? (char *)ip_address : empty_arg; - tcl_argv[2] = NULL; + tcl_argv[2] = (error) ? (char *)error : empty_arg; + tcl_argv[3] = NULL; rc = (int *) weechat_tcl_exec (script_callback->script, WEECHAT_SCRIPT_EXEC_INT, diff --git a/src/plugins/weechat-plugin.h b/src/plugins/weechat-plugin.h index 880fd45bb..92885cd45 100644 --- a/src/plugins/weechat-plugin.h +++ b/src/plugins/weechat-plugin.h @@ -393,6 +393,7 @@ struct t_weechat_plugin const char *local_hostname, int (*callback)(void *data, int status, + const char *error, const char *ip_address), void *callback_data); struct t_hook *(*hook_print) (struct t_weechat_plugin *plugin, |