mirror of
https://github.com/weechat/weechat.git
synced 2026-07-03 16:23:14 +02:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 59e292a5be | |||
| 8617bd7d2a | |||
| e262cd47b4 | |||
| 5a7db09eb2 | |||
| 5fc7813643 | |||
| dc319af254 | |||
| e920903354 | |||
| 6457394042 | |||
| 7516774474 | |||
| a9d1b2990f | |||
| 13198697a9 |
@@ -8,6 +8,27 @@
|
|||||||
:see-release-notes: If you are upgrading: please see release notes.
|
:see-release-notes: If you are upgrading: please see release notes.
|
||||||
:breaking: pass:quotes[*[breaking]*]
|
:breaking: pass:quotes[*[breaking]*]
|
||||||
|
|
||||||
|
[[v4.3.2]]
|
||||||
|
== Version 4.3.2 (2024-06-06)
|
||||||
|
|
||||||
|
[[v4.3.2_changed]]
|
||||||
|
=== Changed
|
||||||
|
|
||||||
|
* relay: enable websocket extension "permessage-deflate" with "api" relay only (issue #1549)
|
||||||
|
|
||||||
|
[[v4.3.2_added]]
|
||||||
|
=== Added
|
||||||
|
|
||||||
|
* relay: add option relay.look.raw_messages_max_length (issue #2122)
|
||||||
|
|
||||||
|
[[v4.3.2_fixed]]
|
||||||
|
=== Fixed
|
||||||
|
|
||||||
|
* irc, xfer: fix display of input prompt in IRC private buffers and DCC chat buffers (issue #2128)
|
||||||
|
* irc: don't return pointer to irc server if the channel or nick is not found in info "irc_buffer"
|
||||||
|
* relay: fix websocket permessage-deflate extension when the client doesn't send the max window bits parameters (issue #1549)
|
||||||
|
* relay: fix allocation and reinit of field "client_context_takeover" in websocket deflate structure (issue #1549)
|
||||||
|
|
||||||
[[v4.3.1]]
|
[[v4.3.1]]
|
||||||
== Version 4.3.1 (2024-05-31)
|
== Version 4.3.1 (2024-05-31)
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,11 @@ It is recommended to read it when upgrading to a new stable version. +
|
|||||||
For a complete list of changes, please look at ChangeLog.
|
For a complete list of changes, please look at ChangeLog.
|
||||||
|
|
||||||
|
|
||||||
|
[[v4.3.2]]
|
||||||
|
== Version 4.3.2 (2024-06-06)
|
||||||
|
|
||||||
|
No release notes.
|
||||||
|
|
||||||
[[v4.3.1]]
|
[[v4.3.1]]
|
||||||
== Version 4.3.1 (2024-05-31)
|
== Version 4.3.1 (2024-05-31)
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
||||||
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
|
"Last-Translator: Ondřej Súkup <mimi.vx@gmail.com>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -14416,6 +14416,11 @@ msgid ""
|
|||||||
"\"weechat\", \"api\""
|
"\"weechat\", \"api\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr "barva textu pro zvýrazněný prefix"
|
msgstr "barva textu pro zvýrazněný prefix"
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2024-05-24 10:45+0200\n"
|
"PO-Revision-Date: 2024-05-24 10:45+0200\n"
|
||||||
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
|
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
|
||||||
"Language-Team: German <kde-i18n-de@kde.org>\n"
|
"Language-Team: German <kde-i18n-de@kde.org>\n"
|
||||||
@@ -2108,11 +2108,11 @@ msgstr ""
|
|||||||
"undOperatoren (+, -, *, /, //, %, **)"
|
"undOperatoren (+, -, *, /, //, %, **)"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
" - ${random:min,max}: a random integer number between \"min\" and "
|
" - ${random:min,max}: a random integer number between \"min\" and \"max\" "
|
||||||
"\"max\" (inclusive)"
|
"(inclusive)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
" - ${random:min,max}: eine zufällige ganze Zahl zwischen \"min\" "
|
" - ${random:min,max}: eine zufällige ganze Zahl zwischen \"min\" und\"max\" "
|
||||||
"und\"max\" (einschließlich)"
|
"(einschließlich)"
|
||||||
|
|
||||||
msgid " - ${translate:string}: the translated string"
|
msgid " - ${translate:string}: the translated string"
|
||||||
msgstr " - ${translate:string}: die übersetzte Zeichenkette"
|
msgstr " - ${translate:string}: die übersetzte Zeichenkette"
|
||||||
@@ -3043,8 +3043,8 @@ msgid ""
|
|||||||
" raw[chat(xxx)]: chat area for buffer with name \"xxx\" (full name "
|
" raw[chat(xxx)]: chat area for buffer with name \"xxx\" (full name "
|
||||||
"including plugin)"
|
"including plugin)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
" raw[chat(xxx)]: Chatbereich für einen Buffer mit dem Namen "
|
" raw[chat(xxx)]: Chatbereich für einen Buffer mit dem Namen \"xxx\" "
|
||||||
"\"xxx\" (vollständiger Name, mit Erweiterung)"
|
"(vollständiger Name, mit Erweiterung)"
|
||||||
|
|
||||||
msgid " raw[bar(*)]: any bar"
|
msgid " raw[bar(*)]: any bar"
|
||||||
msgstr " raw[bar(*)]: beliebige Bar"
|
msgstr " raw[bar(*)]: beliebige Bar"
|
||||||
@@ -4976,8 +4976,8 @@ msgstr ""
|
|||||||
"\"-yes\" ausgeführt werden (siehe /help quit)"
|
"\"-yes\" ausgeführt werden (siehe /help quit)"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"if set, /upgrade command must be confirmed with extra argument \"-"
|
"if set, /upgrade command must be confirmed with extra argument \"-yes\" "
|
||||||
"yes\" (see /help upgrade)"
|
"(see /help upgrade)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"ist diese Einstellung aktiviert, muss der \"/upgrade\" Befehl mit dem "
|
"ist diese Einstellung aktiviert, muss der \"/upgrade\" Befehl mit dem "
|
||||||
"Argument \"-yes\" ausgeführt werden (siehe /help upgrade)"
|
"Argument \"-yes\" ausgeführt werden (siehe /help upgrade)"
|
||||||
@@ -5033,10 +5033,10 @@ msgid ""
|
|||||||
"weechat.color.emphasized* are used"
|
"weechat.color.emphasized* are used"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Attribute um Textpassagen hervorzuheben: Das setzen von ein- oder mehreren "
|
"Attribute um Textpassagen hervorzuheben: Das setzen von ein- oder mehreren "
|
||||||
"Attributen ist möglich (\"%\" für blinkenden Text, \".\" zum "
|
"Attributen ist möglich (\"%\" für blinkenden Text, \".\" zum \"dimmen\" "
|
||||||
"\"dimmen\" (halbe Helligkeit),\"*\" für fett, \"!\" für invertiert, \"/\" "
|
"(halbe Helligkeit),\"*\" für fett, \"!\" für invertiert, \"/\" für kursiv, "
|
||||||
"für kursiv, \"_\" für unterstrichen); wenn die Zeichenkette leer ist, werden "
|
"\"_\" für unterstrichen); wenn die Zeichenkette leer ist, werden die Farben "
|
||||||
"die Farben genutzt die durch weechat.color.emphasized* definiert sind"
|
"genutzt die durch weechat.color.emphasized* definiert sind"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"comma separated list of words to highlight; case insensitive comparison (use "
|
"comma separated list of words to highlight; case insensitive comparison (use "
|
||||||
@@ -7008,24 +7008,24 @@ msgstr ""
|
|||||||
"Bedingungen um eine Infobar anzuzeigen. Eine einfache Bedingung: \"active\", "
|
"Bedingungen um eine Infobar anzuzeigen. Eine einfache Bedingung: \"active\", "
|
||||||
"\"inactive\", \"nicklist\" (Fenster muss aktiv/inaktiv sein oder der Buffer "
|
"\"inactive\", \"nicklist\" (Fenster muss aktiv/inaktiv sein oder der Buffer "
|
||||||
"enthält eine Benutzerliste), oder man nutzt einen Ausdruck mit Bedingungen "
|
"enthält eine Benutzerliste), oder man nutzt einen Ausdruck mit Bedingungen "
|
||||||
"(siehe /help eval). Beispiele: \"${nicklist} && ${info:term_width} > "
|
"(siehe /help eval). Beispiele: \"${nicklist} && ${info:term_width} > 100\" "
|
||||||
"100\" (lokale Variablen für den Ausdruck sind ${active}, ${inactive} und "
|
"(lokale Variablen für den Ausdruck sind ${active}, ${inactive} und "
|
||||||
"${nicklist})"
|
"${nicklist})"
|
||||||
|
|
||||||
msgid "bar position (bottom, top, left, right)"
|
msgid "bar position (bottom, top, left, right)"
|
||||||
msgstr "Position der Infobar (unten, oben, links, rechts)"
|
msgstr "Position der Infobar (unten, oben, links, rechts)"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"bar filling direction (\"horizontal\" (from left to right) or "
|
"bar filling direction (\"horizontal\" (from left to right) or \"vertical\" "
|
||||||
"\"vertical\" (from top to bottom)) when bar position is top or bottom"
|
"(from top to bottom)) when bar position is top or bottom"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Darstellung innerhalb der Infobar, falls die Infobar oben/unten angezeigt "
|
"Darstellung innerhalb der Infobar, falls die Infobar oben/unten angezeigt "
|
||||||
"wird (\"horizontal\" (von links nach rechts) oder \"vertikal\" (von oben "
|
"wird (\"horizontal\" (von links nach rechts) oder \"vertikal\" (von oben "
|
||||||
"nach unten))"
|
"nach unten))"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"bar filling direction (\"horizontal\" (from left to right) or "
|
"bar filling direction (\"horizontal\" (from left to right) or \"vertical\" "
|
||||||
"\"vertical\" (from top to bottom)) when bar position is left or right"
|
"(from top to bottom)) when bar position is left or right"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Darstellung innerhalb der Infobar, falls die Infobar links/rechts angezeigt "
|
"Darstellung innerhalb der Infobar, falls die Infobar links/rechts angezeigt "
|
||||||
"wird (\"horizontal\" (von links nach rechts) oder \"vertikal\" (von oben "
|
"wird (\"horizontal\" (von links nach rechts) oder \"vertikal\" (von oben "
|
||||||
@@ -7065,9 +7065,9 @@ msgid "separator line between bar and other bars/windows"
|
|||||||
msgstr "Trennzeichen zwischen verschieden Infobars und Fenstern"
|
msgstr "Trennzeichen zwischen verschieden Infobars und Fenstern"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"items of bar, they can be separated by comma (space between items) or \"+"
|
"items of bar, they can be separated by comma (space between items) or \"+\" "
|
||||||
"\" (glued items); special syntax \"@buffer:item\" can be used to force "
|
"(glued items); special syntax \"@buffer:item\" can be used to force buffer "
|
||||||
"buffer used when displaying the bar item"
|
"used when displaying the bar item"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Items einer Bar können entweder durch Kommata (\",\") voneinander getrennt "
|
"Items einer Bar können entweder durch Kommata (\",\") voneinander getrennt "
|
||||||
"(setzt ein Leerzeichen zwischen die Items), oder durch ein \"+\" Zeichen "
|
"(setzt ein Leerzeichen zwischen die Items), oder durch ein \"+\" Zeichen "
|
||||||
@@ -8811,8 +8811,8 @@ msgid " - ${description}: option description (translated)"
|
|||||||
msgstr " - ${description}: Beschreibung der Option (übersetzt)"
|
msgstr " - ${description}: Beschreibung der Option (übersetzt)"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
" - ${description2}: option description (translated), \"(no "
|
" - ${description2}: option description (translated), \"(no description)\" "
|
||||||
"description)\" (translated) if there's no description"
|
"(translated) if there's no description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
" - ${description2}: Beschreibung der Option (übersetzt), \"(keine "
|
" - ${description2}: Beschreibung der Option (übersetzt), \"(keine "
|
||||||
"Beschreibung)\" (übersetzt) falls keine Beschreibung vorhanden"
|
"Beschreibung)\" (übersetzt) falls keine Beschreibung vorhanden"
|
||||||
@@ -9503,8 +9503,8 @@ msgstr ""
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"%s%s: if you want to add a standard server, use the command \"/server "
|
"%s%s: if you want to add a standard server, use the command \"/server add\" "
|
||||||
"add\" (see /help server); if you really want to add a temporary server (NOT "
|
"(see /help server); if you really want to add a temporary server (NOT "
|
||||||
"SAVED), turn on the option irc.look.temporary_servers"
|
"SAVED), turn on the option irc.look.temporary_servers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%s%s: falls ein Standardserver erstellt werden soll, muss der Befehl \"/"
|
"%s%s: falls ein Standardserver erstellt werden soll, muss der Befehl \"/"
|
||||||
@@ -12667,8 +12667,8 @@ msgid ""
|
|||||||
"interval between two checks for notify with IRC command \"whois\" (in "
|
"interval between two checks for notify with IRC command \"whois\" (in "
|
||||||
"minutes)"
|
"minutes)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Intervall zwischen zwei notify Überprüfungen mit dem IRC Befehl "
|
"Intervall zwischen zwei notify Überprüfungen mit dem IRC Befehl \"whois\" "
|
||||||
"\"whois\" (in Minuten)"
|
"(in Minuten)"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"cause SASL authentication failure when SASL is requested but unavailable on "
|
"cause SASL authentication failure when SASL is requested but unavailable on "
|
||||||
@@ -15016,19 +15016,19 @@ msgstr "%s%s: Interpreter kann nicht freigeben werden"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"%s%s: too few arguments received from client %s%s%s for resource "
|
"%s%s: too few arguments received from client %s%s%s for resource \"%s\" "
|
||||||
"\"%s\" (received: %d arguments, expected: at least %d)"
|
"(received: %d arguments, expected: at least %d)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%s%s: Zu wenige Argumente von Client %s%s%s für die Ressource \"%s\" "
|
"%s%s: Zu wenige Argumente von Client %s%s%s für die Ressource \"%s\" "
|
||||||
"erhalten (Empfangen: %d Argumente, mindestens erwartet: %d)"
|
"erhalten (Empfangen: %d Argumente, mindestens erwartet: %d)"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"%s%s: too many arguments received from client %s%s%s for resource "
|
"%s%s: too many arguments received from client %s%s%s for resource \"%s\" "
|
||||||
"\"%s\" (received: %d arguments, expected: at most %d)"
|
"(received: %d arguments, expected: at most %d)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%s%s: Zu viele Argumente von Client erhalten %s%s%s für die Ressource "
|
"%s%s: Zu viele Argumente von Client erhalten %s%s%s für die Ressource \"%s\" "
|
||||||
"\"%s\" (Empfangen: %d Argumente, höchstens erwartet: %d)"
|
"(Empfangen: %d Argumente, höchstens erwartet: %d)"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
|
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
|
||||||
@@ -15784,6 +15784,11 @@ msgstr ""
|
|||||||
"Verbindung zum Relay herstellen oder trennen (durch Kommas getrennte Liste); "
|
"Verbindung zum Relay herstellen oder trennen (durch Kommas getrennte Liste); "
|
||||||
"erlaubte Protokolle: \"irc\", \"weechat\", \"api\""
|
"erlaubte Protokolle: \"irc\", \"weechat\", \"api\""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr "Textfarbe für Client-Beschreibung"
|
msgstr "Textfarbe für Client-Beschreibung"
|
||||||
|
|
||||||
@@ -16107,8 +16112,8 @@ msgid ""
|
|||||||
"%s%s: error: file with TLS certificate/key is not readable: \"%s\" (option "
|
"%s%s: error: file with TLS certificate/key is not readable: \"%s\" (option "
|
||||||
"relay.network.tls_cert_key)"
|
"relay.network.tls_cert_key)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%s%s: Fehler: Datei mit TLS Zertifikat/Schlüssel ist nicht lesbar: "
|
"%s%s: Fehler: Datei mit TLS Zertifikat/Schlüssel ist nicht lesbar: \"%s\" "
|
||||||
"\"%s\" (Option relay.network.tls_cert_key)"
|
"(Option relay.network.tls_cert_key)"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s%s: unable to initialize priority for TLS"
|
msgid "%s%s: unable to initialize priority for TLS"
|
||||||
@@ -16252,8 +16257,8 @@ msgstr ""
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"%s%s: too few arguments received from client %s%s%s for command "
|
"%s%s: too few arguments received from client %s%s%s for command \"%s\" "
|
||||||
"\"%s\" (received: %d arguments, expected: at least %d)"
|
"(received: %d arguments, expected: at least %d)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%s%s: Zu wenige Argumente von Client %s%s%s für den Befehl \"%s\" erhalten "
|
"%s%s: Zu wenige Argumente von Client %s%s%s für den Befehl \"%s\" erhalten "
|
||||||
"(Empfangen: %d Argumente, mindestens Erwartet: %d)"
|
"(Empfangen: %d Argumente, mindestens Erwartet: %d)"
|
||||||
@@ -17422,22 +17427,22 @@ msgstr "verwaltet Trigger, das Schweizer Armeemesser für WeeChat"
|
|||||||
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
|
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
|
||||||
msgid ""
|
msgid ""
|
||||||
"list [-o|-ol|-i|-il] || listfull || listdefault || add|addoff|addreplace "
|
"list [-o|-ol|-i|-il] || listfull || listdefault || add|addoff|addreplace "
|
||||||
"<name> <hook> "
|
"<name> <hook> [\"<arguments>\" [\"<conditions>\" [\"<regex>\" [\"<command>\" "
|
||||||
"[\"<arguments>\" [\"<conditions>\" [\"<regex>\" [\"<command>\" [\"<return_code>\" [\"<post_action>\"]]]]]] "
|
"[\"<return_code>\" [\"<post_action>\"]]]]]] || addinput [<hook>] || input|"
|
||||||
"|| addinput [<hook>] || input|output|recreate <name> || set <name> <option> "
|
"output|recreate <name> || set <name> <option> <value> || rename|copy <name> "
|
||||||
"<value> || rename|copy <name> <new_name> || enable|disable|toggle [<name>|"
|
"<new_name> || enable|disable|toggle [<name>|<mask> [<name>|<mask>...]] || "
|
||||||
"<mask> [<name>|<mask>...]] || restart <name>|<mask> [<name>|<mask>...] || "
|
"restart <name>|<mask> [<name>|<mask>...] || show <name> || del <name>|<mask> "
|
||||||
"show <name> || del <name>|<mask> [<name>|<mask>...] || restore <name>|<mask> "
|
"[<name>|<mask>...] || restore <name>|<mask> [<name>|<mask>...] || default -"
|
||||||
"[<name>|<mask>...] || default -yes || monitor [<filter>]"
|
"yes || monitor [<filter>]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"list [-o|-ol|-i|-il] || listfull || listdefault || add|addoff|addreplace "
|
"list [-o|-ol|-i|-il] || listfull || listdefault || add|addoff|addreplace "
|
||||||
"<name> <hook> "
|
"<name> <hook> [\"<arguments>\" [\"<conditions>\" [\"<regex>\" [\"<command>\" "
|
||||||
"[\"<arguments>\" [\"<conditions>\" [\"<regex>\" [\"<command>\" [\"<return_code>\" [\"<post_action>\"]]]]]] "
|
"[\"<return_code>\" [\"<post_action>\"]]]]]] || addinput [<hook>] || input|"
|
||||||
"|| addinput [<hook>] || input|output|recreate <name> || set <name> <option> "
|
"output|recreate <name> || set <name> <option> <value> || rename|copy <name> "
|
||||||
"<value> || rename|copy <name> <new_name> || enable|disable|toggle [<name>|"
|
"<new_name> || enable|disable|toggle [<name>|<mask> [<name>|<mask>...]] || "
|
||||||
"<mask> [<name>|<mask>...]] || restart <name>|<mask> [<name>|<mask>...] || "
|
"restart <name>|<mask> [<name>|<mask>...] || show <name> || del <name>|<mask> "
|
||||||
"show <name> || del <name>|<mask> [<name>|<mask>...] || restore <name>|<mask> "
|
"[<name>|<mask>...] || restore <name>|<mask> [<name>|<mask>...] || default -"
|
||||||
"[<name>|<mask>...] || default -yes || monitor [<filter>]"
|
"yes || monitor [<filter>]"
|
||||||
|
|
||||||
msgid "raw[list]: list triggers (without argument, this list is displayed)"
|
msgid "raw[list]: list triggers (without argument, this list is displayed)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
||||||
"Last-Translator: Santiago Forero <santiago@forero.xyz>\n"
|
"Last-Translator: Santiago Forero <santiago@forero.xyz>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -14733,6 +14733,11 @@ msgid ""
|
|||||||
"\"weechat\", \"api\""
|
"\"weechat\", \"api\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr "color del texto para la descripción del cliente"
|
msgstr "color del texto para la descripción del cliente"
|
||||||
|
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2024-05-23 21:02+0200\n"
|
"PO-Revision-Date: 2024-06-01 22:38+0200\n"
|
||||||
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
|
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
@@ -15489,6 +15489,14 @@ msgstr ""
|
|||||||
"relai qui utilisent un de ces protocoles (liste séparée par des virfules) ; "
|
"relai qui utilisent un de ces protocoles (liste séparée par des virfules) ; "
|
||||||
"protocoles autorisés : \"irc\", \"weechat\", \"api\""
|
"protocoles autorisés : \"irc\", \"weechat\", \"api\""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
"nombre maximum de caractères à afficher dans les messages bruts (les très "
|
||||||
|
"longs messages peuvent provoquer des lenteurs) ; 0 = afficher les messages "
|
||||||
|
"entiers"
|
||||||
|
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr "couleur du texte pour la description du client"
|
msgstr "couleur du texte pour la description du client"
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
||||||
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
|
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -13793,6 +13793,11 @@ msgid ""
|
|||||||
"\"weechat\", \"api\""
|
"\"weechat\", \"api\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr "információs pult határolóinak színe"
|
msgstr "információs pult határolóinak színe"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
||||||
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
|
"Last-Translator: Esteban I. Ruiz Moreno <exio4.com@gmail.com>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -14771,6 +14771,11 @@ msgid ""
|
|||||||
"\"weechat\", \"api\""
|
"\"weechat\", \"api\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr "colore del testo per la descrizione del client"
|
msgstr "colore del testo per la descrizione del client"
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
||||||
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
|
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
|
||||||
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
|
"Language-Team: Japanese <https://github.com/l/weechat/tree/master/"
|
||||||
@@ -15206,6 +15206,11 @@ msgid ""
|
|||||||
"\"weechat\", \"api\""
|
"\"weechat\", \"api\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr "クライアント説明用のテキスト色"
|
msgstr "クライアント説明用のテキスト色"
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2024-05-25 13:34+0200\n"
|
"PO-Revision-Date: 2024-05-25 13:34+0200\n"
|
||||||
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
|
"Last-Translator: Krzysztof Korościk <soltys@soltys.info>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -813,8 +813,8 @@ msgstr "%sNie można ustawić opcji \"%s\" dla proxy \"%s\""
|
|||||||
msgid ""
|
msgid ""
|
||||||
"%sYou must confirm /%s command with extra argument \"-yes\" (see /help %s)"
|
"%sYou must confirm /%s command with extra argument \"-yes\" (see /help %s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%sMusisz potwierdzić użycie komendy /%s dodatkowym argumentem \"-"
|
"%sMusisz potwierdzić użycie komendy /%s dodatkowym argumentem \"-yes\" "
|
||||||
"yes\" (zobacz /help %s)"
|
"(zobacz /help %s)"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Options reloaded from %s"
|
msgid "Options reloaded from %s"
|
||||||
@@ -2044,8 +2044,8 @@ msgstr ""
|
|||||||
"*, /, //, %, **)"
|
"*, /, //, %, **)"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
" - ${random:min,max}: a random integer number between \"min\" and "
|
" - ${random:min,max}: a random integer number between \"min\" and \"max\" "
|
||||||
"\"max\" (inclusive)"
|
"(inclusive)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
" - ${random:min,max}: losowa liczba całkowita z przedziału od „min” do "
|
" - ${random:min,max}: losowa liczba całkowita z przedziału od „min” do "
|
||||||
"„max” (włącznie)"
|
"„max” (włącznie)"
|
||||||
@@ -4741,8 +4741,8 @@ msgstr ""
|
|||||||
"\"-yes\" (zobacz /help quit)"
|
"\"-yes\" (zobacz /help quit)"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"if set, /upgrade command must be confirmed with extra argument \"-"
|
"if set, /upgrade command must be confirmed with extra argument \"-yes\" "
|
||||||
"yes\" (see /help upgrade)"
|
"(see /help upgrade)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"jeśli ustawione, komenda /upgrade musi być potwierdzona dodatkowym "
|
"jeśli ustawione, komenda /upgrade musi być potwierdzona dodatkowym "
|
||||||
"argumentem \"-yes\" (zobacz /help upgrade)"
|
"argumentem \"-yes\" (zobacz /help upgrade)"
|
||||||
@@ -6672,15 +6672,15 @@ msgid "bar position (bottom, top, left, right)"
|
|||||||
msgstr "pozycja paska (bottom (dół), top (góra), left (lewo), right (prawo))"
|
msgstr "pozycja paska (bottom (dół), top (góra), left (lewo), right (prawo))"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"bar filling direction (\"horizontal\" (from left to right) or "
|
"bar filling direction (\"horizontal\" (from left to right) or \"vertical\" "
|
||||||
"\"vertical\" (from top to bottom)) when bar position is top or bottom"
|
"(from top to bottom)) when bar position is top or bottom"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"kierunek wypełniania paska (\"horizontal\" (od lewej do prawej) lub "
|
"kierunek wypełniania paska (\"horizontal\" (od lewej do prawej) lub "
|
||||||
"\"vertical\" (od góry do dołu)), kiedy pozycja paska to góra albo dół"
|
"\"vertical\" (od góry do dołu)), kiedy pozycja paska to góra albo dół"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"bar filling direction (\"horizontal\" (from left to right) or "
|
"bar filling direction (\"horizontal\" (from left to right) or \"vertical\" "
|
||||||
"\"vertical\" (from top to bottom)) when bar position is left or right"
|
"(from top to bottom)) when bar position is left or right"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"kierunek wypełniania paska (\"horizontal\" (od lewej do prawej) lub "
|
"kierunek wypełniania paska (\"horizontal\" (od lewej do prawej) lub "
|
||||||
"\"vertical\" (od góry do dołu)), kiedy pozycja paska to lewo albo prawo"
|
"\"vertical\" (od góry do dołu)), kiedy pozycja paska to lewo albo prawo"
|
||||||
@@ -6719,9 +6719,9 @@ msgid "separator line between bar and other bars/windows"
|
|||||||
msgstr "separator pomiędzy paskiem a innymi paskami/oknami"
|
msgstr "separator pomiędzy paskiem a innymi paskami/oknami"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"items of bar, they can be separated by comma (space between items) or \"+"
|
"items of bar, they can be separated by comma (space between items) or \"+\" "
|
||||||
"\" (glued items); special syntax \"@buffer:item\" can be used to force "
|
"(glued items); special syntax \"@buffer:item\" can be used to force buffer "
|
||||||
"buffer used when displaying the bar item"
|
"used when displaying the bar item"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"elementy paska, mogą być oddzielone przecinkiem (spacja pomiędzy elementami) "
|
"elementy paska, mogą być oddzielone przecinkiem (spacja pomiędzy elementami) "
|
||||||
"lub \"+\" (skleja elementy); specjalna składnia \"@buffer:item\" może być "
|
"lub \"+\" (skleja elementy); specjalna składnia \"@buffer:item\" może być "
|
||||||
@@ -7956,8 +7956,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"powłoka używana przez komendę \"/exec -sh\"; może to być nazwa powłoki jeśli "
|
"powłoka używana przez komendę \"/exec -sh\"; może to być nazwa powłoki jeśli "
|
||||||
"znajduje się ona w PATH (na przykład \"bash\") lub ścieżka absolutna (na "
|
"znajduje się ona w PATH (na przykład \"bash\") lub ścieżka absolutna (na "
|
||||||
"przykład \"/bin/bash\"); jeśli wartość jest pusta, zostanie użyte "
|
"przykład \"/bin/bash\"); jeśli wartość jest pusta, zostanie użyte \"sh\" "
|
||||||
"\"sh\" (uwaga: zawartość jest przetwarzana, zobacz /help eval)"
|
"(uwaga: zawartość jest przetwarzana, zobacz /help eval)"
|
||||||
|
|
||||||
msgid "text color for a finished command flag in list of commands"
|
msgid "text color for a finished command flag in list of commands"
|
||||||
msgstr "kolor tekstu dla flagi zakończonej komendy na liście komend"
|
msgstr "kolor tekstu dla flagi zakończonej komendy na liście komend"
|
||||||
@@ -8380,8 +8380,8 @@ msgid " - ${description}: option description (translated)"
|
|||||||
msgstr " - ${description}: opis opcji (przetłumaczony)"
|
msgstr " - ${description}: opis opcji (przetłumaczony)"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
" - ${description2}: option description (translated), \"(no "
|
" - ${description2}: option description (translated), \"(no description)\" "
|
||||||
"description)\" (translated) if there's no description"
|
"(translated) if there's no description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
" - ${description2}: opis opcji (przetłumaczony), „(brak opisu)” jeśli nie "
|
" - ${description2}: opis opcji (przetłumaczony), „(brak opisu)” jeśli nie "
|
||||||
"ma opisu"
|
"ma opisu"
|
||||||
@@ -9046,13 +9046,13 @@ msgstr ""
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"%s%s: if you want to add a standard server, use the command \"/server "
|
"%s%s: if you want to add a standard server, use the command \"/server add\" "
|
||||||
"add\" (see /help server); if you really want to add a temporary server (NOT "
|
"(see /help server); if you really want to add a temporary server (NOT "
|
||||||
"SAVED), turn on the option irc.look.temporary_servers"
|
"SAVED), turn on the option irc.look.temporary_servers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%s%s: jeśli chcesz dodać standardowy serwer, użyj komendy \"/server "
|
"%s%s: jeśli chcesz dodać standardowy serwer, użyj komendy \"/server add\" "
|
||||||
"add\" (zobacz /help server); jeśli naprawdę chcesz utworzyć serwer "
|
"(zobacz /help server); jeśli naprawdę chcesz utworzyć serwer tymczasowy (NIE "
|
||||||
"tymczasowy (NIE ZAPISANY), włącz opcję irc.look.temporary_servers"
|
"ZAPISANY), włącz opcję irc.look.temporary_servers"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s%s: \"%s\" command can not be executed on a server buffer"
|
msgid "%s%s: \"%s\" command can not be executed on a server buffer"
|
||||||
@@ -11060,9 +11060,9 @@ msgid ""
|
|||||||
"file with ECC private key for mechanism \"ecdsa-nist256p-challenge\" (path "
|
"file with ECC private key for mechanism \"ecdsa-nist256p-challenge\" (path "
|
||||||
"is evaluated, see function string_eval_path_home in plugin API reference)"
|
"is evaluated, see function string_eval_path_home in plugin API reference)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"plik z kluczem prywatnym ECC dla mechanizmu \"ecdsa-nist256p-"
|
"plik z kluczem prywatnym ECC dla mechanizmu \"ecdsa-nist256p-challenge\" "
|
||||||
"challenge\" (ścieżka jest przetwarzana, zobacz funkcję string_eval_path_home "
|
"(ścieżka jest przetwarzana, zobacz funkcję string_eval_path_home w opisie "
|
||||||
"w opisie API wtyczek)"
|
"API wtyczek)"
|
||||||
|
|
||||||
msgid "timeout (in seconds) before giving up SASL authentication"
|
msgid "timeout (in seconds) before giving up SASL authentication"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -14308,19 +14308,19 @@ msgstr "%s%s: nie można zwolnić interpretera"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"%s%s: too few arguments received from client %s%s%s for resource "
|
"%s%s: too few arguments received from client %s%s%s for resource \"%s\" "
|
||||||
"\"%s\" (received: %d arguments, expected: at least %d)"
|
"(received: %d arguments, expected: at least %d)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%s%s: otrzymano za mało argumentów od klienta %s%s%s dla zasobu "
|
"%s%s: otrzymano za mało argumentów od klienta %s%s%s dla zasobu „%s” "
|
||||||
"„%s” (otrzymano: %d argumentów, spodziewano się: przynajmniej %d)"
|
"(otrzymano: %d argumentów, spodziewano się: przynajmniej %d)"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"%s%s: too many arguments received from client %s%s%s for resource "
|
"%s%s: too many arguments received from client %s%s%s for resource \"%s\" "
|
||||||
"\"%s\" (received: %d arguments, expected: at most %d)"
|
"(received: %d arguments, expected: at most %d)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%s%s: otrzymano za mało argumentów od klienta %s%s%s dla zasobu "
|
"%s%s: otrzymano za mało argumentów od klienta %s%s%s dla zasobu „%s” "
|
||||||
"„%s” (otrzymano: %d argumentów, spodziewano się: najwyżej %d)"
|
"(otrzymano: %d argumentów, spodziewano się: najwyżej %d)"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
|
msgid "%s%s: failed to execute route \"%s %s\" for client %s%s%s"
|
||||||
@@ -15068,6 +15068,11 @@ msgstr ""
|
|||||||
"używających jednego z tych protokołów (lista oddzielona przecinkami); "
|
"używających jednego z tych protokołów (lista oddzielona przecinkami); "
|
||||||
"dozwolone protokoły: „irc”, „weechat”, „api”"
|
"dozwolone protokoły: „irc”, „weechat”, „api”"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr "kolor tekstu dla opisu klienta"
|
msgstr "kolor tekstu dla opisu klienta"
|
||||||
|
|
||||||
@@ -15206,8 +15211,8 @@ msgid ""
|
|||||||
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
|
"(examples: \"*\", \"pbkdf2*\", \"*,!plain\")"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"oddzielona przecinkami lista algorytmów hashujących używanych dla "
|
"oddzielona przecinkami lista algorytmów hashujących używanych dla "
|
||||||
"uwierzytelnienia hasłem w protokole weechat, dostępne wartości: "
|
"uwierzytelnienia hasłem w protokole weechat, dostępne wartości: \"plain\" "
|
||||||
"\"plain\" (hasło w postaci jawnej, nie zahashowane), \"sha256\", \"sha512\", "
|
"(hasło w postaci jawnej, nie zahashowane), \"sha256\", \"sha512\", "
|
||||||
"\"pbkdf2+sha256\", \"pbkdf2+sha512\", \"*\" oznacza wszystkie algorytmy, "
|
"\"pbkdf2+sha256\", \"pbkdf2+sha512\", \"*\" oznacza wszystkie algorytmy, "
|
||||||
"nazwa zaczynająca się od \"!\" oznacza wartość negatywną w celu uniknięcia "
|
"nazwa zaczynająca się od \"!\" oznacza wartość negatywną w celu uniknięcia "
|
||||||
"użycia algorytmu, znak \"*\" może zostać użyty w nazwie (przykłady: \"*\", "
|
"użycia algorytmu, znak \"*\" może zostać użyty w nazwie (przykłady: \"*\", "
|
||||||
@@ -15375,8 +15380,8 @@ msgid ""
|
|||||||
"%s%s: error: file with TLS certificate/key is not readable: \"%s\" (option "
|
"%s%s: error: file with TLS certificate/key is not readable: \"%s\" (option "
|
||||||
"relay.network.tls_cert_key)"
|
"relay.network.tls_cert_key)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%s%s: błąd: nie można odczytać pliku z certyfikatem/kluczem TLS: "
|
"%s%s: błąd: nie można odczytać pliku z certyfikatem/kluczem TLS: \"%s\" "
|
||||||
"\"%s\" (opcja relay.network.tls_cert_key)"
|
"(opcja relay.network.tls_cert_key)"
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s%s: unable to initialize priority for TLS"
|
msgid "%s%s: unable to initialize priority for TLS"
|
||||||
@@ -15526,11 +15531,11 @@ msgstr "%s%s: nie udało się wykonać komendy \"%s\" dla klienta %s%s%s"
|
|||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"%s%s: too few arguments received from client %s%s%s for command "
|
"%s%s: too few arguments received from client %s%s%s for command \"%s\" "
|
||||||
"\"%s\" (received: %d arguments, expected: at least %d)"
|
"(received: %d arguments, expected: at least %d)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"%s%s: otrzymano za mało argumentów od klienta %s%s%s dla komendy "
|
"%s%s: otrzymano za mało argumentów od klienta %s%s%s dla komendy \"%s\" "
|
||||||
"\"%s\" (otrzymano: %d argumentów, spodziewano się: przynajmniej %d)"
|
"(otrzymano: %d argumentów, spodziewano się: przynajmniej %d)"
|
||||||
|
|
||||||
msgid "Support of ruby scripts"
|
msgid "Support of ruby scripts"
|
||||||
msgstr "Wsparcie dla skryptów ruby"
|
msgstr "Wsparcie dla skryptów ruby"
|
||||||
@@ -16631,23 +16636,22 @@ msgstr "zarządzaj triggerami, scyzorykiem WeeChat"
|
|||||||
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
|
#. TRANSLATORS: only text between angle brackets (eg: "<name>") must be translated
|
||||||
msgid ""
|
msgid ""
|
||||||
"list [-o|-ol|-i|-il] || listfull || listdefault || add|addoff|addreplace "
|
"list [-o|-ol|-i|-il] || listfull || listdefault || add|addoff|addreplace "
|
||||||
"<name> <hook> "
|
"<name> <hook> [\"<arguments>\" [\"<conditions>\" [\"<regex>\" [\"<command>\" "
|
||||||
"[\"<arguments>\" [\"<conditions>\" [\"<regex>\" [\"<command>\" [\"<return_code>\" [\"<post_action>\"]]]]]] "
|
"[\"<return_code>\" [\"<post_action>\"]]]]]] || addinput [<hook>] || input|"
|
||||||
"|| addinput [<hook>] || input|output|recreate <name> || set <name> <option> "
|
"output|recreate <name> || set <name> <option> <value> || rename|copy <name> "
|
||||||
"<value> || rename|copy <name> <new_name> || enable|disable|toggle [<name>|"
|
"<new_name> || enable|disable|toggle [<name>|<mask> [<name>|<mask>...]] || "
|
||||||
"<mask> [<name>|<mask>...]] || restart <name>|<mask> [<name>|<mask>...] || "
|
"restart <name>|<mask> [<name>|<mask>...] || show <name> || del <name>|<mask> "
|
||||||
"show <name> || del <name>|<mask> [<name>|<mask>...] || restore <name>|<mask> "
|
"[<name>|<mask>...] || restore <name>|<mask> [<name>|<mask>...] || default -"
|
||||||
"[<name>|<mask>...] || default -yes || monitor [<filter>]"
|
"yes || monitor [<filter>]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"list [-o|-ol|-i|-il] || listfull || listdefault || add|addoff|addreplace "
|
"list [-o|-ol|-i|-il] || listfull || listdefault || add|addoff|addreplace "
|
||||||
"<nazwa> <hook> "
|
"<nazwa> <hook> [\"<argumenty>\" [\"<warunki>\" [\"<regex>\" [\"<komenda>\" "
|
||||||
"[\"<argumenty>\" [\"<warunki>\" [\"<regex>\" [\"<komenda>\" [\"<zwracany_kod>\" [\"<post_action>\"]]]]]] "
|
"[\"<zwracany_kod>\" [\"<post_action>\"]]]]]] || addinput [<hook>] || input|"
|
||||||
"|| addinput [<hook>] || input|output|recreate <nazwa> || set <nazwa> <opcja> "
|
"output|recreate <nazwa> || set <nazwa> <opcja> <wartość> || rename|copy "
|
||||||
"<wartość> || rename|copy <nazwa> <nowa_nazwa> || enable|disable|toggle "
|
"<nazwa> <nowa_nazwa> || enable|disable|toggle [<nazwa>|<maska> [<nazwa>|"
|
||||||
"[<nazwa>|<maska> [<nazwa>|<maska>...]] || restart <nazwa>|<maska> [<nazwa>|"
|
"<maska>...]] || restart <nazwa>|<maska> [<nazwa>|<maska>...] || show <nazwa> "
|
||||||
"<maska>...] || show <nazwa> || del <nazwa>|<maska> [<nazwa>|<maska>...] || "
|
"|| del <nazwa>|<maska> [<nazwa>|<maska>...] || restore <nazwa>|<maska> "
|
||||||
"restore <nazwa>|<maska> [<nazwa>|<maska>...] || default -yes || monitor "
|
"[<nazwa>|<maska>...] || default -yes || monitor [<filtr>]"
|
||||||
"[<filtr>]"
|
|
||||||
|
|
||||||
msgid "raw[list]: list triggers (without argument, this list is displayed)"
|
msgid "raw[list]: list triggers (without argument, this list is displayed)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -17023,15 +17027,14 @@ msgstr ""
|
|||||||
"zastępuje tekst za pomocą rozszerzonego wyrażenia regularnego POSIX "
|
"zastępuje tekst za pomocą rozszerzonego wyrażenia regularnego POSIX "
|
||||||
"(następuje to tylko wtedy, jeśli warunki są spełnione i przed wykonaniem "
|
"(następuje to tylko wtedy, jeśli warunki są spełnione i przed wykonaniem "
|
||||||
"komendy) (uwaga: zawartość jest przetwarzana, kiedy trigger jest "
|
"komendy) (uwaga: zawartość jest przetwarzana, kiedy trigger jest "
|
||||||
"uruchamiany, zobacz /help eval); format to: \"/regex/zastąp/"
|
"uruchamiany, zobacz /help eval); format to: \"/regex/zastąp/zmienna\" "
|
||||||
"zmienna\" (zmienna to zmienna w tablicy hashy do zamiany, jest to "
|
"(zmienna to zmienna w tablicy hashy do zamiany, jest to opcjonalne), wiele "
|
||||||
"opcjonalne), wiele wyrażeń można oddzielić spacja, na przykład: \"/regex1/"
|
"wyrażeń można oddzielić spacja, na przykład: \"/regex1/replace1/var1 /regex2/"
|
||||||
"replace1/var1 /regex2/replace2/var2\"; wyescapowane znaki są interpretowane "
|
"replace2/var2\"; wyescapowane znaki są interpretowane w wyrażeniu (na "
|
||||||
"w wyrażeniu (na przykład \"\\n\"); separator \"/\" może być zastąpiony "
|
"przykład \"\\n\"); separator \"/\" może być zastąpiony dowolnym znakiem "
|
||||||
"dowolnym znakiem (jednym lub więcej identycznych znaków); pasujące grupy "
|
"(jednym lub więcej identycznych znaków); pasujące grupy mogą być użyte w "
|
||||||
"mogą być użyte w zastępowaniu: ${re:0} do ${re:99}, ${re:+} dla ostatniego "
|
"zastępowaniu: ${re:0} do ${re:99}, ${re:+} dla ostatniego dopasowania i "
|
||||||
"dopasowania i ${hide:c,${re:N}} do zastąpienia wszystkich znaków w grupie N "
|
"${hide:c,${re:N}} do zastąpienia wszystkich znaków w grupie N znakiem 'c'"
|
||||||
"znakiem 'c'"
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"command(s) to run if conditions are OK, after regex replacements (many "
|
"command(s) to run if conditions are OK, after regex replacements (many "
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
||||||
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
|
"Last-Translator: Vasco Almeida <vascomalmeida@sapo.pt>\n"
|
||||||
"Language-Team: Portuguese <>\n"
|
"Language-Team: Portuguese <>\n"
|
||||||
@@ -15118,6 +15118,11 @@ msgid ""
|
|||||||
"\"weechat\", \"api\""
|
"\"weechat\", \"api\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr "cor do texto da descrição do cliente"
|
msgstr "cor do texto da descrição do cliente"
|
||||||
|
|
||||||
|
|||||||
+6
-1
@@ -21,7 +21,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
||||||
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
|
"Last-Translator: Érico Nogueira <ericonr@disroot.org>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -14243,6 +14243,11 @@ msgid ""
|
|||||||
"\"weechat\", \"api\""
|
"\"weechat\", \"api\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr "cor do texto para delimitadores de tempo"
|
msgstr "cor do texto para delimitadores de tempo"
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
||||||
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
|
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -13847,6 +13847,11 @@ msgid ""
|
|||||||
"\"weechat\", \"api\""
|
"\"weechat\", \"api\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr "цвет разделителей информационной панели"
|
msgstr "цвет разделителей информационной панели"
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2024-05-07 14:00+0400\n"
|
"PO-Revision-Date: 2024-05-07 14:00+0400\n"
|
||||||
"Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n"
|
"Last-Translator: Ivan Pešić <ivan.pesic@gmail.com>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -15056,6 +15056,11 @@ msgstr ""
|
|||||||
"користећи један од следећих протокола (листа раздвојена запетама); дозвољени "
|
"користећи један од следећих протокола (листа раздвојена запетама); дозвољени "
|
||||||
"протоколи: „irc”, „weechat”, „api”"
|
"протоколи: „irc”, „weechat”, „api”"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr "боја текста за опис клијента"
|
msgstr "боја текста за опис клијента"
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
"PO-Revision-Date: 2024-04-07 14:50+0200\n"
|
||||||
"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
|
"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -15379,6 +15379,11 @@ msgid ""
|
|||||||
"\"weechat\", \"api\""
|
"\"weechat\", \"api\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr "istemci açıklaması için metin rengi"
|
msgstr "istemci açıklaması için metin rengi"
|
||||||
|
|
||||||
|
|||||||
+6
-1
@@ -21,7 +21,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: WeeChat\n"
|
"Project-Id-Version: WeeChat\n"
|
||||||
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
|
||||||
"POT-Creation-Date: 2024-05-22 00:15+0200\n"
|
"POT-Creation-Date: 2024-06-01 22:37+0200\n"
|
||||||
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
|
"PO-Revision-Date: 2014-08-16 10:27+0200\n"
|
||||||
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
|
"Last-Translator: Sébastien Helleu <flashcode@flashtux.org>\n"
|
||||||
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
|
||||||
@@ -12624,6 +12624,11 @@ msgid ""
|
|||||||
"\"weechat\", \"api\""
|
"\"weechat\", \"api\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"max number of chars to display in raw messages (very long messages can cause "
|
||||||
|
"slowness); 0 = display whole messages"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "text color for client description"
|
msgid "text color for client description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,10 @@ char *irc_channel_typing_state_string[IRC_CHANNEL_NUM_TYPING_STATES] =
|
|||||||
char *irc_channel_default_chantypes = "#&";
|
char *irc_channel_default_chantypes = "#&";
|
||||||
|
|
||||||
|
|
||||||
|
char *irc_channel_get_buffer_input_prompt (struct t_irc_server *server,
|
||||||
|
struct t_irc_channel *channel);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Checks if a channel pointer is valid for a server.
|
* Checks if a channel pointer is valid for a server.
|
||||||
*
|
*
|
||||||
@@ -185,7 +189,7 @@ irc_channel_create_buffer (struct t_irc_server *server,
|
|||||||
struct t_hashtable *buffer_props;
|
struct t_hashtable *buffer_props;
|
||||||
int buffer_created, current_buffer_number, buffer_position;
|
int buffer_created, current_buffer_number, buffer_position;
|
||||||
int autojoin_join, manual_join, noswitch;
|
int autojoin_join, manual_join, noswitch;
|
||||||
char str_number[32], *channel_name_lower, *buffer_name;
|
char str_number[32], *channel_name_lower, *buffer_name, *prompt;
|
||||||
const char *short_name, *localvar_channel;
|
const char *short_name, *localvar_channel;
|
||||||
|
|
||||||
buffer_created = 0;
|
buffer_created = 0;
|
||||||
@@ -225,6 +229,9 @@ irc_channel_create_buffer (struct t_irc_server *server,
|
|||||||
buffer_props,
|
buffer_props,
|
||||||
"localvar_set_type",
|
"localvar_set_type",
|
||||||
(channel_type == IRC_CHANNEL_TYPE_CHANNEL) ? "channel" : "private");
|
(channel_type == IRC_CHANNEL_TYPE_CHANNEL) ? "channel" : "private");
|
||||||
|
prompt = irc_channel_get_buffer_input_prompt (server, NULL);
|
||||||
|
weechat_hashtable_set (buffer_props, "input_prompt", (prompt) ? prompt : "");
|
||||||
|
free (prompt);
|
||||||
weechat_hashtable_set (buffer_props, "localvar_set_nick", server->nick);
|
weechat_hashtable_set (buffer_props, "localvar_set_nick", server->nick);
|
||||||
weechat_hashtable_set (buffer_props, "localvar_set_host", server->host);
|
weechat_hashtable_set (buffer_props, "localvar_set_host", server->host);
|
||||||
weechat_hashtable_set (buffer_props, "localvar_set_server", server->name);
|
weechat_hashtable_set (buffer_props, "localvar_set_server", server->name);
|
||||||
@@ -611,6 +618,62 @@ irc_channel_set_buffer_modes (struct t_irc_server *server,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Gets input prompt for a channel (channel is optional: when channel is not
|
||||||
|
* given, the prefix for nick is not returned).
|
||||||
|
*
|
||||||
|
* Note: result must be freed after use.
|
||||||
|
*/
|
||||||
|
|
||||||
|
char *
|
||||||
|
irc_channel_get_buffer_input_prompt (struct t_irc_server *server,
|
||||||
|
struct t_irc_channel *channel)
|
||||||
|
{
|
||||||
|
struct t_irc_nick *ptr_nick;
|
||||||
|
int display_modes;
|
||||||
|
char str_prefix[64], *prompt;
|
||||||
|
|
||||||
|
if (!server || !server->nick)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* build prefix */
|
||||||
|
str_prefix[0] = '\0';
|
||||||
|
if (channel
|
||||||
|
&& (channel->type == IRC_CHANNEL_TYPE_CHANNEL)
|
||||||
|
&& weechat_config_boolean (irc_config_look_item_nick_prefix))
|
||||||
|
{
|
||||||
|
ptr_nick = irc_nick_search (server, channel, server->nick);
|
||||||
|
if (ptr_nick)
|
||||||
|
{
|
||||||
|
if (weechat_config_boolean (irc_config_look_nick_mode_empty)
|
||||||
|
|| (ptr_nick->prefix[0] != ' '))
|
||||||
|
{
|
||||||
|
snprintf (str_prefix, sizeof (str_prefix), "%s%s",
|
||||||
|
weechat_color (
|
||||||
|
irc_nick_get_prefix_color_name (
|
||||||
|
server, ptr_nick->prefix[0])),
|
||||||
|
ptr_nick->prefix);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
display_modes = (weechat_config_boolean (irc_config_look_item_nick_modes)
|
||||||
|
&& server->nick_modes && server->nick_modes[0]);
|
||||||
|
|
||||||
|
weechat_asprintf (&prompt, "%s%s%s%s%s%s%s%s%s",
|
||||||
|
str_prefix,
|
||||||
|
IRC_COLOR_INPUT_NICK,
|
||||||
|
server->nick,
|
||||||
|
(display_modes) ? IRC_COLOR_BAR_DELIM : "",
|
||||||
|
(display_modes) ? "(" : "",
|
||||||
|
(display_modes) ? IRC_COLOR_ITEM_NICK_MODES : "",
|
||||||
|
(display_modes) ? server->nick_modes : "",
|
||||||
|
(display_modes) ? IRC_COLOR_BAR_DELIM : "",
|
||||||
|
(display_modes) ? ")" : "");
|
||||||
|
|
||||||
|
return prompt;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Sets input prompt on channel buffer.
|
* Sets input prompt on channel buffer.
|
||||||
*/
|
*/
|
||||||
@@ -619,58 +682,14 @@ void
|
|||||||
irc_channel_set_buffer_input_prompt (struct t_irc_server *server,
|
irc_channel_set_buffer_input_prompt (struct t_irc_server *server,
|
||||||
struct t_irc_channel *channel)
|
struct t_irc_channel *channel)
|
||||||
{
|
{
|
||||||
struct t_irc_nick *ptr_nick;
|
char *prompt;
|
||||||
int display_modes;
|
|
||||||
char str_prefix[64], *prompt;
|
|
||||||
|
|
||||||
if (!server || !channel || !channel->buffer)
|
if (!server || !channel || !channel->buffer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (server->nick)
|
prompt = irc_channel_get_buffer_input_prompt (server, channel);
|
||||||
{
|
weechat_buffer_set (channel->buffer, "input_prompt", (prompt) ? prompt : "");
|
||||||
/* build prefix */
|
free (prompt);
|
||||||
str_prefix[0] = '\0';
|
|
||||||
if (weechat_config_boolean (irc_config_look_item_nick_prefix)
|
|
||||||
&& (channel->type == IRC_CHANNEL_TYPE_CHANNEL))
|
|
||||||
{
|
|
||||||
ptr_nick = irc_nick_search (server, channel, server->nick);
|
|
||||||
if (ptr_nick)
|
|
||||||
{
|
|
||||||
if (weechat_config_boolean (irc_config_look_nick_mode_empty)
|
|
||||||
|| (ptr_nick->prefix[0] != ' '))
|
|
||||||
{
|
|
||||||
snprintf (str_prefix, sizeof (str_prefix), "%s%s",
|
|
||||||
weechat_color (
|
|
||||||
irc_nick_get_prefix_color_name (
|
|
||||||
server, ptr_nick->prefix[0])),
|
|
||||||
ptr_nick->prefix);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
display_modes = (weechat_config_boolean (irc_config_look_item_nick_modes)
|
|
||||||
&& server->nick_modes && server->nick_modes[0]);
|
|
||||||
|
|
||||||
weechat_asprintf (&prompt, "%s%s%s%s%s%s%s%s%s",
|
|
||||||
str_prefix,
|
|
||||||
IRC_COLOR_INPUT_NICK,
|
|
||||||
server->nick,
|
|
||||||
(display_modes) ? IRC_COLOR_BAR_DELIM : "",
|
|
||||||
(display_modes) ? "(" : "",
|
|
||||||
(display_modes) ? IRC_COLOR_ITEM_NICK_MODES : "",
|
|
||||||
(display_modes) ? server->nick_modes : "",
|
|
||||||
(display_modes) ? IRC_COLOR_BAR_DELIM : "",
|
|
||||||
(display_modes) ? ")" : "");
|
|
||||||
if (prompt)
|
|
||||||
{
|
|
||||||
weechat_buffer_set (channel->buffer, "input_prompt", prompt);
|
|
||||||
free (prompt);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
weechat_buffer_set (channel->buffer, "input_prompt", "");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -298,7 +298,11 @@ irc_info_info_irc_buffer_cb (const void *pointer, void *data,
|
|||||||
|
|
||||||
/* search for server or channel buffer */
|
/* search for server or channel buffer */
|
||||||
if (server && ptr_server && channel)
|
if (server && ptr_server && channel)
|
||||||
|
{
|
||||||
ptr_channel = irc_channel_search (ptr_server, channel);
|
ptr_channel = irc_channel_search (ptr_server, channel);
|
||||||
|
if (!ptr_channel)
|
||||||
|
ptr_server = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
free (server);
|
free (server);
|
||||||
free (channel);
|
free (channel);
|
||||||
|
|||||||
@@ -206,7 +206,8 @@ relay_remote_network_check_auth (struct t_relay_remote *remote,
|
|||||||
|
|
||||||
relay_websocket_parse_extensions (
|
relay_websocket_parse_extensions (
|
||||||
weechat_hashtable_get (http_resp->headers, "sec-websocket-extensions"),
|
weechat_hashtable_get (http_resp->headers, "sec-websocket-extensions"),
|
||||||
remote->ws_deflate);
|
remote->ws_deflate,
|
||||||
|
1); /* ws_deflate_allowed */
|
||||||
|
|
||||||
if (!accept_ok)
|
if (!accept_ok)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1620,6 +1620,8 @@ relay_client_new_with_infolist (struct t_infolist *infolist)
|
|||||||
new_client->ws_deflate->client_context_takeover = weechat_infolist_integer (infolist, "ws_deflate_client_context_takeover");
|
new_client->ws_deflate->client_context_takeover = weechat_infolist_integer (infolist, "ws_deflate_client_context_takeover");
|
||||||
new_client->ws_deflate->window_bits_deflate = weechat_infolist_integer (infolist, "ws_deflate_window_bits_deflate");
|
new_client->ws_deflate->window_bits_deflate = weechat_infolist_integer (infolist, "ws_deflate_window_bits_deflate");
|
||||||
new_client->ws_deflate->window_bits_inflate = weechat_infolist_integer (infolist, "ws_deflate_window_bits_inflate");
|
new_client->ws_deflate->window_bits_inflate = weechat_infolist_integer (infolist, "ws_deflate_window_bits_inflate");
|
||||||
|
new_client->ws_deflate->server_max_window_bits_recv = weechat_infolist_integer (infolist, "ws_deflate_server_max_window_bits_recv");
|
||||||
|
new_client->ws_deflate->client_max_window_bits_recv = weechat_infolist_integer (infolist, "ws_deflate_client_max_window_bits_recv");
|
||||||
new_client->ws_deflate->strm_deflate = NULL;
|
new_client->ws_deflate->strm_deflate = NULL;
|
||||||
new_client->ws_deflate->strm_inflate = NULL;
|
new_client->ws_deflate->strm_inflate = NULL;
|
||||||
if (weechat_infolist_search_var (infolist, "ws_deflate_strm_deflate_dict"))
|
if (weechat_infolist_search_var (infolist, "ws_deflate_strm_deflate_dict"))
|
||||||
@@ -2073,6 +2075,10 @@ relay_client_add_to_infolist (struct t_infolist *infolist,
|
|||||||
return 0;
|
return 0;
|
||||||
if (!weechat_infolist_new_var_integer (ptr_item, "ws_deflate_window_bits_inflate", client->ws_deflate->window_bits_inflate))
|
if (!weechat_infolist_new_var_integer (ptr_item, "ws_deflate_window_bits_inflate", client->ws_deflate->window_bits_inflate))
|
||||||
return 0;
|
return 0;
|
||||||
|
if (!weechat_infolist_new_var_integer (ptr_item, "ws_deflate_server_max_window_bits_recv", client->ws_deflate->server_max_window_bits_recv))
|
||||||
|
return 0;
|
||||||
|
if (!weechat_infolist_new_var_integer (ptr_item, "ws_deflate_client_max_window_bits_recv", client->ws_deflate->client_max_window_bits_recv))
|
||||||
|
return 0;
|
||||||
if (!weechat_infolist_new_var_pointer (ptr_item, "ws_deflate_strm_deflate", client->ws_deflate->strm_deflate))
|
if (!weechat_infolist_new_var_pointer (ptr_item, "ws_deflate_strm_deflate", client->ws_deflate->strm_deflate))
|
||||||
return 0;
|
return 0;
|
||||||
if (!weechat_infolist_new_var_pointer (ptr_item, "ws_deflate_strm_inflate", client->ws_deflate->strm_inflate))
|
if (!weechat_infolist_new_var_pointer (ptr_item, "ws_deflate_strm_inflate", client->ws_deflate->strm_inflate))
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ struct t_config_section *relay_config_section_remote = NULL;
|
|||||||
struct t_config_option *relay_config_look_auto_open_buffer = NULL;
|
struct t_config_option *relay_config_look_auto_open_buffer = NULL;
|
||||||
struct t_config_option *relay_config_look_display_clients = NULL;
|
struct t_config_option *relay_config_look_display_clients = NULL;
|
||||||
struct t_config_option *relay_config_look_raw_messages = NULL;
|
struct t_config_option *relay_config_look_raw_messages = NULL;
|
||||||
|
struct t_config_option *relay_config_look_raw_messages_max_length = NULL;
|
||||||
|
|
||||||
/* relay config, color section */
|
/* relay config, color section */
|
||||||
|
|
||||||
@@ -1455,6 +1456,13 @@ relay_config_init ()
|
|||||||
"buffer)"),
|
"buffer)"),
|
||||||
NULL, 0, 65535, "256", NULL, 0,
|
NULL, 0, 65535, "256", NULL, 0,
|
||||||
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||||
|
relay_config_look_raw_messages_max_length = weechat_config_new_option (
|
||||||
|
relay_config_file, relay_config_section_look,
|
||||||
|
"raw_messages_max_length", "integer",
|
||||||
|
N_("max number of chars to display in raw messages (very long "
|
||||||
|
"messages can cause slowness); 0 = display whole messages"),
|
||||||
|
NULL, 0, INT_MAX, "4096", NULL, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* section color */
|
/* section color */
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ extern struct t_config_section *relay_config_section_path;
|
|||||||
|
|
||||||
extern struct t_config_option *relay_config_look_auto_open_buffer;
|
extern struct t_config_option *relay_config_look_auto_open_buffer;
|
||||||
extern struct t_config_option *relay_config_look_raw_messages;
|
extern struct t_config_option *relay_config_look_raw_messages;
|
||||||
|
extern struct t_config_option *relay_config_look_raw_messages_max_length;
|
||||||
|
|
||||||
extern struct t_config_option *relay_config_color_client;
|
extern struct t_config_option *relay_config_color_client;
|
||||||
extern struct t_config_option *relay_config_color_status[];
|
extern struct t_config_option *relay_config_color_status[];
|
||||||
|
|||||||
@@ -385,6 +385,10 @@ error:
|
|||||||
/*
|
/*
|
||||||
* Parses and saves a HTTP header in hashtable "headers".
|
* Parses and saves a HTTP header in hashtable "headers".
|
||||||
*
|
*
|
||||||
|
* The parameter "ws_deflate_allowed" controls whether the websocket extension
|
||||||
|
* "permessage-deflate" is allowed or not (it is allowed only with "api"
|
||||||
|
* protocol).
|
||||||
|
*
|
||||||
* Returns:
|
* Returns:
|
||||||
* 1: OK, header saved
|
* 1: OK, header saved
|
||||||
* 0: error: invalid format
|
* 0: error: invalid format
|
||||||
@@ -392,7 +396,8 @@ error:
|
|||||||
|
|
||||||
int
|
int
|
||||||
relay_http_parse_header (struct t_relay_http_request *request,
|
relay_http_parse_header (struct t_relay_http_request *request,
|
||||||
const char *header)
|
const char *header,
|
||||||
|
int ws_deflate_allowed)
|
||||||
{
|
{
|
||||||
char *pos, *name, *name_lower, *error, **items;
|
char *pos, *name, *name_lower, *error, **items;
|
||||||
const char *ptr_value;
|
const char *ptr_value;
|
||||||
@@ -465,7 +470,12 @@ relay_http_parse_header (struct t_relay_http_request *request,
|
|||||||
* extensions
|
* extensions
|
||||||
*/
|
*/
|
||||||
if (strcmp (name_lower, "sec-websocket-extensions") == 0)
|
if (strcmp (name_lower, "sec-websocket-extensions") == 0)
|
||||||
relay_websocket_parse_extensions (ptr_value, request->ws_deflate);
|
{
|
||||||
|
relay_websocket_parse_extensions (
|
||||||
|
ptr_value,
|
||||||
|
request->ws_deflate,
|
||||||
|
ws_deflate_allowed);
|
||||||
|
}
|
||||||
|
|
||||||
free (name);
|
free (name);
|
||||||
free (name_lower);
|
free (name_lower);
|
||||||
@@ -891,7 +901,7 @@ void
|
|||||||
relay_http_recv (struct t_relay_client *client, const char *data)
|
relay_http_recv (struct t_relay_client *client, const char *data)
|
||||||
{
|
{
|
||||||
char *new_partial, *pos;
|
char *new_partial, *pos;
|
||||||
int length;
|
int length, ws_deflate_allowed;
|
||||||
|
|
||||||
if (client->partial_message)
|
if (client->partial_message)
|
||||||
{
|
{
|
||||||
@@ -924,8 +934,11 @@ relay_http_recv (struct t_relay_client *client, const char *data)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
ws_deflate_allowed = (client->protocol == RELAY_PROTOCOL_API) ?
|
||||||
|
1 : 0;
|
||||||
relay_http_parse_header (client->http_req,
|
relay_http_parse_header (client->http_req,
|
||||||
client->partial_message);
|
client->partial_message,
|
||||||
|
ws_deflate_allowed);
|
||||||
}
|
}
|
||||||
pos[0] = '\r';
|
pos[0] = '\r';
|
||||||
pos++;
|
pos++;
|
||||||
|
|||||||
@@ -303,8 +303,9 @@ relay_raw_message_add (enum t_relay_msg_type msg_type,
|
|||||||
const char *peer_id,
|
const char *peer_id,
|
||||||
const char *data, int data_size)
|
const char *data, int data_size)
|
||||||
{
|
{
|
||||||
char *raw_data, *buf, prefix[1024], prefix_arrow[16];
|
char *raw_data, *raw_data_cut, *buf, prefix[1024], prefix_arrow[16];
|
||||||
int length;
|
const char *ptr_raw_data;
|
||||||
|
int max_length;
|
||||||
struct t_relay_raw_message *new_raw_message;
|
struct t_relay_raw_message *new_raw_message;
|
||||||
struct timeval tv_now;
|
struct timeval tv_now;
|
||||||
|
|
||||||
@@ -350,15 +351,18 @@ relay_raw_message_add (enum t_relay_msg_type msg_type,
|
|||||||
(peer_id && peer_id[0]) ? peer_id : "");
|
(peer_id && peer_id[0]) ? peer_id : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
length = strlen (relay_msg_type_string[msg_type]) + strlen (raw_data) + 1;
|
raw_data_cut = NULL;
|
||||||
buf = malloc (length);
|
ptr_raw_data = raw_data;
|
||||||
if (buf)
|
max_length = weechat_config_integer (relay_config_look_raw_messages_max_length);
|
||||||
|
if (max_length > 0)
|
||||||
{
|
{
|
||||||
snprintf (buf, length, "%s%s",
|
raw_data_cut = weechat_string_cut (raw_data, max_length, 0, 0, " (...)");
|
||||||
relay_msg_type_string[msg_type],
|
ptr_raw_data = raw_data_cut;
|
||||||
raw_data);
|
|
||||||
}
|
}
|
||||||
|
weechat_asprintf (&buf, "%s%s",
|
||||||
|
relay_msg_type_string[msg_type],
|
||||||
|
(ptr_raw_data) ? ptr_raw_data : "");
|
||||||
|
free (raw_data_cut);
|
||||||
gettimeofday (&tv_now, NULL);
|
gettimeofday (&tv_now, NULL);
|
||||||
new_raw_message = relay_raw_message_add_to_list (
|
new_raw_message = relay_raw_message_add_to_list (
|
||||||
tv_now.tv_sec,
|
tv_now.tv_sec,
|
||||||
|
|||||||
@@ -544,6 +544,8 @@ relay_remote_new_with_infolist (struct t_infolist *infolist)
|
|||||||
new_remote->ws_deflate->client_context_takeover = weechat_infolist_integer (infolist, "ws_deflate_client_context_takeover");
|
new_remote->ws_deflate->client_context_takeover = weechat_infolist_integer (infolist, "ws_deflate_client_context_takeover");
|
||||||
new_remote->ws_deflate->window_bits_deflate = weechat_infolist_integer (infolist, "ws_deflate_window_bits_deflate");
|
new_remote->ws_deflate->window_bits_deflate = weechat_infolist_integer (infolist, "ws_deflate_window_bits_deflate");
|
||||||
new_remote->ws_deflate->window_bits_inflate = weechat_infolist_integer (infolist, "ws_deflate_window_bits_inflate");
|
new_remote->ws_deflate->window_bits_inflate = weechat_infolist_integer (infolist, "ws_deflate_window_bits_inflate");
|
||||||
|
new_remote->ws_deflate->server_max_window_bits_recv = weechat_infolist_integer (infolist, "ws_deflate_server_max_window_bits_recv");
|
||||||
|
new_remote->ws_deflate->client_max_window_bits_recv = weechat_infolist_integer (infolist, "ws_deflate_client_max_window_bits_recv");
|
||||||
new_remote->ws_deflate->strm_deflate = NULL;
|
new_remote->ws_deflate->strm_deflate = NULL;
|
||||||
new_remote->ws_deflate->strm_inflate = NULL;
|
new_remote->ws_deflate->strm_inflate = NULL;
|
||||||
if (weechat_infolist_search_var (infolist, "ws_deflate_strm_deflate_dict"))
|
if (weechat_infolist_search_var (infolist, "ws_deflate_strm_deflate_dict"))
|
||||||
|
|||||||
@@ -49,9 +49,11 @@ relay_websocket_deflate_alloc ()
|
|||||||
|
|
||||||
new_ws_deflate->enabled = 0;
|
new_ws_deflate->enabled = 0;
|
||||||
new_ws_deflate->server_context_takeover = 0;
|
new_ws_deflate->server_context_takeover = 0;
|
||||||
new_ws_deflate->server_context_takeover = 0;
|
new_ws_deflate->client_context_takeover = 0;
|
||||||
new_ws_deflate->window_bits_deflate = 0;
|
new_ws_deflate->window_bits_deflate = 0;
|
||||||
new_ws_deflate->window_bits_inflate = 0;
|
new_ws_deflate->window_bits_inflate = 0;
|
||||||
|
new_ws_deflate->server_max_window_bits_recv = 0;
|
||||||
|
new_ws_deflate->client_max_window_bits_recv = 0;
|
||||||
new_ws_deflate->strm_deflate = NULL;
|
new_ws_deflate->strm_deflate = NULL;
|
||||||
new_ws_deflate->strm_inflate = NULL;
|
new_ws_deflate->strm_inflate = NULL;
|
||||||
|
|
||||||
@@ -145,9 +147,11 @@ relay_websocket_deflate_reinit (struct t_relay_websocket_deflate *ws_deflate)
|
|||||||
{
|
{
|
||||||
ws_deflate->enabled = 0;
|
ws_deflate->enabled = 0;
|
||||||
ws_deflate->server_context_takeover = 0;
|
ws_deflate->server_context_takeover = 0;
|
||||||
ws_deflate->server_context_takeover = 0;
|
ws_deflate->client_context_takeover = 0;
|
||||||
ws_deflate->window_bits_deflate = 0;
|
ws_deflate->window_bits_deflate = 0;
|
||||||
ws_deflate->window_bits_inflate = 0;
|
ws_deflate->window_bits_inflate = 0;
|
||||||
|
ws_deflate->server_max_window_bits_recv = 0;
|
||||||
|
ws_deflate->client_max_window_bits_recv = 0;
|
||||||
relay_websocket_deflate_free_stream_deflate (ws_deflate);
|
relay_websocket_deflate_free_stream_deflate (ws_deflate);
|
||||||
relay_websocket_deflate_free_stream_inflate (ws_deflate);
|
relay_websocket_deflate_free_stream_inflate (ws_deflate);
|
||||||
}
|
}
|
||||||
@@ -297,7 +301,8 @@ relay_websocket_client_handshake_valid (struct t_relay_http_request *request)
|
|||||||
|
|
||||||
void
|
void
|
||||||
relay_websocket_parse_extensions (const char *extensions,
|
relay_websocket_parse_extensions (const char *extensions,
|
||||||
struct t_relay_websocket_deflate *ws_deflate)
|
struct t_relay_websocket_deflate *ws_deflate,
|
||||||
|
int ws_deflate_allowed)
|
||||||
{
|
{
|
||||||
char **exts, **params, **items, *error;
|
char **exts, **params, **items, *error;
|
||||||
int i, j, num_exts, num_params, num_items;
|
int i, j, num_exts, num_params, num_items;
|
||||||
@@ -315,6 +320,7 @@ relay_websocket_parse_extensions (const char *extensions,
|
|||||||
params = weechat_string_split (exts[i], ";", " ", 0, 0, &num_params);
|
params = weechat_string_split (exts[i], ";", " ", 0, 0, &num_params);
|
||||||
if (params && (num_params >= 1)
|
if (params && (num_params >= 1)
|
||||||
&& (strcmp (params[0], "permessage-deflate") == 0)
|
&& (strcmp (params[0], "permessage-deflate") == 0)
|
||||||
|
&& ws_deflate_allowed
|
||||||
&& (weechat_config_integer (relay_config_network_compression) > 0))
|
&& (weechat_config_integer (relay_config_network_compression) > 0))
|
||||||
{
|
{
|
||||||
ws_deflate->enabled = 1;
|
ws_deflate->enabled = 1;
|
||||||
@@ -322,6 +328,8 @@ relay_websocket_parse_extensions (const char *extensions,
|
|||||||
ws_deflate->client_context_takeover = 1;
|
ws_deflate->client_context_takeover = 1;
|
||||||
ws_deflate->window_bits_deflate = 15;
|
ws_deflate->window_bits_deflate = 15;
|
||||||
ws_deflate->window_bits_inflate = 15;
|
ws_deflate->window_bits_inflate = 15;
|
||||||
|
ws_deflate->server_max_window_bits_recv = 0;
|
||||||
|
ws_deflate->client_max_window_bits_recv = 0;
|
||||||
for (j = 1; j < num_params; j++)
|
for (j = 1; j < num_params; j++)
|
||||||
{
|
{
|
||||||
items = weechat_string_split (params[j], "=", " ", 0, 0, &num_items);
|
items = weechat_string_split (params[j], "=", " ", 0, 0, &num_items);
|
||||||
@@ -356,9 +364,15 @@ relay_websocket_parse_extensions (const char *extensions,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (strcmp (items[0], "server_max_window_bits") == 0)
|
if (strcmp (items[0], "server_max_window_bits") == 0)
|
||||||
|
{
|
||||||
|
ws_deflate->server_max_window_bits_recv = 1;
|
||||||
ws_deflate->window_bits_deflate = (int)number;
|
ws_deflate->window_bits_deflate = (int)number;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
ws_deflate->client_max_window_bits_recv = 1;
|
||||||
ws_deflate->window_bits_inflate = (int)number;
|
ws_deflate->window_bits_inflate = (int)number;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
weechat_string_free_split (items);
|
weechat_string_free_split (items);
|
||||||
@@ -388,7 +402,7 @@ relay_websocket_build_handshake (struct t_relay_http_request *request)
|
|||||||
{
|
{
|
||||||
const char *sec_websocket_key;
|
const char *sec_websocket_key;
|
||||||
char *key, sec_websocket_accept[128], handshake[4096], hash[160 / 8];
|
char *key, sec_websocket_accept[128], handshake[4096], hash[160 / 8];
|
||||||
char sec_websocket_extensions[512];
|
char **extensions, str_window_bits[128], sec_websocket_extensions[1024];
|
||||||
int length, hash_size;
|
int length, hash_size;
|
||||||
|
|
||||||
if (!request)
|
if (!request)
|
||||||
@@ -426,17 +440,41 @@ relay_websocket_build_handshake (struct t_relay_http_request *request)
|
|||||||
|
|
||||||
if (request->ws_deflate->enabled)
|
if (request->ws_deflate->enabled)
|
||||||
{
|
{
|
||||||
|
extensions = weechat_string_dyn_alloc (128);
|
||||||
|
if (!extensions)
|
||||||
|
return NULL;
|
||||||
|
weechat_string_dyn_concat (extensions, "permessage-deflate", -1);
|
||||||
|
if (!request->ws_deflate->server_context_takeover)
|
||||||
|
{
|
||||||
|
weechat_string_dyn_concat (extensions, "; ", -1);
|
||||||
|
weechat_string_dyn_concat (extensions, "server_no_context_takeover", -1);
|
||||||
|
}
|
||||||
|
if (!request->ws_deflate->client_context_takeover)
|
||||||
|
{
|
||||||
|
weechat_string_dyn_concat (extensions, "; ", -1);
|
||||||
|
weechat_string_dyn_concat (extensions, "client_no_context_takeover", -1);
|
||||||
|
}
|
||||||
|
if (request->ws_deflate->server_max_window_bits_recv)
|
||||||
|
{
|
||||||
|
weechat_string_dyn_concat (extensions, "; ", -1);
|
||||||
|
snprintf (str_window_bits, sizeof (str_window_bits),
|
||||||
|
"server_max_window_bits=%d",
|
||||||
|
request->ws_deflate->window_bits_deflate);
|
||||||
|
weechat_string_dyn_concat (extensions, str_window_bits, -1);
|
||||||
|
}
|
||||||
|
if (request->ws_deflate->client_max_window_bits_recv)
|
||||||
|
{
|
||||||
|
weechat_string_dyn_concat (extensions, "; ", -1);
|
||||||
|
snprintf (str_window_bits, sizeof (str_window_bits),
|
||||||
|
"client_max_window_bits=%d",
|
||||||
|
request->ws_deflate->window_bits_inflate);
|
||||||
|
weechat_string_dyn_concat (extensions, str_window_bits, -1);
|
||||||
|
}
|
||||||
snprintf (
|
snprintf (
|
||||||
sec_websocket_extensions, sizeof (sec_websocket_extensions),
|
sec_websocket_extensions, sizeof (sec_websocket_extensions),
|
||||||
"Sec-WebSocket-Extensions: permessage-deflate; "
|
"Sec-WebSocket-Extensions: %s\r\n",
|
||||||
"%s"
|
*extensions);
|
||||||
"%s"
|
weechat_string_dyn_free (extensions, 1);
|
||||||
"server_max_window_bits=%d; "
|
|
||||||
"client_max_window_bits=%d\r\n",
|
|
||||||
(!request->ws_deflate->server_context_takeover) ? "server_no_context_takeover; " : "",
|
|
||||||
(!request->ws_deflate->client_context_takeover) ? "client_no_context_takeover; " : "",
|
|
||||||
request->ws_deflate->window_bits_deflate,
|
|
||||||
request->ws_deflate->window_bits_inflate);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -951,11 +989,13 @@ relay_websocket_deflate_print_log (struct t_relay_websocket_deflate *ws_deflate,
|
|||||||
const char *prefix)
|
const char *prefix)
|
||||||
{
|
{
|
||||||
weechat_log_printf ("%s ws_deflate:", prefix);
|
weechat_log_printf ("%s ws_deflate:", prefix);
|
||||||
weechat_log_printf ("%s enabled . . . . . . . . : %d", prefix, ws_deflate->enabled);
|
weechat_log_printf ("%s enabled. . . . . . . . . . : %d", prefix, ws_deflate->enabled);
|
||||||
weechat_log_printf ("%s server_context_takeover : %d", prefix, ws_deflate->server_context_takeover);
|
weechat_log_printf ("%s server_context_takeover. . : %d", prefix, ws_deflate->server_context_takeover);
|
||||||
weechat_log_printf ("%s client_context_takeover : %d", prefix, ws_deflate->client_context_takeover);
|
weechat_log_printf ("%s client_context_takeover. . : %d", prefix, ws_deflate->client_context_takeover);
|
||||||
weechat_log_printf ("%s window_bits_deflate . . : %d", prefix, ws_deflate->window_bits_deflate);
|
weechat_log_printf ("%s window_bits_deflate. . . . : %d", prefix, ws_deflate->window_bits_deflate);
|
||||||
weechat_log_printf ("%s window_bits_inflate . . : %d", prefix, ws_deflate->window_bits_inflate);
|
weechat_log_printf ("%s window_bits_inflate. . . . : %d", prefix, ws_deflate->window_bits_inflate);
|
||||||
weechat_log_printf ("%s strm_deflate. . . . . . : %p", prefix, ws_deflate->strm_deflate);
|
weechat_log_printf ("%s server_max_window_bits_recv: %d", prefix, ws_deflate->server_max_window_bits_recv);
|
||||||
weechat_log_printf ("%s strm_inflate. . . . . . : %p", prefix, ws_deflate->strm_inflate);
|
weechat_log_printf ("%s client_max_window_bits_recv: %d", prefix, ws_deflate->client_max_window_bits_recv);
|
||||||
|
weechat_log_printf ("%s strm_deflate . . . . . . . : %p", prefix, ws_deflate->strm_deflate);
|
||||||
|
weechat_log_printf ("%s strm_inflate . . . . . . . : %p", prefix, ws_deflate->strm_inflate);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ struct t_relay_websocket_deflate
|
|||||||
/* ("server_max_window_bits") */
|
/* ("server_max_window_bits") */
|
||||||
int window_bits_inflate; /* window bits for client (decomp.) */
|
int window_bits_inflate; /* window bits for client (decomp.) */
|
||||||
/* ("client_max_window_bits") */
|
/* ("client_max_window_bits") */
|
||||||
|
int server_max_window_bits_recv; /* "server_max_window_bits" received?*/
|
||||||
|
int client_max_window_bits_recv; /* "client_max_window_bits" received?*/
|
||||||
z_stream *strm_deflate; /* stream for deflate (compression) */
|
z_stream *strm_deflate; /* stream for deflate (compression) */
|
||||||
z_stream *strm_inflate; /* stream for inflate (decompression)*/
|
z_stream *strm_inflate; /* stream for inflate (decompression)*/
|
||||||
};
|
};
|
||||||
@@ -69,7 +71,8 @@ extern int relay_websocket_is_valid_http_get (enum t_relay_protocol protocol,
|
|||||||
const char *message);
|
const char *message);
|
||||||
extern int relay_websocket_client_handshake_valid (struct t_relay_http_request *request);
|
extern int relay_websocket_client_handshake_valid (struct t_relay_http_request *request);
|
||||||
extern void relay_websocket_parse_extensions (const char *extensions,
|
extern void relay_websocket_parse_extensions (const char *extensions,
|
||||||
struct t_relay_websocket_deflate *ws_deflate);
|
struct t_relay_websocket_deflate *ws_deflate,
|
||||||
|
int ws_deflate_allowed);
|
||||||
extern char *relay_websocket_build_handshake (struct t_relay_http_request *request);
|
extern char *relay_websocket_build_handshake (struct t_relay_http_request *request);
|
||||||
extern int relay_websocket_decode_frame (const unsigned char *buffer,
|
extern int relay_websocket_decode_frame (const unsigned char *buffer,
|
||||||
unsigned long long length,
|
unsigned long long length,
|
||||||
|
|||||||
@@ -380,6 +380,7 @@ xfer_chat_open_buffer (struct t_xfer *xfer)
|
|||||||
weechat_buffer_set (xfer->buffer, "short_name",
|
weechat_buffer_set (xfer->buffer, "short_name",
|
||||||
xfer->remote_nick);
|
xfer->remote_nick);
|
||||||
}
|
}
|
||||||
|
weechat_buffer_set (xfer->buffer, "input_prompt", xfer->local_nick);
|
||||||
weechat_buffer_set (xfer->buffer, "localvar_set_type", "private");
|
weechat_buffer_set (xfer->buffer, "localvar_set_type", "private");
|
||||||
weechat_buffer_set (xfer->buffer, "localvar_set_nick", xfer->local_nick);
|
weechat_buffer_set (xfer->buffer, "localvar_set_nick", xfer->local_nick);
|
||||||
weechat_buffer_set (xfer->buffer, "localvar_set_channel", xfer->remote_nick);
|
weechat_buffer_set (xfer->buffer, "localvar_set_channel", xfer->remote_nick);
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ TEST(RelayHttp, RequestAllocReinitFree)
|
|||||||
CHECK(request->ws_deflate);
|
CHECK(request->ws_deflate);
|
||||||
LONGS_EQUAL(0, request->ws_deflate->enabled);
|
LONGS_EQUAL(0, request->ws_deflate->enabled);
|
||||||
LONGS_EQUAL(0, request->ws_deflate->server_context_takeover);
|
LONGS_EQUAL(0, request->ws_deflate->server_context_takeover);
|
||||||
LONGS_EQUAL(0, request->ws_deflate->server_context_takeover);
|
LONGS_EQUAL(0, request->ws_deflate->client_context_takeover);
|
||||||
LONGS_EQUAL(0, request->ws_deflate->window_bits_deflate);
|
LONGS_EQUAL(0, request->ws_deflate->window_bits_deflate);
|
||||||
LONGS_EQUAL(0, request->ws_deflate->window_bits_inflate);
|
LONGS_EQUAL(0, request->ws_deflate->window_bits_inflate);
|
||||||
POINTERS_EQUAL(NULL, request->ws_deflate->strm_deflate);
|
POINTERS_EQUAL(NULL, request->ws_deflate->strm_deflate);
|
||||||
@@ -146,7 +146,7 @@ TEST(RelayHttp, RequestAllocReinitFree)
|
|||||||
CHECK(request->ws_deflate);
|
CHECK(request->ws_deflate);
|
||||||
LONGS_EQUAL(0, request->ws_deflate->enabled);
|
LONGS_EQUAL(0, request->ws_deflate->enabled);
|
||||||
LONGS_EQUAL(0, request->ws_deflate->server_context_takeover);
|
LONGS_EQUAL(0, request->ws_deflate->server_context_takeover);
|
||||||
LONGS_EQUAL(0, request->ws_deflate->server_context_takeover);
|
LONGS_EQUAL(0, request->ws_deflate->client_context_takeover);
|
||||||
LONGS_EQUAL(0, request->ws_deflate->window_bits_deflate);
|
LONGS_EQUAL(0, request->ws_deflate->window_bits_deflate);
|
||||||
LONGS_EQUAL(0, request->ws_deflate->window_bits_inflate);
|
LONGS_EQUAL(0, request->ws_deflate->window_bits_inflate);
|
||||||
POINTERS_EQUAL(NULL, request->ws_deflate->strm_deflate);
|
POINTERS_EQUAL(NULL, request->ws_deflate->strm_deflate);
|
||||||
@@ -565,7 +565,7 @@ TEST(RelayHttp, ParseHeader)
|
|||||||
CHECK(request->ws_deflate);
|
CHECK(request->ws_deflate);
|
||||||
LONGS_EQUAL(1, request->ws_deflate->enabled);
|
LONGS_EQUAL(1, request->ws_deflate->enabled);
|
||||||
LONGS_EQUAL(1, request->ws_deflate->server_context_takeover);
|
LONGS_EQUAL(1, request->ws_deflate->server_context_takeover);
|
||||||
LONGS_EQUAL(1, request->ws_deflate->server_context_takeover);
|
LONGS_EQUAL(1, request->ws_deflate->client_context_takeover);
|
||||||
LONGS_EQUAL(15, request->ws_deflate->window_bits_deflate);
|
LONGS_EQUAL(15, request->ws_deflate->window_bits_deflate);
|
||||||
LONGS_EQUAL(15, request->ws_deflate->window_bits_inflate);
|
LONGS_EQUAL(15, request->ws_deflate->window_bits_inflate);
|
||||||
POINTERS_EQUAL(NULL, request->ws_deflate->strm_deflate);
|
POINTERS_EQUAL(NULL, request->ws_deflate->strm_deflate);
|
||||||
|
|||||||
@@ -62,9 +62,11 @@ TEST(RelayWebsocket, DeflateAllocFree)
|
|||||||
ws_deflate = relay_websocket_deflate_alloc ();
|
ws_deflate = relay_websocket_deflate_alloc ();
|
||||||
LONGS_EQUAL(0, ws_deflate->enabled);
|
LONGS_EQUAL(0, ws_deflate->enabled);
|
||||||
LONGS_EQUAL(0, ws_deflate->server_context_takeover);
|
LONGS_EQUAL(0, ws_deflate->server_context_takeover);
|
||||||
LONGS_EQUAL(0, ws_deflate->server_context_takeover);
|
LONGS_EQUAL(0, ws_deflate->client_context_takeover);
|
||||||
LONGS_EQUAL(0, ws_deflate->window_bits_deflate);
|
LONGS_EQUAL(0, ws_deflate->window_bits_deflate);
|
||||||
LONGS_EQUAL(0, ws_deflate->window_bits_inflate);
|
LONGS_EQUAL(0, ws_deflate->window_bits_inflate);
|
||||||
|
LONGS_EQUAL(0, ws_deflate->server_max_window_bits_recv);
|
||||||
|
LONGS_EQUAL(0, ws_deflate->client_max_window_bits_recv);
|
||||||
POINTERS_EQUAL(NULL, ws_deflate->strm_deflate);
|
POINTERS_EQUAL(NULL, ws_deflate->strm_deflate);
|
||||||
POINTERS_EQUAL(NULL, ws_deflate->strm_inflate);
|
POINTERS_EQUAL(NULL, ws_deflate->strm_inflate);
|
||||||
|
|
||||||
@@ -164,33 +166,78 @@ TEST(RelayWebsocket, ClientHandshakeValid)
|
|||||||
hashtable_set (request->headers, "origin", "example.com");
|
hashtable_set (request->headers, "origin", "example.com");
|
||||||
LONGS_EQUAL(0, relay_websocket_client_handshake_valid (request));
|
LONGS_EQUAL(0, relay_websocket_client_handshake_valid (request));
|
||||||
|
|
||||||
|
relay_websocket_deflate_reinit (request->ws_deflate);
|
||||||
|
relay_websocket_parse_extensions ("permessage-deflate", request->ws_deflate, 1);
|
||||||
|
LONGS_EQUAL(1, request->ws_deflate->enabled);
|
||||||
|
LONGS_EQUAL(1, request->ws_deflate->server_context_takeover);
|
||||||
|
LONGS_EQUAL(1, request->ws_deflate->client_context_takeover);
|
||||||
|
LONGS_EQUAL(15, request->ws_deflate->window_bits_deflate);
|
||||||
|
LONGS_EQUAL(15, request->ws_deflate->window_bits_inflate);
|
||||||
|
LONGS_EQUAL(0, request->ws_deflate->server_max_window_bits_recv);
|
||||||
|
LONGS_EQUAL(0, request->ws_deflate->client_max_window_bits_recv);
|
||||||
|
WEE_TEST_STR(
|
||||||
|
"HTTP/1.1 101 Switching Protocols\r\n"
|
||||||
|
"Upgrade: websocket\r\n"
|
||||||
|
"Connection: Upgrade\r\n"
|
||||||
|
"Sec-WebSocket-Accept: fhLJYtv//ugX2vQXpifQgByRZ5Y=\r\n"
|
||||||
|
"Sec-WebSocket-Extensions: permessage-deflate\r\n"
|
||||||
|
"\r\n",
|
||||||
|
relay_websocket_build_handshake (request));
|
||||||
|
|
||||||
|
relay_websocket_deflate_reinit (request->ws_deflate);
|
||||||
relay_websocket_parse_extensions (
|
relay_websocket_parse_extensions (
|
||||||
"permessage-deflate; client_max_window_bits",
|
"permessage-deflate; client_max_window_bits",
|
||||||
request->ws_deflate);
|
request->ws_deflate,
|
||||||
|
1);
|
||||||
|
LONGS_EQUAL(1, request->ws_deflate->enabled);
|
||||||
|
LONGS_EQUAL(1, request->ws_deflate->server_context_takeover);
|
||||||
|
LONGS_EQUAL(1, request->ws_deflate->client_context_takeover);
|
||||||
|
LONGS_EQUAL(15, request->ws_deflate->window_bits_deflate);
|
||||||
|
LONGS_EQUAL(15, request->ws_deflate->window_bits_inflate);
|
||||||
|
LONGS_EQUAL(0, request->ws_deflate->server_max_window_bits_recv);
|
||||||
|
LONGS_EQUAL(1, request->ws_deflate->client_max_window_bits_recv);
|
||||||
WEE_TEST_STR(
|
WEE_TEST_STR(
|
||||||
"HTTP/1.1 101 Switching Protocols\r\n"
|
"HTTP/1.1 101 Switching Protocols\r\n"
|
||||||
"Upgrade: websocket\r\n"
|
"Upgrade: websocket\r\n"
|
||||||
"Connection: Upgrade\r\n"
|
"Connection: Upgrade\r\n"
|
||||||
"Sec-WebSocket-Accept: fhLJYtv//ugX2vQXpifQgByRZ5Y=\r\n"
|
"Sec-WebSocket-Accept: fhLJYtv//ugX2vQXpifQgByRZ5Y=\r\n"
|
||||||
"Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=15; client_max_window_bits=15\r\n"
|
"Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits=15\r\n"
|
||||||
"\r\n",
|
"\r\n",
|
||||||
relay_websocket_build_handshake (request));
|
relay_websocket_build_handshake (request));
|
||||||
|
|
||||||
|
relay_websocket_deflate_reinit (request->ws_deflate);
|
||||||
relay_websocket_parse_extensions (
|
relay_websocket_parse_extensions (
|
||||||
"permessage-deflate; client_max_window_bits = 12; server_no_context_takeover",
|
"permessage-deflate; client_max_window_bits = 12; server_no_context_takeover",
|
||||||
request->ws_deflate);
|
request->ws_deflate,
|
||||||
|
1);
|
||||||
|
LONGS_EQUAL(1, request->ws_deflate->enabled);
|
||||||
|
LONGS_EQUAL(0, request->ws_deflate->server_context_takeover);
|
||||||
|
LONGS_EQUAL(1, request->ws_deflate->client_context_takeover);
|
||||||
|
LONGS_EQUAL(15, request->ws_deflate->window_bits_deflate);
|
||||||
|
LONGS_EQUAL(12, request->ws_deflate->window_bits_inflate);
|
||||||
|
LONGS_EQUAL(0, request->ws_deflate->server_max_window_bits_recv);
|
||||||
|
LONGS_EQUAL(1, request->ws_deflate->client_max_window_bits_recv);
|
||||||
WEE_TEST_STR(
|
WEE_TEST_STR(
|
||||||
"HTTP/1.1 101 Switching Protocols\r\n"
|
"HTTP/1.1 101 Switching Protocols\r\n"
|
||||||
"Upgrade: websocket\r\n"
|
"Upgrade: websocket\r\n"
|
||||||
"Connection: Upgrade\r\n"
|
"Connection: Upgrade\r\n"
|
||||||
"Sec-WebSocket-Accept: fhLJYtv//ugX2vQXpifQgByRZ5Y=\r\n"
|
"Sec-WebSocket-Accept: fhLJYtv//ugX2vQXpifQgByRZ5Y=\r\n"
|
||||||
"Sec-WebSocket-Extensions: permessage-deflate; server_no_context_takeover; server_max_window_bits=15; client_max_window_bits=12\r\n"
|
"Sec-WebSocket-Extensions: permessage-deflate; server_no_context_takeover; client_max_window_bits=12\r\n"
|
||||||
"\r\n",
|
"\r\n",
|
||||||
relay_websocket_build_handshake (request));
|
relay_websocket_build_handshake (request));
|
||||||
|
|
||||||
|
relay_websocket_deflate_reinit (request->ws_deflate);
|
||||||
relay_websocket_parse_extensions (
|
relay_websocket_parse_extensions (
|
||||||
"permessage-deflate; client_max_window_bits = 12; server_max_window_bits=8; client_no_context_takeover; server_no_context_takeover",
|
"permessage-deflate; client_max_window_bits = 12; server_max_window_bits=8; client_no_context_takeover; server_no_context_takeover",
|
||||||
request->ws_deflate);
|
request->ws_deflate,
|
||||||
|
1);
|
||||||
|
LONGS_EQUAL(1, request->ws_deflate->enabled);
|
||||||
|
LONGS_EQUAL(0, request->ws_deflate->server_context_takeover);
|
||||||
|
LONGS_EQUAL(0, request->ws_deflate->client_context_takeover);
|
||||||
|
LONGS_EQUAL(8, request->ws_deflate->window_bits_deflate);
|
||||||
|
LONGS_EQUAL(12, request->ws_deflate->window_bits_inflate);
|
||||||
|
LONGS_EQUAL(1, request->ws_deflate->server_max_window_bits_recv);
|
||||||
|
LONGS_EQUAL(1, request->ws_deflate->client_max_window_bits_recv);
|
||||||
WEE_TEST_STR(
|
WEE_TEST_STR(
|
||||||
"HTTP/1.1 101 Switching Protocols\r\n"
|
"HTTP/1.1 101 Switching Protocols\r\n"
|
||||||
"Upgrade: websocket\r\n"
|
"Upgrade: websocket\r\n"
|
||||||
@@ -212,16 +259,26 @@ TEST(RelayWebsocket, ParseExtensions)
|
|||||||
{
|
{
|
||||||
struct t_relay_websocket_deflate ws_deflate;
|
struct t_relay_websocket_deflate ws_deflate;
|
||||||
|
|
||||||
relay_websocket_parse_extensions (NULL, NULL);
|
relay_websocket_parse_extensions (NULL, NULL, 1);
|
||||||
relay_websocket_parse_extensions ("test", NULL);
|
relay_websocket_parse_extensions ("test", NULL, 1);
|
||||||
relay_websocket_parse_extensions (NULL, &ws_deflate);
|
relay_websocket_parse_extensions (NULL, &ws_deflate, 1);
|
||||||
|
|
||||||
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
||||||
relay_websocket_parse_extensions ("test", &ws_deflate);
|
relay_websocket_parse_extensions ("test", &ws_deflate, 1);
|
||||||
LONGS_EQUAL(0, ws_deflate.enabled);
|
LONGS_EQUAL(0, ws_deflate.enabled);
|
||||||
|
|
||||||
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
||||||
relay_websocket_parse_extensions ("permessage-deflate", &ws_deflate);
|
relay_websocket_parse_extensions ("permessage-deflate", &ws_deflate, 0);
|
||||||
|
LONGS_EQUAL(0, ws_deflate.enabled);
|
||||||
|
LONGS_EQUAL(0, ws_deflate.server_context_takeover);
|
||||||
|
LONGS_EQUAL(0, ws_deflate.client_context_takeover);
|
||||||
|
LONGS_EQUAL(0, ws_deflate.window_bits_deflate);
|
||||||
|
LONGS_EQUAL(0, ws_deflate.window_bits_inflate);
|
||||||
|
POINTERS_EQUAL(NULL, ws_deflate.strm_deflate);
|
||||||
|
POINTERS_EQUAL(NULL, ws_deflate.strm_inflate);
|
||||||
|
|
||||||
|
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
||||||
|
relay_websocket_parse_extensions ("permessage-deflate", &ws_deflate, 1);
|
||||||
LONGS_EQUAL(1, ws_deflate.enabled);
|
LONGS_EQUAL(1, ws_deflate.enabled);
|
||||||
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
||||||
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
||||||
@@ -232,7 +289,8 @@ TEST(RelayWebsocket, ParseExtensions)
|
|||||||
|
|
||||||
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
||||||
relay_websocket_parse_extensions ("permessage-deflate; client_max_window_bits",
|
relay_websocket_parse_extensions ("permessage-deflate; client_max_window_bits",
|
||||||
&ws_deflate);
|
&ws_deflate,
|
||||||
|
1);
|
||||||
LONGS_EQUAL(1, ws_deflate.enabled);
|
LONGS_EQUAL(1, ws_deflate.enabled);
|
||||||
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
||||||
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
||||||
@@ -245,7 +303,8 @@ TEST(RelayWebsocket, ParseExtensions)
|
|||||||
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
||||||
relay_websocket_parse_extensions (
|
relay_websocket_parse_extensions (
|
||||||
"permessage-deflate; client_max_window_bits=4",
|
"permessage-deflate; client_max_window_bits=4",
|
||||||
&ws_deflate);
|
&ws_deflate,
|
||||||
|
1);
|
||||||
LONGS_EQUAL(1, ws_deflate.enabled);
|
LONGS_EQUAL(1, ws_deflate.enabled);
|
||||||
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
||||||
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
||||||
@@ -258,7 +317,8 @@ TEST(RelayWebsocket, ParseExtensions)
|
|||||||
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
||||||
relay_websocket_parse_extensions (
|
relay_websocket_parse_extensions (
|
||||||
"permessage-deflate; client_max_window_bits=30",
|
"permessage-deflate; client_max_window_bits=30",
|
||||||
&ws_deflate);
|
&ws_deflate,
|
||||||
|
1);
|
||||||
LONGS_EQUAL(1, ws_deflate.enabled);
|
LONGS_EQUAL(1, ws_deflate.enabled);
|
||||||
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
||||||
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
||||||
@@ -271,7 +331,8 @@ TEST(RelayWebsocket, ParseExtensions)
|
|||||||
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
||||||
relay_websocket_parse_extensions (
|
relay_websocket_parse_extensions (
|
||||||
"permessage-deflate; client_max_window_bits=test",
|
"permessage-deflate; client_max_window_bits=test",
|
||||||
&ws_deflate);
|
&ws_deflate,
|
||||||
|
1);
|
||||||
LONGS_EQUAL(1, ws_deflate.enabled);
|
LONGS_EQUAL(1, ws_deflate.enabled);
|
||||||
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
||||||
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
||||||
@@ -283,7 +344,8 @@ TEST(RelayWebsocket, ParseExtensions)
|
|||||||
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
||||||
relay_websocket_parse_extensions (
|
relay_websocket_parse_extensions (
|
||||||
"permessage-deflate; client_max_window_bits=9",
|
"permessage-deflate; client_max_window_bits=9",
|
||||||
&ws_deflate);
|
&ws_deflate,
|
||||||
|
1);
|
||||||
LONGS_EQUAL(1, ws_deflate.enabled);
|
LONGS_EQUAL(1, ws_deflate.enabled);
|
||||||
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
||||||
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
||||||
@@ -295,7 +357,8 @@ TEST(RelayWebsocket, ParseExtensions)
|
|||||||
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
memset (&ws_deflate, 0, sizeof (ws_deflate));
|
||||||
relay_websocket_parse_extensions (
|
relay_websocket_parse_extensions (
|
||||||
"permessage-deflate; client_max_window_bits=9; server_max_window_bits=10",
|
"permessage-deflate; client_max_window_bits=9; server_max_window_bits=10",
|
||||||
&ws_deflate);
|
&ws_deflate,
|
||||||
|
1);
|
||||||
LONGS_EQUAL(1, ws_deflate.enabled);
|
LONGS_EQUAL(1, ws_deflate.enabled);
|
||||||
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.server_context_takeover);
|
||||||
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
||||||
@@ -308,7 +371,8 @@ TEST(RelayWebsocket, ParseExtensions)
|
|||||||
relay_websocket_parse_extensions (
|
relay_websocket_parse_extensions (
|
||||||
"permessage-deflate; client_max_window_bits=9; server_max_window_bits=10; "
|
"permessage-deflate; client_max_window_bits=9; server_max_window_bits=10; "
|
||||||
"server_no_context_takeover",
|
"server_no_context_takeover",
|
||||||
&ws_deflate);
|
&ws_deflate,
|
||||||
|
1);
|
||||||
LONGS_EQUAL(1, ws_deflate.enabled);
|
LONGS_EQUAL(1, ws_deflate.enabled);
|
||||||
LONGS_EQUAL(0, ws_deflate.server_context_takeover);
|
LONGS_EQUAL(0, ws_deflate.server_context_takeover);
|
||||||
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
LONGS_EQUAL(1, ws_deflate.client_context_takeover);
|
||||||
@@ -321,7 +385,8 @@ TEST(RelayWebsocket, ParseExtensions)
|
|||||||
relay_websocket_parse_extensions (
|
relay_websocket_parse_extensions (
|
||||||
"permessage-deflate; client_max_window_bits=9; server_max_window_bits=10; "
|
"permessage-deflate; client_max_window_bits=9; server_max_window_bits=10; "
|
||||||
"server_no_context_takeover; client_no_context_takeover",
|
"server_no_context_takeover; client_no_context_takeover",
|
||||||
&ws_deflate);
|
&ws_deflate,
|
||||||
|
1);
|
||||||
LONGS_EQUAL(1, ws_deflate.enabled);
|
LONGS_EQUAL(1, ws_deflate.enabled);
|
||||||
LONGS_EQUAL(0, ws_deflate.server_context_takeover);
|
LONGS_EQUAL(0, ws_deflate.server_context_takeover);
|
||||||
LONGS_EQUAL(0, ws_deflate.client_context_takeover);
|
LONGS_EQUAL(0, ws_deflate.client_context_takeover);
|
||||||
|
|||||||
+2
-2
@@ -39,8 +39,8 @@
|
|||||||
# devel-number the devel version as hex number ("0x04010000" for "4.1.0-dev")
|
# devel-number the devel version as hex number ("0x04010000" for "4.1.0-dev")
|
||||||
#
|
#
|
||||||
|
|
||||||
weechat_stable="4.3.1"
|
weechat_stable="4.3.2"
|
||||||
weechat_devel="4.3.1"
|
weechat_devel="4.3.2"
|
||||||
|
|
||||||
stable_major=$(echo "${weechat_stable}" | cut -d"." -f1)
|
stable_major=$(echo "${weechat_stable}" | cut -d"." -f1)
|
||||||
stable_minor=$(echo "${weechat_stable}" | cut -d"." -f2)
|
stable_minor=$(echo "${weechat_stable}" | cut -d"." -f2)
|
||||||
|
|||||||
Reference in New Issue
Block a user