irc: add support of SASL mechanisms SCRAM-SHA-1, SCRAM-SHA-256 and SCRAM-SHA-512 (closes #1628)
This commit is contained in:
parent
5cffb7179f
commit
e365e66eeb
@ -36,6 +36,7 @@ New features::
|
||||
* api: add info "weechat_daemon"
|
||||
* buflist: add option buflist.format.tls_version
|
||||
* fifo: change default value of option fifo.file.path to "${weechat_runtime_dir}/weechat_fifo_${info:pid}"
|
||||
* irc: add support of SASL mechanisms SCRAM-SHA-1, SCRAM-SHA-256 and SCRAM-SHA-512 (issue #1628)
|
||||
* irc: add variable "${target}" (target nick) in commands /kick and /kickban
|
||||
* irc: add bar item "tls_version", add options irc.color.item_tls_version_ok, irc.color.item_tls_version_deprecated and irc.color.item_tls_version_insecure (issue #1622)
|
||||
* irc: evaluate server options "sasl_key" and "ssl_cert"
|
||||
|
@ -233,6 +233,10 @@ _hook_connect_ (pointer, hdata: "hook") +
|
||||
_hook_fd_ (pointer, hdata: "hook") +
|
||||
_hook_timer_connection_ (pointer, hdata: "hook") +
|
||||
_hook_timer_sasl_ (pointer, hdata: "hook") +
|
||||
_sasl_scram_client_first_ (string) +
|
||||
_sasl_scram_salted_pwd_ (other) +
|
||||
_sasl_scram_salted_pwd_size_ (integer) +
|
||||
_sasl_scram_auth_message_ (string) +
|
||||
_is_connected_ (integer) +
|
||||
_ssl_connected_ (integer) +
|
||||
_disconnected_ (integer) +
|
||||
|
@ -2779,9 +2779,9 @@
|
||||
** Standardwert: `+""+`
|
||||
|
||||
* [[option_irc.server_default.sasl_mechanism]] *irc.server_default.sasl_mechanism*
|
||||
** Beschreibung: pass:none[Verfahren welches bei einer SASL Authentifizierung angewandt werden soll: "plain" Passwort wird im Klartext gesendet, "ecdsa-nist256p-challenge" für öffentlich/private Schlüsselmethode, "external" SSL Zertifikat welches auf Client Seite vorliegt wird verwendet, "dh-blowfish" Passwort wird mittels blowfish verschlüsselt (unsicher, wird nicht empfohlen), "dh-aes" Passwort wird mittels AES verschlüsselt (unsicher, wird nicht empfohlen)]
|
||||
** Beschreibung: pass:none[mechanism for SASL authentication: "plain" for plain text password, "scram-sha-1" for SCRAM authentication with SHA-1 algorithm, "scram-sha-256" for SCRAM authentication with SHA-256 algorithm, "scram-sha-512" for SCRAM authentication with SHA-512 algorithm, "ecdsa-nist256p-challenge" for key-based challenge authentication, "external" for authentication using client side SSL cert, "dh-blowfish" for blowfish crypted password (insecure, not recommended), "dh-aes" for AES crypted password (insecure, not recommended)]
|
||||
** Typ: integer
|
||||
** Werte: plain, ecdsa-nist256p-challenge, external, dh-blowfish, dh-aes
|
||||
** Werte: plain, scram-sha-1, scram-sha-256, scram-sha-512, ecdsa-nist256p-challenge, external, dh-blowfish, dh-aes
|
||||
** Standardwert: `+plain+`
|
||||
|
||||
* [[option_irc.server_default.sasl_password]] *irc.server_default.sasl_password*
|
||||
|
@ -233,6 +233,10 @@ _hook_connect_ (pointer, hdata: "hook") +
|
||||
_hook_fd_ (pointer, hdata: "hook") +
|
||||
_hook_timer_connection_ (pointer, hdata: "hook") +
|
||||
_hook_timer_sasl_ (pointer, hdata: "hook") +
|
||||
_sasl_scram_client_first_ (string) +
|
||||
_sasl_scram_salted_pwd_ (other) +
|
||||
_sasl_scram_salted_pwd_size_ (integer) +
|
||||
_sasl_scram_auth_message_ (string) +
|
||||
_is_connected_ (integer) +
|
||||
_ssl_connected_ (integer) +
|
||||
_disconnected_ (integer) +
|
||||
|
@ -2779,9 +2779,9 @@
|
||||
** default value: `+""+`
|
||||
|
||||
* [[option_irc.server_default.sasl_mechanism]] *irc.server_default.sasl_mechanism*
|
||||
** description: pass:none[mechanism for SASL authentication: "plain" for plain text password, "ecdsa-nist256p-challenge" for key-based challenge authentication, "external" for authentication using client side SSL cert, "dh-blowfish" for blowfish crypted password (insecure, not recommended), "dh-aes" for AES crypted password (insecure, not recommended)]
|
||||
** description: pass:none[mechanism for SASL authentication: "plain" for plain text password, "scram-sha-1" for SCRAM authentication with SHA-1 algorithm, "scram-sha-256" for SCRAM authentication with SHA-256 algorithm, "scram-sha-512" for SCRAM authentication with SHA-512 algorithm, "ecdsa-nist256p-challenge" for key-based challenge authentication, "external" for authentication using client side SSL cert, "dh-blowfish" for blowfish crypted password (insecure, not recommended), "dh-aes" for AES crypted password (insecure, not recommended)]
|
||||
** type: integer
|
||||
** values: plain, ecdsa-nist256p-challenge, external, dh-blowfish, dh-aes
|
||||
** values: plain, scram-sha-1, scram-sha-256, scram-sha-512, ecdsa-nist256p-challenge, external, dh-blowfish, dh-aes
|
||||
** default value: `+plain+`
|
||||
|
||||
* [[option_irc.server_default.sasl_password]] *irc.server_default.sasl_password*
|
||||
|
@ -233,6 +233,10 @@ _hook_connect_ (pointer, hdata: "hook") +
|
||||
_hook_fd_ (pointer, hdata: "hook") +
|
||||
_hook_timer_connection_ (pointer, hdata: "hook") +
|
||||
_hook_timer_sasl_ (pointer, hdata: "hook") +
|
||||
_sasl_scram_client_first_ (string) +
|
||||
_sasl_scram_salted_pwd_ (other) +
|
||||
_sasl_scram_salted_pwd_size_ (integer) +
|
||||
_sasl_scram_auth_message_ (string) +
|
||||
_is_connected_ (integer) +
|
||||
_ssl_connected_ (integer) +
|
||||
_disconnected_ (integer) +
|
||||
|
@ -2779,9 +2779,9 @@
|
||||
** valeur par défaut: `+""+`
|
||||
|
||||
* [[option_irc.server_default.sasl_mechanism]] *irc.server_default.sasl_mechanism*
|
||||
** description: pass:none[mécanisme pour l'authentification SASL : "plain" pour un mot de passe en clair, "ecdsa-nist256p-challenge" pour une authentification par challenge avec clé, "external" pour une authentification en utilisant un certificat SSL côté client, "dh-blowfish" pour un mot de passe chiffré avec blowfish (non sûr, non recommandé), "dh-aes" pour un mot de passe chiffré avec AES (non sûr, non recommandé)]
|
||||
** description: pass:none[mécanisme pour l'authentification SASL : "plain" pour un mot de passe en clair, "scram-sha-1" pour une authentification SCRAM avec algorithme SHA-1, "scram-sha-256" pour une authentification SCRAM avec algorithme SHA-256, "scram-sha-512" pour une authentification SCRAM avec algorithme SHA-512, "ecdsa-nist256p-challenge" pour une authentification par challenge avec clé, "external" pour une authentification en utilisant un certificat SSL côté client, "dh-blowfish" pour un mot de passe chiffré avec blowfish (non sûr, non recommandé), "dh-aes" pour un mot de passe chiffré avec AES (non sûr, non recommandé)]
|
||||
** type: entier
|
||||
** valeurs: plain, ecdsa-nist256p-challenge, external, dh-blowfish, dh-aes
|
||||
** valeurs: plain, scram-sha-1, scram-sha-256, scram-sha-512, ecdsa-nist256p-challenge, external, dh-blowfish, dh-aes
|
||||
** valeur par défaut: `+plain+`
|
||||
|
||||
* [[option_irc.server_default.sasl_password]] *irc.server_default.sasl_password*
|
||||
|
@ -233,6 +233,10 @@ _hook_connect_ (pointer, hdata: "hook") +
|
||||
_hook_fd_ (pointer, hdata: "hook") +
|
||||
_hook_timer_connection_ (pointer, hdata: "hook") +
|
||||
_hook_timer_sasl_ (pointer, hdata: "hook") +
|
||||
_sasl_scram_client_first_ (string) +
|
||||
_sasl_scram_salted_pwd_ (other) +
|
||||
_sasl_scram_salted_pwd_size_ (integer) +
|
||||
_sasl_scram_auth_message_ (string) +
|
||||
_is_connected_ (integer) +
|
||||
_ssl_connected_ (integer) +
|
||||
_disconnected_ (integer) +
|
||||
|
@ -2779,9 +2779,9 @@
|
||||
** valore predefinito: `+""+`
|
||||
|
||||
* [[option_irc.server_default.sasl_mechanism]] *irc.server_default.sasl_mechanism*
|
||||
** descrizione: pass:none[mechanism for SASL authentication: "plain" for plain text password, "ecdsa-nist256p-challenge" for key-based challenge authentication, "external" for authentication using client side SSL cert, "dh-blowfish" for blowfish crypted password (insecure, not recommended), "dh-aes" for AES crypted password (insecure, not recommended)]
|
||||
** descrizione: pass:none[mechanism for SASL authentication: "plain" for plain text password, "scram-sha-1" for SCRAM authentication with SHA-1 algorithm, "scram-sha-256" for SCRAM authentication with SHA-256 algorithm, "scram-sha-512" for SCRAM authentication with SHA-512 algorithm, "ecdsa-nist256p-challenge" for key-based challenge authentication, "external" for authentication using client side SSL cert, "dh-blowfish" for blowfish crypted password (insecure, not recommended), "dh-aes" for AES crypted password (insecure, not recommended)]
|
||||
** tipo: intero
|
||||
** valori: plain, ecdsa-nist256p-challenge, external, dh-blowfish, dh-aes
|
||||
** valori: plain, scram-sha-1, scram-sha-256, scram-sha-512, ecdsa-nist256p-challenge, external, dh-blowfish, dh-aes
|
||||
** valore predefinito: `+plain+`
|
||||
|
||||
* [[option_irc.server_default.sasl_password]] *irc.server_default.sasl_password*
|
||||
|
@ -233,6 +233,10 @@ _hook_connect_ (pointer, hdata: "hook") +
|
||||
_hook_fd_ (pointer, hdata: "hook") +
|
||||
_hook_timer_connection_ (pointer, hdata: "hook") +
|
||||
_hook_timer_sasl_ (pointer, hdata: "hook") +
|
||||
_sasl_scram_client_first_ (string) +
|
||||
_sasl_scram_salted_pwd_ (other) +
|
||||
_sasl_scram_salted_pwd_size_ (integer) +
|
||||
_sasl_scram_auth_message_ (string) +
|
||||
_is_connected_ (integer) +
|
||||
_ssl_connected_ (integer) +
|
||||
_disconnected_ (integer) +
|
||||
|
@ -2779,9 +2779,9 @@
|
||||
** デフォルト値: `+""+`
|
||||
|
||||
* [[option_irc.server_default.sasl_mechanism]] *irc.server_default.sasl_mechanism*
|
||||
** 説明: pass:none[SASL 認証メカニズム: "plain" は平文パスワード、"ecdsa-nist256p-challenge" は鍵を使ったチャレンジ認証、"external" はクライアント側の SSL 証明書を利用した認証<、"dh-blowfish" は blowfish 暗号化パスワード (危険、非推奨)、"dh-aes" は AES 暗号化パスワード (危険、非推奨)]
|
||||
** 説明: pass:none[mechanism for SASL authentication: "plain" for plain text password, "scram-sha-1" for SCRAM authentication with SHA-1 algorithm, "scram-sha-256" for SCRAM authentication with SHA-256 algorithm, "scram-sha-512" for SCRAM authentication with SHA-512 algorithm, "ecdsa-nist256p-challenge" for key-based challenge authentication, "external" for authentication using client side SSL cert, "dh-blowfish" for blowfish crypted password (insecure, not recommended), "dh-aes" for AES crypted password (insecure, not recommended)]
|
||||
** タイプ: 整数
|
||||
** 値: plain, ecdsa-nist256p-challenge, external, dh-blowfish, dh-aes
|
||||
** 値: plain, scram-sha-1, scram-sha-256, scram-sha-512, ecdsa-nist256p-challenge, external, dh-blowfish, dh-aes
|
||||
** デフォルト値: `+plain+`
|
||||
|
||||
* [[option_irc.server_default.sasl_password]] *irc.server_default.sasl_password*
|
||||
|
@ -233,6 +233,10 @@ _hook_connect_ (pointer, hdata: "hook") +
|
||||
_hook_fd_ (pointer, hdata: "hook") +
|
||||
_hook_timer_connection_ (pointer, hdata: "hook") +
|
||||
_hook_timer_sasl_ (pointer, hdata: "hook") +
|
||||
_sasl_scram_client_first_ (string) +
|
||||
_sasl_scram_salted_pwd_ (other) +
|
||||
_sasl_scram_salted_pwd_size_ (integer) +
|
||||
_sasl_scram_auth_message_ (string) +
|
||||
_is_connected_ (integer) +
|
||||
_ssl_connected_ (integer) +
|
||||
_disconnected_ (integer) +
|
||||
|
@ -2779,9 +2779,9 @@
|
||||
** domyślna wartość: `+""+`
|
||||
|
||||
* [[option_irc.server_default.sasl_mechanism]] *irc.server_default.sasl_mechanism*
|
||||
** opis: pass:none[mechanizm autentykacji SASL: "plain" dla hasła w czystym tekście, "ecdsa-nist256p-challenge" uwierzytelnianie na podstawie pary kluczy, "external" dla uwierzytelnienia za pomocą certyfikatu SSL po stronie klienta", "dh-blowfish" dla hasła szyfrowanego za pomocą blowfish (mało bezpieczne, niepolecane), "dh-aes" dla hasła szyfrowanego za pomocą AES (mało bezpieczne, niepolecane)]
|
||||
** opis: pass:none[mechanism for SASL authentication: "plain" for plain text password, "scram-sha-1" for SCRAM authentication with SHA-1 algorithm, "scram-sha-256" for SCRAM authentication with SHA-256 algorithm, "scram-sha-512" for SCRAM authentication with SHA-512 algorithm, "ecdsa-nist256p-challenge" for key-based challenge authentication, "external" for authentication using client side SSL cert, "dh-blowfish" for blowfish crypted password (insecure, not recommended), "dh-aes" for AES crypted password (insecure, not recommended)]
|
||||
** typ: liczba
|
||||
** wartości: plain, ecdsa-nist256p-challenge, external, dh-blowfish, dh-aes
|
||||
** wartości: plain, scram-sha-1, scram-sha-256, scram-sha-512, ecdsa-nist256p-challenge, external, dh-blowfish, dh-aes
|
||||
** domyślna wartość: `+plain+`
|
||||
|
||||
* [[option_irc.server_default.sasl_password]] *irc.server_default.sasl_password*
|
||||
|
79
po/cs.po
79
po/cs.po
@ -21,7 +21,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-05-30 15:18+0200\n"
|
||||
"POT-Creation-Date: 2021-06-01 20:39+0200\n"
|
||||
"PO-Revision-Date: 2021-05-25 18:28+0200\n"
|
||||
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -8020,10 +8020,13 @@ msgstr ""
|
||||
|
||||
msgid ""
|
||||
"mechanism for SASL authentication: \"plain\" for plain text password, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL cert, \"dh-blowfish\" "
|
||||
"for blowfish crypted password (insecure, not recommended), \"dh-aes\" for "
|
||||
"AES crypted password (insecure, not recommended)"
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 algorithm, \"scram-"
|
||||
"sha-256\" for SCRAM authentication with SHA-256 algorithm, \"scram-sha-512\" "
|
||||
"for SCRAM authentication with SHA-512 algorithm, \"ecdsa-nist256p-challenge"
|
||||
"\" for key-based challenge authentication, \"external\" for authentication "
|
||||
"using client side SSL cert, \"dh-blowfish\" for blowfish crypted password "
|
||||
"(insecure, not recommended), \"dh-aes\" for AES crypted password (insecure, "
|
||||
"not recommended)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
@ -9094,12 +9097,12 @@ msgstr "%s%s%s%s vykopnul %s%s%s"
|
||||
msgid "%s%s%s%s has unidentified"
|
||||
msgstr "Limit pro zdroj \"%s\" byl nastaven na %s"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: SASL error: %s"
|
||||
msgstr "%s%s: chyba: %s"
|
||||
|
||||
msgid "internal error"
|
||||
msgstr ""
|
||||
"%s%s: chyba vytváření odpovědi pro SASL autentizaci, použitý mechanismus \"%s"
|
||||
"\""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: client capability, requesting: %s"
|
||||
@ -9511,26 +9514,30 @@ msgstr ""
|
||||
msgid "%s%s: server \"%s\" not found for redirect"
|
||||
msgstr "%s%s: server \"%s\" pro přesměrování nenalezen"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: unable to read private key in file \"%s\""
|
||||
msgstr "%s%s: nemohu číst lokální soubor"
|
||||
#, fuzzy
|
||||
msgid "unable to validate server signature"
|
||||
msgstr "%s%s: nemohu přidat server"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
msgstr "%sgnutls: nevalidní certifikát \"%s\", chyba: %s"
|
||||
#, fuzzy
|
||||
msgid "memory error"
|
||||
msgstr "chyba"
|
||||
|
||||
msgid "base64 decode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "base64 encode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "cryptography error"
|
||||
msgstr ""
|
||||
|
||||
msgid "protocol error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: signing the challenge with ECC public key: %s"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
msgstr "%s%s: nemohu vytvořit rouru"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
msgstr "%s%s: nemohu vytvořit rouru"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sgnutls: version >= 3.0.21 is required for SASL \"ecdsa-nist256p-challenge\""
|
||||
@ -13143,5 +13150,29 @@ msgstr "%s%s: vypršel časový limit \"%s\" pro %s"
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: nemohu se připojit\" neočekávaná chyba (%d)"
|
||||
|
||||
#, c-format
|
||||
#~ msgid ""
|
||||
#~ "%s%s: error building answer for SASL authentication, using mechanism \"%s"
|
||||
#~ "\""
|
||||
#~ msgstr ""
|
||||
#~ "%s%s: chyba vytváření odpovědi pro SASL autentizaci, použitý mechanismus "
|
||||
#~ "\"%s\""
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%s%s: unable to read private key in file \"%s\""
|
||||
#~ msgstr "%s%s: nemohu číst lokální soubor"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
#~ msgstr "%sgnutls: nevalidní certifikát \"%s\", chyba: %s"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
#~ msgstr "%s%s: nemohu vytvořit rouru"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
#~ msgstr "%s%s: nemohu vytvořit rouru"
|
||||
|
||||
#~ msgid "bar size in chars (0 = auto size)"
|
||||
#~ msgstr "velikost pole ve znacích (0 = automatická velikost)"
|
||||
|
84
po/de.po
84
po/de.po
@ -24,7 +24,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-05-30 15:18+0200\n"
|
||||
"POT-Creation-Date: 2021-06-01 20:39+0200\n"
|
||||
"PO-Revision-Date: 2021-05-30 19:02+0200\n"
|
||||
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
|
||||
"Language-Team: German <kde-i18n-de@kde.org>\n"
|
||||
@ -9874,12 +9874,16 @@ msgstr ""
|
||||
"(siehe /help cap um eine Liste von Fähigkeiten zu erhalten die von WeeChat "
|
||||
"unterstützt werden) (Beispiel: \"away-notify,multi-prefix\")"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"mechanism for SASL authentication: \"plain\" for plain text password, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL cert, \"dh-blowfish\" "
|
||||
"for blowfish crypted password (insecure, not recommended), \"dh-aes\" for "
|
||||
"AES crypted password (insecure, not recommended)"
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 algorithm, \"scram-"
|
||||
"sha-256\" for SCRAM authentication with SHA-256 algorithm, \"scram-sha-512\" "
|
||||
"for SCRAM authentication with SHA-512 algorithm, \"ecdsa-nist256p-challenge"
|
||||
"\" for key-based challenge authentication, \"external\" for authentication "
|
||||
"using client side SSL cert, \"dh-blowfish\" for blowfish crypted password "
|
||||
"(insecure, not recommended), \"dh-aes\" for AES crypted password (insecure, "
|
||||
"not recommended)"
|
||||
msgstr ""
|
||||
"Verfahren welches bei einer SASL Authentifizierung angewandt werden soll: "
|
||||
"\"plain\" Passwort wird im Klartext gesendet, \"ecdsa-nist256p-challenge\" "
|
||||
@ -11166,12 +11170,12 @@ msgstr "%s%s%s%s wurde identifiziert als %s"
|
||||
msgid "%s%s%s%s has unidentified"
|
||||
msgstr "%s%s%s%s hat sich nicht identifiziert"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: SASL error: %s"
|
||||
msgstr "%s%s: Fehler: %s"
|
||||
|
||||
msgid "internal error"
|
||||
msgstr ""
|
||||
"%s%s: Fehler beim Erstellen der Antwort für die SASL-Authentifizierung. \"%s"
|
||||
"\" Mechanismus wurde verwendet"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: client capability, requesting: %s"
|
||||
@ -11587,28 +11591,30 @@ msgstr ""
|
||||
msgid "%s%s: server \"%s\" not found for redirect"
|
||||
msgstr "%s%s: Server \"%s\" für eine Weiterleitung wurde nicht gefunden"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: unable to read private key in file \"%s\""
|
||||
msgstr "%s%s: privater Schlüssel kann nicht aus Datei gelesen werden \"%s\""
|
||||
#, fuzzy
|
||||
msgid "unable to validate server signature"
|
||||
msgstr "%s%s: Server kann nicht anlegt werden"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
msgstr "%sgnutls: ungültige private Schlüsseldatei: Fehler %d %s"
|
||||
#, fuzzy
|
||||
msgid "memory error"
|
||||
msgstr "Fork-Fehler"
|
||||
|
||||
msgid "base64 decode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "base64 encode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "cryptography error"
|
||||
msgstr ""
|
||||
|
||||
msgid "protocol error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: signing the challenge with ECC public key: %s"
|
||||
msgstr "%s%s: signiere mittels ECC öffentlichem Schlüssel: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
msgstr ""
|
||||
"%sgnutls: privater Schlüssel kann nicht importiert werden: Fehler %d %s"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
msgstr ""
|
||||
"%sgnutls: die gehashten Daten können nicht signiert werden : Fehler %d %s"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sgnutls: version >= 3.0.21 is required for SASL \"ecdsa-nist256p-challenge\""
|
||||
@ -15684,5 +15690,31 @@ msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr ""
|
||||
"%s%s: Verbindung konnte nicht hergestellt werden: unerwarteter Fehler (%d)"
|
||||
|
||||
#, c-format
|
||||
#~ msgid ""
|
||||
#~ "%s%s: error building answer for SASL authentication, using mechanism \"%s"
|
||||
#~ "\""
|
||||
#~ msgstr ""
|
||||
#~ "%s%s: Fehler beim Erstellen der Antwort für die SASL-Authentifizierung. "
|
||||
#~ "\"%s\" Mechanismus wurde verwendet"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%s%s: unable to read private key in file \"%s\""
|
||||
#~ msgstr "%s%s: privater Schlüssel kann nicht aus Datei gelesen werden \"%s\""
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
#~ msgstr "%sgnutls: ungültige private Schlüsseldatei: Fehler %d %s"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
#~ msgstr ""
|
||||
#~ "%sgnutls: privater Schlüssel kann nicht importiert werden: Fehler %d %s"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
#~ msgstr ""
|
||||
#~ "%sgnutls: die gehashten Daten können nicht signiert werden : Fehler %d %s"
|
||||
|
||||
#~ msgid "bar size in chars (0 = auto size)"
|
||||
#~ msgstr "Größe der Infobar, in Zeichen (0 = automatische Anpassung)"
|
||||
|
79
po/es.po
79
po/es.po
@ -22,7 +22,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-05-30 15:18+0200\n"
|
||||
"POT-Creation-Date: 2021-06-01 20:39+0200\n"
|
||||
"PO-Revision-Date: 2021-05-25 18:28+0200\n"
|
||||
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -8259,10 +8259,13 @@ msgstr ""
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"mechanism for SASL authentication: \"plain\" for plain text password, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL cert, \"dh-blowfish\" "
|
||||
"for blowfish crypted password (insecure, not recommended), \"dh-aes\" for "
|
||||
"AES crypted password (insecure, not recommended)"
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 algorithm, \"scram-"
|
||||
"sha-256\" for SCRAM authentication with SHA-256 algorithm, \"scram-sha-512\" "
|
||||
"for SCRAM authentication with SHA-512 algorithm, \"ecdsa-nist256p-challenge"
|
||||
"\" for key-based challenge authentication, \"external\" for authentication "
|
||||
"using client side SSL cert, \"dh-blowfish\" for blowfish crypted password "
|
||||
"(insecure, not recommended), \"dh-aes\" for AES crypted password (insecure, "
|
||||
"not recommended)"
|
||||
msgstr ""
|
||||
"mecanismo de autenticación SASL: \"plain\" para contraseñas en texto plano, "
|
||||
"\"dh-blowfish\" para contraseña encriptada, \"external\" para autentificar "
|
||||
@ -9397,12 +9400,12 @@ msgstr "%s%s%s%s ha expulsado %s%s%s"
|
||||
msgid "%s%s%s%s has unidentified"
|
||||
msgstr "%s: servidor %s%s%s borrado"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: SASL error: %s"
|
||||
msgstr "%s%s: error: %s"
|
||||
|
||||
msgid "internal error"
|
||||
msgstr ""
|
||||
"%s%s: error al construir la respuesta para la autenticación SASL, usando el "
|
||||
"mecanismo \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: client capability, requesting: %s"
|
||||
@ -9809,26 +9812,30 @@ msgstr ""
|
||||
msgid "%s%s: server \"%s\" not found for redirect"
|
||||
msgstr "%s%s: servidor \"%s\" no encontrado para la redirección"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: unable to read private key in file \"%s\""
|
||||
msgstr "%s%s: no es posible leer el archivo \"%s\""
|
||||
#, fuzzy
|
||||
msgid "unable to validate server signature"
|
||||
msgstr "%s%s: no es posible crear el servidor"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
msgstr "%sgnutls: certificado \"%s\" inválido, error: %s"
|
||||
#, fuzzy
|
||||
msgid "memory error"
|
||||
msgstr "error"
|
||||
|
||||
msgid "base64 decode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "base64 encode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "cryptography error"
|
||||
msgstr ""
|
||||
|
||||
msgid "protocol error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: signing the challenge with ECC public key: %s"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
msgstr "%s%s: no es posible crear la tubería"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
msgstr "%s%s: no es posible crear la tubería"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sgnutls: version >= 3.0.21 is required for SASL \"ecdsa-nist256p-challenge\""
|
||||
@ -13403,5 +13410,29 @@ msgstr "%s%s: tiempo de espera máximo para \"%s\" con %s"
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: no es posible conectarse al transmisor"
|
||||
|
||||
#, c-format
|
||||
#~ msgid ""
|
||||
#~ "%s%s: error building answer for SASL authentication, using mechanism \"%s"
|
||||
#~ "\""
|
||||
#~ msgstr ""
|
||||
#~ "%s%s: error al construir la respuesta para la autenticación SASL, usando "
|
||||
#~ "el mecanismo \"%s\""
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%s%s: unable to read private key in file \"%s\""
|
||||
#~ msgstr "%s%s: no es posible leer el archivo \"%s\""
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
#~ msgstr "%sgnutls: certificado \"%s\" inválido, error: %s"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
#~ msgstr "%s%s: no es posible crear la tubería"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
#~ msgstr "%s%s: no es posible crear la tubería"
|
||||
|
||||
#~ msgid "bar size in chars (0 = auto size)"
|
||||
#~ msgstr "tamaño de la barra en caracteres (0 = tamaño automático)"
|
||||
|
92
po/fr.po
92
po/fr.po
@ -21,8 +21,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-05-30 15:18+0200\n"
|
||||
"PO-Revision-Date: 2021-05-30 15:19+0200\n"
|
||||
"POT-Creation-Date: 2021-06-01 20:39+0200\n"
|
||||
"PO-Revision-Date: 2021-06-01 20:42+0200\n"
|
||||
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
"Language: fr\n"
|
||||
@ -9697,17 +9697,23 @@ msgstr ""
|
||||
|
||||
msgid ""
|
||||
"mechanism for SASL authentication: \"plain\" for plain text password, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL cert, \"dh-blowfish\" "
|
||||
"for blowfish crypted password (insecure, not recommended), \"dh-aes\" for "
|
||||
"AES crypted password (insecure, not recommended)"
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 algorithm, \"scram-"
|
||||
"sha-256\" for SCRAM authentication with SHA-256 algorithm, \"scram-sha-512\" "
|
||||
"for SCRAM authentication with SHA-512 algorithm, \"ecdsa-nist256p-challenge"
|
||||
"\" for key-based challenge authentication, \"external\" for authentication "
|
||||
"using client side SSL cert, \"dh-blowfish\" for blowfish crypted password "
|
||||
"(insecure, not recommended), \"dh-aes\" for AES crypted password (insecure, "
|
||||
"not recommended)"
|
||||
msgstr ""
|
||||
"mécanisme pour l'authentification SASL : \"plain\" pour un mot de passe en "
|
||||
"clair, \"ecdsa-nist256p-challenge\" pour une authentification par challenge "
|
||||
"avec clé, \"external\" pour une authentification en utilisant un certificat "
|
||||
"SSL côté client, \"dh-blowfish\" pour un mot de passe chiffré avec blowfish "
|
||||
"(non sûr, non recommandé), \"dh-aes\" pour un mot de passe chiffré avec AES "
|
||||
"(non sûr, non recommandé)"
|
||||
"clair, \"scram-sha-1\" pour une authentification SCRAM avec algorithme "
|
||||
"SHA-1, \"scram-sha-256\" pour une authentification SCRAM avec algorithme "
|
||||
"SHA-256, \"scram-sha-512\" pour une authentification SCRAM avec algorithme "
|
||||
"SHA-512, \"ecdsa-nist256p-challenge\" pour une authentification par "
|
||||
"challenge avec clé, \"external\" pour une authentification en utilisant un "
|
||||
"certificat SSL côté client, \"dh-blowfish\" pour un mot de passe chiffré "
|
||||
"avec blowfish (non sûr, non recommandé), \"dh-aes\" pour un mot de passe "
|
||||
"chiffré avec AES (non sûr, non recommandé)"
|
||||
|
||||
msgid ""
|
||||
"username for SASL authentication; this option is not used for mechanism "
|
||||
@ -10930,11 +10936,11 @@ msgid "%s%s%s%s has unidentified"
|
||||
msgstr "%s%s%s%s n'est plus identifié"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
|
||||
msgstr ""
|
||||
"%s%s : erreur de construction de la réponse pour l'authentification SASL, en "
|
||||
"utilisant le mécanisme \"%s\""
|
||||
msgid "%s%s: SASL error: %s"
|
||||
msgstr "%s%s : erreur SASL : %s"
|
||||
|
||||
msgid "internal error"
|
||||
msgstr "erreur interne"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: client capability, requesting: %s"
|
||||
@ -11342,26 +11348,28 @@ msgstr ""
|
||||
msgid "%s%s: server \"%s\" not found for redirect"
|
||||
msgstr "%s%s : serveur \"%s\" non trouvé pour la redirection"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: unable to read private key in file \"%s\""
|
||||
msgstr "%s%s : impossible de lire la clé privée dans le fichier \"%s\""
|
||||
msgid "unable to validate server signature"
|
||||
msgstr "impossible de vérifier la signature du serveur"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
msgstr "%sgnutls : fichier de clé privée invalide : erreur %d %s"
|
||||
msgid "memory error"
|
||||
msgstr "erreur de mémoire"
|
||||
|
||||
msgid "base64 decode error"
|
||||
msgstr "erreur de décodage base64"
|
||||
|
||||
msgid "base64 encode error"
|
||||
msgstr "erreur d'encodage base64"
|
||||
|
||||
msgid "cryptography error"
|
||||
msgstr "erreur de cryptographie"
|
||||
|
||||
msgid "protocol error"
|
||||
msgstr "erreur de protocole"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: signing the challenge with ECC public key: %s"
|
||||
msgstr "%s%s : signature du challenge avec la clé publique ECC : %s"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
msgstr "%sgnutls : impossible d'importer la clé privée : erreur %d %s"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
msgstr "%sgnutls : impossible de signer les données hachées : erreur %d %s"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sgnutls: version >= 3.0.21 is required for SASL \"ecdsa-nist256p-challenge\""
|
||||
@ -15378,5 +15386,29 @@ 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)"
|
||||
|
||||
#, c-format
|
||||
#~ msgid ""
|
||||
#~ "%s%s: error building answer for SASL authentication, using mechanism \"%s"
|
||||
#~ "\""
|
||||
#~ msgstr ""
|
||||
#~ "%s%s : erreur de construction de la réponse pour l'authentification SASL, "
|
||||
#~ "en utilisant le mécanisme \"%s\""
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%s%s: unable to read private key in file \"%s\""
|
||||
#~ msgstr "%s%s : impossible de lire la clé privée dans le fichier \"%s\""
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
#~ msgstr "%sgnutls : fichier de clé privée invalide : erreur %d %s"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
#~ msgstr "%sgnutls : impossible d'importer la clé privée : erreur %d %s"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
#~ msgstr "%sgnutls : impossible de signer les données hachées : erreur %d %s"
|
||||
|
||||
#~ msgid "bar size in chars (0 = auto size)"
|
||||
#~ msgstr "taille de la barre en caractères (0 = taille automatique)"
|
||||
|
69
po/hu.po
69
po/hu.po
@ -20,7 +20,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-05-30 15:18+0200\n"
|
||||
"POT-Creation-Date: 2021-06-01 20:39+0200\n"
|
||||
"PO-Revision-Date: 2021-05-25 18:28+0200\n"
|
||||
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -7625,10 +7625,13 @@ msgstr ""
|
||||
|
||||
msgid ""
|
||||
"mechanism for SASL authentication: \"plain\" for plain text password, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL cert, \"dh-blowfish\" "
|
||||
"for blowfish crypted password (insecure, not recommended), \"dh-aes\" for "
|
||||
"AES crypted password (insecure, not recommended)"
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 algorithm, \"scram-"
|
||||
"sha-256\" for SCRAM authentication with SHA-256 algorithm, \"scram-sha-512\" "
|
||||
"for SCRAM authentication with SHA-512 algorithm, \"ecdsa-nist256p-challenge"
|
||||
"\" for key-based challenge authentication, \"external\" for authentication "
|
||||
"using client side SSL cert, \"dh-blowfish\" for blowfish crypted password "
|
||||
"(insecure, not recommended), \"dh-aes\" for AES crypted password (insecure, "
|
||||
"not recommended)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
@ -8667,9 +8670,11 @@ msgstr "%s%s%s kirúgta %s%s%s-t a(z) %s%s szobából"
|
||||
msgid "%s%s%s%s has unidentified"
|
||||
msgstr "A %s%s%s szerver törölve\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: SASL error: %s"
|
||||
msgstr "%sSzerver: %s%s\n"
|
||||
|
||||
msgid "internal error"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
@ -9068,26 +9073,30 @@ msgstr ""
|
||||
msgid "%s%s: server \"%s\" not found for redirect"
|
||||
msgstr "%s a \"%s\" szerver nem található\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: unable to read private key in file \"%s\""
|
||||
msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
|
||||
#, fuzzy
|
||||
msgid "unable to validate server signature"
|
||||
msgstr "%s nem sikerült a szervert létrehozni\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
|
||||
#, fuzzy
|
||||
msgid "memory error"
|
||||
msgstr "%sSzerver: %s%s\n"
|
||||
|
||||
msgid "base64 decode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "base64 encode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "cryptography error"
|
||||
msgstr ""
|
||||
|
||||
msgid "protocol error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: signing the challenge with ECC public key: %s"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
msgstr "%s DCC: nem sikerült a csövet létrehozni\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
msgstr "%s DCC: nem sikerült a csövet létrehozni\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sgnutls: version >= 3.0.21 is required for SASL \"ecdsa-nist256p-challenge\""
|
||||
@ -12572,3 +12581,19 @@ msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n"
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s DCC: nem sikerült kapcsolódni a küldőhöz\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%s%s: unable to read private key in file \"%s\""
|
||||
#~ msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
#~ msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
#~ msgstr "%s DCC: nem sikerült a csövet létrehozni\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
#~ msgstr "%s DCC: nem sikerült a csövet létrehozni\n"
|
||||
|
79
po/it.po
79
po/it.po
@ -20,7 +20,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-05-30 15:18+0200\n"
|
||||
"POT-Creation-Date: 2021-06-01 20:39+0200\n"
|
||||
"PO-Revision-Date: 2021-05-25 18:28+0200\n"
|
||||
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -8401,10 +8401,13 @@ msgstr ""
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"mechanism for SASL authentication: \"plain\" for plain text password, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL cert, \"dh-blowfish\" "
|
||||
"for blowfish crypted password (insecure, not recommended), \"dh-aes\" for "
|
||||
"AES crypted password (insecure, not recommended)"
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 algorithm, \"scram-"
|
||||
"sha-256\" for SCRAM authentication with SHA-256 algorithm, \"scram-sha-512\" "
|
||||
"for SCRAM authentication with SHA-512 algorithm, \"ecdsa-nist256p-challenge"
|
||||
"\" for key-based challenge authentication, \"external\" for authentication "
|
||||
"using client side SSL cert, \"dh-blowfish\" for blowfish crypted password "
|
||||
"(insecure, not recommended), \"dh-aes\" for AES crypted password (insecure, "
|
||||
"not recommended)"
|
||||
msgstr ""
|
||||
"meccanismo per l'autenticazione SASL: \"plain\" per le password in chiaro, "
|
||||
"\"dh-blowfish\" per le password cifrate in blowfish, \"dh-aes\" per le "
|
||||
@ -9558,12 +9561,12 @@ msgstr "%s%s%s%s ha cacciato %s%s%s"
|
||||
msgid "%s%s%s%s has unidentified"
|
||||
msgstr "%s: Il server %s%s%s è stato eliminato"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: SASL error: %s"
|
||||
msgstr "%s%s: errore: %s"
|
||||
|
||||
msgid "internal error"
|
||||
msgstr ""
|
||||
"%s%s: errore nella costruzione della risposta per l'autenticazione SASL, "
|
||||
"usando il meccanismo \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: client capability, requesting: %s"
|
||||
@ -9969,26 +9972,30 @@ msgstr ""
|
||||
msgid "%s%s: server \"%s\" not found for redirect"
|
||||
msgstr "%s%s: server \"%s\" non trovato per la redirezione"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: unable to read private key in file \"%s\""
|
||||
msgstr "%s%s: impossibile leggere il file \"%s\""
|
||||
#, fuzzy
|
||||
msgid "unable to validate server signature"
|
||||
msgstr "%s%s: impossibile creare il server"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
msgstr "%sgnutls: certificato \"%s\" non valido, errore: %s"
|
||||
#, fuzzy
|
||||
msgid "memory error"
|
||||
msgstr "errore"
|
||||
|
||||
msgid "base64 decode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "base64 encode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "cryptography error"
|
||||
msgstr ""
|
||||
|
||||
msgid "protocol error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: signing the challenge with ECC public key: %s"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
msgstr "%s%s: impossibile creare la pipe: errore %d %s"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
msgstr "%s%s: impossibile creare la pipe: errore %d %s"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sgnutls: version >= 3.0.21 is required for SASL \"ecdsa-nist256p-challenge\""
|
||||
@ -13586,5 +13593,29 @@ msgstr "%s%s: timeout per \"%s\" con %s"
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: impossibile connettersi al mittente"
|
||||
|
||||
#, c-format
|
||||
#~ msgid ""
|
||||
#~ "%s%s: error building answer for SASL authentication, using mechanism \"%s"
|
||||
#~ "\""
|
||||
#~ msgstr ""
|
||||
#~ "%s%s: errore nella costruzione della risposta per l'autenticazione SASL, "
|
||||
#~ "usando il meccanismo \"%s\""
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%s%s: unable to read private key in file \"%s\""
|
||||
#~ msgstr "%s%s: impossibile leggere il file \"%s\""
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
#~ msgstr "%sgnutls: certificato \"%s\" non valido, errore: %s"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
#~ msgstr "%s%s: impossibile creare la pipe: errore %d %s"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
#~ msgstr "%s%s: impossibile creare la pipe: errore %d %s"
|
||||
|
||||
#~ msgid "bar size in chars (0 = auto size)"
|
||||
#~ msgstr "dimensione barra in caratteri (0 = dimensione automatica)"
|
||||
|
78
po/ja.po
78
po/ja.po
@ -20,7 +20,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-05-30 15:18+0200\n"
|
||||
"POT-Creation-Date: 2021-06-01 20:39+0200\n"
|
||||
"PO-Revision-Date: 2021-05-25 18:28+0200\n"
|
||||
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
|
||||
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
|
||||
@ -9232,12 +9232,16 @@ msgstr ""
|
||||
"ト (WeeChat がサポートする機能のリストは /help cap を参照してください) (例: "
|
||||
"\"away-notify,multi-prefix\")"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"mechanism for SASL authentication: \"plain\" for plain text password, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL cert, \"dh-blowfish\" "
|
||||
"for blowfish crypted password (insecure, not recommended), \"dh-aes\" for "
|
||||
"AES crypted password (insecure, not recommended)"
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 algorithm, \"scram-"
|
||||
"sha-256\" for SCRAM authentication with SHA-256 algorithm, \"scram-sha-512\" "
|
||||
"for SCRAM authentication with SHA-512 algorithm, \"ecdsa-nist256p-challenge"
|
||||
"\" for key-based challenge authentication, \"external\" for authentication "
|
||||
"using client side SSL cert, \"dh-blowfish\" for blowfish crypted password "
|
||||
"(insecure, not recommended), \"dh-aes\" for AES crypted password (insecure, "
|
||||
"not recommended)"
|
||||
msgstr ""
|
||||
"SASL 認証メカニズム: \"plain\" は平文パスワード、\"ecdsa-nist256p-challenge"
|
||||
"\" は鍵を使ったチャレンジ認証、\"external\" はクライアント側の SSL 証明書を利"
|
||||
@ -10416,10 +10420,12 @@ msgstr "%s%s%s%s が %s%s%s をキック"
|
||||
msgid "%s%s%s%s has unidentified"
|
||||
msgstr "%s: サーバ %s%s%s を削除しました"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
|
||||
msgstr "%s%s: SASL 認証の応答を作成中にエラー、\"%s\" メカニズムを使用"
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: SASL error: %s"
|
||||
msgstr "%s%s: エラー: %s"
|
||||
|
||||
msgid "internal error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: client capability, requesting: %s"
|
||||
@ -10831,26 +10837,30 @@ msgstr ""
|
||||
msgid "%s%s: server \"%s\" not found for redirect"
|
||||
msgstr "%s%s: リダイレクトサーバ \"%s\" が見つかりません"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: unable to read private key in file \"%s\""
|
||||
msgstr "%s%s: ファイル \"%s\" の秘密鍵を読み込めません"
|
||||
#, fuzzy
|
||||
msgid "unable to validate server signature"
|
||||
msgstr "%s%s: サーバの追加に失敗"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
msgstr "%sgnutls: 無効な秘密鍵ファイルです: エラー %d %s"
|
||||
#, fuzzy
|
||||
msgid "memory error"
|
||||
msgstr "フォークエラー"
|
||||
|
||||
msgid "base64 decode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "base64 encode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "cryptography error"
|
||||
msgstr ""
|
||||
|
||||
msgid "protocol error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: signing the challenge with ECC public key: %s"
|
||||
msgstr "%s%s: ECC 公開鍵を使ってチャンレンジに署名しています: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
msgstr "%sgnutls: 秘密鍵をインポートできません: エラー %d %s"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
msgstr "%sgnutls: ハッシュ化されたデータを署名できません: エラー %d %s"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sgnutls: version >= 3.0.21 is required for SASL \"ecdsa-nist256p-challenge\""
|
||||
@ -14659,5 +14669,27 @@ msgstr "%s%s: \"%s\" のタイムアウト %s"
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: 接続できません: 未定義のエラー (%d)"
|
||||
|
||||
#, c-format
|
||||
#~ msgid ""
|
||||
#~ "%s%s: error building answer for SASL authentication, using mechanism \"%s"
|
||||
#~ "\""
|
||||
#~ msgstr "%s%s: SASL 認証の応答を作成中にエラー、\"%s\" メカニズムを使用"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%s%s: unable to read private key in file \"%s\""
|
||||
#~ msgstr "%s%s: ファイル \"%s\" の秘密鍵を読み込めません"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
#~ msgstr "%sgnutls: 無効な秘密鍵ファイルです: エラー %d %s"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
#~ msgstr "%sgnutls: 秘密鍵をインポートできません: エラー %d %s"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
#~ msgstr "%sgnutls: ハッシュ化されたデータを署名できません: エラー %d %s"
|
||||
|
||||
#~ msgid "bar size in chars (0 = auto size)"
|
||||
#~ msgstr "文字数単位のバーのサイズ (0 = 自動サイズ)"
|
||||
|
80
po/pl.po
80
po/pl.po
@ -22,7 +22,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-05-30 15:18+0200\n"
|
||||
"POT-Creation-Date: 2021-06-01 20:39+0200\n"
|
||||
"PO-Revision-Date: 2021-05-25 18:28+0200\n"
|
||||
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
|
||||
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
|
||||
@ -9473,12 +9473,16 @@ msgstr ""
|
||||
"są dostępne (zobacz /help cap żeby poznać listę opcji wspieranych przez "
|
||||
"WeeChat) (przykład: \"away-notify,multi-prefix\")"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"mechanism for SASL authentication: \"plain\" for plain text password, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL cert, \"dh-blowfish\" "
|
||||
"for blowfish crypted password (insecure, not recommended), \"dh-aes\" for "
|
||||
"AES crypted password (insecure, not recommended)"
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 algorithm, \"scram-"
|
||||
"sha-256\" for SCRAM authentication with SHA-256 algorithm, \"scram-sha-512\" "
|
||||
"for SCRAM authentication with SHA-512 algorithm, \"ecdsa-nist256p-challenge"
|
||||
"\" for key-based challenge authentication, \"external\" for authentication "
|
||||
"using client side SSL cert, \"dh-blowfish\" for blowfish crypted password "
|
||||
"(insecure, not recommended), \"dh-aes\" for AES crypted password (insecure, "
|
||||
"not recommended)"
|
||||
msgstr ""
|
||||
"mechanizm autentykacji SASL: \"plain\" dla hasła w czystym tekście, \"ecdsa-"
|
||||
"nist256p-challenge\" uwierzytelnianie na podstawie pary kluczy, \"external\" "
|
||||
@ -10685,12 +10689,12 @@ msgstr "%s%s%s%s zidentyfikował się jako %s"
|
||||
msgid "%s%s%s%s has unidentified"
|
||||
msgstr "%s%s%s%s został niezidentyfikowany"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: SASL error: %s"
|
||||
msgstr "%s%s: błąd: %s"
|
||||
|
||||
msgid "internal error"
|
||||
msgstr ""
|
||||
"%s%s: błąd podczas tworzenia odpowiedzi dla uwierzytelniania SASL, używając "
|
||||
"mechanizmu \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: client capability, requesting: %s"
|
||||
@ -11099,26 +11103,30 @@ msgstr ""
|
||||
msgid "%s%s: server \"%s\" not found for redirect"
|
||||
msgstr "%s%s: serwer \"%s\" nie został znaleziony dla przekierowania"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: unable to read private key in file \"%s\""
|
||||
msgstr "%s%s: nie można odczytać klucza prywatnego z pliku \"%s\""
|
||||
#, fuzzy
|
||||
msgid "unable to validate server signature"
|
||||
msgstr "%s%s: nie można dodać serwera"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
msgstr "%sgnutls: niepoprawny plik klucza prywatnego: błąd %d %s"
|
||||
#, fuzzy
|
||||
msgid "memory error"
|
||||
msgstr "nie udało się utworzyć procesu"
|
||||
|
||||
msgid "base64 decode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "base64 encode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "cryptography error"
|
||||
msgstr ""
|
||||
|
||||
msgid "protocol error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: signing the challenge with ECC public key: %s"
|
||||
msgstr "%s%s: podpisuje wyzwanie za pomocą klucza publicnzego ECC: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
msgstr "%sgnutls: nie można zaimportować klucza prywatnego: błąd %d %s"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
msgstr "%sgnutls: nie można podpisać zakodowanych danych: błąd %d %s"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sgnutls: version >= 3.0.21 is required for SASL \"ecdsa-nist256p-challenge\""
|
||||
@ -15035,5 +15043,29 @@ 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)"
|
||||
|
||||
#, c-format
|
||||
#~ msgid ""
|
||||
#~ "%s%s: error building answer for SASL authentication, using mechanism \"%s"
|
||||
#~ "\""
|
||||
#~ msgstr ""
|
||||
#~ "%s%s: błąd podczas tworzenia odpowiedzi dla uwierzytelniania SASL, "
|
||||
#~ "używając mechanizmu \"%s\""
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%s%s: unable to read private key in file \"%s\""
|
||||
#~ msgstr "%s%s: nie można odczytać klucza prywatnego z pliku \"%s\""
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
#~ msgstr "%sgnutls: niepoprawny plik klucza prywatnego: błąd %d %s"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
#~ msgstr "%sgnutls: nie można zaimportować klucza prywatnego: błąd %d %s"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
#~ msgstr "%sgnutls: nie można podpisać zakodowanych danych: błąd %d %s"
|
||||
|
||||
#~ msgid "bar size in chars (0 = auto size)"
|
||||
#~ msgstr "rozmiar paska w znakach (0 = automatyczny rozmiar)"
|
||||
|
80
po/pt.po
80
po/pt.po
@ -20,7 +20,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-05-30 15:18+0200\n"
|
||||
"POT-Creation-Date: 2021-06-01 20:39+0200\n"
|
||||
"PO-Revision-Date: 2021-05-25 18:28+0200\n"
|
||||
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
|
||||
"Language-Team: Portuguese <>\n"
|
||||
@ -9020,12 +9020,16 @@ msgstr ""
|
||||
"servidor se estiverem disponíveis (ver /help cap para obter uma lista de "
|
||||
"capacidades suportadas pelo WeeChat) (exemplo: \"away-notify,multi-prefix\")"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"mechanism for SASL authentication: \"plain\" for plain text password, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL cert, \"dh-blowfish\" "
|
||||
"for blowfish crypted password (insecure, not recommended), \"dh-aes\" for "
|
||||
"AES crypted password (insecure, not recommended)"
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 algorithm, \"scram-"
|
||||
"sha-256\" for SCRAM authentication with SHA-256 algorithm, \"scram-sha-512\" "
|
||||
"for SCRAM authentication with SHA-512 algorithm, \"ecdsa-nist256p-challenge"
|
||||
"\" for key-based challenge authentication, \"external\" for authentication "
|
||||
"using client side SSL cert, \"dh-blowfish\" for blowfish crypted password "
|
||||
"(insecure, not recommended), \"dh-aes\" for AES crypted password (insecure, "
|
||||
"not recommended)"
|
||||
msgstr ""
|
||||
"mecanismo de autenticação SASL: \"plain\" para palavra-passe em texto "
|
||||
"simples, \"ecdsa-nist256p-challenge\" para autenticação por desafio com "
|
||||
@ -10237,12 +10241,12 @@ msgstr "%s%s%s%s expulsou %s%s%s"
|
||||
msgid "%s%s%s%s has unidentified"
|
||||
msgstr "%s: o servidor %s%s%s foi eliminado"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: SASL error: %s"
|
||||
msgstr "%s%s: erro: %s"
|
||||
|
||||
msgid "internal error"
|
||||
msgstr ""
|
||||
"%s%s: erro ao construir resposta para a autenticação SASL, usando o "
|
||||
"mecanismo \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: client capability, requesting: %s"
|
||||
@ -10647,26 +10651,30 @@ msgstr ""
|
||||
msgid "%s%s: server \"%s\" not found for redirect"
|
||||
msgstr "%s%s: servidor \"%s\" não encontrado para redirecionar"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: unable to read private key in file \"%s\""
|
||||
msgstr "%s%s: não foi possível ler a chave privada no ficheiro \"%s\""
|
||||
#, fuzzy
|
||||
msgid "unable to validate server signature"
|
||||
msgstr "%s%s: não é possível adicionar servidor"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
msgstr "%sgnutls: ficheiro de chave privada inválido: erro %d %s"
|
||||
#, fuzzy
|
||||
msgid "memory error"
|
||||
msgstr "erro"
|
||||
|
||||
msgid "base64 decode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "base64 encode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "cryptography error"
|
||||
msgstr ""
|
||||
|
||||
msgid "protocol error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: signing the challenge with ECC public key: %s"
|
||||
msgstr "%s%s: a assinar o desafio com a chave ECC pública: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
msgstr "%sgnutls: não foi possível importar a chave privada: erro %d %s"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
msgstr "%sgnutls: não foi possível assinar o resumo dos dados: erro %d %s"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sgnutls: version >= 3.0.21 is required for SASL \"ecdsa-nist256p-challenge\""
|
||||
@ -14512,5 +14520,29 @@ msgstr "%s%s: tempo limite de \"%s\" com %s"
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: não foi possível conectar: erro inesperado (%d)"
|
||||
|
||||
#, c-format
|
||||
#~ msgid ""
|
||||
#~ "%s%s: error building answer for SASL authentication, using mechanism \"%s"
|
||||
#~ "\""
|
||||
#~ msgstr ""
|
||||
#~ "%s%s: erro ao construir resposta para a autenticação SASL, usando o "
|
||||
#~ "mecanismo \"%s\""
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%s%s: unable to read private key in file \"%s\""
|
||||
#~ msgstr "%s%s: não foi possível ler a chave privada no ficheiro \"%s\""
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
#~ msgstr "%sgnutls: ficheiro de chave privada inválido: erro %d %s"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
#~ msgstr "%sgnutls: não foi possível importar a chave privada: erro %d %s"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
#~ msgstr "%sgnutls: não foi possível assinar o resumo dos dados: erro %d %s"
|
||||
|
||||
#~ msgid "bar size in chars (0 = auto size)"
|
||||
#~ msgstr "tamanho da barra em carateres (0 = tamanho automático)"
|
||||
|
79
po/pt_BR.po
79
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: 2021-05-30 15:18+0200\n"
|
||||
"POT-Creation-Date: 2021-06-01 20:39+0200\n"
|
||||
"PO-Revision-Date: 2021-05-25 18:28+0200\n"
|
||||
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -8067,10 +8067,13 @@ msgstr ""
|
||||
|
||||
msgid ""
|
||||
"mechanism for SASL authentication: \"plain\" for plain text password, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL cert, \"dh-blowfish\" "
|
||||
"for blowfish crypted password (insecure, not recommended), \"dh-aes\" for "
|
||||
"AES crypted password (insecure, not recommended)"
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 algorithm, \"scram-"
|
||||
"sha-256\" for SCRAM authentication with SHA-256 algorithm, \"scram-sha-512\" "
|
||||
"for SCRAM authentication with SHA-512 algorithm, \"ecdsa-nist256p-challenge"
|
||||
"\" for key-based challenge authentication, \"external\" for authentication "
|
||||
"using client side SSL cert, \"dh-blowfish\" for blowfish crypted password "
|
||||
"(insecure, not recommended), \"dh-aes\" for AES crypted password (insecure, "
|
||||
"not recommended)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
@ -9099,12 +9102,12 @@ msgstr "%s%s%s%s se identificou como %s"
|
||||
msgid "%s%s%s%s has unidentified"
|
||||
msgstr "%s%s%s%s removeu sua identificação"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: SASL error: %s"
|
||||
msgstr "%s%s: erro: %s"
|
||||
|
||||
msgid "internal error"
|
||||
msgstr ""
|
||||
"%s%s: erro ao construir resposta para autenticação SASL, utilizando "
|
||||
"mecanismo \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: client capability, requesting: %s"
|
||||
@ -9505,26 +9508,30 @@ msgstr ""
|
||||
msgid "%s%s: server \"%s\" not found for redirect"
|
||||
msgstr "%s%s: servidor \"%s\" não encontrado para redirecionamento"
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: unable to read private key in file \"%s\""
|
||||
msgstr "%s%s: não foi possível ler a chave privada no arquivo \"%s\""
|
||||
#, fuzzy
|
||||
msgid "unable to validate server signature"
|
||||
msgstr "%s%s: não foi possível redirecionar saída de erro (stderr)"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
msgstr "%sgnutls: arquivo de chave privada inválido: erro %d %s"
|
||||
#, fuzzy
|
||||
msgid "memory error"
|
||||
msgstr "%s%s: erro: %s"
|
||||
|
||||
msgid "base64 decode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "base64 encode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "cryptography error"
|
||||
msgstr ""
|
||||
|
||||
msgid "protocol error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: signing the challenge with ECC public key: %s"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
msgstr "%s%s: não foi possível criar pipe"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
msgstr "%s%s: não foi possível criar pipe"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sgnutls: version >= 3.0.21 is required for SASL \"ecdsa-nist256p-challenge\""
|
||||
@ -13055,5 +13062,29 @@ msgstr "%s%s: tempo esgotado para \"%s\" com %s"
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: não foi possível conectar ao remetente"
|
||||
|
||||
#, c-format
|
||||
#~ msgid ""
|
||||
#~ "%s%s: error building answer for SASL authentication, using mechanism \"%s"
|
||||
#~ "\""
|
||||
#~ msgstr ""
|
||||
#~ "%s%s: erro ao construir resposta para autenticação SASL, utilizando "
|
||||
#~ "mecanismo \"%s\""
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%s%s: unable to read private key in file \"%s\""
|
||||
#~ msgstr "%s%s: não foi possível ler a chave privada no arquivo \"%s\""
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
#~ msgstr "%sgnutls: arquivo de chave privada inválido: erro %d %s"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
#~ msgstr "%s%s: não foi possível criar pipe"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
#~ msgstr "%s%s: não foi possível criar pipe"
|
||||
|
||||
#~ msgid "bar size in chars (0 = auto size)"
|
||||
#~ msgstr "tamanho da barra em caracteres (0 = tamanho automático)"
|
||||
|
69
po/ru.po
69
po/ru.po
@ -21,7 +21,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-05-30 15:18+0200\n"
|
||||
"POT-Creation-Date: 2021-06-01 20:39+0200\n"
|
||||
"PO-Revision-Date: 2021-05-25 18:28+0200\n"
|
||||
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -7655,10 +7655,13 @@ msgstr ""
|
||||
|
||||
msgid ""
|
||||
"mechanism for SASL authentication: \"plain\" for plain text password, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL cert, \"dh-blowfish\" "
|
||||
"for blowfish crypted password (insecure, not recommended), \"dh-aes\" for "
|
||||
"AES crypted password (insecure, not recommended)"
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 algorithm, \"scram-"
|
||||
"sha-256\" for SCRAM authentication with SHA-256 algorithm, \"scram-sha-512\" "
|
||||
"for SCRAM authentication with SHA-512 algorithm, \"ecdsa-nist256p-challenge"
|
||||
"\" for key-based challenge authentication, \"external\" for authentication "
|
||||
"using client side SSL cert, \"dh-blowfish\" for blowfish crypted password "
|
||||
"(insecure, not recommended), \"dh-aes\" for AES crypted password (insecure, "
|
||||
"not recommended)"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
@ -8704,9 +8707,11 @@ msgstr "%s%s%s выкинул %s%s%s с канала %s%s"
|
||||
msgid "%s%s%s%s has unidentified"
|
||||
msgstr "Сервер %s%s%s удалён\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: SASL error: %s"
|
||||
msgstr "%sСервер: %s%s\n"
|
||||
|
||||
msgid "internal error"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
@ -9110,26 +9115,30 @@ msgstr ""
|
||||
msgid "%s%s: server \"%s\" not found for redirect"
|
||||
msgstr "%s сервер \"%s\" не найден\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: unable to read private key in file \"%s\""
|
||||
msgstr "Не могу записать лог-файл \"%s\"\n"
|
||||
#, fuzzy
|
||||
msgid "unable to validate server signature"
|
||||
msgstr "%s не могу создать сервер\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
msgstr "Не могу записать лог-файл \"%s\"\n"
|
||||
#, fuzzy
|
||||
msgid "memory error"
|
||||
msgstr "%sСервер: %s%s\n"
|
||||
|
||||
msgid "base64 decode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "base64 encode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "cryptography error"
|
||||
msgstr ""
|
||||
|
||||
msgid "protocol error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: signing the challenge with ECC public key: %s"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
msgstr "%s DCC: не могу создать pipe\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
msgstr "%s DCC: не могу создать pipe\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sgnutls: version >= 3.0.21 is required for SASL \"ecdsa-nist256p-challenge\""
|
||||
@ -12606,3 +12615,19 @@ msgstr "%s нет аргумента для параметра \"%s\"\n"
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s DCC: не могу соединиться с отправителем\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%s%s: unable to read private key in file \"%s\""
|
||||
#~ msgstr "Не могу записать лог-файл \"%s\"\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
#~ msgstr "Не могу записать лог-файл \"%s\"\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
#~ msgstr "%s DCC: не могу создать pipe\n"
|
||||
|
||||
#, fuzzy, c-format
|
||||
#~ msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
#~ msgstr "%s DCC: не могу создать pipe\n"
|
||||
|
61
po/tr.po
61
po/tr.po
@ -20,7 +20,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-05-30 15:18+0200\n"
|
||||
"POT-Creation-Date: 2021-06-01 20:39+0200\n"
|
||||
"PO-Revision-Date: 2021-05-25 18:28+0200\n"
|
||||
"Last-Translator: Emir SARI <bitigchi@me.com>\n"
|
||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||
@ -7334,10 +7334,13 @@ msgstr ""
|
||||
|
||||
msgid ""
|
||||
"mechanism for SASL authentication: \"plain\" for plain text password, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL cert, \"dh-blowfish\" "
|
||||
"for blowfish crypted password (insecure, not recommended), \"dh-aes\" for "
|
||||
"AES crypted password (insecure, not recommended)"
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 algorithm, \"scram-"
|
||||
"sha-256\" for SCRAM authentication with SHA-256 algorithm, \"scram-sha-512\" "
|
||||
"for SCRAM authentication with SHA-512 algorithm, \"ecdsa-nist256p-challenge"
|
||||
"\" for key-based challenge authentication, \"external\" for authentication "
|
||||
"using client side SSL cert, \"dh-blowfish\" for blowfish crypted password "
|
||||
"(insecure, not recommended), \"dh-aes\" for AES crypted password (insecure, "
|
||||
"not recommended)"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
@ -8254,9 +8257,11 @@ msgstr "%s%s%s%s, %s olarak kimliği tanımlandı"
|
||||
msgid "%s%s%s%s has unidentified"
|
||||
msgstr "%s%s%s%s kimliği belirsiz"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
|
||||
#, fuzzy, c-format
|
||||
msgid "%s%s: SASL error: %s"
|
||||
msgstr "%s%s: hata: %s"
|
||||
|
||||
msgid "internal error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
@ -8642,26 +8647,30 @@ msgstr ""
|
||||
msgid "%s%s: server \"%s\" not found for redirect"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: unable to read private key in file \"%s\""
|
||||
msgstr "%s%s: \"%s\" dosyasındaki özel anahtar okunamıyor"
|
||||
#, fuzzy
|
||||
msgid "unable to validate server signature"
|
||||
msgstr "%s%s: sunucu eklenemiyor"
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
msgstr "%sgnutls: Geçersiz özel anahtar dosyası: hata %d %s"
|
||||
#, fuzzy
|
||||
msgid "memory error"
|
||||
msgstr "çatal hatası"
|
||||
|
||||
msgid "base64 decode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "base64 encode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "cryptography error"
|
||||
msgstr ""
|
||||
|
||||
msgid "protocol error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: signing the challenge with ECC public key: %s"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sgnutls: version >= 3.0.21 is required for SASL \"ecdsa-nist256p-challenge\""
|
||||
@ -11897,3 +11906,11 @@ msgstr "%s%s: \"%s\" için %s ile zaman aşımı"
|
||||
#, c-format
|
||||
msgid "%s%s: unable to connect: unexpected error (%d)"
|
||||
msgstr "%s%s: Bağlanılamıyor: Beklenmedik hata (%d)"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%s%s: unable to read private key in file \"%s\""
|
||||
#~ msgstr "%s%s: \"%s\" dosyasındaki özel anahtar okunamıyor"
|
||||
|
||||
#, c-format
|
||||
#~ msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
#~ msgstr "%sgnutls: Geçersiz özel anahtar dosyası: hata %d %s"
|
||||
|
@ -21,7 +21,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: WeeChat\n"
|
||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||
"POT-Creation-Date: 2021-05-30 15:18+0200\n"
|
||||
"POT-Creation-Date: 2021-06-01 20:39+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"
|
||||
@ -6809,10 +6809,13 @@ msgstr ""
|
||||
|
||||
msgid ""
|
||||
"mechanism for SASL authentication: \"plain\" for plain text password, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL cert, \"dh-blowfish\" "
|
||||
"for blowfish crypted password (insecure, not recommended), \"dh-aes\" for "
|
||||
"AES crypted password (insecure, not recommended)"
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 algorithm, \"scram-"
|
||||
"sha-256\" for SCRAM authentication with SHA-256 algorithm, \"scram-sha-512\" "
|
||||
"for SCRAM authentication with SHA-512 algorithm, \"ecdsa-nist256p-challenge"
|
||||
"\" for key-based challenge authentication, \"external\" for authentication "
|
||||
"using client side SSL cert, \"dh-blowfish\" for blowfish crypted password "
|
||||
"(insecure, not recommended), \"dh-aes\" for AES crypted password (insecure, "
|
||||
"not recommended)"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
@ -7727,8 +7730,10 @@ msgid "%s%s%s%s has unidentified"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%s%s: error building answer for SASL authentication, using mechanism \"%s\""
|
||||
msgid "%s%s: SASL error: %s"
|
||||
msgstr ""
|
||||
|
||||
msgid "internal error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
@ -8120,26 +8125,28 @@ msgstr ""
|
||||
msgid "%s%s: server \"%s\" not found for redirect"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: unable to read private key in file \"%s\""
|
||||
msgid "unable to validate server signature"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: invalid private key file: error %d %s"
|
||||
msgid "memory error"
|
||||
msgstr ""
|
||||
|
||||
msgid "base64 decode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "base64 encode error"
|
||||
msgstr ""
|
||||
|
||||
msgid "cryptography error"
|
||||
msgstr ""
|
||||
|
||||
msgid "protocol error"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s%s: signing the challenge with ECC public key: %s"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to import the private key: error %d %s"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%sgnutls: unable to sign the hashed data: error %d %s"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"%sgnutls: version >= 3.0.21 is required for SASL \"ecdsa-nist256p-challenge\""
|
||||
|
@ -1859,6 +1859,12 @@ irc_config_server_new_option (struct t_config_file *config_file,
|
||||
option_name, "integer",
|
||||
N_("mechanism for SASL authentication: "
|
||||
"\"plain\" for plain text password, "
|
||||
"\"scram-sha-1\" for SCRAM authentication with SHA-1 "
|
||||
"algorithm, "
|
||||
"\"scram-sha-256\" for SCRAM authentication with SHA-256 "
|
||||
"algorithm, "
|
||||
"\"scram-sha-512\" for SCRAM authentication with SHA-512 "
|
||||
"algorithm, "
|
||||
"\"ecdsa-nist256p-challenge\" for key-based "
|
||||
"challenge authentication, "
|
||||
"\"external\" for authentication using client side SSL "
|
||||
@ -1867,7 +1873,8 @@ irc_config_server_new_option (struct t_config_file *config_file,
|
||||
"(insecure, not recommended), "
|
||||
"\"dh-aes\" for AES crypted password "
|
||||
"(insecure, not recommended)"),
|
||||
"plain|ecdsa-nist256p-challenge|external|dh-blowfish|dh-aes",
|
||||
"plain|scram-sha-1|scram-sha-256|scram-sha-512|"
|
||||
"ecdsa-nist256p-challenge|external|dh-blowfish|dh-aes",
|
||||
0, 0,
|
||||
default_value, value,
|
||||
null_value_allowed,
|
||||
|
@ -408,65 +408,89 @@ IRC_PROTOCOL_CALLBACK(account)
|
||||
IRC_PROTOCOL_CALLBACK(authenticate)
|
||||
{
|
||||
int sasl_mechanism;
|
||||
char *sasl_username, *sasl_password, *answer;
|
||||
char *sasl_username, *sasl_password, *answer, *sasl_error;
|
||||
const char *sasl_key;
|
||||
|
||||
IRC_PROTOCOL_MIN_ARGS(2);
|
||||
|
||||
if (irc_server_sasl_enabled (server))
|
||||
if (!irc_server_sasl_enabled (server))
|
||||
return WEECHAT_RC_OK;
|
||||
|
||||
sasl_mechanism = IRC_SERVER_OPTION_INTEGER(
|
||||
server, IRC_SERVER_OPTION_SASL_MECHANISM);
|
||||
sasl_username = irc_server_eval_expression (
|
||||
server,
|
||||
IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_SASL_USERNAME));
|
||||
sasl_password = irc_server_eval_expression (
|
||||
server,
|
||||
IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_SASL_PASSWORD));
|
||||
sasl_key = IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_SASL_KEY);
|
||||
answer = NULL;
|
||||
sasl_error = NULL;
|
||||
switch (sasl_mechanism)
|
||||
{
|
||||
sasl_mechanism = IRC_SERVER_OPTION_INTEGER(
|
||||
server, IRC_SERVER_OPTION_SASL_MECHANISM);
|
||||
sasl_username = irc_server_eval_expression (
|
||||
server,
|
||||
IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_SASL_USERNAME));
|
||||
sasl_password = irc_server_eval_expression (
|
||||
server,
|
||||
IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_SASL_PASSWORD));
|
||||
sasl_key = IRC_SERVER_OPTION_STRING(server, IRC_SERVER_OPTION_SASL_KEY);
|
||||
answer = NULL;
|
||||
switch (sasl_mechanism)
|
||||
{
|
||||
case IRC_SASL_MECHANISM_PLAIN:
|
||||
answer = irc_sasl_mechanism_plain (sasl_username,
|
||||
sasl_password);
|
||||
break;
|
||||
case IRC_SASL_MECHANISM_ECDSA_NIST256P_CHALLENGE:
|
||||
answer = irc_sasl_mechanism_ecdsa_nist256p_challenge (
|
||||
server, argv[1], sasl_username, sasl_key);
|
||||
break;
|
||||
case IRC_SASL_MECHANISM_EXTERNAL:
|
||||
answer = strdup ("+");
|
||||
break;
|
||||
case IRC_SASL_MECHANISM_DH_BLOWFISH:
|
||||
answer = irc_sasl_mechanism_dh_blowfish (
|
||||
argv[1], sasl_username, sasl_password);
|
||||
break;
|
||||
case IRC_SASL_MECHANISM_DH_AES:
|
||||
answer = irc_sasl_mechanism_dh_aes (
|
||||
argv[1], sasl_username, sasl_password);
|
||||
break;
|
||||
}
|
||||
if (answer)
|
||||
{
|
||||
irc_server_sendf (server, 0, NULL, "AUTHENTICATE %s", answer);
|
||||
free (answer);
|
||||
}
|
||||
else
|
||||
{
|
||||
weechat_printf (
|
||||
server->buffer,
|
||||
_("%s%s: error building answer for SASL authentication, "
|
||||
"using mechanism \"%s\""),
|
||||
weechat_prefix ("error"), IRC_PLUGIN_NAME,
|
||||
irc_sasl_mechanism_string[IRC_SERVER_OPTION_INTEGER(server, IRC_SERVER_OPTION_SASL_MECHANISM)]);
|
||||
irc_server_sendf (server, 0, NULL, "CAP END");
|
||||
}
|
||||
if (sasl_username)
|
||||
free (sasl_username);
|
||||
if (sasl_password)
|
||||
free (sasl_password);
|
||||
case IRC_SASL_MECHANISM_PLAIN:
|
||||
answer = irc_sasl_mechanism_plain (sasl_username, sasl_password);
|
||||
break;
|
||||
case IRC_SASL_MECHANISM_SCRAM_SHA_1:
|
||||
answer = irc_sasl_mechanism_scram (
|
||||
server, "sha1", argv[1], sasl_username, sasl_password,
|
||||
&sasl_error);
|
||||
break;
|
||||
case IRC_SASL_MECHANISM_SCRAM_SHA_256:
|
||||
answer = irc_sasl_mechanism_scram (
|
||||
server, "sha256", argv[1], sasl_username, sasl_password,
|
||||
&sasl_error);
|
||||
break;
|
||||
case IRC_SASL_MECHANISM_SCRAM_SHA_512:
|
||||
answer = irc_sasl_mechanism_scram (
|
||||
server, "sha512", argv[1], sasl_username, sasl_password,
|
||||
&sasl_error);
|
||||
break;
|
||||
case IRC_SASL_MECHANISM_ECDSA_NIST256P_CHALLENGE:
|
||||
answer = irc_sasl_mechanism_ecdsa_nist256p_challenge (
|
||||
server, argv[1], sasl_username, sasl_key, &sasl_error);
|
||||
break;
|
||||
case IRC_SASL_MECHANISM_EXTERNAL:
|
||||
answer = strdup ("+");
|
||||
break;
|
||||
case IRC_SASL_MECHANISM_DH_BLOWFISH:
|
||||
answer = irc_sasl_mechanism_dh_blowfish (
|
||||
argv[1], sasl_username, sasl_password, &sasl_error);
|
||||
break;
|
||||
case IRC_SASL_MECHANISM_DH_AES:
|
||||
answer = irc_sasl_mechanism_dh_aes (
|
||||
argv[1], sasl_username, sasl_password, &sasl_error);
|
||||
break;
|
||||
}
|
||||
if (answer)
|
||||
{
|
||||
if (sasl_error)
|
||||
{
|
||||
weechat_printf (server->buffer,
|
||||
_("%s%s: SASL error: %s"),
|
||||
weechat_prefix ("error"),
|
||||
IRC_PLUGIN_NAME,
|
||||
sasl_error);
|
||||
}
|
||||
irc_server_sendf (server, 0, NULL, "AUTHENTICATE %s", answer);
|
||||
free (answer);
|
||||
}
|
||||
else
|
||||
{
|
||||
weechat_printf (server->buffer,
|
||||
_("%s%s: SASL error: %s"),
|
||||
weechat_prefix ("error"),
|
||||
IRC_PLUGIN_NAME,
|
||||
(sasl_error) ? sasl_error : _("internal error"));
|
||||
irc_server_sendf (server, 0, NULL, "CAP END");
|
||||
}
|
||||
if (sasl_username)
|
||||
free (sasl_username);
|
||||
if (sasl_password)
|
||||
free (sasl_password);
|
||||
if (sasl_error)
|
||||
free (sasl_error);
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
@ -6335,6 +6359,8 @@ IRC_PROTOCOL_CALLBACK(900)
|
||||
argv[3],
|
||||
IRC_COLOR_CHAT_DELIMITERS);
|
||||
|
||||
irc_server_free_sasl_data (server);
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
@ -6391,6 +6417,8 @@ IRC_PROTOCOL_CALLBACK(sasl_end_ok)
|
||||
if (!server->is_connected)
|
||||
irc_server_sendf (server, 0, NULL, "CAP END");
|
||||
|
||||
irc_server_free_sasl_data (server);
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
@ -6428,6 +6456,8 @@ IRC_PROTOCOL_CALLBACK(sasl_end_fail)
|
||||
if (!server->is_connected)
|
||||
irc_server_sendf (server, 0, NULL, "CAP END");
|
||||
|
||||
irc_server_free_sasl_data (server);
|
||||
|
||||
return WEECHAT_RC_OK;
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,8 @@
|
||||
* valid values for the AUTHENTICATE command (example: "AUTHENTICATE PLAIN")
|
||||
*/
|
||||
char *irc_sasl_mechanism_string[IRC_NUM_SASL_MECHANISMS] =
|
||||
{ "plain", "ecdsa-nist256p-challenge", "external", "dh-blowfish", "dh-aes" };
|
||||
{ "plain", "scram-sha-1", "scram-sha-256", "scram-sha-512",
|
||||
"ecdsa-nist256p-challenge", "external", "dh-blowfish", "dh-aes" };
|
||||
|
||||
|
||||
/*
|
||||
@ -54,7 +55,7 @@ char *irc_sasl_mechanism_string[IRC_NUM_SASL_MECHANISMS] =
|
||||
char *
|
||||
irc_sasl_mechanism_plain (const char *sasl_username, const char *sasl_password)
|
||||
{
|
||||
char *string, *answer_base64;
|
||||
char *answer_base64, *string;
|
||||
int length_username, length;
|
||||
|
||||
answer_base64 = NULL;
|
||||
@ -85,6 +86,373 @@ irc_sasl_mechanism_plain (const char *sasl_username, const char *sasl_password)
|
||||
return answer_base64;
|
||||
}
|
||||
|
||||
/*
|
||||
* Builds answer for SASL authentication, using mechanism
|
||||
* "SCRAM-SHA-1", "SCRAM-SHA-256" or "SCRAM-SHA-512".
|
||||
*
|
||||
* If an error is received from the server and sasl_error is not NULL,
|
||||
* *sasl_error is set to the error and must be freed after use.
|
||||
*
|
||||
* Note: result must be freed after use.
|
||||
*/
|
||||
|
||||
char *
|
||||
irc_sasl_mechanism_scram (struct t_irc_server *server,
|
||||
const char *hash_algo,
|
||||
const char *data_base64,
|
||||
const char *sasl_username,
|
||||
const char *sasl_password,
|
||||
char **sasl_error)
|
||||
{
|
||||
char *answer_base64, *string, *username, *username2, *data, **attrs, *error;
|
||||
char nonce_client[18], nonce_client_base64[24 + 1], *nonce_server;
|
||||
char *salt_base64, *salt, *verifier_base64, *verifier, *attr_error;
|
||||
char *auth_no_proof, *auth_message;
|
||||
char salted_password[512 / 8], client_key[512 / 8], stored_key[512 / 8];
|
||||
char client_signature[512 / 8], client_proof[512 / 8];
|
||||
char client_proof_base64[((512 / 8) * 4) + 1], server_key[512 / 8];
|
||||
char server_signature[512 / 8];
|
||||
int i, length, num_attrs, iterations, salt_size, salted_password_size;
|
||||
int client_key_size, stored_key_size, client_signature_size;
|
||||
int server_key_size, server_signature_size, verifier_size;
|
||||
long number;
|
||||
|
||||
answer_base64 = NULL;
|
||||
string = NULL;
|
||||
length = 0;
|
||||
username = NULL;
|
||||
username2 = NULL;
|
||||
data = NULL;
|
||||
attrs = NULL;
|
||||
nonce_server = NULL;
|
||||
salt_base64 = NULL;
|
||||
salt = NULL;
|
||||
salt_size = 0;
|
||||
iterations = 0;
|
||||
verifier_base64 = NULL;
|
||||
verifier = NULL;
|
||||
verifier_size = 0;
|
||||
attr_error = NULL;
|
||||
auth_no_proof = NULL;
|
||||
auth_message = NULL;
|
||||
|
||||
if (strcmp (data_base64, "+") == 0)
|
||||
{
|
||||
/* send username and nonce with form: "n,,n=username,r=nonce" */
|
||||
gcry_create_nonce (nonce_client, sizeof (nonce_client));
|
||||
length = weechat_string_base_encode (
|
||||
64,
|
||||
nonce_client, sizeof (nonce_client),
|
||||
nonce_client_base64);
|
||||
if (length != sizeof (nonce_client_base64) - 1)
|
||||
goto base64_encode_error;
|
||||
username = weechat_string_replace (sasl_username, "=", "=3D");
|
||||
if (!username)
|
||||
goto memory_error;
|
||||
username2 = weechat_string_replace (username, ",", "=2C");
|
||||
if (!username2)
|
||||
goto memory_error;
|
||||
length = 5 + strlen (username2) + 3 + sizeof (nonce_client_base64) - 1;
|
||||
string = malloc (length + 1);
|
||||
if (string)
|
||||
{
|
||||
snprintf (string, length + 1, "n,,n=%s,r=%s",
|
||||
username2, nonce_client_base64);
|
||||
if (server->sasl_scram_client_first)
|
||||
free (server->sasl_scram_client_first);
|
||||
server->sasl_scram_client_first = strdup (string + 3);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* decode SCRAM attributes sent by the server */
|
||||
data = malloc (strlen (data_base64) + 1);
|
||||
if (!data)
|
||||
goto memory_error;
|
||||
if (weechat_string_base_decode (64, data_base64, data) <= 0)
|
||||
goto base64_decode_error;
|
||||
|
||||
/* split attributes */
|
||||
attrs = weechat_string_split (data, ",", NULL,
|
||||
WEECHAT_STRING_SPLIT_STRIP_LEFT
|
||||
| WEECHAT_STRING_SPLIT_STRIP_RIGHT
|
||||
| WEECHAT_STRING_SPLIT_COLLAPSE_SEPS,
|
||||
0, &num_attrs);
|
||||
if (!attrs)
|
||||
goto proto_error;
|
||||
for (i = 0; i < num_attrs; i++)
|
||||
{
|
||||
if (strncmp (attrs[i], "r=", 2) == 0)
|
||||
{
|
||||
if (nonce_server)
|
||||
free (nonce_server);
|
||||
nonce_server = strdup (attrs[i] + 2);
|
||||
}
|
||||
else if (strncmp (attrs[i], "s=", 2) == 0)
|
||||
{
|
||||
if (salt_base64)
|
||||
free (salt_base64);
|
||||
salt_base64 = strdup (attrs[i] + 2);
|
||||
}
|
||||
else if (strncmp (attrs[i], "i=", 2) == 0)
|
||||
{
|
||||
error = NULL;
|
||||
number = strtol (attrs[i] + 2, &error, 10);
|
||||
if (error && !error[0])
|
||||
iterations = (int)number;
|
||||
}
|
||||
else if (strncmp (attrs[i], "v=", 2) == 0)
|
||||
{
|
||||
if (verifier_base64)
|
||||
free (verifier_base64);
|
||||
verifier_base64 = strdup (attrs[i] + 2);
|
||||
}
|
||||
else if (strncmp (attrs[i], "e=", 2) == 0)
|
||||
{
|
||||
if (attr_error)
|
||||
free (attr_error);
|
||||
attr_error = strdup (attrs[i] + 2);
|
||||
}
|
||||
}
|
||||
if (attr_error)
|
||||
{
|
||||
if (sasl_error)
|
||||
*sasl_error = strdup (attr_error);
|
||||
goto end;
|
||||
}
|
||||
else if (verifier_base64)
|
||||
{
|
||||
/* last exchange: we verify the server signature */
|
||||
if (!server->sasl_scram_salted_pwd
|
||||
|| (server->sasl_scram_salted_pwd_size <= 0)
|
||||
|| !server->sasl_scram_auth_message)
|
||||
{
|
||||
goto proto_error;
|
||||
}
|
||||
verifier = malloc (strlen (verifier_base64) + 1);
|
||||
if (!verifier)
|
||||
goto memory_error;
|
||||
verifier_size = weechat_string_base_decode (64, verifier_base64,
|
||||
verifier);
|
||||
if (verifier_size <= 0)
|
||||
goto base64_decode_error;
|
||||
/* RFC: ServerKey := HMAC(SaltedPassword, "Server Key") */
|
||||
if (!weechat_crypto_hmac (server->sasl_scram_salted_pwd,
|
||||
server->sasl_scram_salted_pwd_size,
|
||||
IRC_SASL_SCRAM_SERVER_KEY,
|
||||
strlen (IRC_SASL_SCRAM_SERVER_KEY),
|
||||
hash_algo,
|
||||
server_key,
|
||||
&server_key_size))
|
||||
goto crypto_error;
|
||||
/* RFC: ServerSignature := HMAC(ServerKey, AuthMessage) */
|
||||
if (!weechat_crypto_hmac (server_key,
|
||||
server_key_size,
|
||||
server->sasl_scram_auth_message,
|
||||
strlen (server->sasl_scram_auth_message),
|
||||
hash_algo,
|
||||
server_signature,
|
||||
&server_signature_size))
|
||||
goto crypto_error;
|
||||
if (verifier_size != server_signature_size)
|
||||
goto crypto_error;
|
||||
if (memcmp (verifier, server_signature, verifier_size) != 0)
|
||||
{
|
||||
if (sasl_error)
|
||||
{
|
||||
*sasl_error = strdup (
|
||||
_("unable to validate server signature"));
|
||||
}
|
||||
string = strdup ("*");
|
||||
if (!string)
|
||||
goto memory_error;
|
||||
length = strlen (string);
|
||||
goto end;
|
||||
}
|
||||
string = strdup ("+");
|
||||
if (!string)
|
||||
goto memory_error;
|
||||
length = strlen (string);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!server->sasl_scram_client_first || !nonce_server
|
||||
|| !salt_base64 || (iterations <= 0))
|
||||
{
|
||||
goto proto_error;
|
||||
}
|
||||
/* decode salt */
|
||||
salt = malloc (strlen (salt_base64) + 1);
|
||||
if (!salt)
|
||||
goto memory_error;
|
||||
salt_size = weechat_string_base_decode (64, salt_base64, salt);
|
||||
if (salt_size <= 0)
|
||||
goto base64_decode_error;
|
||||
/* RFC: SaltedPassword := Hi(Normalize(password), salt, i) */
|
||||
if (!weechat_crypto_hash_pbkdf2 (sasl_password,
|
||||
strlen (sasl_password),
|
||||
hash_algo,
|
||||
salt, salt_size,
|
||||
iterations,
|
||||
salted_password,
|
||||
&salted_password_size))
|
||||
goto crypto_error;
|
||||
if (server->sasl_scram_salted_pwd)
|
||||
free (server->sasl_scram_salted_pwd);
|
||||
server->sasl_scram_salted_pwd = malloc (salted_password_size);
|
||||
if (!server->sasl_scram_salted_pwd)
|
||||
goto memory_error;
|
||||
memcpy (server->sasl_scram_salted_pwd, salted_password,
|
||||
salted_password_size);
|
||||
server->sasl_scram_salted_pwd_size = salted_password_size;
|
||||
/* RFC: ClientKey := HMAC(SaltedPassword, "Client Key") */
|
||||
if (!weechat_crypto_hmac (salted_password,
|
||||
salted_password_size,
|
||||
IRC_SASL_SCRAM_CLIENT_KEY,
|
||||
strlen (IRC_SASL_SCRAM_CLIENT_KEY),
|
||||
hash_algo,
|
||||
client_key,
|
||||
&client_key_size))
|
||||
goto crypto_error;
|
||||
/* RFC: StoredKey := H(ClientKey) */
|
||||
if (!weechat_crypto_hash (client_key, client_key_size,
|
||||
hash_algo,
|
||||
stored_key,
|
||||
&stored_key_size))
|
||||
goto crypto_error;
|
||||
/*
|
||||
* RFC: AuthMessage := client-first-message-bare + "," +
|
||||
* server-first-message + "," +
|
||||
* client-final-message-without-proof
|
||||
*/
|
||||
length = strlen (nonce_server) + 64 + 1;
|
||||
auth_no_proof = malloc (length);
|
||||
if (!auth_no_proof)
|
||||
goto memory_error;
|
||||
/* "biws" is "n,," encoded to base64 */
|
||||
snprintf (auth_no_proof, length, "c=biws,r=%s",
|
||||
nonce_server);
|
||||
length = strlen (server->sasl_scram_client_first) + 1
|
||||
+ strlen (data) + 1 + strlen (auth_no_proof) + 1;
|
||||
auth_message = malloc (length);
|
||||
if (!auth_message)
|
||||
goto memory_error;
|
||||
snprintf (auth_message, length, "%s,%s,%s",
|
||||
server->sasl_scram_client_first,
|
||||
data,
|
||||
auth_no_proof);
|
||||
if (server->sasl_scram_auth_message)
|
||||
free (server->sasl_scram_auth_message);
|
||||
server->sasl_scram_auth_message = strdup (auth_message);
|
||||
/* RFC: ClientSignature := HMAC(StoredKey, AuthMessage) */
|
||||
if (!weechat_crypto_hmac (stored_key,
|
||||
stored_key_size,
|
||||
auth_message,
|
||||
strlen (auth_message),
|
||||
hash_algo,
|
||||
client_signature,
|
||||
&client_signature_size))
|
||||
goto crypto_error;
|
||||
if (client_key_size != client_signature_size)
|
||||
goto crypto_error;
|
||||
/* RFC: ClientProof := ClientKey XOR ClientSignature */
|
||||
for (i = 0; i < client_key_size; i++)
|
||||
{
|
||||
client_proof[i] = ((unsigned char)client_key[i] ^
|
||||
(unsigned char)client_signature[i]);
|
||||
}
|
||||
if (weechat_string_base_encode (64, client_proof, client_key_size,
|
||||
client_proof_base64) < 0)
|
||||
goto base64_encode_error;
|
||||
/* final message: auth_no_proof + "," + proof */
|
||||
length = strlen (auth_no_proof) + 3 + strlen (client_proof_base64);
|
||||
string = malloc (length + 1);
|
||||
snprintf (string, length + 1, "%s,p=%s",
|
||||
auth_no_proof,
|
||||
client_proof_base64);
|
||||
}
|
||||
}
|
||||
goto end;
|
||||
|
||||
memory_error:
|
||||
if (sasl_error)
|
||||
*sasl_error = strdup (_("memory error"));
|
||||
goto end;
|
||||
|
||||
base64_decode_error:
|
||||
if (sasl_error)
|
||||
*sasl_error = strdup (_("base64 decode error"));
|
||||
goto end;
|
||||
|
||||
base64_encode_error:
|
||||
if (sasl_error)
|
||||
*sasl_error = strdup (_("base64 encode error"));
|
||||
goto end;
|
||||
|
||||
crypto_error:
|
||||
if (sasl_error)
|
||||
*sasl_error = strdup (_("cryptography error"));
|
||||
goto end;
|
||||
|
||||
proto_error:
|
||||
if (sasl_error)
|
||||
*sasl_error = strdup (_("protocol error"));
|
||||
goto end;
|
||||
|
||||
end:
|
||||
if (string && (length > 0))
|
||||
{
|
||||
if ((strcmp (string, "+") == 0) || (strcmp (string, "*") == 0))
|
||||
{
|
||||
answer_base64 = strdup (string);
|
||||
}
|
||||
else
|
||||
{
|
||||
answer_base64 = malloc ((length + 1) * 4);
|
||||
if (answer_base64)
|
||||
{
|
||||
if (weechat_string_base_encode (64, string, length,
|
||||
answer_base64) < 0)
|
||||
{
|
||||
free (answer_base64);
|
||||
answer_base64 = NULL;
|
||||
if (sasl_error)
|
||||
*sasl_error = strdup (_("base64 encode error"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (string)
|
||||
free (string);
|
||||
if (username)
|
||||
free (username);
|
||||
if (username2)
|
||||
free (username2);
|
||||
if (data)
|
||||
free (data);
|
||||
if (attrs)
|
||||
weechat_string_free_split (attrs);
|
||||
if (nonce_server)
|
||||
free (nonce_server);
|
||||
if (salt_base64)
|
||||
free (salt_base64);
|
||||
if (salt)
|
||||
free (salt);
|
||||
if (verifier_base64)
|
||||
free (verifier_base64);
|
||||
if (verifier)
|
||||
free (verifier);
|
||||
if (attr_error)
|
||||
free (attr_error);
|
||||
if (auth_no_proof)
|
||||
free (auth_no_proof);
|
||||
if (auth_message)
|
||||
free (auth_message);
|
||||
|
||||
return answer_base64;
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns the content of file with SASL key.
|
||||
*
|
||||
@ -92,9 +460,9 @@ irc_sasl_mechanism_plain (const char *sasl_username, const char *sasl_password)
|
||||
*/
|
||||
|
||||
char *
|
||||
irc_sasl_get_key_content (struct t_irc_server *server, const char *sasl_key)
|
||||
irc_sasl_get_key_content (const char *sasl_key, char **sasl_error)
|
||||
{
|
||||
char *key_path, *content;
|
||||
char *key_path, *content, str_error[4096];
|
||||
struct t_hashtable *options;
|
||||
|
||||
if (!sasl_key)
|
||||
@ -116,14 +484,12 @@ irc_sasl_get_key_content (struct t_irc_server *server, const char *sasl_key)
|
||||
if (key_path)
|
||||
content = weechat_file_get_content (key_path);
|
||||
|
||||
if (!content)
|
||||
if (!content && sasl_error)
|
||||
{
|
||||
weechat_printf (
|
||||
server->buffer,
|
||||
_("%s%s: unable to read private key in file \"%s\""),
|
||||
weechat_prefix ("error"),
|
||||
IRC_PLUGIN_NAME,
|
||||
key_path);
|
||||
snprintf (str_error, sizeof (str_error),
|
||||
"unable to read private key in file \"%s\"",
|
||||
key_path);
|
||||
*sasl_error = strdup (str_error);
|
||||
}
|
||||
|
||||
if (key_path)
|
||||
@ -143,10 +509,11 @@ char *
|
||||
irc_sasl_mechanism_ecdsa_nist256p_challenge (struct t_irc_server *server,
|
||||
const char *data_base64,
|
||||
const char *sasl_username,
|
||||
const char *sasl_key)
|
||||
const char *sasl_key,
|
||||
char **sasl_error)
|
||||
{
|
||||
#if LIBGNUTLS_VERSION_NUMBER >= 0x030015 /* 3.0.21 */
|
||||
char *data, *string, *answer_base64;
|
||||
char *answer_base64, *string, *data, str_error[4096];
|
||||
int length_data, length_username, length, ret;
|
||||
char *str_privkey;
|
||||
gnutls_x509_privkey_t x509_privkey;
|
||||
@ -160,11 +527,11 @@ irc_sasl_mechanism_ecdsa_nist256p_challenge (struct t_irc_server *server,
|
||||
|
||||
answer_base64 = NULL;
|
||||
string = NULL;
|
||||
length = 0;
|
||||
|
||||
if (strcmp (data_base64, "+") == 0)
|
||||
{
|
||||
/* send "username" + '\0' + "username" */
|
||||
answer_base64 = NULL;
|
||||
length_username = strlen (sasl_username);
|
||||
length = length_username + 1 + length_username;
|
||||
string = malloc (length + 1);
|
||||
@ -185,7 +552,7 @@ irc_sasl_mechanism_ecdsa_nist256p_challenge (struct t_irc_server *server,
|
||||
length_data = weechat_string_base_decode (64, data_base64, data);
|
||||
|
||||
/* read file with private key */
|
||||
str_privkey = irc_sasl_get_key_content (server, sasl_key);
|
||||
str_privkey = irc_sasl_get_key_content (sasl_key, sasl_error);
|
||||
if (!str_privkey)
|
||||
{
|
||||
free (data);
|
||||
@ -202,12 +569,14 @@ irc_sasl_mechanism_ecdsa_nist256p_challenge (struct t_irc_server *server,
|
||||
free (str_privkey);
|
||||
if (ret != GNUTLS_E_SUCCESS)
|
||||
{
|
||||
weechat_printf (
|
||||
server->buffer,
|
||||
_("%sgnutls: invalid private key file: error %d %s"),
|
||||
weechat_prefix ("error"),
|
||||
ret,
|
||||
gnutls_strerror (ret));
|
||||
if (sasl_error)
|
||||
{
|
||||
snprintf (str_error, sizeof (str_error),
|
||||
"invalid private key file: error %d %s",
|
||||
ret,
|
||||
gnutls_strerror (ret));
|
||||
*sasl_error = strdup (str_error);
|
||||
}
|
||||
gnutls_x509_privkey_deinit (x509_privkey);
|
||||
gnutls_privkey_deinit (privkey);
|
||||
free (data);
|
||||
@ -253,12 +622,14 @@ irc_sasl_mechanism_ecdsa_nist256p_challenge (struct t_irc_server *server,
|
||||
ret = gnutls_privkey_import_x509 (privkey, x509_privkey, 0); /* gnutls >= 2.11.0 */
|
||||
if (ret != GNUTLS_E_SUCCESS)
|
||||
{
|
||||
weechat_printf (
|
||||
server->buffer,
|
||||
_("%sgnutls: unable to import the private key: error %d %s"),
|
||||
weechat_prefix ("error"),
|
||||
ret,
|
||||
gnutls_strerror (ret));
|
||||
if (sasl_error)
|
||||
{
|
||||
snprintf (str_error, sizeof (str_error),
|
||||
"unable to import the private key: error %d %s",
|
||||
ret,
|
||||
gnutls_strerror (ret));
|
||||
*sasl_error = strdup (str_error);
|
||||
}
|
||||
gnutls_x509_privkey_deinit (x509_privkey);
|
||||
gnutls_privkey_deinit (privkey);
|
||||
free (data);
|
||||
@ -271,12 +642,14 @@ irc_sasl_mechanism_ecdsa_nist256p_challenge (struct t_irc_server *server,
|
||||
&decoded_data, &signature);
|
||||
if (ret != GNUTLS_E_SUCCESS)
|
||||
{
|
||||
weechat_printf (
|
||||
server->buffer,
|
||||
_("%sgnutls: unable to sign the hashed data: error %d %s"),
|
||||
weechat_prefix ("error"),
|
||||
ret,
|
||||
gnutls_strerror (ret));
|
||||
if (sasl_error)
|
||||
{
|
||||
snprintf (str_error, sizeof (str_error),
|
||||
"unable to sign the hashed data: error %d %s",
|
||||
ret,
|
||||
gnutls_strerror (ret));
|
||||
*sasl_error = strdup (str_error);
|
||||
}
|
||||
gnutls_x509_privkey_deinit (x509_privkey);
|
||||
gnutls_privkey_deinit (privkey);
|
||||
free (data);
|
||||
@ -308,8 +681,6 @@ irc_sasl_mechanism_ecdsa_nist256p_challenge (struct t_irc_server *server,
|
||||
answer_base64 = NULL;
|
||||
}
|
||||
}
|
||||
free (string);
|
||||
string = NULL;
|
||||
}
|
||||
|
||||
if (string)
|
||||
@ -324,10 +695,12 @@ irc_sasl_mechanism_ecdsa_nist256p_challenge (struct t_irc_server *server,
|
||||
(void) sasl_username;
|
||||
(void) sasl_key;
|
||||
|
||||
weechat_printf (server->buffer,
|
||||
_("%sgnutls: version >= 3.0.21 is required for SASL "
|
||||
"\"ecdsa-nist256p-challenge\""),
|
||||
weechat_prefix ("error"));
|
||||
if (sasl_error)
|
||||
{
|
||||
*sasl_error = strdup (
|
||||
_("%sgnutls: version >= 3.0.21 is required for SASL "
|
||||
"\"ecdsa-nist256p-challenge\""));
|
||||
}
|
||||
|
||||
return NULL;
|
||||
#endif /* LIBGNUTLS_VERSION_NUMBER >= 0x030015 */
|
||||
@ -344,7 +717,7 @@ irc_sasl_mechanism_ecdsa_nist256p_challenge (struct t_irc_server *server,
|
||||
int
|
||||
irc_sasl_dh (const char *data_base64,
|
||||
unsigned char **public_bin, unsigned char **secret_bin,
|
||||
int *length_key)
|
||||
int *length_key, char **sasl_error)
|
||||
{
|
||||
char *data;
|
||||
unsigned char *ptr_data;
|
||||
@ -366,7 +739,7 @@ irc_sasl_dh (const char *data_base64,
|
||||
/* decode data */
|
||||
data = malloc (strlen (data_base64) + 1);
|
||||
if (!data)
|
||||
goto dhend;
|
||||
goto memory_error;
|
||||
length_data = weechat_string_base_decode (64, data_base64, data);
|
||||
ptr_data = (unsigned char *)data;
|
||||
|
||||
@ -375,12 +748,12 @@ irc_sasl_dh (const char *data_base64,
|
||||
ptr_data += 2;
|
||||
length_data -= 2;
|
||||
if (size > length_data)
|
||||
goto dhend;
|
||||
goto crypto_error;
|
||||
data_prime_number = gcry_mpi_new (size * 8);
|
||||
gcry_mpi_scan (&data_prime_number, GCRYMPI_FMT_USG, ptr_data, size, NULL);
|
||||
num_bits_prime_number = gcry_mpi_get_nbits (data_prime_number);
|
||||
if (num_bits_prime_number == 0 || INT_MAX - 7 < num_bits_prime_number)
|
||||
goto dhend;
|
||||
goto crypto_error;
|
||||
ptr_data += size;
|
||||
length_data -= size;
|
||||
|
||||
@ -389,7 +762,7 @@ irc_sasl_dh (const char *data_base64,
|
||||
ptr_data += 2;
|
||||
length_data -= 2;
|
||||
if (size > length_data)
|
||||
goto dhend;
|
||||
goto crypto_error;
|
||||
data_generator_number = gcry_mpi_new (size * 8);
|
||||
gcry_mpi_scan (&data_generator_number, GCRYMPI_FMT_USG, ptr_data, size, NULL);
|
||||
ptr_data += size;
|
||||
@ -400,7 +773,7 @@ irc_sasl_dh (const char *data_base64,
|
||||
ptr_data += 2;
|
||||
length_data -= 2;
|
||||
if (size > length_data)
|
||||
goto dhend;
|
||||
goto crypto_error;
|
||||
data_server_pub_key = gcry_mpi_new (size * 8);
|
||||
gcry_mpi_scan (&data_server_pub_key, GCRYMPI_FMT_USG, ptr_data, size, NULL);
|
||||
|
||||
@ -426,7 +799,19 @@ irc_sasl_dh (const char *data_base64,
|
||||
&num_written, pub_key);
|
||||
rc = 1;
|
||||
|
||||
dhend:
|
||||
goto end;
|
||||
|
||||
memory_error:
|
||||
if (sasl_error)
|
||||
*sasl_error = strdup (_("memory error"));
|
||||
goto end;
|
||||
|
||||
crypto_error:
|
||||
if (sasl_error)
|
||||
*sasl_error = strdup (_("cryptography error"));
|
||||
goto end;
|
||||
|
||||
end:
|
||||
if (data)
|
||||
free (data);
|
||||
if (data_prime_number)
|
||||
@ -460,7 +845,8 @@ dhend:
|
||||
char *
|
||||
irc_sasl_mechanism_dh_blowfish (const char *data_base64,
|
||||
const char *sasl_username,
|
||||
const char *sasl_password)
|
||||
const char *sasl_password,
|
||||
char **sasl_error)
|
||||
{
|
||||
char *answer, *ptr_answer, *answer_base64;
|
||||
unsigned char *password_clear, *password_crypted;
|
||||
@ -475,8 +861,11 @@ irc_sasl_mechanism_dh_blowfish (const char *data_base64,
|
||||
secret_bin = NULL;
|
||||
public_bin = NULL;
|
||||
|
||||
if (!irc_sasl_dh (data_base64, &public_bin, &secret_bin, &length_key))
|
||||
goto bfend;
|
||||
if (!irc_sasl_dh (data_base64, &public_bin, &secret_bin, &length_key,
|
||||
sasl_error))
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
|
||||
/* create password buffers (clear and crypted) */
|
||||
length_password = strlen (sasl_password) +
|
||||
@ -488,13 +877,13 @@ irc_sasl_mechanism_dh_blowfish (const char *data_base64,
|
||||
/* crypt password using blowfish */
|
||||
if (gcry_cipher_open (&gcrypt_handle, GCRY_CIPHER_BLOWFISH,
|
||||
GCRY_CIPHER_MODE_ECB, 0) != 0)
|
||||
goto bfend;
|
||||
goto crypto_error;
|
||||
if (gcry_cipher_setkey (gcrypt_handle, secret_bin, length_key) != 0)
|
||||
goto bfend;
|
||||
goto crypto_error;
|
||||
if (gcry_cipher_encrypt (gcrypt_handle,
|
||||
password_crypted, length_password,
|
||||
password_clear, length_password) != 0)
|
||||
goto bfend;
|
||||
goto crypto_error;
|
||||
|
||||
gcry_cipher_close (gcrypt_handle);
|
||||
|
||||
@ -529,7 +918,14 @@ irc_sasl_mechanism_dh_blowfish (const char *data_base64,
|
||||
}
|
||||
}
|
||||
|
||||
bfend:
|
||||
goto end;
|
||||
|
||||
crypto_error:
|
||||
if (sasl_error)
|
||||
*sasl_error = strdup (_("cryptography error"));
|
||||
goto end;
|
||||
|
||||
end:
|
||||
if (secret_bin)
|
||||
free (secret_bin);
|
||||
if (public_bin)
|
||||
@ -559,7 +955,8 @@ bfend:
|
||||
char *
|
||||
irc_sasl_mechanism_dh_aes (const char *data_base64,
|
||||
const char *sasl_username,
|
||||
const char *sasl_password)
|
||||
const char *sasl_password,
|
||||
char **sasl_error)
|
||||
{
|
||||
char *answer, *ptr_answer, *answer_base64;
|
||||
unsigned char *ptr_userpass, *userpass_clear, *userpass_crypted;
|
||||
@ -577,8 +974,11 @@ irc_sasl_mechanism_dh_aes (const char *data_base64,
|
||||
secret_bin = NULL;
|
||||
public_bin = NULL;
|
||||
|
||||
if (irc_sasl_dh (data_base64, &public_bin, &secret_bin, &length_key) == 0)
|
||||
goto aesend;
|
||||
if (!irc_sasl_dh (data_base64, &public_bin, &secret_bin, &length_key,
|
||||
sasl_error))
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
|
||||
/* Select cipher algorithm: key length * 8 = cipher bit size */
|
||||
switch (length_key)
|
||||
@ -594,7 +994,7 @@ irc_sasl_mechanism_dh_aes (const char *data_base64,
|
||||
break;
|
||||
default:
|
||||
/* Invalid bit length */
|
||||
goto aesend;
|
||||
goto end;
|
||||
}
|
||||
|
||||
/* Generate the IV */
|
||||
@ -615,15 +1015,15 @@ irc_sasl_mechanism_dh_aes (const char *data_base64,
|
||||
/* crypt password using AES in CBC mode */
|
||||
if (gcry_cipher_open (&gcrypt_handle, cipher_algo,
|
||||
GCRY_CIPHER_MODE_CBC, 0) != 0)
|
||||
goto aesend;
|
||||
goto crypto_error;
|
||||
if (gcry_cipher_setkey (gcrypt_handle, secret_bin, length_key) != 0)
|
||||
goto aesend;
|
||||
goto crypto_error;
|
||||
if (gcry_cipher_setiv (gcrypt_handle, iv, sizeof (iv)) != 0)
|
||||
goto aesend;
|
||||
goto crypto_error;
|
||||
if (gcry_cipher_encrypt (gcrypt_handle,
|
||||
userpass_crypted, length_userpass,
|
||||
userpass_clear, length_userpass) != 0)
|
||||
goto aesend;
|
||||
goto crypto_error;
|
||||
|
||||
gcry_cipher_close (gcrypt_handle);
|
||||
|
||||
@ -657,7 +1057,14 @@ irc_sasl_mechanism_dh_aes (const char *data_base64,
|
||||
}
|
||||
}
|
||||
|
||||
aesend:
|
||||
goto end;
|
||||
|
||||
crypto_error:
|
||||
if (sasl_error)
|
||||
*sasl_error = strdup (_("cryptography error"));
|
||||
goto end;
|
||||
|
||||
end:
|
||||
if (secret_bin)
|
||||
free (secret_bin);
|
||||
if (public_bin)
|
||||
|
@ -20,6 +20,9 @@
|
||||
#ifndef WEECHAT_PLUGIN_IRC_SASL_H
|
||||
#define WEECHAT_PLUGIN_IRC_SASL_H
|
||||
|
||||
#define IRC_SASL_SCRAM_CLIENT_KEY "Client Key"
|
||||
#define IRC_SASL_SCRAM_SERVER_KEY "Server Key"
|
||||
|
||||
struct t_irc_server;
|
||||
|
||||
/* SASL authentication mechanisms */
|
||||
@ -27,6 +30,9 @@ struct t_irc_server;
|
||||
enum t_irc_sasl_mechanism
|
||||
{
|
||||
IRC_SASL_MECHANISM_PLAIN = 0,
|
||||
IRC_SASL_MECHANISM_SCRAM_SHA_1,
|
||||
IRC_SASL_MECHANISM_SCRAM_SHA_256,
|
||||
IRC_SASL_MECHANISM_SCRAM_SHA_512,
|
||||
IRC_SASL_MECHANISM_ECDSA_NIST256P_CHALLENGE,
|
||||
IRC_SASL_MECHANISM_EXTERNAL,
|
||||
IRC_SASL_MECHANISM_DH_BLOWFISH,
|
||||
@ -39,15 +45,24 @@ extern char *irc_sasl_mechanism_string[];
|
||||
|
||||
extern char *irc_sasl_mechanism_plain (const char *sasl_username,
|
||||
const char *sasl_password);
|
||||
extern char *irc_sasl_mechanism_scram (struct t_irc_server *server,
|
||||
const char *hash_algo,
|
||||
const char *data_base64,
|
||||
const char *sasl_username,
|
||||
const char *sasl_password,
|
||||
char **sasl_error);
|
||||
extern char *irc_sasl_mechanism_ecdsa_nist256p_challenge (struct t_irc_server *server,
|
||||
const char *data_base64,
|
||||
const char *sasl_username,
|
||||
const char *sasl_key);
|
||||
const char *sasl_key,
|
||||
char **sasl_error);
|
||||
extern char *irc_sasl_mechanism_dh_blowfish (const char *data_base64,
|
||||
const char *sasl_username,
|
||||
const char *sasl_password);
|
||||
const char *sasl_password,
|
||||
char **sasl_error);
|
||||
extern char *irc_sasl_mechanism_dh_aes (const char *data_base64,
|
||||
const char *sasl_username,
|
||||
const char *sasl_password);
|
||||
const char *sasl_password,
|
||||
char **sasl_error);
|
||||
|
||||
#endif /* WEECHAT_PLUGIN_IRC_SASL_H */
|
||||
|
@ -1464,6 +1464,10 @@ irc_server_alloc (const char *name)
|
||||
new_server->hook_fd = NULL;
|
||||
new_server->hook_timer_connection = NULL;
|
||||
new_server->hook_timer_sasl = NULL;
|
||||
new_server->sasl_scram_client_first = NULL;
|
||||
new_server->sasl_scram_salted_pwd = NULL;
|
||||
new_server->sasl_scram_salted_pwd_size = 0;
|
||||
new_server->sasl_scram_auth_message = NULL;
|
||||
new_server->is_connected = 0;
|
||||
new_server->ssl_connected = 0;
|
||||
new_server->disconnected = 0;
|
||||
@ -1943,6 +1947,31 @@ irc_server_outqueue_free_all (struct t_irc_server *server, int priority)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Frees SASL data in server.
|
||||
*/
|
||||
|
||||
void
|
||||
irc_server_free_sasl_data (struct t_irc_server *server)
|
||||
{
|
||||
if (server->sasl_scram_client_first)
|
||||
{
|
||||
free (server->sasl_scram_client_first);
|
||||
server->sasl_scram_client_first = NULL;
|
||||
}
|
||||
if (server->sasl_scram_salted_pwd)
|
||||
{
|
||||
free (server->sasl_scram_salted_pwd);
|
||||
server->sasl_scram_salted_pwd = NULL;
|
||||
}
|
||||
server->sasl_scram_salted_pwd_size = 0;
|
||||
if (server->sasl_scram_auth_message)
|
||||
{
|
||||
free (server->sasl_scram_auth_message);
|
||||
server->sasl_scram_auth_message = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Frees server data.
|
||||
*/
|
||||
@ -1997,6 +2026,7 @@ irc_server_free_data (struct t_irc_server *server)
|
||||
weechat_unhook (server->hook_timer_connection);
|
||||
if (server->hook_timer_sasl)
|
||||
weechat_unhook (server->hook_timer_sasl);
|
||||
irc_server_free_sasl_data (server);
|
||||
if (server->unterminated_message)
|
||||
free (server->unterminated_message);
|
||||
if (server->nicks_array)
|
||||
@ -3708,6 +3738,7 @@ irc_server_close_connection (struct t_irc_server *server)
|
||||
weechat_unhook (server->hook_timer_sasl);
|
||||
server->hook_timer_sasl = NULL;
|
||||
}
|
||||
irc_server_free_sasl_data (server);
|
||||
|
||||
if (server->hook_fd)
|
||||
{
|
||||
@ -5879,6 +5910,10 @@ irc_server_hdata_server_cb (const void *pointer, void *data,
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, hook_fd, POINTER, 0, NULL, "hook");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, hook_timer_connection, POINTER, 0, NULL, "hook");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, hook_timer_sasl, POINTER, 0, NULL, "hook");
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, sasl_scram_client_first, STRING, 0, NULL, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, sasl_scram_salted_pwd, OTHER, 0, NULL, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, sasl_scram_salted_pwd_size, INTEGER, 0, NULL, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, sasl_scram_auth_message, STRING, 0, NULL, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, is_connected, INTEGER, 0, NULL, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, ssl_connected, INTEGER, 0, NULL, NULL);
|
||||
WEECHAT_HDATA_VAR(struct t_irc_server, disconnected, INTEGER, 0, NULL, NULL);
|
||||
@ -6218,383 +6253,387 @@ irc_server_print_log ()
|
||||
weechat_log_printf ("[server %s (addr:0x%lx)]", ptr_server->name, ptr_server);
|
||||
/* addresses */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_ADDRESSES]))
|
||||
weechat_log_printf (" addresses. . . . . . : null ('%s')",
|
||||
weechat_log_printf (" addresses . . . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_ADDRESSES));
|
||||
else
|
||||
weechat_log_printf (" addresses. . . . . . : '%s'",
|
||||
weechat_log_printf (" addresses . . . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_ADDRESSES]));
|
||||
/* proxy */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_PROXY]))
|
||||
weechat_log_printf (" proxy. . . . . . . . : null ('%s')",
|
||||
weechat_log_printf (" proxy . . . . . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_PROXY));
|
||||
else
|
||||
weechat_log_printf (" proxy. . . . . . . . : '%s'",
|
||||
weechat_log_printf (" proxy . . . . . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_PROXY]));
|
||||
/* ipv6 */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_IPV6]))
|
||||
weechat_log_printf (" ipv6 . . . . . . . . : null (%s)",
|
||||
weechat_log_printf (" ipv6. . . . . . . . . . . : null (%s)",
|
||||
(IRC_SERVER_OPTION_BOOLEAN(ptr_server, IRC_SERVER_OPTION_IPV6)) ?
|
||||
"on" : "off");
|
||||
else
|
||||
weechat_log_printf (" ipv6 . . . . . . . . : %s",
|
||||
weechat_log_printf (" ipv6. . . . . . . . . . . : %s",
|
||||
(weechat_config_boolean (ptr_server->options[IRC_SERVER_OPTION_IPV6])) ?
|
||||
"on" : "off");
|
||||
/* ssl */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_SSL]))
|
||||
weechat_log_printf (" ssl. . . . . . . . . : null (%s)",
|
||||
weechat_log_printf (" ssl . . . . . . . . . . . : null (%s)",
|
||||
(IRC_SERVER_OPTION_BOOLEAN(ptr_server, IRC_SERVER_OPTION_SSL)) ?
|
||||
"on" : "off");
|
||||
else
|
||||
weechat_log_printf (" ssl. . . . . . . . . : %s",
|
||||
weechat_log_printf (" ssl . . . . . . . . . . . : %s",
|
||||
(weechat_config_boolean (ptr_server->options[IRC_SERVER_OPTION_SSL])) ?
|
||||
"on" : "off");
|
||||
/* ssl_cert */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_SSL_CERT]))
|
||||
weechat_log_printf (" ssl_cert . . . . . . : null ('%s')",
|
||||
weechat_log_printf (" ssl_cert. . . . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_SSL_CERT));
|
||||
else
|
||||
weechat_log_printf (" ssl_cert . . . . . . : '%s'",
|
||||
weechat_log_printf (" ssl_cert. . . . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_SSL_CERT]));
|
||||
/* ssl_password */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_SSL_PASSWORD]))
|
||||
weechat_log_printf (" ssl_password . . . . : null");
|
||||
weechat_log_printf (" ssl_password. . . . . . . : null");
|
||||
else
|
||||
weechat_log_printf (" ssl_password . . . . : (hidden)");
|
||||
weechat_log_printf (" ssl_password. . . . . . . : (hidden)");
|
||||
/* ssl_priorities */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_SSL_PRIORITIES]))
|
||||
weechat_log_printf (" ssl_priorities . . . : null ('%s')",
|
||||
weechat_log_printf (" ssl_priorities. . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_SSL_PRIORITIES));
|
||||
else
|
||||
weechat_log_printf (" ssl_priorities . . . : '%s'",
|
||||
weechat_log_printf (" ssl_priorities. . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_SSL_PRIORITIES]));
|
||||
/* ssl_dhkey_size */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_SSL_DHKEY_SIZE]))
|
||||
weechat_log_printf (" ssl_dhkey_size . . . : null ('%d')",
|
||||
weechat_log_printf (" ssl_dhkey_size. . . . . . : null ('%d')",
|
||||
IRC_SERVER_OPTION_INTEGER(ptr_server, IRC_SERVER_OPTION_SSL_DHKEY_SIZE));
|
||||
else
|
||||
weechat_log_printf (" ssl_dhkey_size . . . : '%d'",
|
||||
weechat_log_printf (" ssl_dhkey_size. . . . . . : '%d'",
|
||||
weechat_config_integer (ptr_server->options[IRC_SERVER_OPTION_SSL_DHKEY_SIZE]));
|
||||
/* ssl_fingerprint */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_SSL_FINGERPRINT]))
|
||||
weechat_log_printf (" ssl_fingerprint. . . : null ('%s')",
|
||||
weechat_log_printf (" ssl_fingerprint . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_SSL_FINGERPRINT));
|
||||
else
|
||||
weechat_log_printf (" ssl_fingerprint. . . : '%s'",
|
||||
weechat_log_printf (" ssl_fingerprint . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_SSL_FINGERPRINT]));
|
||||
/* ssl_verify */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_SSL_VERIFY]))
|
||||
weechat_log_printf (" ssl_verify . . . . . : null (%s)",
|
||||
weechat_log_printf (" ssl_verify. . . . . . . . : null (%s)",
|
||||
(IRC_SERVER_OPTION_BOOLEAN(ptr_server, IRC_SERVER_OPTION_SSL_VERIFY)) ?
|
||||
"on" : "off");
|
||||
else
|
||||
weechat_log_printf (" ssl_verify . . . . . : %s",
|
||||
weechat_log_printf (" ssl_verify. . . . . . . . : %s",
|
||||
(weechat_config_boolean (ptr_server->options[IRC_SERVER_OPTION_SSL_VERIFY])) ?
|
||||
"on" : "off");
|
||||
/* password */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_PASSWORD]))
|
||||
weechat_log_printf (" password . . . . . . : null");
|
||||
weechat_log_printf (" password. . . . . . . . . : null");
|
||||
else
|
||||
weechat_log_printf (" password . . . . . . : (hidden)");
|
||||
weechat_log_printf (" password. . . . . . . . . : (hidden)");
|
||||
/* client capabilities */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_CAPABILITIES]))
|
||||
weechat_log_printf (" capabilities . . . . : null ('%s')",
|
||||
weechat_log_printf (" capabilities. . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_CAPABILITIES));
|
||||
else
|
||||
weechat_log_printf (" capabilities . . . . : '%s'",
|
||||
weechat_log_printf (" capabilities. . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_CAPABILITIES]));
|
||||
/* sasl_mechanism */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_SASL_MECHANISM]))
|
||||
weechat_log_printf (" sasl_mechanism . . . : null ('%s')",
|
||||
weechat_log_printf (" sasl_mechanism. . . . . . : null ('%s')",
|
||||
irc_sasl_mechanism_string[IRC_SERVER_OPTION_INTEGER(ptr_server, IRC_SERVER_OPTION_SASL_MECHANISM)]);
|
||||
else
|
||||
weechat_log_printf (" sasl_mechanism . . . : '%s'",
|
||||
weechat_log_printf (" sasl_mechanism. . . . . . : '%s'",
|
||||
irc_sasl_mechanism_string[weechat_config_integer (ptr_server->options[IRC_SERVER_OPTION_SASL_MECHANISM])]);
|
||||
/* sasl_username */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_SASL_USERNAME]))
|
||||
weechat_log_printf (" sasl_username. . . . : null ('%s')",
|
||||
weechat_log_printf (" sasl_username . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_SASL_USERNAME));
|
||||
else
|
||||
weechat_log_printf (" sasl_username. . . . : '%s'",
|
||||
weechat_log_printf (" sasl_username . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_SASL_USERNAME]));
|
||||
/* sasl_password */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_SASL_PASSWORD]))
|
||||
weechat_log_printf (" sasl_password. . . . : null");
|
||||
weechat_log_printf (" sasl_password . . . . . . : null");
|
||||
else
|
||||
weechat_log_printf (" sasl_password. . . . : (hidden)");
|
||||
weechat_log_printf (" sasl_password . . . . . . : (hidden)");
|
||||
/* sasl_key */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_SASL_KEY]))
|
||||
weechat_log_printf (" sasl_key. . . . . . : null ('%s')",
|
||||
weechat_log_printf (" sasl_key. . . . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_SASL_KEY));
|
||||
else
|
||||
weechat_log_printf (" sasl_key. . . . . . : '%s'",
|
||||
weechat_log_printf (" sasl_key. . . . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_SASL_KEY]));
|
||||
/* sasl_fail */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_SASL_FAIL]))
|
||||
weechat_log_printf (" sasl_fail. . . . . . : null ('%s')",
|
||||
weechat_log_printf (" sasl_fail . . . . . . . . : null ('%s')",
|
||||
irc_server_sasl_fail_string[IRC_SERVER_OPTION_INTEGER(ptr_server, IRC_SERVER_OPTION_SASL_FAIL)]);
|
||||
else
|
||||
weechat_log_printf (" sasl_fail. . . . . . : '%s'",
|
||||
weechat_log_printf (" sasl_fail . . . . . . . . : '%s'",
|
||||
irc_server_sasl_fail_string[weechat_config_integer (ptr_server->options[IRC_SERVER_OPTION_SASL_FAIL])]);
|
||||
/* autoconnect */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_AUTOCONNECT]))
|
||||
weechat_log_printf (" autoconnect. . . . . : null (%s)",
|
||||
weechat_log_printf (" autoconnect . . . . . . . : null (%s)",
|
||||
(IRC_SERVER_OPTION_BOOLEAN(ptr_server, IRC_SERVER_OPTION_AUTOCONNECT)) ?
|
||||
"on" : "off");
|
||||
else
|
||||
weechat_log_printf (" autoconnect. . . . . : %s",
|
||||
weechat_log_printf (" autoconnect . . . . . . . : %s",
|
||||
(weechat_config_boolean (ptr_server->options[IRC_SERVER_OPTION_AUTOCONNECT])) ?
|
||||
"on" : "off");
|
||||
/* autoreconnect */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_AUTORECONNECT]))
|
||||
weechat_log_printf (" autoreconnect. . . . : null (%s)",
|
||||
weechat_log_printf (" autoreconnect . . . . . . : null (%s)",
|
||||
(IRC_SERVER_OPTION_BOOLEAN(ptr_server, IRC_SERVER_OPTION_AUTORECONNECT)) ?
|
||||
"on" : "off");
|
||||
else
|
||||
weechat_log_printf (" autoreconnect. . . . : %s",
|
||||
weechat_log_printf (" autoreconnect . . . . . . : %s",
|
||||
(weechat_config_boolean (ptr_server->options[IRC_SERVER_OPTION_AUTORECONNECT])) ?
|
||||
"on" : "off");
|
||||
/* autoreconnect_delay */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_AUTORECONNECT_DELAY]))
|
||||
weechat_log_printf (" autoreconnect_delay. : null (%d)",
|
||||
weechat_log_printf (" autoreconnect_delay . . . : null (%d)",
|
||||
IRC_SERVER_OPTION_INTEGER(ptr_server, IRC_SERVER_OPTION_AUTORECONNECT_DELAY));
|
||||
else
|
||||
weechat_log_printf (" autoreconnect_delay. : %d",
|
||||
weechat_log_printf (" autoreconnect_delay . . . : %d",
|
||||
weechat_config_integer (ptr_server->options[IRC_SERVER_OPTION_AUTORECONNECT_DELAY]));
|
||||
/* nicks */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_NICKS]))
|
||||
weechat_log_printf (" nicks. . . . . . . . : null ('%s')",
|
||||
weechat_log_printf (" nicks . . . . . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_NICKS));
|
||||
else
|
||||
weechat_log_printf (" nicks. . . . . . . . : '%s'",
|
||||
weechat_log_printf (" nicks . . . . . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_NICKS]));
|
||||
/* nicks_alternate */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_NICKS_ALTERNATE]))
|
||||
weechat_log_printf (" nicks_alternate. . . : null (%s)",
|
||||
weechat_log_printf (" nicks_alternate . . . . . : null (%s)",
|
||||
(IRC_SERVER_OPTION_BOOLEAN(ptr_server, IRC_SERVER_OPTION_NICKS_ALTERNATE)) ?
|
||||
"on" : "off");
|
||||
else
|
||||
weechat_log_printf (" nicks_alternate. . . : %s",
|
||||
weechat_log_printf (" nicks_alternate . . . . . : %s",
|
||||
(weechat_config_boolean (ptr_server->options[IRC_SERVER_OPTION_NICKS_ALTERNATE])) ?
|
||||
"on" : "off");
|
||||
/* username */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_USERNAME]))
|
||||
weechat_log_printf (" username . . . . . . : null ('%s')",
|
||||
weechat_log_printf (" username. . . . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_USERNAME));
|
||||
else
|
||||
weechat_log_printf (" username . . . . . . : '%s'",
|
||||
weechat_log_printf (" username. . . . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_USERNAME]));
|
||||
/* realname */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_REALNAME]))
|
||||
weechat_log_printf (" realname . . . . . . : null ('%s')",
|
||||
weechat_log_printf (" realname. . . . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_REALNAME));
|
||||
else
|
||||
weechat_log_printf (" realname . . . . . . : '%s'",
|
||||
weechat_log_printf (" realname. . . . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_REALNAME]));
|
||||
/* local_hostname */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_LOCAL_HOSTNAME]))
|
||||
weechat_log_printf (" local_hostname . . . : null ('%s')",
|
||||
weechat_log_printf (" local_hostname. . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_LOCAL_HOSTNAME));
|
||||
else
|
||||
weechat_log_printf (" local_hostname . . . : '%s'",
|
||||
weechat_log_printf (" local_hostname. . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_LOCAL_HOSTNAME]));
|
||||
/* usermode */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_USERMODE]))
|
||||
weechat_log_printf (" usermode . . . . . . : null ('%s')",
|
||||
weechat_log_printf (" usermode. . . . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_USERMODE));
|
||||
else
|
||||
weechat_log_printf (" usermode . . . . . . : '%s'",
|
||||
weechat_log_printf (" usermode. . . . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_USERMODE]));
|
||||
/* command */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_COMMAND]))
|
||||
weechat_log_printf (" command. . . . . . . : null");
|
||||
weechat_log_printf (" command . . . . . . . . . : null");
|
||||
else
|
||||
weechat_log_printf (" command. . . . . . . : (hidden)");
|
||||
weechat_log_printf (" command . . . . . . . . . : (hidden)");
|
||||
/* command_delay */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_COMMAND_DELAY]))
|
||||
weechat_log_printf (" command_delay. . . . : null (%d)",
|
||||
weechat_log_printf (" command_delay . . . . . . : null (%d)",
|
||||
IRC_SERVER_OPTION_INTEGER(ptr_server, IRC_SERVER_OPTION_COMMAND_DELAY));
|
||||
else
|
||||
weechat_log_printf (" command_delay. . . . : %d",
|
||||
weechat_log_printf (" command_delay . . . . . . : %d",
|
||||
weechat_config_integer (ptr_server->options[IRC_SERVER_OPTION_COMMAND_DELAY]));
|
||||
/* autojoin */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_AUTOJOIN]))
|
||||
weechat_log_printf (" autojoin . . . . . . : null ('%s')",
|
||||
weechat_log_printf (" autojoin. . . . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_AUTOJOIN));
|
||||
else
|
||||
weechat_log_printf (" autojoin . . . . . . : '%s'",
|
||||
weechat_log_printf (" autojoin. . . . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_AUTOJOIN]));
|
||||
/* autorejoin */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_AUTOREJOIN]))
|
||||
weechat_log_printf (" autorejoin . . . . . : null (%s)",
|
||||
weechat_log_printf (" autorejoin. . . . . . . . : null (%s)",
|
||||
(IRC_SERVER_OPTION_BOOLEAN(ptr_server, IRC_SERVER_OPTION_AUTOREJOIN)) ?
|
||||
"on" : "off");
|
||||
else
|
||||
weechat_log_printf (" autorejoin . . . . . : %s",
|
||||
weechat_log_printf (" autorejoin. . . . . . . . : %s",
|
||||
(weechat_config_boolean (ptr_server->options[IRC_SERVER_OPTION_AUTOREJOIN])) ?
|
||||
"on" : "off");
|
||||
/* autorejoin_delay */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_AUTOREJOIN_DELAY]))
|
||||
weechat_log_printf (" autorejoin_delay . . : null (%d)",
|
||||
weechat_log_printf (" autorejoin_delay. . . . . : null (%d)",
|
||||
IRC_SERVER_OPTION_INTEGER(ptr_server, IRC_SERVER_OPTION_AUTOREJOIN_DELAY));
|
||||
else
|
||||
weechat_log_printf (" autorejoin_delay . . : %d",
|
||||
weechat_log_printf (" autorejoin_delay. . . . . : %d",
|
||||
weechat_config_integer (ptr_server->options[IRC_SERVER_OPTION_AUTOREJOIN_DELAY]));
|
||||
/* connection_timeout */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_CONNECTION_TIMEOUT]))
|
||||
weechat_log_printf (" connection_timeout . : null (%d)",
|
||||
weechat_log_printf (" connection_timeout. . . . : null (%d)",
|
||||
IRC_SERVER_OPTION_INTEGER(ptr_server, IRC_SERVER_OPTION_CONNECTION_TIMEOUT));
|
||||
else
|
||||
weechat_log_printf (" connection_timeout . : %d",
|
||||
weechat_log_printf (" connection_timeout. . . . : %d",
|
||||
weechat_config_integer (ptr_server->options[IRC_SERVER_OPTION_CONNECTION_TIMEOUT]));
|
||||
/* anti_flood_prio_high */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_ANTI_FLOOD_PRIO_HIGH]))
|
||||
weechat_log_printf (" anti_flood_prio_high : null (%d)",
|
||||
weechat_log_printf (" anti_flood_prio_high. . . : null (%d)",
|
||||
IRC_SERVER_OPTION_INTEGER(ptr_server, IRC_SERVER_OPTION_ANTI_FLOOD_PRIO_HIGH));
|
||||
else
|
||||
weechat_log_printf (" anti_flood_prio_high : %d",
|
||||
weechat_log_printf (" anti_flood_prio_high. . . : %d",
|
||||
weechat_config_integer (ptr_server->options[IRC_SERVER_OPTION_ANTI_FLOOD_PRIO_HIGH]));
|
||||
/* anti_flood_prio_low */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_ANTI_FLOOD_PRIO_LOW]))
|
||||
weechat_log_printf (" anti_flood_prio_low. : null (%d)",
|
||||
weechat_log_printf (" anti_flood_prio_low . . . : null (%d)",
|
||||
IRC_SERVER_OPTION_INTEGER(ptr_server, IRC_SERVER_OPTION_ANTI_FLOOD_PRIO_LOW));
|
||||
else
|
||||
weechat_log_printf (" anti_flood_prio_low. : %d",
|
||||
weechat_log_printf (" anti_flood_prio_low . . . : %d",
|
||||
weechat_config_integer (ptr_server->options[IRC_SERVER_OPTION_ANTI_FLOOD_PRIO_LOW]));
|
||||
/* away_check */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_AWAY_CHECK]))
|
||||
weechat_log_printf (" away_check . . . . . : null (%d)",
|
||||
weechat_log_printf (" away_check. . . . . . . . : null (%d)",
|
||||
IRC_SERVER_OPTION_INTEGER(ptr_server, IRC_SERVER_OPTION_AWAY_CHECK));
|
||||
else
|
||||
weechat_log_printf (" away_check . . . . . : %d",
|
||||
weechat_log_printf (" away_check. . . . . . . . : %d",
|
||||
weechat_config_integer (ptr_server->options[IRC_SERVER_OPTION_AWAY_CHECK]));
|
||||
/* away_check_max_nicks */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_AWAY_CHECK_MAX_NICKS]))
|
||||
weechat_log_printf (" away_check_max_nicks : null (%d)",
|
||||
weechat_log_printf (" away_check_max_nicks. . . : null (%d)",
|
||||
IRC_SERVER_OPTION_INTEGER(ptr_server, IRC_SERVER_OPTION_AWAY_CHECK_MAX_NICKS));
|
||||
else
|
||||
weechat_log_printf (" away_check_max_nicks : %d",
|
||||
weechat_log_printf (" away_check_max_nicks. . . : %d",
|
||||
weechat_config_integer (ptr_server->options[IRC_SERVER_OPTION_AWAY_CHECK_MAX_NICKS]));
|
||||
/* msg_kick */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_MSG_KICK]))
|
||||
weechat_log_printf (" msg_kick . . . . . . : null ('%s')",
|
||||
weechat_log_printf (" msg_kick. . . . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_MSG_KICK));
|
||||
else
|
||||
weechat_log_printf (" msg_kick . . . . . . : '%s'",
|
||||
weechat_log_printf (" msg_kick. . . . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_MSG_KICK]));
|
||||
/* msg_part */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_MSG_PART]))
|
||||
weechat_log_printf (" msg_part . . . . . . : null ('%s')",
|
||||
weechat_log_printf (" msg_part. . . . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_MSG_PART));
|
||||
else
|
||||
weechat_log_printf (" msg_part . . . . . . : '%s'",
|
||||
weechat_log_printf (" msg_part. . . . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_MSG_PART]));
|
||||
/* msg_quit */
|
||||
if (weechat_config_option_is_null (ptr_server->options[IRC_SERVER_OPTION_MSG_QUIT]))
|
||||
weechat_log_printf (" msg_quit . . . . . . : null ('%s')",
|
||||
weechat_log_printf (" msg_quit. . . . . . . . . : null ('%s')",
|
||||
IRC_SERVER_OPTION_STRING(ptr_server, IRC_SERVER_OPTION_MSG_QUIT));
|
||||
else
|
||||
weechat_log_printf (" msg_quit . . . . . . : '%s'",
|
||||
weechat_log_printf (" msg_quit. . . . . . . . . : '%s'",
|
||||
weechat_config_string (ptr_server->options[IRC_SERVER_OPTION_MSG_QUIT]));
|
||||
/* other server variables */
|
||||
weechat_log_printf (" temp_server. . . . . : %d", ptr_server->temp_server);
|
||||
weechat_log_printf (" fake_server. . . . . : %d", ptr_server->fake_server);
|
||||
weechat_log_printf (" reloading_from_config: %d", ptr_server->reloaded_from_config);
|
||||
weechat_log_printf (" reloaded_from_config : %d", ptr_server->reloaded_from_config);
|
||||
weechat_log_printf (" addresses_eval . . . : '%s'", ptr_server->addresses_eval);
|
||||
weechat_log_printf (" addresses_count. . . : %d", ptr_server->addresses_count);
|
||||
weechat_log_printf (" addresses_array. . . : 0x%lx", ptr_server->addresses_array);
|
||||
weechat_log_printf (" ports_array. . . . . : 0x%lx", ptr_server->ports_array);
|
||||
weechat_log_printf (" retry_array. . . . . : 0x%lx", ptr_server->retry_array);
|
||||
weechat_log_printf (" index_current_address: %d", ptr_server->index_current_address);
|
||||
weechat_log_printf (" current_address. . . : '%s'", ptr_server->current_address);
|
||||
weechat_log_printf (" current_ip . . . . . : '%s'", ptr_server->current_ip);
|
||||
weechat_log_printf (" current_port . . . . : %d", ptr_server->current_port);
|
||||
weechat_log_printf (" current_retry. . . . : %d", ptr_server->current_retry);
|
||||
weechat_log_printf (" sock . . . . . . . . : %d", ptr_server->sock);
|
||||
weechat_log_printf (" hook_connect . . . . : 0x%lx", ptr_server->hook_connect);
|
||||
weechat_log_printf (" hook_fd. . . . . . . : 0x%lx", ptr_server->hook_fd);
|
||||
weechat_log_printf (" hook_timer_connection: 0x%lx", ptr_server->hook_timer_connection);
|
||||
weechat_log_printf (" hook_timer_sasl. . . : 0x%lx", ptr_server->hook_timer_sasl);
|
||||
weechat_log_printf (" is_connected . . . . : %d", ptr_server->is_connected);
|
||||
weechat_log_printf (" ssl_connected. . . . : %d", ptr_server->ssl_connected);
|
||||
weechat_log_printf (" disconnected . . . . : %d", ptr_server->disconnected);
|
||||
weechat_log_printf (" gnutls_sess. . . . . : 0x%lx", ptr_server->gnutls_sess);
|
||||
weechat_log_printf (" unterminated_message : '%s'", ptr_server->unterminated_message);
|
||||
weechat_log_printf (" nicks_count. . . . . : %d", ptr_server->nicks_count);
|
||||
weechat_log_printf (" nicks_array. . . . . : 0x%lx", ptr_server->nicks_array);
|
||||
weechat_log_printf (" nick_first_tried . . : %d", ptr_server->nick_first_tried);
|
||||
weechat_log_printf (" nick_alternate_number: %d", ptr_server->nick_alternate_number);
|
||||
weechat_log_printf (" nick . . . . . . . . : '%s'", ptr_server->nick);
|
||||
weechat_log_printf (" nick_modes . . . . . : '%s'", ptr_server->nick_modes);
|
||||
weechat_log_printf (" host . . . . . . . . : '%s'", ptr_server->host);
|
||||
weechat_log_printf (" checking_cap_ls. . . : %d", ptr_server->checking_cap_ls);
|
||||
weechat_log_printf (" cap_ls . . . . . . . : 0x%lx (hashtable: '%s')",
|
||||
weechat_log_printf (" temp_server . . . . . . . : %d", ptr_server->temp_server);
|
||||
weechat_log_printf (" fake_server . . . . . . . : %d", ptr_server->fake_server);
|
||||
weechat_log_printf (" reloading_from_config . . : %d", ptr_server->reloaded_from_config);
|
||||
weechat_log_printf (" reloaded_from_config. . . : %d", ptr_server->reloaded_from_config);
|
||||
weechat_log_printf (" addresses_eval. . . . . . : '%s'", ptr_server->addresses_eval);
|
||||
weechat_log_printf (" addresses_count . . . . . : %d", ptr_server->addresses_count);
|
||||
weechat_log_printf (" addresses_array . . . . . : 0x%lx", ptr_server->addresses_array);
|
||||
weechat_log_printf (" ports_array . . . . . . . : 0x%lx", ptr_server->ports_array);
|
||||
weechat_log_printf (" retry_array . . . . . . . : 0x%lx", ptr_server->retry_array);
|
||||
weechat_log_printf (" index_current_address . . : %d", ptr_server->index_current_address);
|
||||
weechat_log_printf (" current_address . . . . . : '%s'", ptr_server->current_address);
|
||||
weechat_log_printf (" current_ip. . . . . . . . : '%s'", ptr_server->current_ip);
|
||||
weechat_log_printf (" current_port. . . . . . . : %d", ptr_server->current_port);
|
||||
weechat_log_printf (" current_retry . . . . . . : %d", ptr_server->current_retry);
|
||||
weechat_log_printf (" sock. . . . . . . . . . . : %d", ptr_server->sock);
|
||||
weechat_log_printf (" hook_connect. . . . . . . : 0x%lx", ptr_server->hook_connect);
|
||||
weechat_log_printf (" hook_fd . . . . . . . . . : 0x%lx", ptr_server->hook_fd);
|
||||
weechat_log_printf (" hook_timer_connection . . : 0x%lx", ptr_server->hook_timer_connection);
|
||||
weechat_log_printf (" hook_timer_sasl . . . . . : 0x%lx", ptr_server->hook_timer_sasl);
|
||||
weechat_log_printf (" sasl_scram_client_first . : '%s'", ptr_server->sasl_scram_client_first);
|
||||
weechat_log_printf (" sasl_scram_salted_pwd . . : (hidden)");
|
||||
weechat_log_printf (" sasl_scram_salted_pwd_size: %d", ptr_server->sasl_scram_salted_pwd_size);
|
||||
weechat_log_printf (" sasl_scram_auth_message . : (hidden)");
|
||||
weechat_log_printf (" is_connected. . . . . . . : %d", ptr_server->is_connected);
|
||||
weechat_log_printf (" ssl_connected . . . . . . : %d", ptr_server->ssl_connected);
|
||||
weechat_log_printf (" disconnected. . . . . . . : %d", ptr_server->disconnected);
|
||||
weechat_log_printf (" gnutls_sess . . . . . . . : 0x%lx", ptr_server->gnutls_sess);
|
||||
weechat_log_printf (" unterminated_message. . . : '%s'", ptr_server->unterminated_message);
|
||||
weechat_log_printf (" nicks_count . . . . . . . : %d", ptr_server->nicks_count);
|
||||
weechat_log_printf (" nicks_array . . . . . . . : 0x%lx", ptr_server->nicks_array);
|
||||
weechat_log_printf (" nick_first_tried. . . . . : %d", ptr_server->nick_first_tried);
|
||||
weechat_log_printf (" nick_alternate_number . . : %d", ptr_server->nick_alternate_number);
|
||||
weechat_log_printf (" nick. . . . . . . . . . . : '%s'", ptr_server->nick);
|
||||
weechat_log_printf (" nick_modes. . . . . . . . : '%s'", ptr_server->nick_modes);
|
||||
weechat_log_printf (" host. . . . . . . . . . . : '%s'", ptr_server->host);
|
||||
weechat_log_printf (" checking_cap_ls . . . . . : %d", ptr_server->checking_cap_ls);
|
||||
weechat_log_printf (" cap_ls. . . . . . . . . . : 0x%lx (hashtable: '%s')",
|
||||
ptr_server->cap_ls,
|
||||
weechat_hashtable_get_string (ptr_server->cap_ls, "keys_values"));
|
||||
weechat_log_printf (" checking_cap_list. . : %d", ptr_server->checking_cap_list);
|
||||
weechat_log_printf (" cap_list . . . . . . : 0x%lx (hashtable: '%s')",
|
||||
weechat_log_printf (" checking_cap_list . . . . : %d", ptr_server->checking_cap_list);
|
||||
weechat_log_printf (" cap_list. . . . . . . . . : 0x%lx (hashtable: '%s')",
|
||||
ptr_server->cap_list,
|
||||
weechat_hashtable_get_string (ptr_server->cap_list, "keys_values"));
|
||||
weechat_log_printf (" isupport . . . . . . : '%s'", ptr_server->isupport);
|
||||
weechat_log_printf (" prefix_modes . . . . : '%s'", ptr_server->prefix_modes);
|
||||
weechat_log_printf (" prefix_chars . . . . : '%s'", ptr_server->prefix_chars);
|
||||
weechat_log_printf (" nick_max_length. . . : %d", ptr_server->nick_max_length);
|
||||
weechat_log_printf (" user_max_length. . . : %d", ptr_server->user_max_length);
|
||||
weechat_log_printf (" host_max_length. . . : %d", ptr_server->host_max_length);
|
||||
weechat_log_printf (" casemapping. . . . . : %d (%s)",
|
||||
weechat_log_printf (" isupport. . . . . . . . . : '%s'", ptr_server->isupport);
|
||||
weechat_log_printf (" prefix_modes. . . . . . . : '%s'", ptr_server->prefix_modes);
|
||||
weechat_log_printf (" prefix_chars. . . . . . . : '%s'", ptr_server->prefix_chars);
|
||||
weechat_log_printf (" nick_max_length . . . . . : %d", ptr_server->nick_max_length);
|
||||
weechat_log_printf (" user_max_length . . . . . : %d", ptr_server->user_max_length);
|
||||
weechat_log_printf (" host_max_length . . . . . : %d", ptr_server->host_max_length);
|
||||
weechat_log_printf (" casemapping . . . . . . . : %d (%s)",
|
||||
ptr_server->casemapping,
|
||||
irc_server_casemapping_string[ptr_server->casemapping]);
|
||||
weechat_log_printf (" utf8mapping. . . . . : %d (%s)",
|
||||
weechat_log_printf (" utf8mapping . . . . . . . : %d (%s)",
|
||||
ptr_server->utf8mapping,
|
||||
irc_server_utf8mapping_string[ptr_server->utf8mapping]);
|
||||
weechat_log_printf (" chantypes. . . . . . : '%s'", ptr_server->chantypes);
|
||||
weechat_log_printf (" chanmodes. . . . . . : '%s'", ptr_server->chanmodes);
|
||||
weechat_log_printf (" monitor. . . . . . . : %d", ptr_server->monitor);
|
||||
weechat_log_printf (" monitor_time . . . . : %lld", (long long)ptr_server->monitor_time);
|
||||
weechat_log_printf (" reconnect_delay. . . : %d", ptr_server->reconnect_delay);
|
||||
weechat_log_printf (" reconnect_start. . . : %lld", (long long)ptr_server->reconnect_start);
|
||||
weechat_log_printf (" command_time . . . . : %lld", (long long)ptr_server->command_time);
|
||||
weechat_log_printf (" reconnect_join . . . : %d", ptr_server->reconnect_join);
|
||||
weechat_log_printf (" disable_autojoin . . : %d", ptr_server->disable_autojoin);
|
||||
weechat_log_printf (" is_away. . . . . . . : %d", ptr_server->is_away);
|
||||
weechat_log_printf (" away_message . . . . : '%s'", ptr_server->away_message);
|
||||
weechat_log_printf (" away_time. . . . . . : %lld", (long long)ptr_server->away_time);
|
||||
weechat_log_printf (" lag. . . . . . . . . : %d", ptr_server->lag);
|
||||
weechat_log_printf (" lag_displayed. . . . : %d", ptr_server->lag_displayed);
|
||||
weechat_log_printf (" lag_check_time . . . : tv_sec:%d, tv_usec:%d",
|
||||
weechat_log_printf (" chantypes . . . . . . . . : '%s'", ptr_server->chantypes);
|
||||
weechat_log_printf (" chanmodes . . . . . . . . : '%s'", ptr_server->chanmodes);
|
||||
weechat_log_printf (" monitor . . . . . . . . . : %d", ptr_server->monitor);
|
||||
weechat_log_printf (" monitor_time. . . . . . . : %lld", (long long)ptr_server->monitor_time);
|
||||
weechat_log_printf (" reconnect_delay . . . . . : %d", ptr_server->reconnect_delay);
|
||||
weechat_log_printf (" reconnect_start . . . . . : %lld", (long long)ptr_server->reconnect_start);
|
||||
weechat_log_printf (" command_time. . . . . . . : %lld", (long long)ptr_server->command_time);
|
||||
weechat_log_printf (" reconnect_join. . . . . . : %d", ptr_server->reconnect_join);
|
||||
weechat_log_printf (" disable_autojoin. . . . . : %d", ptr_server->disable_autojoin);
|
||||
weechat_log_printf (" is_away . . . . . . . . . : %d", ptr_server->is_away);
|
||||
weechat_log_printf (" away_message. . . . . . . : '%s'", ptr_server->away_message);
|
||||
weechat_log_printf (" away_time . . . . . . . . : %lld", (long long)ptr_server->away_time);
|
||||
weechat_log_printf (" lag . . . . . . . . . . . : %d", ptr_server->lag);
|
||||
weechat_log_printf (" lag_displayed . . . . . . : %d", ptr_server->lag_displayed);
|
||||
weechat_log_printf (" lag_check_time. . . . . . : tv_sec:%d, tv_usec:%d",
|
||||
ptr_server->lag_check_time.tv_sec,
|
||||
ptr_server->lag_check_time.tv_usec);
|
||||
weechat_log_printf (" lag_next_check . . . : %lld", (long long)ptr_server->lag_next_check);
|
||||
weechat_log_printf (" lag_last_refresh . . : %lld", (long long)ptr_server->lag_last_refresh);
|
||||
weechat_log_printf (" cmd_list_regexp. . . : 0x%lx", ptr_server->cmd_list_regexp);
|
||||
weechat_log_printf (" last_user_message. . : %lld", (long long)ptr_server->last_user_message);
|
||||
weechat_log_printf (" last_away_check. . . : %lld", (long long)ptr_server->last_away_check);
|
||||
weechat_log_printf (" last_data_purge. . . : %lld", (long long)ptr_server->last_data_purge);
|
||||
weechat_log_printf (" lag_next_check. . . . . . : %lld", (long long)ptr_server->lag_next_check);
|
||||
weechat_log_printf (" lag_last_refresh. . . . . : %lld", (long long)ptr_server->lag_last_refresh);
|
||||
weechat_log_printf (" cmd_list_regexp . . . . . : 0x%lx", ptr_server->cmd_list_regexp);
|
||||
weechat_log_printf (" last_user_message . . . . : %lld", (long long)ptr_server->last_user_message);
|
||||
weechat_log_printf (" last_away_check . . . . . : %lld", (long long)ptr_server->last_away_check);
|
||||
weechat_log_printf (" last_data_purge . . . . . : %lld", (long long)ptr_server->last_data_purge);
|
||||
for (i = 0; i < IRC_SERVER_NUM_OUTQUEUES_PRIO; i++)
|
||||
{
|
||||
weechat_log_printf (" outqueue[%02d] . . . . : 0x%lx", i, ptr_server->outqueue[i]);
|
||||
weechat_log_printf (" last_outqueue[%02d]. . : 0x%lx", i, ptr_server->last_outqueue[i]);
|
||||
weechat_log_printf (" outqueue[%02d]. . . . . . . : 0x%lx", i, ptr_server->outqueue[i]);
|
||||
weechat_log_printf (" last_outqueue[%02d] . . . . : 0x%lx", i, ptr_server->last_outqueue[i]);
|
||||
}
|
||||
weechat_log_printf (" redirects. . . . . . : 0x%lx", ptr_server->redirects);
|
||||
weechat_log_printf (" last_redirect. . . . : 0x%lx", ptr_server->last_redirect);
|
||||
weechat_log_printf (" notify_list. . . . . : 0x%lx", ptr_server->notify_list);
|
||||
weechat_log_printf (" last_notify. . . . . : 0x%lx", ptr_server->last_notify);
|
||||
weechat_log_printf (" notify_count . . . . : %d", ptr_server->notify_count);
|
||||
weechat_log_printf (" join_manual. . . . . : 0x%lx (hashtable: '%s')",
|
||||
weechat_log_printf (" redirects . . . . . . . . : 0x%lx", ptr_server->redirects);
|
||||
weechat_log_printf (" last_redirect . . . . . . : 0x%lx", ptr_server->last_redirect);
|
||||
weechat_log_printf (" notify_list . . . . . . . : 0x%lx", ptr_server->notify_list);
|
||||
weechat_log_printf (" last_notify . . . . . . . : 0x%lx", ptr_server->last_notify);
|
||||
weechat_log_printf (" notify_count. . . . . . . : %d", ptr_server->notify_count);
|
||||
weechat_log_printf (" join_manual . . . . . . . : 0x%lx (hashtable: '%s')",
|
||||
ptr_server->join_manual,
|
||||
weechat_hashtable_get_string (ptr_server->join_manual, "keys_values"));
|
||||
weechat_log_printf (" join_channel_key . . : 0x%lx (hashtable: '%s')",
|
||||
weechat_log_printf (" join_channel_key. . . . . : 0x%lx (hashtable: '%s')",
|
||||
ptr_server->join_channel_key,
|
||||
weechat_hashtable_get_string (ptr_server->join_channel_key, "keys_values"));
|
||||
weechat_log_printf (" join_noswitch. . . . : 0x%lx (hashtable: '%s')",
|
||||
weechat_log_printf (" join_noswitch . . . . . . : 0x%lx (hashtable: '%s')",
|
||||
ptr_server->join_noswitch,
|
||||
weechat_hashtable_get_string (ptr_server->join_noswitch, "keys_values"));
|
||||
weechat_log_printf (" buffer . . . . . . . : 0x%lx", ptr_server->buffer);
|
||||
weechat_log_printf (" buffer_as_string . . : 0x%lx", ptr_server->buffer_as_string);
|
||||
weechat_log_printf (" channels . . . . . . : 0x%lx", ptr_server->channels);
|
||||
weechat_log_printf (" last_channel . . . . : 0x%lx", ptr_server->last_channel);
|
||||
weechat_log_printf (" prev_server. . . . . : 0x%lx", ptr_server->prev_server);
|
||||
weechat_log_printf (" next_server. . . . . : 0x%lx", ptr_server->next_server);
|
||||
weechat_log_printf (" buffer. . . . . . . . . . : 0x%lx", ptr_server->buffer);
|
||||
weechat_log_printf (" buffer_as_string. . . . . : 0x%lx", ptr_server->buffer_as_string);
|
||||
weechat_log_printf (" channels. . . . . . . . . : 0x%lx", ptr_server->channels);
|
||||
weechat_log_printf (" last_channel. . . . . . . : 0x%lx", ptr_server->last_channel);
|
||||
weechat_log_printf (" prev_server . . . . . . . : 0x%lx", ptr_server->prev_server);
|
||||
weechat_log_printf (" next_server . . . . . . . : 0x%lx", ptr_server->next_server);
|
||||
|
||||
irc_redirect_print_log (ptr_server);
|
||||
|
||||
|
@ -193,6 +193,10 @@ struct t_irc_server
|
||||
struct t_hook *hook_fd; /* hook for server socket */
|
||||
struct t_hook *hook_timer_connection; /* timer for connection */
|
||||
struct t_hook *hook_timer_sasl; /* timer for SASL authentication */
|
||||
char *sasl_scram_client_first; /* first message sent for SASL SCRAM */
|
||||
char *sasl_scram_salted_pwd; /* salted password for SASL SCRAM */
|
||||
int sasl_scram_salted_pwd_size; /* size of salted password for SASL SCRAM*/
|
||||
char *sasl_scram_auth_message; /* auth message for SASL SCRAM */
|
||||
int is_connected; /* 1 if WeeChat is connected to server */
|
||||
int ssl_connected; /* = 1 if connected with SSL */
|
||||
int disconnected; /* 1 if server has been disconnected */
|
||||
@ -388,6 +392,7 @@ extern void irc_server_switch_address (struct t_irc_server *server,
|
||||
extern void irc_server_disconnect (struct t_irc_server *server,
|
||||
int switch_address, int reconnect);
|
||||
extern void irc_server_disconnect_all ();
|
||||
extern void irc_server_free_sasl_data (struct t_irc_server *server);
|
||||
extern void irc_server_free (struct t_irc_server *server);
|
||||
extern int irc_server_xfer_send_ready_cb (const void *pointer, void *data,
|
||||
const char *signal,
|
||||
|
Loading…
x
Reference in New Issue
Block a user