relay: add support of SSL (for irc and weechat protocols), new option relay.network.ssl_cert_key (task #12044)

v2.8-utf8proc
Sebastien Helleu 2012-07-27 17:54:08 +02:00
parent 32b8f34567
commit 782e01f177
56 changed files with 2556 additions and 688 deletions

View File

@ -1,7 +1,7 @@
WeeChat ChangeLog
=================
Sébastien Helleu <flashcode@flashtux.org>
v0.3.9-dev, 2012-07-21
v0.3.9-dev, 2012-07-27
Version 0.3.9 (under dev!)
@ -53,6 +53,9 @@ Version 0.3.9 (under dev!)
* python: fix detection of python (first try "python2.x" and then "python")
(bug #36835)
* python: fix crash when unloading a script without pointer to interpreter
* relay: add support of SSL (for irc and weechat protocols), new option
relay.network.ssl_cert_key (task #12044)
* relay: add option relay.color.client
* relay: add object type "arr" (array) in WeeChat protocol
* relay: fix freeze when writing on relay socket (use non-blocking sockets in
relay for irc and weechat protocols) (bug #36655)

View File

@ -509,7 +509,7 @@
** Werte: on, off (Standardwert: `off`)
* [[option_irc.server_default.ssl_cert]] *irc.server_default.ssl_cert*
** Beschreibung: `Datei für ssl Zertifikat um automatisch den eigenen Nick zu identifizieren ("%h" wird durch das WeeChat Verzeichnis ersetzt, Standardverzeichnis: "~/.weechat")`
** Beschreibung: `SSL certificate file used to automatically identify your nick ("%h" will be replaced by WeeChat home, "~/.weechat" by default)`
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette (Standardwert: `""`)
@ -524,7 +524,7 @@
** Werte: beliebige Zeichenkette (Standardwert: `"NORMAL"`)
* [[option_irc.server_default.ssl_verify]] *irc.server_default.ssl_verify*
** Beschreibung: `Überprüfe ob die SSL-Verbindung vertrauenswürdig ist`
** Beschreibung: `check that the SSL connection is fully trusted`
** Typ: boolesch
** Werte: on, off (Standardwert: `on`)

View File

@ -5,24 +5,31 @@
add <protocol.name> <port>
del <protocol.name>
raw
sslcertkey
list: Auflistung der Relay-Clients (nur aktive Relays)
listfull: detaillierte Auflistung der Relay-Clients (alle Relays)
listrelay: Auflistung der Relays (Name und Port)
add: fügt ein Relay, für ein Protokoll + Name, hinzu
del: entfernt Relay für ein Protokoll + Name
protocol.name: Protokoll und Name des Relay:
- Protokoll "irc": und der Name des Servers welcher geteilt werden soll
- Protokoll "weechat" (Name wird nicht unterstützt)
port: Port den das Relay nutzen soll
raw: öffnet Buffer mit RAW-Relay Daten
list: list relay clients (only active relays)
listfull: list relay clients (verbose, all relays)
listrelay: list relays (name and port)
add: add relay for a protocol + name
del: remove relay for a protocol + name
protocol.name: protocol and name to relay:
- protocol "irc": name is the server to share
- protocol "weechat" (name is not used)
Note: the protocol can be prefixed by "ssl." to enable SSL
port: port used for relay
raw: open buffer with raw Relay data
sslcertkey: set SSL certificate/key using path in option relay.network.ssl_cert_key
Ohne Angabe von Argumenten werden alle Relay-Clients in einem neuen Buffer dargestellt.
Without argument, this command opens buffer with list of relay clients.
Beispiel:
IRC Proxy für Server "freenode":
Examples:
irc proxy, for server "freenode":
/relay add irc.freenode 8000
irc proxy, for server "freenode", with SSL:
/relay add ssl.irc.freenode 8001
weechat protocol:
/relay add weechat 8001
/relay add weechat 9000
weechat protocol with SSL:
/relay add ssl.weechat 9001
........................................

View File

@ -1,3 +1,8 @@
* [[option_relay.color.client]] *relay.color.client*
** Beschreibung: `text color for client description`
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "_" für unterstrichen (Standardwert: `cyan`)
* [[option_relay.color.status_active]] *relay.color.status_active*
** Beschreibung: `Textfarbe für Status: "Verbindung hergestellt"`
** Typ: Farbe
@ -24,17 +29,17 @@
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "_" für unterstrichen (Standardwert: `brown`)
* [[option_relay.color.text]] *relay.color.text*
** Beschreibung: `Textfarbe`
** Beschreibung: `text color in relay buffer`
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "_" für unterstrichen (Standardwert: `default`)
* [[option_relay.color.text_bg]] *relay.color.text_bg*
** Beschreibung: `Hintergrundfarbe`
** Beschreibung: `background color in relay buffer`
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "_" für unterstrichen (Standardwert: `default`)
* [[option_relay.color.text_selected]] *relay.color.text_selected*
** Beschreibung: `Textfarbe für selektierten Client-Linie`
** Beschreibung: `text color of selected line in relay buffer`
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "_" für unterstrichen (Standardwert: `white`)
@ -73,3 +78,8 @@
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette (Standardwert: `""`)
* [[option_relay.network.ssl_cert_key]] *relay.network.ssl_cert_key*
** Beschreibung: `file with SSL certificate and private key (for serving clients with SSL)`
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette (Standardwert: `"%h/ssl/relay.pem"`)

View File

@ -29,17 +29,17 @@
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "_" für unterstrichen (Standardwert: `lightcyan`)
* [[option_xfer.color.text]] *xfer.color.text*
** Beschreibung: `Textfarbe`
** Beschreibung: `text color in xfer buffer`
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "_" für unterstrichen (Standardwert: `default`)
* [[option_xfer.color.text_bg]] *xfer.color.text_bg*
** Beschreibung: `Hintergrundfarbe`
** Beschreibung: `background color in xfer buffer`
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "_" für unterstrichen (Standardwert: `default`)
* [[option_xfer.color.text_selected]] *xfer.color.text_selected*
** Beschreibung: `Farbe der ausgewählten Transfer-Zeile`
** Beschreibung: `text color of selected line in xfer buffer`
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "_" für unterstrichen (Standardwert: `white`)

View File

@ -1531,7 +1531,7 @@ erstes Beispiel: Verbindung zu oftc und Überprüfung der Zertifikate
* Importieren Sie die Zertifikate in einer Shell:
----------------------------------------
$ mkdir ~/.weechat/ssl
$ mkdir -p ~/.weechat/ssl
$ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/ca/spi-cacert.crt
----------------------------------------
@ -1551,8 +1551,9 @@ zweites Beispiel: Verbindung zu oftc mittels CertFP
* Erstellen Sie ein Zertifikat in der Shell:
----------------------------------------
$ openssl req -nodes -newkey rsa:2048 -keyout nick.key -x509 -days 365 -out nick.cer
$ cat nick.cer nick.key > ~/.weechat/ssl/nick.pem
$ mkdir -p ~/.weechat/ssl
$ cd ~/.weechat/ssl
$ openssl req -nodes -newkey rsa:2048 -keyout nick.pem -x509 -days 365 -out nick.pem
----------------------------------------
* In WeeChat startet man nun eine Verbindung zum "oftc" Server (der vorher angelegt
@ -2096,6 +2097,39 @@ Zum Beispiel:
Nun kann man über den Port 9000 mittels einer Oberfläche (wie QWeeChat)
und dem Passwort "meinPasswort" eine Verbindung zu WeeChat herstellen.
// TRANSLATION MISSING
[[relay_ssl]]
Relay with SSL
^^^^^^^^^^^^^^
You can use SSL by creating a certificate and private key, and by using prefix
"ssl." in the name of protocol.
The default file for certificate/key is '~/.weechat/ssl/relay.pem'
(option <<option_relay.network.ssl_cert_key,relay.network.ssl_cert_key>>).
You can create a certificate and private key with following commands:
----------------------------------------
$ mkdir -p ~/.weechat/ssl
$ cd ~/.weechat/ssl
$ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem
----------------------------------------
If WeeChat is already running, you can reload the certificate and private key
with command:
----------------------------------------
/relay sslcertkey
----------------------------------------
And then add relay with SSL, for example:
----------------------------------------
/relay add ssl.irc.freenode 8001
/relay add ssl.weechat 9001
----------------------------------------
[[rmodifier_plugin]]
Rmodifier Erweiterung
~~~~~~~~~~~~~~~~~~~~~

View File

@ -509,7 +509,7 @@
** values: on, off (default value: `off`)
* [[option_irc.server_default.ssl_cert]] *irc.server_default.ssl_cert*
** description: `ssl certificate file used to automatically identify your nick ("%h" will be replaced by WeeChat home, "~/.weechat" by default)`
** description: `SSL certificate file used to automatically identify your nick ("%h" will be replaced by WeeChat home, "~/.weechat" by default)`
** type: string
** values: any string (default value: `""`)
@ -524,7 +524,7 @@
** values: any string (default value: `"NORMAL"`)
* [[option_irc.server_default.ssl_verify]] *irc.server_default.ssl_verify*
** description: `check that the ssl connection is fully trusted`
** description: `check that the SSL connection is fully trusted`
** type: boolean
** values: on, off (default value: `on`)

View File

@ -5,6 +5,7 @@
add <protocol.name> <port>
del <protocol.name>
raw
sslcertkey
list: list relay clients (only active relays)
listfull: list relay clients (verbose, all relays)
@ -14,15 +15,21 @@
protocol.name: protocol and name to relay:
- protocol "irc": name is the server to share
- protocol "weechat" (name is not used)
Note: the protocol can be prefixed by "ssl." to enable SSL
port: port used for relay
raw: open buffer with raw Relay data
sslcertkey: set SSL certificate/key using path in option relay.network.ssl_cert_key
Without argument, this command opens buffer with list of relay clients.
Examples:
irc proxy, for server "freenode":
/relay add irc.freenode 8000
irc proxy, for server "freenode", with SSL:
/relay add ssl.irc.freenode 8001
weechat protocol:
/relay add weechat 8001
/relay add weechat 9000
weechat protocol with SSL:
/relay add ssl.weechat 9001
........................................

View File

@ -1,3 +1,8 @@
* [[option_relay.color.client]] *relay.color.client*
** description: `text color for client description`
** type: color
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "_" for underline (default value: `cyan`)
* [[option_relay.color.status_active]] *relay.color.status_active*
** description: `text color for "connected" status`
** type: color
@ -24,17 +29,17 @@
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "_" for underline (default value: `brown`)
* [[option_relay.color.text]] *relay.color.text*
** description: `text color`
** description: `text color in relay buffer`
** type: color
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "_" for underline (default value: `default`)
* [[option_relay.color.text_bg]] *relay.color.text_bg*
** description: `background color`
** description: `background color in relay buffer`
** type: color
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "_" for underline (default value: `default`)
* [[option_relay.color.text_selected]] *relay.color.text_selected*
** description: `text color of selected client line`
** description: `text color of selected line in relay buffer`
** type: color
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "_" for underline (default value: `white`)
@ -73,3 +78,8 @@
** type: string
** values: any string (default value: `""`)
* [[option_relay.network.ssl_cert_key]] *relay.network.ssl_cert_key*
** description: `file with SSL certificate and private key (for serving clients with SSL)`
** type: string
** values: any string (default value: `"%h/ssl/relay.pem"`)

View File

@ -29,17 +29,17 @@
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "_" for underline (default value: `lightcyan`)
* [[option_xfer.color.text]] *xfer.color.text*
** description: `text color`
** description: `text color in xfer buffer`
** type: color
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "_" for underline (default value: `default`)
* [[option_xfer.color.text_bg]] *xfer.color.text_bg*
** description: `background color`
** description: `background color in xfer buffer`
** type: color
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "_" for underline (default value: `default`)
* [[option_xfer.color.text_selected]] *xfer.color.text_selected*
** description: `text color of selected xfer line`
** description: `text color of selected line in xfer buffer`
** type: color
** values: a WeeChat color name (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), a terminal color number or an alias; attributes are allowed before color (for text color only, not background): "*" for bold, "!" for reverse, "_" for underline (default value: `white`)

View File

@ -221,6 +221,7 @@ Plugins
| relay-completion.c | Relay completions
| relay-config.c | Relay config options
| relay-info.c | Info and infolists from relay plugin
| relay-network.c | Network functions for relay
| relay-raw.c | Relay raw buffer
| relay-server.c | Relay server
| relay-upgrade.c | Save/restore relay data when upgrading WeeChat

View File

@ -1497,7 +1497,7 @@ First example: connect to oftc and check certificate
* Import certificate in shell:
----------------------------------------
$ mkdir ~/.weechat/ssl
$ mkdir -p ~/.weechat/ssl
$ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/ca/spi-cacert.crt
----------------------------------------
@ -1516,8 +1516,9 @@ Second example: connect to oftc using CertFP
* Create certificate in shell:
----------------------------------------
$ openssl req -nodes -newkey rsa:2048 -keyout nick.key -x509 -days 365 -out nick.cer
$ cat nick.cer nick.key > ~/.weechat/ssl/nick.pem
$ mkdir -p ~/.weechat/ssl
$ cd ~/.weechat/ssl
$ openssl req -nodes -newkey rsa:2048 -keyout nick.pem -x509 -days 365 -out nick.pem
----------------------------------------
* In WeeChat, with "oftc" server already created:
@ -2048,6 +2049,38 @@ For example:
Now you can connect on port 9000 with a remote interface (like QWeeChat),
using password "mypass".
[[relay_ssl]]
Relay with SSL
^^^^^^^^^^^^^^
You can use SSL by creating a certificate and private key, and by using prefix
"ssl." in the name of protocol.
The default file for certificate/key is '~/.weechat/ssl/relay.pem'
(option <<option_relay.network.ssl_cert_key,relay.network.ssl_cert_key>>).
You can create a certificate and private key with following commands:
----------------------------------------
$ mkdir -p ~/.weechat/ssl
$ cd ~/.weechat/ssl
$ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem
----------------------------------------
If WeeChat is already running, you can reload the certificate and private key
with command:
----------------------------------------
/relay sslcertkey
----------------------------------------
And then add relay with SSL, for example:
----------------------------------------
/relay add ssl.irc.freenode 8001
/relay add ssl.weechat 9001
----------------------------------------
[[rmodifier_plugin]]
Rmodifier plugin
~~~~~~~~~~~~~~~~

View File

@ -509,7 +509,7 @@
** valeurs: on, off (valeur par défaut: `off`)
* [[option_irc.server_default.ssl_cert]] *irc.server_default.ssl_cert*
** description: `fichier de certificat ssl utilisé pour identifier automatiquement votre pseudo ("%h" sera remplacé par le répertoire de base WeeChat, par défaut: "~/.weechat")`
** description: `fichier de certificat SSL utilisé pour identifier automatiquement votre pseudo ("%h" sera remplacé par le répertoire de base WeeChat, par défaut: "~/.weechat")`
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: `""`)
@ -524,7 +524,7 @@
** valeurs: toute chaîne (valeur par défaut: `"NORMAL"`)
* [[option_irc.server_default.ssl_verify]] *irc.server_default.ssl_verify*
** description: `vérifier que la connexion ssl est entièrement de confiance`
** description: `vérifier que la connexion SSL est entièrement de confiance`
** type: booléen
** valeurs: on, off (valeur par défaut: `on`)

View File

@ -5,6 +5,7 @@
add <protocole.nom> <port>
del <protocole.nom>
raw
sslcertkey
list: lister les clients pour le relai
listfull: lister les clients pour le relai (verbeux)
@ -14,15 +15,21 @@
protocole.nom: protocole et nom à relayer:
- protocole "irc": le nom est le serveur à partager
- protocole "weechat" (le nom n'est pas utilisé)
Note: le protocole peut être préfixé par "ssl." pour activer le SSL
port: port utilisé pour le relai
raw: ouvrir le tampon avec les données brutes Relay
sslcertkey: définir le certificat/clé SSL en utilisant le chemin de l'option relay.network.ssl_cert_key
Sans paramètre, cette commande ouvre le tampon avec la liste des clients pour le relai.
Exemples:
proxy irc, pour le serveur "freenode":
/relay add irc.freenode 8000
proxy irc, pour le serveur "freenode", avec SSL:
/relay add ssl.irc.freenode 8001
protocole weechat:
/relay add weechat 8001
/relay add weechat 9000
protocole weechat avec SSL:
/relay add ssl.weechat 9001
........................................

View File

@ -1,3 +1,8 @@
* [[option_relay.color.client]] *relay.color.client*
** description: `couleur du texte pour la description du client`
** type: couleur
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour du gras, "!" pour la vidéo inverse, "_" pour du souligné (valeur par défaut: `cyan`)
* [[option_relay.color.status_active]] *relay.color.status_active*
** description: `couleur du texte pour le statut "connecté"`
** type: couleur
@ -24,17 +29,17 @@
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour du gras, "!" pour la vidéo inverse, "_" pour du souligné (valeur par défaut: `brown`)
* [[option_relay.color.text]] *relay.color.text*
** description: `couleur du texte`
** description: `couleur du texte dans le tampon relay`
** type: couleur
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour du gras, "!" pour la vidéo inverse, "_" pour du souligné (valeur par défaut: `default`)
* [[option_relay.color.text_bg]] *relay.color.text_bg*
** description: `couleur du fond`
** description: `couleur du fond dans le tampon relay`
** type: couleur
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour du gras, "!" pour la vidéo inverse, "_" pour du souligné (valeur par défaut: `default`)
* [[option_relay.color.text_selected]] *relay.color.text_selected*
** description: `couleur du texte pour la ligne client sélectionnée`
** description: `couleur du texte pour la ligne sélectionnée dans le tampon relay`
** type: couleur
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour du gras, "!" pour la vidéo inverse, "_" pour du souligné (valeur par défaut: `white`)
@ -73,3 +78,8 @@
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: `""`)
* [[option_relay.network.ssl_cert_key]] *relay.network.ssl_cert_key*
** description: `fichier avec le certificat et la clé privée SSL (pour servir les clients avec SSL)`
** type: chaîne
** valeurs: toute chaîne (valeur par défaut: `"%h/ssl/relay.pem"`)

View File

@ -29,17 +29,17 @@
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour du gras, "!" pour la vidéo inverse, "_" pour du souligné (valeur par défaut: `lightcyan`)
* [[option_xfer.color.text]] *xfer.color.text*
** description: `couleur du texte`
** description: `couleur du texte dans le tampon xfer`
** type: couleur
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour du gras, "!" pour la vidéo inverse, "_" pour du souligné (valeur par défaut: `default`)
* [[option_xfer.color.text_bg]] *xfer.color.text_bg*
** description: `couleur du fond`
** description: `couleur du fond dans le tampon xfer`
** type: couleur
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour du gras, "!" pour la vidéo inverse, "_" pour du souligné (valeur par défaut: `default`)
* [[option_xfer.color.text_selected]] *xfer.color.text_selected*
** description: `couleur du texte pour la ligne xfer sélectionnée`
** description: `couleur du texte pour la ligne sélectionnée dans le tampon xfer`
** type: couleur
** valeurs: un nom de couleur WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numéro de couleur du terminal ou un alias; des attributs sont autorisés avant la couleur (seulement pour la couleur du texte, pas le fond) : "*" pour du gras, "!" pour la vidéo inverse, "_" pour du souligné (valeur par défaut: `white`)

View File

@ -1543,7 +1543,7 @@ Premier exemple : se connecter à oftc en vérifiant le certificat
* Importer le certificat sous le shell :
----------------------------------------
$ mkdir ~/.weechat/ssl
$ mkdir -p ~/.weechat/ssl
$ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/ca/spi-cacert.crt
----------------------------------------
@ -1563,8 +1563,9 @@ Second exemple : se connecter à oftc en utilisant CertFP
* Créer le certificat sous le shell :
----------------------------------------
$ openssl req -nodes -newkey rsa:2048 -keyout nick.key -x509 -days 365 -out nick.cer
$ cat nick.cer nick.key > ~/.weechat/ssl/nick.pem
$ mkdir -p ~/.weechat/ssl
$ cd ~/.weechat/ssl
$ openssl req -nodes -newkey rsa:2048 -keyout nick.pem -x509 -days 365 -out nick.pem
----------------------------------------
* Sous WeeChat, avec le serveur "oftc" déjà créé :
@ -2105,6 +2106,38 @@ Par exemple :
Maintenant vous pouvez vous connecter sur le port 9000 avec une interface
distante (comme QWeeChat), en utilisant le mot de passe "mypass".
[[relay_ssl]]
Relai avec SSL
^^^^^^^^^^^^^^
Vous pouvez utiliser SSL en créant un certificat et clé privée et en utilisant
le préfixe "ssl." dans le nom du protocole.
Le fichier par défaut pour le certificat/clé est '~/.weechat/ssl/relay.pem'
(option <<option_relay.network.ssl_cert_key,relay.network.ssl_cert_key>>).
Vous pouvez créer le certificat et la clé privée avec les commandes suivantes :
----------------------------------------
$ mkdir -p ~/.weechat/ssl
$ cd ~/.weechat/ssl
$ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem
----------------------------------------
Si WeeChat tourne déjà, vous pouvez recharger le certificat et clé privée avec la
commande :
----------------------------------------
/relay sslcertkey
----------------------------------------
Et ajoutez le relai avec SSL, par exemple :
----------------------------------------
/relay add ssl.irc.freenode 8001
/relay add ssl.weechat 9001
----------------------------------------
[[rmodifier_plugin]]
Extension Rmodifier
~~~~~~~~~~~~~~~~~~~

View File

@ -509,7 +509,7 @@
** valori: on, off (valore predefinito: `off`)
* [[option_irc.server_default.ssl_cert]] *irc.server_default.ssl_cert*
** descrizione: `file del certificato ssl usato per identificare automaticamente il proprio nick ("%h" sarà sostituito dalla home di WeeChat, "~/.weechat come predefinita)`
** descrizione: `SSL certificate file used to automatically identify your nick ("%h" will be replaced by WeeChat home, "~/.weechat" by default)`
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: `""`)
@ -524,7 +524,7 @@
** valori: qualsiasi stringa (valore predefinito: `"NORMAL"`)
* [[option_irc.server_default.ssl_verify]] *irc.server_default.ssl_verify*
** descrizione: `verifica che la connessione ssl sia totalmente fidata`
** descrizione: `check that the SSL connection is fully trusted`
** tipo: bool
** valori: on, off (valore predefinito: `on`)

View File

@ -2,27 +2,34 @@
[command]*`relay`* controllo relay::
........................................
/relay list|listfull|listrelay
add <protocollo.nome> <porta>
del <protocollo.nome>
add <protocol.name> <port>
del <protocol.name>
raw
sslcertkey
list: elenca i client relay (solo quelli attivi)
listfull: elenca i client relay (dettagliato, tutti i relay)
listrelay: elenca i relay (nome e porta)
add: aggiungi relay per un protocollo + nome
del: rimuovi relay per un protocollo + nome
protocollo.nome: protocollo e nome con cui effettuare il relay
- protocollo "irc": il nome è il server da condividere
- protocollo "weechat" (il nome non viene usato)
porta: porta usata per il relay
raw: apre il buffer con dati raw Relay
list: list relay clients (only active relays)
listfull: list relay clients (verbose, all relays)
listrelay: list relays (name and port)
add: add relay for a protocol + name
del: remove relay for a protocol + name
protocol.name: protocol and name to relay:
- protocol "irc": name is the server to share
- protocol "weechat" (name is not used)
Note: the protocol can be prefixed by "ssl." to enable SSL
port: port used for relay
raw: open buffer with raw Relay data
sslcertkey: set SSL certificate/key using path in option relay.network.ssl_cert_key
Senza argomento, il comando apre i buffer con l'elenco dei client relay.
Without argument, this command opens buffer with list of relay clients.
Esempio:
proxy irc, per il server "freenode":
Examples:
irc proxy, for server "freenode":
/relay add irc.freenode 8000
protocollo weechat:
/relay add weechat 8001
irc proxy, for server "freenode", with SSL:
/relay add ssl.irc.freenode 8001
weechat protocol:
/relay add weechat 9000
weechat protocol with SSL:
/relay add ssl.weechat 9001
........................................

View File

@ -1,3 +1,8 @@
* [[option_relay.color.client]] *relay.color.client*
** descrizione: `text color for client description`
** tipo: colore
** valori: un nome colore di WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numero colore del terminale o un alias; attributi consentiti prima del colore (solo per il colore del testo, non lo sfondo): "*" per il grassetto, "!" per l'inverso, "_" per la sottolineatura (valore predefinito: `cyan`)
* [[option_relay.color.status_active]] *relay.color.status_active*
** descrizione: `colore del testo per lo status "connesso"`
** tipo: colore
@ -24,17 +29,17 @@
** valori: un nome colore di WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numero colore del terminale o un alias; attributi consentiti prima del colore (solo per il colore del testo, non lo sfondo): "*" per il grassetto, "!" per l'inverso, "_" per la sottolineatura (valore predefinito: `brown`)
* [[option_relay.color.text]] *relay.color.text*
** descrizione: `colore del testo`
** descrizione: `text color in relay buffer`
** tipo: colore
** valori: un nome colore di WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numero colore del terminale o un alias; attributi consentiti prima del colore (solo per il colore del testo, non lo sfondo): "*" per il grassetto, "!" per l'inverso, "_" per la sottolineatura (valore predefinito: `default`)
* [[option_relay.color.text_bg]] *relay.color.text_bg*
** descrizione: `colore di sfondo`
** descrizione: `background color in relay buffer`
** tipo: colore
** valori: un nome colore di WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numero colore del terminale o un alias; attributi consentiti prima del colore (solo per il colore del testo, non lo sfondo): "*" per il grassetto, "!" per l'inverso, "_" per la sottolineatura (valore predefinito: `default`)
* [[option_relay.color.text_selected]] *relay.color.text_selected*
** descrizione: `colore della riga del client selezionato`
** descrizione: `text color of selected line in relay buffer`
** tipo: colore
** valori: un nome colore di WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numero colore del terminale o un alias; attributi consentiti prima del colore (solo per il colore del testo, non lo sfondo): "*" per il grassetto, "!" per l'inverso, "_" per la sottolineatura (valore predefinito: `white`)
@ -73,3 +78,8 @@
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: `""`)
* [[option_relay.network.ssl_cert_key]] *relay.network.ssl_cert_key*
** descrizione: `file with SSL certificate and private key (for serving clients with SSL)`
** tipo: stringa
** valori: qualsiasi stringa (valore predefinito: `"%h/ssl/relay.pem"`)

View File

@ -29,17 +29,17 @@
** valori: un nome colore di WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numero colore del terminale o un alias; attributi consentiti prima del colore (solo per il colore del testo, non lo sfondo): "*" per il grassetto, "!" per l'inverso, "_" per la sottolineatura (valore predefinito: `lightcyan`)
* [[option_xfer.color.text]] *xfer.color.text*
** descrizione: `colore del testo`
** descrizione: `text color in xfer buffer`
** tipo: colore
** valori: un nome colore di WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numero colore del terminale o un alias; attributi consentiti prima del colore (solo per il colore del testo, non lo sfondo): "*" per il grassetto, "!" per l'inverso, "_" per la sottolineatura (valore predefinito: `default`)
* [[option_xfer.color.text_bg]] *xfer.color.text_bg*
** descrizione: `colore di sfondo`
** descrizione: `background color in xfer buffer`
** tipo: colore
** valori: un nome colore di WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numero colore del terminale o un alias; attributi consentiti prima del colore (solo per il colore del testo, non lo sfondo): "*" per il grassetto, "!" per l'inverso, "_" per la sottolineatura (valore predefinito: `default`)
* [[option_xfer.color.text_selected]] *xfer.color.text_selected*
** descrizione: `colore del testo per la riga xfer selezionata`
** descrizione: `text color of selected line in xfer buffer`
** tipo: colore
** valori: un nome colore di WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), un numero colore del terminale o un alias; attributi consentiti prima del colore (solo per il colore del testo, non lo sfondo): "*" per il grassetto, "!" per l'inverso, "_" per la sottolineatura (valore predefinito: `white`)

View File

@ -1543,7 +1543,7 @@ Primo esempio: connessione a otfc e verifica del certificato
* Importare certificati nella shell:
----------------------------------------
$ mkdir ~/.weechat/ssl
$ mkdir -p ~/.weechat/ssl
$ wget -O ~/.weechat/ssl/CAs.pem http://www.spi-inc.org/ca/spi-cacert.crt
----------------------------------------
@ -1562,8 +1562,9 @@ Secondo esempio: connessione a otfc con CertFP
* Creare un certificato nella shell:
----------------------------------------
$ openssl req -nodes -newkey rsa:2048 -keyout nick.key -x509 -days 365 -out nick.cer
$ cat nick.cer nick.key > ~/.weechat/ssl/nick.pem
$ mkdir -p ~/.weechat/ssl
$ cd ~/.weechat/ssl
$ openssl req -nodes -newkey rsa:2048 -keyout nick.pem -x509 -days 365 -out nick.pem
----------------------------------------
* In WeeChat, con il server "otfc" già creato:
@ -2108,6 +2109,39 @@ Ad esempio:
Ora è possibile connettersi sulla porta 9000 con un'interfaccia remota
(come QWeeChat) usando la password "miapass".
// TRANSLATION MISSING
[[relay_ssl]]
Relay with SSL
^^^^^^^^^^^^^^
You can use SSL by creating a certificate and private key, and by using prefix
"ssl." in the name of protocol.
The default file for certificate/key is '~/.weechat/ssl/relay.pem'
(option <<option_relay.network.ssl_cert_key,relay.network.ssl_cert_key>>).
You can create a certificate and private key with following commands:
----------------------------------------
$ mkdir -p ~/.weechat/ssl
$ cd ~/.weechat/ssl
$ openssl req -nodes -newkey rsa:2048 -keyout relay.pem -x509 -days 365 -out relay.pem
----------------------------------------
If WeeChat is already running, you can reload the certificate and private key
with command:
----------------------------------------
/relay sslcertkey
----------------------------------------
And then add relay with SSL, for example:
----------------------------------------
/relay add ssl.irc.freenode 8001
/relay add ssl.weechat 9001
----------------------------------------
[[rmodifier_plugin]]
Plugin Rmodifier
~~~~~~~~~~~~~~~~

View File

@ -189,6 +189,8 @@
./src/plugins/relay/relay.h
./src/plugins/relay/relay-info.c
./src/plugins/relay/relay-info.h
./src/plugins/relay/relay-network.c
./src/plugins/relay/relay-network.h
./src/plugins/relay/relay-raw.c
./src/plugins/relay/relay-raw.h
./src/plugins/relay/relay-server.c

165
po/cs.po
View File

@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.9-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2012-07-21 17:23+0200\n"
"POT-Creation-Date: 2012-07-27 17:42+0200\n"
"PO-Revision-Date: 2012-06-03 09:49+0200\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -3942,6 +3942,7 @@ msgstr ""
"připojené přes SSL"
#. TRANSLATORS: "%s" after "%d" is "server" or "servers"
#. TRANSLATORS: "%s" after "%d" is "client" or "clients"
#, c-format
msgid ""
"%s%s: disconnected from %d %s (SSL connection not supported with upgrade)"
@ -5407,8 +5408,9 @@ msgstr "použít protokol IPv6 pro komunikaci se serverem"
msgid "use SSL for server communication"
msgstr "použít SSL pro komunikaci se serverem"
#, fuzzy
msgid ""
"ssl certificate file used to automatically identify your nick (\"%h\" will "
"SSL certificate file used to automatically identify your nick (\"%h\" will "
"be replaced by WeeChat home, \"~/.weechat\" by default)"
msgstr ""
"soubor ssl certifikátu pro automatickou identifikaci přezdívky (\"%h\" bude "
@ -5427,7 +5429,8 @@ msgstr ""
msgid "size of the key used during the Diffie-Hellman Key Exchange"
msgstr "velikost klíče použitého při použití výměny klíčů Diffie Hellman"
msgid "check that the ssl connection is fully trusted"
#, fuzzy
msgid "check that the SSL connection is fully trusted"
msgstr "ověřit, že je ssl spojení zcela důvěryhodné"
msgid "password for server"
@ -7371,20 +7374,31 @@ msgstr " [P] Pročistit ukončené"
msgid " [Q] Close this buffer"
msgstr " [Q] Zavřít tento buffer"
#, c-format
msgid "%s%s[%s%s%s%s] %s (started on: %s%s%s%s)"
#, fuzzy, c-format
msgid "%s%s[%s%s%s%s] %s, received: %s, sent: %s"
msgstr "%s%s[%s%s%s%s] %s (spuštěn: %s%s%s%s)"
msgid "ended on: "
msgstr "končí: "
#, c-format
msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
msgstr "%s%-26s id: %d, protokol: %s, obdrženo: %s, posláno: %s"
msgid "%s%-26s started on: %s, ended on: %s"
msgstr ""
msgid "List of clients for relay"
msgstr "Seznam klientů pro přenos"
#, fuzzy, c-format
msgid ""
"%s%s: disconnecting from client %s%s%s because upgrade can't work for "
"clients connected via SSL"
msgstr ""
"%s%s: odpojuji se od serveru, protože aktualizace nefunguje pro servery "
"připojené přes SSL"
msgid "client"
msgid_plural "clients"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgid "connecting"
msgstr "připojuji"
@ -7398,47 +7412,69 @@ msgid "disconnected"
msgstr "odpojen"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %d: error %d %s"
msgid "%s%s: TLS handshake failed for client %s%s%s: error %d %s"
msgstr "%s%s: čtu data ze soketu: chyba %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %d: error %d %s"
msgstr "%s%s: chyba při zasílání dat na klienta %s"
msgid "%s%s: TLS handshake timeout for client %s%s%s"
msgstr "%s%s: TLS handshake selhal"
#, fuzzy, c-format
msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)"
msgstr "%s: nový klient od %s%s%s na portu %d (id: %d, přesměrovávám %s.%s)"
msgid "%s%s: reading data on socket for client %s%s%s: error %d %s"
msgstr "%s%s: čtu data ze soketu: chyba %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %s%s%s: error %d %s"
msgstr "%s%s: chyba při zasílání dat na klienta %s"
#, c-format
msgid ""
"%s%s: warning: no SSL certificate/key found (option relay.network."
"ssl_cert_key)"
msgstr ""
#, fuzzy, c-format
msgid "%s: new client on port %d: %s%s%s"
msgstr "%s%s: nemohu akceptovat klienta na portu %d (%s.%s)"
#, c-format
msgid "%s%s: not enough memory for new client"
msgstr "%s%s: nedostatek paměti pro nového klienta"
#, fuzzy, c-format
msgid "%s%s: authentication failed with client %s%s%s (%s%s%s)"
msgid "%s%s: authentication failed with client %s%s%s"
msgstr "%s%s: selhala autentizace s klientem %s%s%s (%s.%s)"
#, fuzzy, c-format
msgid "%s: disconnected from client %s%s%s (%s%s%s)"
msgid "%s: disconnected from client %s%s%s"
msgstr "%s: odpojen od klienta %s%s%s (%s.%s)"
msgid "Clients for relay:"
msgstr "Klienti pro přenos:"
#, c-format
#, fuzzy
msgid "Connected clients for relay:"
msgstr "Klienti pro přenos:"
#, fuzzy, c-format
msgid ""
" id: %d, %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu "
"recv, %lu sent"
" %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu recv, %lu "
"sent"
msgstr ""
" id: %d, %s%s%s (%s%s%s), spuštěn v: %s, poslední aktivita: %s, bytů: %lu "
"přijato, %lu odebráno"
#, c-format
msgid " id: %d, %s%s%s, started on: %s"
#, fuzzy, c-format
msgid " %s%s%s (%s%s%s), started on: %s"
msgstr " id: %d, %s%s%s, spuštěno v: %s"
msgid "No client for relay"
msgstr "Žádný klient pro přesměrování"
#, fuzzy
msgid "No connected client for relay"
msgstr "Klienti pro přenos:"
msgid "Listening on ports:"
msgstr "Poslouchám na portech:"
@ -7464,9 +7500,10 @@ msgstr "%s%s: přesměrování \"%s\" nenalezeno"
msgid "relay control"
msgstr "ovládání přesměrování"
#, fuzzy
msgid ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
"|| raw || sslcertkey"
msgstr ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
@ -7481,16 +7518,23 @@ msgid ""
"protocol.name: protocol and name to relay:\n"
" - protocol \"irc\": name is the server to share\n"
" - protocol \"weechat\" (name is not used)\n"
" Note: the protocol can be prefixed by \"ssl.\" to enable SSL\n"
" port: port used for relay\n"
" raw: open buffer with raw Relay data\n"
" sslcertkey: set SSL certificate/key using path in option relay.network."
"ssl_cert_key\n"
"\n"
"Without argument, this command opens buffer with list of relay clients.\n"
"\n"
"Examples:\n"
" irc proxy, for server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" irc proxy, for server \"freenode\", with SSL:\n"
" /relay add ssl.irc.freenode 8001\n"
" weechat protocol:\n"
" /relay add weechat 8001"
" /relay add weechat 9000\n"
" weechat protocol with SSL:\n"
" /relay add ssl.weechat 9001"
msgstr ""
" list: seznam klientů přesměrování (pouze aktivní přesměrování)\n"
" listfull: seznam klientů přesměrování (užvaněný, všechny přesměrování)\n"
@ -7523,6 +7567,12 @@ msgstr "první volný port pro plugin přesměrování"
msgid "%s%s: error: port \"%d\" is already used"
msgstr "%s%s: chyba: port \"%d\" je již používán"
#, fuzzy, c-format
msgid "%s%s: cannot use SSL because WeeChat was not built with GnuTLS support"
msgstr ""
"%s%s: nemohu se připojit pomocí SSL, protže WeeChat nebyl sestaven s "
"podporou GNUtls"
#, c-format
msgid "%s%s: error: unknown protocol \"%s\""
msgstr "%s%s: chyba: neznámý protokol \"%s\""
@ -7542,13 +7592,20 @@ msgstr "%s%s: chyba: přesměrování pro\"%s\" již existuje"
msgid "auto open relay buffer when a new client is connecting"
msgstr "automaticky otevřít buffer přesměrování, když připojuje nový klient"
msgid "text color"
msgstr "barva textu"
#, fuzzy
msgid "text color for client description"
msgstr "barva textu děličů času"
msgid "background color"
msgstr "barva pozadí"
#, fuzzy
msgid "text color in relay buffer"
msgstr "barva textu pro jeméno bufferu"
msgid "text color of selected client line"
#, fuzzy
msgid "background color in relay buffer"
msgstr "barva pozadí pro značku nepřečtených dat"
#, fuzzy
msgid "text color of selected line in relay buffer"
msgstr "barva textu řádku vybraného klienta"
msgid "text color for \"connecting\" status"
@ -7595,12 +7652,24 @@ msgstr ""
"heslo vyžadované klienty pro přístup k tomuto přesměrováni (prázdná hodnota "
"značí, že heslo není vyžadováno)"
msgid ""
"file with SSL certificate and private key (for serving clients with SSL)"
msgstr ""
msgid "list of relay clients"
msgstr "seznam klientů přesměrování"
msgid "relay pointer (optional)"
msgstr "ukazatel přesměrování (volitelné)"
#, fuzzy, c-format
msgid "%s: SSL certificate and key have been set"
msgstr "%sgnutls: certifikát byl zrušen"
#, fuzzy, c-format
msgid "%s%s: unable to initialize priority for SSL"
msgstr "%s%s: nemohu inicializovat %s"
msgid "Relay raw messages"
msgstr "Přeposílat čisté zprávy"
@ -7621,7 +7690,7 @@ msgid "%s%s: error with \"bind\" on port %d (%s%s%s)"
msgstr "%s%s: chyba s \"bind\" na portu %d (%s.%s)"
#, fuzzy, c-format
msgid "%s: listening on port %d (relay: %s%s%s, max %d clients)"
msgid "%s: listening on port %d (relay: %s%s%s,%s max %d clients)"
msgstr "%s: poslouchám na portu %d (přesměrování %s.%s, maximálně %d klientů)"
#, c-format
@ -7633,12 +7702,12 @@ msgid "%s%s: not enough memory for parsing message"
msgstr "%s%s: nedostatek paměti pro rozdělení zprávy"
#, fuzzy, c-format
msgid "%s%s: failed to execute command \"%s\" for client %d"
msgid "%s%s: failed to execute command \"%s\" for client %s%s%s"
msgstr "%s%s: selhalo parsování příkazu \"%s\" (prosím oznamte to vývojárům):"
#, fuzzy, c-format
msgid ""
"%s%s: too few arguments received from client %d for command \"%s"
"%s%s: too few arguments received from client %s%s%s for command \"%s"
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
"%s%s: přijato příliš málo argumentů od IRC serveru pro příkaz \"%s"
@ -8258,8 +8327,17 @@ msgstr ""
msgid "size of progress bar, in chars (if 0, progress bar is disabled)"
msgstr "velikost ukazatele průběhu ve znacích (0 pro vypnutí ukazatele)"
msgid "text color of selected xfer line"
msgstr "barva textu pro vybraný xfer řádek"
#, fuzzy
msgid "text color in xfer buffer"
msgstr "barva textu pro jeméno bufferu"
#, fuzzy
msgid "background color in xfer buffer"
msgstr "barva pozadí pro rozhovor"
#, fuzzy
msgid "text color of selected line in xfer buffer"
msgstr "barva textu řádku vybraného klienta"
msgid "text color for \"waiting\" status"
msgstr "barva textu pro status \"čekám\""
@ -8436,6 +8514,25 @@ msgstr ""
msgid "Constants"
msgstr ""
#~ msgid "ended on: "
#~ msgstr "končí: "
#~ msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
#~ msgstr "%s%-26s id: %d, protokol: %s, obdrženo: %s, posláno: %s"
#, fuzzy
#~ msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s%s)"
#~ msgstr "%s: nový klient od %s%s%s na portu %d (id: %d, přesměrovávám %s.%s)"
#~ msgid "text color"
#~ msgstr "barva textu"
#~ msgid "background color"
#~ msgstr "barva pozadí"
#~ msgid "text color of selected xfer line"
#~ msgstr "barva textu pro vybraný xfer řádek"
#~ msgid "display message when (un)marking as away"
#~ msgstr "zobrazit zprávu, když označen/odznačen jako nepřítomen"

177
po/de.po
View File

@ -23,8 +23,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2012-07-21 17:23+0200\n"
"PO-Revision-Date: 2012-06-30 14:28+0100\n"
"POT-Creation-Date: 2012-07-27 17:42+0200\n"
"PO-Revision-Date: 2012-07-27 12:15+0200\n"
"Last-Translator: Nils Görs <weechatter@arcor.de>\n"
"Language-Team: German <weechatter@arcor.de>\n"
"Language: \n"
@ -4303,6 +4303,7 @@ msgstr ""
"Verbindung nicht möglich"
#. TRANSLATORS: "%s" after "%d" is "server" or "servers"
#. TRANSLATORS: "%s" after "%d" is "client" or "clients"
#, c-format
msgid ""
"%s%s: disconnected from %d %s (SSL connection not supported with upgrade)"
@ -5809,8 +5810,9 @@ msgstr "Server über IPv6 ansprechen"
msgid "use SSL for server communication"
msgstr "Server über SSL ansprechen"
#, fuzzy
msgid ""
"ssl certificate file used to automatically identify your nick (\"%h\" will "
"SSL certificate file used to automatically identify your nick (\"%h\" will "
"be replaced by WeeChat home, \"~/.weechat\" by default)"
msgstr ""
"Datei für ssl Zertifikat um automatisch den eigenen Nick zu identifizieren "
@ -5832,7 +5834,8 @@ msgstr ""
"Größe des Schlüssels der während des Diffie-Hellman-Schlüsselaustausches "
"genutzt wurde"
msgid "check that the ssl connection is fully trusted"
#, fuzzy
msgid "check that the SSL connection is fully trusted"
msgstr "Überprüfe ob die SSL-Verbindung vertrauenswürdig ist"
msgid "password for server"
@ -7888,20 +7891,30 @@ msgstr " [P] beendete Downloads aufräumen"
msgid " [Q] Close this buffer"
msgstr " [Q] diesen Buffer schließen"
#, c-format
msgid "%s%s[%s%s%s%s] %s (started on: %s%s%s%s)"
#, fuzzy, c-format
msgid "%s%s[%s%s%s%s] %s, received: %s, sent: %s"
msgstr "%s%s[%s%s%s%s] %s (gestartet am:: %s%s%s%s)"
msgid "ended on: "
msgstr "geendet am: "
#, c-format
msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
msgstr "%s%-26s Id: %d, Protokoll: %s, empfangen: %s, gesendet: %s"
msgid "%s%-26s started on: %s, ended on: %s"
msgstr ""
msgid "List of clients for relay"
msgstr "Liste der Relay-Clients:"
#, fuzzy, c-format
msgid ""
"%s%s: disconnecting from client %s%s%s because upgrade can't work for "
"clients connected via SSL"
msgstr ""
"%s%s: Verbindung zum Server wird getrennt. Ein Upgrade ist über eine SSL-"
"Verbindung nicht möglich"
msgid "client"
msgid_plural "clients"
msgstr[0] ""
msgstr[1] ""
msgid "connecting"
msgstr "verbinden"
@ -7915,47 +7928,69 @@ msgid "disconnected"
msgstr "unterbrochen"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %d: error %d %s"
msgid "%s%s: TLS handshake failed for client %s%s%s: error %d %s"
msgstr "%s%s: lese Daten von Socket: Fehler %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %d: error %d %s"
msgid "%s%s: TLS handshake timeout for client %s%s%s"
msgstr "%s%s: TLS Handshake fehlgeschlagen"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %s%s%s: error %d %s"
msgstr "%s%s: lese Daten von Socket: Fehler %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %s%s%s: error %d %s"
msgstr "%s%s: Fehler beim Senden von Daten an den Client %d (%s)"
#, c-format
msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)"
msgstr "%s: neuer Client von %s%s%s an Port %d (id: %d, Relaying: %s%s%s)"
msgid ""
"%s%s: warning: no SSL certificate/key found (option relay.network."
"ssl_cert_key)"
msgstr ""
#, fuzzy, c-format
msgid "%s: new client on port %d: %s%s%s"
msgstr "%s%s: Der Client wird an dem Port %d (%s%s%s) nicht akzeptiert"
#, c-format
msgid "%s%s: not enough memory for new client"
msgstr "%s%s: Nicht genug Speicher für neuen Client"
#, c-format
msgid "%s%s: authentication failed with client %s%s%s (%s%s%s)"
#, fuzzy, c-format
msgid "%s%s: authentication failed with client %s%s%s"
msgstr "%s%s: Authentifizierung mit Client %s%s%s (%s%s%s) fehlgeschlagen"
#, c-format
msgid "%s: disconnected from client %s%s%s (%s%s%s)"
#, fuzzy, c-format
msgid "%s: disconnected from client %s%s%s"
msgstr "%s: Trennung von Client %s%s%s (%s%s%s)"
msgid "Clients for relay:"
msgstr "Clients für Relay:"
#, c-format
#, fuzzy
msgid "Connected clients for relay:"
msgstr "Clients für Relay:"
#, fuzzy, c-format
msgid ""
" id: %d, %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu "
"recv, %lu sent"
" %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu recv, %lu "
"sent"
msgstr ""
" Id: %d, %s%s%s (%s%s%s), gestartet am: %s, letzte Aktivität: %s, Bytes: "
"%lu empfangen, %lu gesendet"
#, c-format
msgid " id: %d, %s%s%s, started on: %s"
#, fuzzy, c-format
msgid " %s%s%s (%s%s%s), started on: %s"
msgstr " Id: %d, %s%s%s, gestartet am: %s"
msgid "No client for relay"
msgstr "Keinen Client für Relay"
#, fuzzy
msgid "No connected client for relay"
msgstr "Clients für Relay:"
msgid "Listening on ports:"
msgstr "Lausche an Ports:"
@ -7981,13 +8016,15 @@ msgstr "%s%s: Relay \"%s\" nicht gefunden"
msgid "relay control"
msgstr "Relay-Kontrolle"
#, fuzzy
msgid ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
"|| raw || sslcertkey"
msgstr ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
#, fuzzy
msgid ""
" list: list relay clients (only active relays)\n"
" listfull: list relay clients (verbose, all relays)\n"
@ -7997,16 +8034,23 @@ msgid ""
"protocol.name: protocol and name to relay:\n"
" - protocol \"irc\": name is the server to share\n"
" - protocol \"weechat\" (name is not used)\n"
" Note: the protocol can be prefixed by \"ssl.\" to enable SSL\n"
" port: port used for relay\n"
" raw: open buffer with raw Relay data\n"
" sslcertkey: set SSL certificate/key using path in option relay.network."
"ssl_cert_key\n"
"\n"
"Without argument, this command opens buffer with list of relay clients.\n"
"\n"
"Examples:\n"
" irc proxy, for server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" irc proxy, for server \"freenode\", with SSL:\n"
" /relay add ssl.irc.freenode 8001\n"
" weechat protocol:\n"
" /relay add weechat 8001"
" /relay add weechat 9000\n"
" weechat protocol with SSL:\n"
" /relay add ssl.weechat 9001"
msgstr ""
" list: Auflistung der Relay-Clients (nur aktive Relays)\n"
" listfull: detaillierte Auflistung der Relay-Clients (alle Relays)\n"
@ -8027,7 +8071,7 @@ msgstr ""
" IRC Proxy für Server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" weechat protocol:\n"
" /relay add weechat 8001"
" /relay add weechat 9000"
msgid "all possible protocol.name for relay plugin"
msgstr "alle möglichen Protokoll.Name der Relay-Erweiterung"
@ -8042,6 +8086,12 @@ msgstr "erster freier Port für Relay-Erweiterung"
msgid "%s%s: error: port \"%d\" is already used"
msgstr "%s%s: Fehler: der Port \"%d\" ist schon im Gebrauch"
#, fuzzy, c-format
msgid "%s%s: cannot use SSL because WeeChat was not built with GnuTLS support"
msgstr ""
"%s%s SSL-Verbindung nicht möglich da WeeChat nicht mit GNUtls-Support "
"kompiliert wurde"
#, c-format
msgid "%s%s: error: unknown protocol \"%s\""
msgstr "%s%s: Unbekanntes Protokoll \"%s\""
@ -8063,13 +8113,20 @@ msgstr ""
"öffnet automatisch einen Relay-Buffer, falls eine Verbindung zu einem neuen "
"Client hergestellt wird"
msgid "text color"
msgstr "Textfarbe"
#, fuzzy
msgid "text color for client description"
msgstr "Farbe in der das Trennzeichen für die Uhrzeit dargestellt werden soll"
msgid "background color"
msgstr "Hintergrundfarbe"
#, fuzzy
msgid "text color in relay buffer"
msgstr "Textfarbe für den Namen des Buffers"
msgid "text color of selected client line"
#, fuzzy
msgid "background color in relay buffer"
msgstr "Hintergrundfarbe für das Lesezeichen"
#, fuzzy
msgid "text color of selected line in relay buffer"
msgstr "Textfarbe für selektierten Client-Linie"
msgid "text color for \"connecting\" status"
@ -8123,12 +8180,24 @@ msgstr ""
"Passwort wird von Clients benötigt um Zugriff auf dieses Relay zu erhalten "
"(kein Eintrag bedeutet dass kein Passwort benötigt wird)"
msgid ""
"file with SSL certificate and private key (for serving clients with SSL)"
msgstr ""
msgid "list of relay clients"
msgstr "Liste der Relay-Clients"
msgid "relay pointer (optional)"
msgstr "Relay Pointer (optional)"
#, fuzzy, c-format
msgid "%s: SSL certificate and key have been set"
msgstr "%sgnutls: Das Zertifikat wurde widerrufen"
#, fuzzy, c-format
msgid "%s%s: unable to initialize priority for SSL"
msgstr "%s%s: %s kann nicht initialisiert werden"
msgid "Relay raw messages"
msgstr "Relay RAW Nachrichten"
@ -8148,8 +8217,8 @@ msgstr "%s%s: IP Adresse \"%s\" für Relay nicht gültig"
msgid "%s%s: error with \"bind\" on port %d (%s%s%s)"
msgstr "%s%s: Fehler mit \"bind\" am Port %d (%s%s%s)"
#, c-format
msgid "%s: listening on port %d (relay: %s%s%s, max %d clients)"
#, fuzzy, c-format
msgid "%s: listening on port %d (relay: %s%s%s,%s max %d clients)"
msgstr "%s: Lausche am Port %d (Relay: %s%s%s, Max.: %d Clients)"
#, c-format
@ -8160,13 +8229,13 @@ msgstr "%s%s: Nicht genug Speicher um an einem neuen Port zu lauschen"
msgid "%s%s: not enough memory for parsing message"
msgstr "%s%s: Nicht genug Speicher vorhanden um Nachricht zu parsen"
#, c-format
msgid "%s%s: failed to execute command \"%s\" for client %d"
#, fuzzy, c-format
msgid "%s%s: failed to execute command \"%s\" for client %s%s%s"
msgstr "%s%s: Der Befehl \"%s\" kann für den Client %d nicht ausgeführt werden"
#, c-format
#, fuzzy, c-format
msgid ""
"%s%s: too few arguments received from client %d for command \"%s"
"%s%s: too few arguments received from client %s%s%s for command \"%s"
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
"%s%s: Zu wenige Argumente von Client %d für den Befehl \"%s\" erhalten "
@ -8812,8 +8881,17 @@ msgstr ""
"Größe des Fortschrittsbalkens, in Zeichen (0, falls Fortschrittsbalken "
"deaktiviert sein soll)"
msgid "text color of selected xfer line"
msgstr "Farbe der ausgewählten Transfer-Zeile"
#, fuzzy
msgid "text color in xfer buffer"
msgstr "Textfarbe für den Namen des Buffers"
#, fuzzy
msgid "background color in xfer buffer"
msgstr "Hintergrundfarbe des Chats"
#, fuzzy
msgid "text color of selected line in xfer buffer"
msgstr "Textfarbe für selektierten Client-Linie"
msgid "text color for \"waiting\" status"
msgstr "Textfarbe für Status: \"wartend\""
@ -8994,6 +9072,25 @@ msgstr "Type"
msgid "Constants"
msgstr "Konstanten"
#~ msgid "ended on: "
#~ msgstr "geendet am: "
#~ msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
#~ msgstr "%s%-26s Id: %d, Protokoll: %s, empfangen: %s, gesendet: %s"
#, fuzzy
#~ msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s%s)"
#~ msgstr "%s: neuer Client von %s%s%s an Port %d (id: %d, Relaying: %s%s%s)"
#~ msgid "text color"
#~ msgstr "Textfarbe"
#~ msgid "background color"
#~ msgstr "Hintergrundfarbe"
#~ msgid "text color of selected xfer line"
#~ msgstr "Farbe der ausgewählten Transfer-Zeile"
#~ msgid "display message when (un)marking as away"
#~ msgstr "bei Abwesenheit und Rückkehr eine Nachricht anzeigen"

179
po/es.po
View File

@ -22,8 +22,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.9-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2012-07-21 17:23+0200\n"
"PO-Revision-Date: 2012-06-03 09:49+0200\n"
"POT-Creation-Date: 2012-07-27 17:42+0200\n"
"PO-Revision-Date: 2012-07-27 12:16+0200\n"
"Last-Translator: Elián Hanisch <lambdae2@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Spanish\n"
@ -4139,6 +4139,7 @@ msgstr ""
"con servidores conectados a través de SSL"
#. TRANSLATORS: "%s" after "%d" is "server" or "servers"
#. TRANSLATORS: "%s" after "%d" is "client" or "clients"
#, c-format
msgid ""
"%s%s: disconnected from %d %s (SSL connection not supported with upgrade)"
@ -5619,8 +5620,9 @@ msgstr "usar el protocolo IPv6 para la comunicación con el servidor"
msgid "use SSL for server communication"
msgstr "usar SSL para la comunicación con el servidor"
#, fuzzy
msgid ""
"ssl certificate file used to automatically identify your nick (\"%h\" will "
"SSL certificate file used to automatically identify your nick (\"%h\" will "
"be replaced by WeeChat home, \"~/.weechat\" by default)"
msgstr ""
"archivo con el certificado ssl para identificar tu apodo automáticamente "
@ -5640,7 +5642,8 @@ msgstr ""
msgid "size of the key used during the Diffie-Hellman Key Exchange"
msgstr "tamaño de la llave usada durante Diffie-Hellman Key Exchange"
msgid "check that the ssl connection is fully trusted"
#, fuzzy
msgid "check that the SSL connection is fully trusted"
msgstr "verificar que la conexión SSL es confiable completamente"
msgid "password for server"
@ -7628,20 +7631,30 @@ msgstr " [P] Purgar terminados"
msgid " [Q] Close this buffer"
msgstr " [Q] Cerrar este buffer"
#, c-format
msgid "%s%s[%s%s%s%s] %s (started on: %s%s%s%s)"
#, fuzzy, c-format
msgid "%s%s[%s%s%s%s] %s, received: %s, sent: %s"
msgstr "%s%s[%s%s%s%s] %s (empezó en: %s%s%s%s)"
msgid "ended on: "
msgstr "terminado en: "
#, c-format
msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
msgstr "%s%-26s id: %d, protocolo: %s, recibido: %s, enviado: %s"
msgid "%s%-26s started on: %s, ended on: %s"
msgstr ""
msgid "List of clients for relay"
msgstr "Lista de clientes a retransmitir"
#, fuzzy, c-format
msgid ""
"%s%s: disconnecting from client %s%s%s because upgrade can't work for "
"clients connected via SSL"
msgstr ""
"%s%s: desconectando del servidor porque la actualización no puede funcionar "
"con servidores conectados a través de SSL"
msgid "client"
msgid_plural "clients"
msgstr[0] ""
msgstr[1] ""
msgid "connecting"
msgstr "conectando"
@ -7655,49 +7668,69 @@ msgid "disconnected"
msgstr "desconectado"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %d: error %d %s"
msgid "%s%s: TLS handshake failed for client %s%s%s: error %d %s"
msgstr "%s%s: leyendo datos del socket: error %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %d: error %d %s"
msgid "%s%s: TLS handshake timeout for client %s%s%s"
msgstr "%s%s: el saludo TLS ha fallado"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %s%s%s: error %d %s"
msgstr "%s%s: leyendo datos del socket: error %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %s%s%s: error %d %s"
msgstr "%s%s: error al enviar datos al cliente %d (%s)"
#, c-format
msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)"
msgid ""
"%s%s: warning: no SSL certificate/key found (option relay.network."
"ssl_cert_key)"
msgstr ""
"%s: nuevo cliente desde %s%s%s en el puerto %d (id: %d, retransmitiendo: %s%s"
"%s)"
#, fuzzy, c-format
msgid "%s: new client on port %d: %s%s%s"
msgstr "%s%s: no se puede aceptar el cliente en el puerto %d (%s%s%s)"
#, c-format
msgid "%s%s: not enough memory for new client"
msgstr "%s%s: no hay memoria suficiente para el nuevo cliente"
#, c-format
msgid "%s%s: authentication failed with client %s%s%s (%s%s%s)"
#, fuzzy, c-format
msgid "%s%s: authentication failed with client %s%s%s"
msgstr "%s%s: la autenticación falló con el cliente %s%s%s (%s%s%s)"
#, c-format
msgid "%s: disconnected from client %s%s%s (%s%s%s)"
#, fuzzy, c-format
msgid "%s: disconnected from client %s%s%s"
msgstr "%s: desconectado del cliente %s%s%s (%s%s%s)"
msgid "Clients for relay:"
msgstr "Clientes para retransmitir:"
#, c-format
#, fuzzy
msgid "Connected clients for relay:"
msgstr "Clientes para retransmitir:"
#, fuzzy, c-format
msgid ""
" id: %d, %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu "
"recv, %lu sent"
" %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu recv, %lu "
"sent"
msgstr ""
" id: %d, %s%s%s (%s%s%s), iniciado en: %s, última actividad: %s, bytes: %lu "
"recibidos, %lu enviados"
#, c-format
msgid " id: %d, %s%s%s, started on: %s"
#, fuzzy, c-format
msgid " %s%s%s (%s%s%s), started on: %s"
msgstr " id: %d, %s%s%s, iniciado en: %s"
msgid "No client for relay"
msgstr "Ningún cliente para retransmitir"
#, fuzzy
msgid "No connected client for relay"
msgstr "Clientes para retransmitir:"
msgid "Listening on ports:"
msgstr "Escuchando en los puertos:"
@ -7723,13 +7756,15 @@ msgstr "%s%s: repetidor \"%s\" no encontrado"
msgid "relay control"
msgstr "control de retransmisión"
#, fuzzy
msgid ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
"|| raw || sslcertkey"
msgstr ""
"list|listfull|listrelay || add <protocolo.nombre> <puerto> || del <protocolo."
"nombre> || raw"
#, fuzzy
msgid ""
" list: list relay clients (only active relays)\n"
" listfull: list relay clients (verbose, all relays)\n"
@ -7739,16 +7774,23 @@ msgid ""
"protocol.name: protocol and name to relay:\n"
" - protocol \"irc\": name is the server to share\n"
" - protocol \"weechat\" (name is not used)\n"
" Note: the protocol can be prefixed by \"ssl.\" to enable SSL\n"
" port: port used for relay\n"
" raw: open buffer with raw Relay data\n"
" sslcertkey: set SSL certificate/key using path in option relay.network."
"ssl_cert_key\n"
"\n"
"Without argument, this command opens buffer with list of relay clients.\n"
"\n"
"Examples:\n"
" irc proxy, for server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" irc proxy, for server \"freenode\", with SSL:\n"
" /relay add ssl.irc.freenode 8001\n"
" weechat protocol:\n"
" /relay add weechat 8001"
" /relay add weechat 9000\n"
" weechat protocol with SSL:\n"
" /relay add ssl.weechat 9001"
msgstr ""
" list: lista clientes a retransmitir (solo retransmisiones activas)\n"
" listfull: lista clientes a retransmitir (detallado, todas las "
@ -7770,7 +7812,7 @@ msgstr ""
" irc proxy, para el servidor \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" protocolo weechat:\n"
" /relay add weechat 8001"
" /relay add weechat 9000"
msgid "all possible protocol.name for relay plugin"
msgstr "todos los posibles protocolo.nombre para el plugin relay"
@ -7785,6 +7827,12 @@ msgstr "primer puerto libre para el plugin relay"
msgid "%s%s: error: port \"%d\" is already used"
msgstr "%s%s: error: puerto \"%d\" ya está en uso"
#, fuzzy, c-format
msgid "%s%s: cannot use SSL because WeeChat was not built with GnuTLS support"
msgstr ""
"%s%s: no es posible conectarse con SSL debido a que WeeChat no fue compilado "
"con soporte GnuTLS"
#, c-format
msgid "%s%s: error: unknown protocol \"%s\""
msgstr "%s%s: error: protocolo desconocido \"%s\""
@ -7806,13 +7854,20 @@ msgstr ""
"abrir automáticamente el buffer de retransmisiones cuando un cliente nuevo "
"se conecta"
msgid "text color"
msgstr "color del texto"
#, fuzzy
msgid "text color for client description"
msgstr "color para los delimitadores de la hora"
msgid "background color"
msgstr "color de fondo"
#, fuzzy
msgid "text color in relay buffer"
msgstr "color para los nombres de los buffers"
msgid "text color of selected client line"
#, fuzzy
msgid "background color in relay buffer"
msgstr "color de fondo para el marcador de datos sin leer"
#, fuzzy
msgid "text color of selected line in relay buffer"
msgstr "color para el cliente seleccionado"
msgid "text color for \"connecting\" status"
@ -7864,12 +7919,24 @@ msgstr ""
"los clientes requieren una clave para acceder este repetidor (sin valor "
"significa que no se requiere clave)"
msgid ""
"file with SSL certificate and private key (for serving clients with SSL)"
msgstr ""
msgid "list of relay clients"
msgstr "Lista de clientes en el repetidor"
msgid "relay pointer (optional)"
msgstr "puntero del retransmisor (opcional)"
#, fuzzy, c-format
msgid "%s: SSL certificate and key have been set"
msgstr "%sgnutls: el certificado ha sido revocado"
#, fuzzy, c-format
msgid "%s%s: unable to initialize priority for SSL"
msgstr "%s%s: no ha sido posible inicializar %s"
msgid "Relay raw messages"
msgstr "Retransmitir mensajes en bruto"
@ -7889,8 +7956,8 @@ msgstr "%s%s: dirección IP \"%s\" no permitida por el repetidor"
msgid "%s%s: error with \"bind\" on port %d (%s%s%s)"
msgstr "%s%s: error con \"bind\" en el puerto %d (%s%s%s)"
#, c-format
msgid "%s: listening on port %d (relay: %s%s%s, max %d clients)"
#, fuzzy, c-format
msgid "%s: listening on port %d (relay: %s%s%s,%s max %d clients)"
msgstr "%s: escuchando en el puerto %d (repetidor: %s%s%s, max %d clientes)"
#, c-format
@ -7901,13 +7968,13 @@ msgstr "%s%s: no hay memoria suficiente para escuchar en un nuevo puerto"
msgid "%s%s: not enough memory for parsing message"
msgstr "%s%s: memoria insuficiente para analizar el mensaje"
#, c-format
msgid "%s%s: failed to execute command \"%s\" for client %d"
#, fuzzy, c-format
msgid "%s%s: failed to execute command \"%s\" for client %s%s%s"
msgstr "%s%s: falló la ejecución del comando \"%s\" por el cliente %d"
#, c-format
#, fuzzy, c-format
msgid ""
"%s%s: too few arguments received from client %d for command \"%s"
"%s%s: too few arguments received from client %s%s%s for command \"%s"
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
"%s%s: muy pocos argumentos recibidos del cliente %d para el comando \"%s"
@ -8542,8 +8609,17 @@ msgstr ""
"tamaño de la barra de progreso, en caracteres (si es 0, la barra es "
"desactivada)"
msgid "text color of selected xfer line"
msgstr "color de texto para la línea seleccionada en xfer"
#, fuzzy
msgid "text color in xfer buffer"
msgstr "color para los nombres de los buffers"
#, fuzzy
msgid "background color in xfer buffer"
msgstr "color de fondo para el área de conversación"
#, fuzzy
msgid "text color of selected line in xfer buffer"
msgstr "color para el cliente seleccionado"
msgid "text color for \"waiting\" status"
msgstr "color de texto para el estado \"esperando\""
@ -8721,6 +8797,27 @@ msgstr "Tipo"
msgid "Constants"
msgstr "Constantes"
#~ msgid "ended on: "
#~ msgstr "terminado en: "
#~ msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
#~ msgstr "%s%-26s id: %d, protocolo: %s, recibido: %s, enviado: %s"
#, fuzzy
#~ msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s%s)"
#~ msgstr ""
#~ "%s: nuevo cliente desde %s%s%s en el puerto %d (id: %d, retransmitiendo: "
#~ "%s%s%s)"
#~ msgid "text color"
#~ msgstr "color del texto"
#~ msgid "background color"
#~ msgstr "color de fondo"
#~ msgid "text color of selected xfer line"
#~ msgstr "color de texto para la línea seleccionada en xfer"
#~ msgid "display message when (un)marking as away"
#~ msgstr "mostrar mensaje cuando se cambie el estado de ausente"

201
po/fr.po
View File

@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.9-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2012-07-21 17:23+0200\n"
"PO-Revision-Date: 2012-07-21 17:23+0200\n"
"POT-Creation-Date: 2012-07-27 17:42+0200\n"
"PO-Revision-Date: 2012-07-27 17:21+0200\n"
"Last-Translator: Sebastien Helleu <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: French\n"
@ -4182,6 +4182,7 @@ msgstr ""
"les serveurs connectés via SSL"
#. TRANSLATORS: "%s" after "%d" is "server" or "servers"
#. TRANSLATORS: "%s" after "%d" is "client" or "clients"
#, c-format
msgid ""
"%s%s: disconnected from %d %s (SSL connection not supported with upgrade)"
@ -5668,10 +5669,10 @@ msgid "use SSL for server communication"
msgstr "utiliser SSL pour la communication avec le serveur"
msgid ""
"ssl certificate file used to automatically identify your nick (\"%h\" will "
"SSL certificate file used to automatically identify your nick (\"%h\" will "
"be replaced by WeeChat home, \"~/.weechat\" by default)"
msgstr ""
"fichier de certificat ssl utilisé pour identifier automatiquement votre "
"fichier de certificat SSL utilisé pour identifier automatiquement votre "
"pseudo (\"%h\" sera remplacé par le répertoire de base WeeChat, par défaut: "
"\"~/.weechat\")"
@ -5688,8 +5689,8 @@ msgstr ""
msgid "size of the key used during the Diffie-Hellman Key Exchange"
msgstr "taille de clé utilisée pour l'échange de clé Diffie-Hellman"
msgid "check that the ssl connection is fully trusted"
msgstr "vérifier que la connexion ssl est entièrement de confiance"
msgid "check that the SSL connection is fully trusted"
msgstr "vérifier que la connexion SSL est entièrement de confiance"
msgid "password for server"
msgstr "mot de passe pour le serveur"
@ -7687,19 +7688,29 @@ msgid " [Q] Close this buffer"
msgstr " [Q] Fermer ce tampon"
#, c-format
msgid "%s%s[%s%s%s%s] %s (started on: %s%s%s%s)"
msgstr "%s%s[%s%s%s%s] %s (démarré le: %s%s%s%s)"
msgid "ended on: "
msgstr "terminé le: "
msgid "%s%s[%s%s%s%s] %s, received: %s, sent: %s"
msgstr "%s%s[%s%s%s%s] %s, reçu: %s, envoyé: %s"
#, c-format
msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
msgstr "%s%-26s id: %d, protocole: %s, reçu: %s, envoyé: %s"
msgid "%s%-26s started on: %s, ended on: %s"
msgstr "%s%-26s démarré le: %s, terminé le: %s"
msgid "List of clients for relay"
msgstr "Liste des clients pour le relai"
#, c-format
msgid ""
"%s%s: disconnecting from client %s%s%s because upgrade can't work for "
"clients connected via SSL"
msgstr ""
"%s%s: déconnexion du client %s%s%s car la mise à jour ne peut pas "
"fonctionner avec les clients connectés via SSL"
msgid "client"
msgid_plural "clients"
msgstr[0] "client"
msgstr[1] "clients"
msgid "connecting"
msgstr "connexion"
@ -7713,47 +7724,74 @@ msgid "disconnected"
msgstr "déconnecté"
#, c-format
msgid "%s%s: reading data on socket for client %d: error %d %s"
msgstr "%s%s: lecture de données sur la socket pour le client %d: erreur %d %s"
msgid "%s%s: TLS handshake failed for client %s%s%s: error %d %s"
msgstr ""
"%s%s: la poignée de main (handshake) de TLS a échoué pour le client %s%s%s: "
"erreur %d %s"
#, c-format
msgid "%s%s: sending data to client %d: error %d %s"
msgstr "%s%s: envoi de données au client %d: erreur %d %s"
msgid "%s%s: TLS handshake timeout for client %s%s%s"
msgstr ""
"%s%s: délai maximum dépassé pour la poignée de main (handshake) de TLS pour "
"le client %s%s%s"
#, c-format
msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)"
msgstr "%s: nouveau client de %s%s%s sur le port %d (id: %d, relai: %s%s%s)"
msgid "%s%s: reading data on socket for client %s%s%s: error %d %s"
msgstr ""
"%s%s: lecture de données sur la socket pour le client %s%s%s: erreur %d %s"
#, c-format
msgid "%s%s: sending data to client %s%s%s: error %d %s"
msgstr "%s%s: envoi de données au client %s%s%s: erreur %d %s"
#, c-format
msgid ""
"%s%s: warning: no SSL certificate/key found (option relay.network."
"ssl_cert_key)"
msgstr ""
"%s%s: attention: pas de certificat/clé SSL trouvés (option relay.network."
"ssl_cert_key)"
#, c-format
msgid "%s: new client on port %d: %s%s%s"
msgstr "%s: nouveau client sur le port %d: %s%s%s"
#, c-format
msgid "%s%s: not enough memory for new client"
msgstr "%s%s: pas assez de mémoire pour un nouveau client"
#, c-format
msgid "%s%s: authentication failed with client %s%s%s (%s%s%s)"
msgstr "%s%s: l'authentification a échoué avec le client %s%s%s (%s%s%s)"
msgid "%s%s: authentication failed with client %s%s%s"
msgstr "%s%s: l'authentification a échoué avec le client %s%s%s"
#, c-format
msgid "%s: disconnected from client %s%s%s (%s%s%s)"
msgstr "%s: déconnecté du client %s%s%s (%s%s%s)"
msgid "%s: disconnected from client %s%s%s"
msgstr "%s: déconnecté du client %s%s%s"
msgid "Clients for relay:"
msgstr "Clients pour le relai:"
#, c-format
msgid ""
" id: %d, %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu "
"recv, %lu sent"
msgstr ""
" id: %d, %s%s%s (%s%s%s), démarré le: %s, dernière activité: %s, octets: "
"%lu reçus, %lu envoyés"
msgid "Connected clients for relay:"
msgstr "Clients connectés pour le relai:"
#, c-format
msgid " id: %d, %s%s%s, started on: %s"
msgstr " id: %d, %s%s%s, démarré le: %s"
msgid ""
" %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu recv, %lu "
"sent"
msgstr ""
" %s%s%s (%s%s%s), démarré le: %s, dernière activité: %s, octets: %lu reçus, "
"%lu envoyés"
#, c-format
msgid " %s%s%s (%s%s%s), started on: %s"
msgstr " %s%s%s (%s%s%s), démarré le: %s"
msgid "No client for relay"
msgstr "Pas de client pour le relai"
msgid "No connected client for relay"
msgstr "Pas de client connecté pour le relai"
msgid "Listening on ports:"
msgstr "Ecoute sur les ports:"
@ -7781,10 +7819,10 @@ msgstr "contrôle du relai"
msgid ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
"|| raw || sslcertkey"
msgstr ""
"list|listfull|listrelay || add <protocole.nom> <port> || del <protocole.nom> "
"|| raw"
"|| raw || sslcertkey"
msgid ""
" list: list relay clients (only active relays)\n"
@ -7795,16 +7833,23 @@ msgid ""
"protocol.name: protocol and name to relay:\n"
" - protocol \"irc\": name is the server to share\n"
" - protocol \"weechat\" (name is not used)\n"
" Note: the protocol can be prefixed by \"ssl.\" to enable SSL\n"
" port: port used for relay\n"
" raw: open buffer with raw Relay data\n"
" sslcertkey: set SSL certificate/key using path in option relay.network."
"ssl_cert_key\n"
"\n"
"Without argument, this command opens buffer with list of relay clients.\n"
"\n"
"Examples:\n"
" irc proxy, for server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" irc proxy, for server \"freenode\", with SSL:\n"
" /relay add ssl.irc.freenode 8001\n"
" weechat protocol:\n"
" /relay add weechat 8001"
" /relay add weechat 9000\n"
" weechat protocol with SSL:\n"
" /relay add ssl.weechat 9001"
msgstr ""
" list: lister les clients pour le relai\n"
" listfull: lister les clients pour le relai (verbeux)\n"
@ -7814,8 +7859,12 @@ msgstr ""
"protocole.nom: protocole et nom à relayer:\n"
" - protocole \"irc\": le nom est le serveur à partager\n"
" - protocole \"weechat\" (le nom n'est pas utilisé)\n"
" Note: le protocole peut être préfixé par \"ssl.\" pour "
"activer le SSL\n"
" port: port utilisé pour le relai\n"
" raw: ouvrir le tampon avec les données brutes Relay\n"
" sslcertkey: définir le certificat/clé SSL en utilisant le chemin de "
"l'option relay.network.ssl_cert_key\n"
"\n"
"Sans paramètre, cette commande ouvre le tampon avec la liste des clients "
"pour le relai.\n"
@ -7823,8 +7872,12 @@ msgstr ""
"Exemples:\n"
" proxy irc, pour le serveur \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" proxy irc, pour le serveur \"freenode\", avec SSL:\n"
" /relay add ssl.irc.freenode 8001\n"
" protocole weechat:\n"
" /relay add weechat 8001"
" /relay add weechat 9000\n"
" protocole weechat avec SSL:\n"
" /relay add ssl.weechat 9001"
msgid "all possible protocol.name for relay plugin"
msgstr "tous les protocole.nom possible pour l'extension relay"
@ -7839,6 +7892,12 @@ msgstr "premier port libre pour l'extension relay"
msgid "%s%s: error: port \"%d\" is already used"
msgstr "%s%s: erreur: le port \"%d\" est déjà utilisé"
#, c-format
msgid "%s%s: cannot use SSL because WeeChat was not built with GnuTLS support"
msgstr ""
"%s%s: impossible d'utiliser SSL car WeeChat n'a pas été construit avec le "
"support GnuTLS"
#, c-format
msgid "%s%s: error: unknown protocol \"%s\""
msgstr "%s%s: erreur: protocole \"%s\" inconnu"
@ -7860,14 +7919,17 @@ msgstr ""
"ouvrir automatiquement le tampon des clients pour le relai lorsqu'un nouveau "
"client est ajouté à la liste"
msgid "text color"
msgstr "couleur du texte"
msgid "text color for client description"
msgstr "couleur du texte pour la description du client"
msgid "background color"
msgstr "couleur du fond"
msgid "text color in relay buffer"
msgstr "couleur du texte dans le tampon relay"
msgid "text color of selected client line"
msgstr "couleur du texte pour la ligne client sélectionnée"
msgid "background color in relay buffer"
msgstr "couleur du fond dans le tampon relay"
msgid "text color of selected line in relay buffer"
msgstr "couleur du texte pour la ligne sélectionnée dans le tampon relay"
msgid "text color for \"connecting\" status"
msgstr "couleur du texte pour le statut \"connexion\""
@ -7919,12 +7981,26 @@ msgstr ""
"mot de passe requis par les clients pour accéder à ce relai (une valeur vide "
"indique que le mot de passe n'est pas nécessaire)"
msgid ""
"file with SSL certificate and private key (for serving clients with SSL)"
msgstr ""
"fichier avec le certificat et la clé privée SSL (pour servir les clients "
"avec SSL)"
msgid "list of relay clients"
msgstr "liste des clients pour le relai"
msgid "relay pointer (optional)"
msgstr "pointeur vers le relay (optionnel)"
#, c-format
msgid "%s: SSL certificate and key have been set"
msgstr "%s: certificat et clé SSL ont été définis"
#, c-format
msgid "%s%s: unable to initialize priority for SSL"
msgstr "%s%s: impossible d'initialiser la priorité pour SSL"
msgid "Relay raw messages"
msgstr "Messages bruts Relay"
@ -7945,8 +8021,8 @@ msgid "%s%s: error with \"bind\" on port %d (%s%s%s)"
msgstr "%s%s: erreur avec le \"bind\" sur le port %d (%s%s%s)"
#, c-format
msgid "%s: listening on port %d (relay: %s%s%s, max %d clients)"
msgstr "%s: écoute sur le port %d (relai: %s%s%s, max %d clients)"
msgid "%s: listening on port %d (relay: %s%s%s,%s max %d clients)"
msgstr "%s: écoute sur le port %d (relai: %s%s%s,%s max %d clients)"
#, c-format
msgid "%s%s: not enough memory for listening on new port"
@ -7957,15 +8033,15 @@ msgid "%s%s: not enough memory for parsing message"
msgstr "%s%s: mémoire insuffisante pour analyser le message"
#, c-format
msgid "%s%s: failed to execute command \"%s\" for client %d"
msgstr "%s%s: echec d'exécution de la commamde \"%s\" pour le client %d"
msgid "%s%s: failed to execute command \"%s\" for client %s%s%s"
msgstr "%s%s: echec d'exécution de la commamde \"%s\" pour le client %s%s%s"
#, c-format
msgid ""
"%s%s: too few arguments received from client %d for command \"%s"
"%s%s: too few arguments received from client %s%s%s for command \"%s"
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
"%s%s: trop peu de paramètres reçus du client %d pour la commande \"%s"
"%s%s: trop peu de paramètres reçus du client %s%s%s pour la commande \"%s"
"\" (reçu: %d paramètres, attendu: au moins %d)"
#, c-format
@ -8598,8 +8674,14 @@ msgstr ""
"taille de la barre de progression, en caractères (si 0, la barre de "
"progression est désactivée)"
msgid "text color of selected xfer line"
msgstr "couleur du texte pour la ligne xfer sélectionnée"
msgid "text color in xfer buffer"
msgstr "couleur du texte dans le tampon xfer"
msgid "background color in xfer buffer"
msgstr "couleur du fond dans le tampon xfer"
msgid "text color of selected line in xfer buffer"
msgstr "couleur du texte pour la ligne sélectionnée dans le tampon xfer"
msgid "text color for \"waiting\" status"
msgstr "couleur du texte pour le statut \"en attente\""
@ -8779,3 +8861,22 @@ msgstr "Type"
msgid "Constants"
msgstr "Constantes"
#~ msgid "ended on: "
#~ msgstr "terminé le: "
#~ msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
#~ msgstr "%s%-26s id: %d, protocole: %s, reçu: %s, envoyé: %s"
#~ msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s%s)"
#~ msgstr ""
#~ "%s: nouveau client de %s%s%s sur le port %d (id: %d, relai: %s%s%s%s)"
#~ msgid "text color"
#~ msgstr "couleur du texte"
#~ msgid "background color"
#~ msgstr "couleur du fond"
#~ msgid "text color of selected xfer line"
#~ msgstr "couleur du texte pour la ligne xfer sélectionnée"

139
po/hu.po
View File

@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.9-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2012-07-21 17:23+0200\n"
"POT-Creation-Date: 2012-07-27 17:42+0200\n"
"PO-Revision-Date: 2012-06-03 09:49+0200\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -3566,6 +3566,7 @@ msgid ""
msgstr ""
#. TRANSLATORS: "%s" after "%d" is "server" or "servers"
#. TRANSLATORS: "%s" after "%d" is "client" or "clients"
#, c-format
msgid ""
"%s%s: disconnected from %d %s (SSL connection not supported with upgrade)"
@ -5004,7 +5005,7 @@ msgstr "SSL használata a a kapcsolathoz"
#, fuzzy
msgid ""
"ssl certificate file used to automatically identify your nick (\"%h\" will "
"SSL certificate file used to automatically identify your nick (\"%h\" will "
"be replaced by WeeChat home, \"~/.weechat\" by default)"
msgstr ""
"modulok elérési útvonala ('%h' helyére automatikusan a WeeChat saját "
@ -5019,7 +5020,7 @@ msgstr ""
msgid "size of the key used during the Diffie-Hellman Key Exchange"
msgstr ""
msgid "check that the ssl connection is fully trusted"
msgid "check that the SSL connection is fully trusted"
msgstr ""
#, fuzzy
@ -6895,19 +6896,27 @@ msgid " [Q] Close this buffer"
msgstr " [Q] DCC nézet bezárása"
#, fuzzy, c-format
msgid "%s%s[%s%s%s%s] %s (started on: %s%s%s%s)"
msgid "%s%s[%s%s%s%s] %s, received: %s, sent: %s"
msgstr "%s%s%s távol: %s\n"
msgid "ended on: "
#, c-format
msgid "%s%-26s started on: %s, ended on: %s"
msgstr ""
#, fuzzy, c-format
msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
msgstr "DCC: fájl %s%s%s"
msgid "List of clients for relay"
msgstr ""
#, c-format
msgid ""
"%s%s: disconnecting from client %s%s%s because upgrade can't work for "
"clients connected via SSL"
msgstr ""
msgid "client"
msgid_plural "clients"
msgstr[0] ""
msgstr[1] ""
#, fuzzy
msgid "connecting"
msgstr "Kapcsolódás"
@ -6925,45 +6934,66 @@ msgid "disconnected"
msgstr "csatlakozva"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %d: error %d %s"
msgid "%s%s: TLS handshake failed for client %s%s%s: error %d %s"
msgstr "%s adatküldési hiba az IRC szerveren\n"
#, fuzzy, c-format
msgid "%s%s: sending data to client %d: error %d %s"
msgid "%s%s: TLS handshake timeout for client %s%s%s"
msgstr "%s gnutls kézfogás sikertelen\n"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %s%s%s: error %d %s"
msgstr "%s adatküldési hiba az IRC szerveren\n"
#, fuzzy, c-format
msgid "%s%s: sending data to client %s%s%s: error %d %s"
msgstr "%s adatküldési hiba az IRC szerveren\n"
#, c-format
msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)"
msgid ""
"%s%s: warning: no SSL certificate/key found (option relay.network."
"ssl_cert_key)"
msgstr ""
#, fuzzy, c-format
msgid "%s: new client on port %d: %s%s%s"
msgstr "%s nem sikerült a csatornát létrehozni\n"
#, fuzzy, c-format
msgid "%s%s: not enough memory for new client"
msgstr "%s nincs elegendő memória új DCC számára\n"
#, fuzzy, c-format
msgid "%s%s: authentication failed with client %s%s%s (%s%s%s)"
msgid "%s%s: authentication failed with client %s%s%s"
msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
#, fuzzy, c-format
msgid "%s: disconnected from client %s%s%s (%s%s%s)"
msgid "%s: disconnected from client %s%s%s"
msgstr "Lekapcsolódott a szerverről!\n"
msgid "Clients for relay:"
msgstr ""
msgid "Connected clients for relay:"
msgstr ""
#, c-format
msgid ""
" id: %d, %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu "
"recv, %lu sent"
" %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu recv, %lu "
"sent"
msgstr ""
#, fuzzy, c-format
msgid " id: %d, %s%s%s, started on: %s"
msgid " %s%s%s (%s%s%s), started on: %s"
msgstr "Szoba létrehozva: %s"
msgid "No client for relay"
msgstr ""
#, fuzzy
msgid "No connected client for relay"
msgstr "Nincs szerver.\n"
#, fuzzy
msgid "Listening on ports:"
msgstr "Aliaszok listája:\n"
@ -6993,7 +7023,7 @@ msgstr ""
msgid ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
"|| raw || sslcertkey"
msgstr ""
msgid ""
@ -7005,16 +7035,23 @@ msgid ""
"protocol.name: protocol and name to relay:\n"
" - protocol \"irc\": name is the server to share\n"
" - protocol \"weechat\" (name is not used)\n"
" Note: the protocol can be prefixed by \"ssl.\" to enable SSL\n"
" port: port used for relay\n"
" raw: open buffer with raw Relay data\n"
" sslcertkey: set SSL certificate/key using path in option relay.network."
"ssl_cert_key\n"
"\n"
"Without argument, this command opens buffer with list of relay clients.\n"
"\n"
"Examples:\n"
" irc proxy, for server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" irc proxy, for server \"freenode\", with SSL:\n"
" /relay add ssl.irc.freenode 8001\n"
" weechat protocol:\n"
" /relay add weechat 8001"
" /relay add weechat 9000\n"
" weechat protocol with SSL:\n"
" /relay add ssl.weechat 9001"
msgstr ""
msgid "all possible protocol.name for relay plugin"
@ -7031,6 +7068,12 @@ msgstr "Aliaszok listája:\n"
msgid "%s%s: error: port \"%d\" is already used"
msgstr "%s az ignore már létezik\n"
#, fuzzy, c-format
msgid "%s%s: cannot use SSL because WeeChat was not built with GnuTLS support"
msgstr ""
"%s nem sikerült SSL használattal kapcsolódni, mert a WeeChat GNUtls "
"támogatás nélkül lett fordítva\n"
#, fuzzy, c-format
msgid "%s%s: error: unknown protocol \"%s\""
msgstr "%s ismeretlen billentyűparancs \"%s\"\n"
@ -7051,15 +7094,19 @@ msgid "auto open relay buffer when a new client is connecting"
msgstr ""
#, fuzzy
msgid "text color"
msgstr "üzenetek színe"
msgid "text color for client description"
msgstr "információs pult határolóinak színe"
#, fuzzy
msgid "background color"
msgstr "nevek háttere"
msgid "text color in relay buffer"
msgstr "szerver nevének színe"
#, fuzzy
msgid "text color of selected client line"
msgid "background color in relay buffer"
msgstr "olvasatlan adat jelölő háttere"
#, fuzzy
msgid "text color of selected line in relay buffer"
msgstr "szerver nevének színe"
#, fuzzy
@ -7106,6 +7153,10 @@ msgid ""
"password required)"
msgstr ""
msgid ""
"file with SSL certificate and private key (for serving clients with SSL)"
msgstr ""
#, fuzzy
msgid "list of relay clients"
msgstr "Aliaszok listája:\n"
@ -7113,6 +7164,14 @@ msgstr "Aliaszok listája:\n"
msgid "relay pointer (optional)"
msgstr ""
#, fuzzy, c-format
msgid "%s: SSL certificate and key have been set"
msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
#, fuzzy, c-format
msgid "%s%s: unable to initialize priority for SSL"
msgstr "%s nem sikerült a modult betölteni \"%s\"\n"
#, fuzzy
msgid "Relay raw messages"
msgstr "hibakereső üzenetek megjelenítése"
@ -7134,7 +7193,7 @@ msgid "%s%s: error with \"bind\" on port %d (%s%s%s)"
msgstr "%s nem sikerült a csatornát létrehozni\n"
#, c-format
msgid "%s: listening on port %d (relay: %s%s%s, max %d clients)"
msgid "%s: listening on port %d (relay: %s%s%s,%s max %d clients)"
msgstr ""
#, fuzzy, c-format
@ -7146,12 +7205,12 @@ msgid "%s%s: not enough memory for parsing message"
msgstr "%s nincs elegendő memória a fogadott IRC üzenet számára\n"
#, fuzzy, c-format
msgid "%s%s: failed to execute command \"%s\" for client %d"
msgid "%s%s: failed to execute command \"%s\" for client %s%s%s"
msgstr "Nem sikerült a(z) \"%s\" naplófájlt írni\n"
#, c-format
msgid ""
"%s%s: too few arguments received from client %d for command \"%s"
"%s%s: too few arguments received from client %s%s%s for command \"%s"
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
@ -7759,7 +7818,15 @@ msgid "size of progress bar, in chars (if 0, progress bar is disabled)"
msgstr ""
#, fuzzy
msgid "text color of selected xfer line"
msgid "text color in xfer buffer"
msgstr "szerver nevének színe"
#, fuzzy
msgid "background color in xfer buffer"
msgstr "nevek háttere"
#, fuzzy
msgid "text color of selected line in xfer buffer"
msgstr "szerver nevének színe"
#, fuzzy
@ -7948,6 +8015,22 @@ msgstr ""
msgid "Constants"
msgstr ""
#, fuzzy
#~ msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
#~ msgstr "DCC: fájl %s%s%s"
#, fuzzy
#~ msgid "text color"
#~ msgstr "üzenetek színe"
#, fuzzy
#~ msgid "background color"
#~ msgstr "nevek háttere"
#, fuzzy
#~ msgid "text color of selected xfer line"
#~ msgstr "szerver nevének színe"
#~ msgid "display message when (un)marking as away"
#~ msgstr "üzenet mutatása távollétkor/visszatéréskor"

177
po/it.po
View File

@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.9-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2012-07-21 17:23+0200\n"
"PO-Revision-Date: 2012-06-03 09:49+0200\n"
"POT-Creation-Date: 2012-07-27 17:42+0200\n"
"PO-Revision-Date: 2012-07-27 12:15+0200\n"
"Last-Translator: Marco Paolone <marcopaolone@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Italian\n"
@ -4132,6 +4132,7 @@ msgstr ""
"connessi via SSL"
#. TRANSLATORS: "%s" after "%d" is "server" or "servers"
#. TRANSLATORS: "%s" after "%d" is "client" or "clients"
#, c-format
msgid ""
"%s%s: disconnected from %d %s (SSL connection not supported with upgrade)"
@ -5605,8 +5606,9 @@ msgstr "usa il protocollo IPv6 per le comunicazioni col server"
msgid "use SSL for server communication"
msgstr "usa SSL per le comunicazioni col server"
#, fuzzy
msgid ""
"ssl certificate file used to automatically identify your nick (\"%h\" will "
"SSL certificate file used to automatically identify your nick (\"%h\" will "
"be replaced by WeeChat home, \"~/.weechat\" by default)"
msgstr ""
"file del certificato ssl usato per identificare automaticamente il proprio "
@ -5626,7 +5628,8 @@ msgstr ""
msgid "size of the key used during the Diffie-Hellman Key Exchange"
msgstr "dimensione della chiave usata durante lo Scambio Chiavi Diffie-Hellman"
msgid "check that the ssl connection is fully trusted"
#, fuzzy
msgid "check that the SSL connection is fully trusted"
msgstr "verifica che la connessione ssl sia totalmente fidata"
msgid "password for server"
@ -7615,20 +7618,30 @@ msgstr " [P] Rimuovi completati"
msgid " [Q] Close this buffer"
msgstr " [Q] Chiudi questo buffer"
#, c-format
msgid "%s%s[%s%s%s%s] %s (started on: %s%s%s%s)"
#, fuzzy, c-format
msgid "%s%s[%s%s%s%s] %s, received: %s, sent: %s"
msgstr "%s%s[%s%s%s%s] %s (avviato il: %s%s%s%s)"
msgid "ended on: "
msgstr "finito il: "
#, c-format
msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
msgstr "%s%-26s id: %d, protocollo: %s, ricevuti: %s, inviati: %s"
msgid "%s%-26s started on: %s, ended on: %s"
msgstr ""
msgid "List of clients for relay"
msgstr "Elenco dei client per il relay"
#, fuzzy, c-format
msgid ""
"%s%s: disconnecting from client %s%s%s because upgrade can't work for "
"clients connected via SSL"
msgstr ""
"%s%s; disconnesso dal server poiché l'upgrade non funziona per i server "
"connessi via SSL"
msgid "client"
msgid_plural "clients"
msgstr[0] ""
msgstr[1] ""
msgid "connecting"
msgstr "connessione"
@ -7642,47 +7655,69 @@ msgid "disconnected"
msgstr "disconnesso"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %d: error %d %s"
msgid "%s%s: TLS handshake failed for client %s%s%s: error %d %s"
msgstr "%s%s: lettura dei dati sul socket: errore %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %d: error %d %s"
msgid "%s%s: TLS handshake timeout for client %s%s%s"
msgstr "%s%s: handshake TLS fallito"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %s%s%s: error %d %s"
msgstr "%s%s: lettura dei dati sul socket: errore %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %s%s%s: error %d %s"
msgstr "%s%s: errore nell'invio dei dati al client %d (%s)"
#, c-format
msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)"
msgstr "%s: nuovo client da %s%s%s sulla porta %d (id: %d, relay: %s%s%s)"
msgid ""
"%s%s: warning: no SSL certificate/key found (option relay.network."
"ssl_cert_key)"
msgstr ""
#, fuzzy, c-format
msgid "%s: new client on port %d: %s%s%s"
msgstr "%s%s: impossibile accettare il client sulla porta %d (%s%s%s)"
#, c-format
msgid "%s%s: not enough memory for new client"
msgstr "%s%s: memoria insufficiente per il nuovo client"
#, c-format
msgid "%s%s: authentication failed with client %s%s%s (%s%s%s)"
#, fuzzy, c-format
msgid "%s%s: authentication failed with client %s%s%s"
msgstr "%s%s: autenticazione fallita con il client %s%s%s (%s%s%s)"
#, c-format
msgid "%s: disconnected from client %s%s%s (%s%s%s)"
#, fuzzy, c-format
msgid "%s: disconnected from client %s%s%s"
msgstr "%s: disconnesso dal client %s%s%s (%s%s%s)"
msgid "Clients for relay:"
msgstr "Client per relay:"
#, c-format
#, fuzzy
msgid "Connected clients for relay:"
msgstr "Client per relay:"
#, fuzzy, c-format
msgid ""
" id: %d, %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu "
"recv, %lu sent"
" %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu recv, %lu "
"sent"
msgstr ""
" id: %d, %s%s%s (%s%s%s), avviato il %s, attività recente: %s byte: %lu "
"ricevuti, %lu inviati"
#, c-format
msgid " id: %d, %s%s%s, started on: %s"
#, fuzzy, c-format
msgid " %s%s%s (%s%s%s), started on: %s"
msgstr " id: %d, %s%s%s, avviato il: %s"
msgid "No client for relay"
msgstr "Nessun client per il relay"
#, fuzzy
msgid "No connected client for relay"
msgstr "Client per relay:"
msgid "Listening on ports:"
msgstr "In ascolto sulle porte:"
@ -7708,13 +7743,15 @@ msgstr "%s%s: relay \"%s\" non trovato"
msgid "relay control"
msgstr "controllo relay"
#, fuzzy
msgid ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
"|| raw || sslcertkey"
msgstr ""
"list|listfull|listrelay || add <protocollo.nome> <porta> || del <protocollo."
"nome> || raw"
#, fuzzy
msgid ""
" list: list relay clients (only active relays)\n"
" listfull: list relay clients (verbose, all relays)\n"
@ -7724,16 +7761,23 @@ msgid ""
"protocol.name: protocol and name to relay:\n"
" - protocol \"irc\": name is the server to share\n"
" - protocol \"weechat\" (name is not used)\n"
" Note: the protocol can be prefixed by \"ssl.\" to enable SSL\n"
" port: port used for relay\n"
" raw: open buffer with raw Relay data\n"
" sslcertkey: set SSL certificate/key using path in option relay.network."
"ssl_cert_key\n"
"\n"
"Without argument, this command opens buffer with list of relay clients.\n"
"\n"
"Examples:\n"
" irc proxy, for server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" irc proxy, for server \"freenode\", with SSL:\n"
" /relay add ssl.irc.freenode 8001\n"
" weechat protocol:\n"
" /relay add weechat 8001"
" /relay add weechat 9000\n"
" weechat protocol with SSL:\n"
" /relay add ssl.weechat 9001"
msgstr ""
" list: elenca i client relay (solo quelli attivi)\n"
" listfull: elenca i client relay (dettagliato, tutti i relay)\n"
@ -7752,7 +7796,7 @@ msgstr ""
" proxy irc, per il server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" protocollo weechat:\n"
" /relay add weechat 8001"
" /relay add weechat 9000"
msgid "all possible protocol.name for relay plugin"
msgstr "protocollo.nome possibile per il plugin relay"
@ -7767,6 +7811,12 @@ msgstr "prima porta libera per il plugin relay"
msgid "%s%s: error: port \"%d\" is already used"
msgstr "%s%s: errore: la porta \"%d\" è già in uso"
#, fuzzy, c-format
msgid "%s%s: cannot use SSL because WeeChat was not built with GnuTLS support"
msgstr ""
"%s%s: impossibile connettersi via SSL poiché WeeChat non è stato compilato "
"con il supporto a GnuTLS"
#, c-format
msgid "%s%s: error: unknown protocol \"%s\""
msgstr "%s%s: errore: protocollo \"%s\" sconosciuto"
@ -7787,13 +7837,20 @@ msgid "auto open relay buffer when a new client is connecting"
msgstr ""
"apre automaticamente il buffer relay alla connessione di un nuovo client"
msgid "text color"
msgstr "colore del testo"
#, fuzzy
msgid "text color for client description"
msgstr "colore del testo per i delimitator dell'orario"
msgid "background color"
msgstr "colore di sfondo"
#, fuzzy
msgid "text color in relay buffer"
msgstr "colore del testo per i nomi dei buffer"
msgid "text color of selected client line"
#, fuzzy
msgid "background color in relay buffer"
msgstr "colore di sfondo per l'evidenziatore di dati non letti"
#, fuzzy
msgid "text color of selected line in relay buffer"
msgstr "colore della riga del client selezionato"
msgid "text color for \"connecting\" status"
@ -7846,12 +7903,24 @@ msgstr ""
"password richiesta dai client per accedere a questo relay (un valore nullo "
"corrisponde a nessuna password richiesta)"
msgid ""
"file with SSL certificate and private key (for serving clients with SSL)"
msgstr ""
msgid "list of relay clients"
msgstr "elenco di client relay"
msgid "relay pointer (optional)"
msgstr "puntatore al relay (opzionale)"
#, fuzzy, c-format
msgid "%s: SSL certificate and key have been set"
msgstr "%sgnutls: il certificato è stato revocato"
#, fuzzy, c-format
msgid "%s%s: unable to initialize priority for SSL"
msgstr "%s%s: impossibile inizializzare %s"
msgid "Relay raw messages"
msgstr "messaggi raw Relay"
@ -7871,8 +7940,8 @@ msgstr "%s%s: indirizzo IP \"%s\" non consentito per il relay"
msgid "%s%s: error with \"bind\" on port %d (%s%s%s)"
msgstr "%s%s: errore con \"bind\" sulla porta %d (%s%s%s)"
#, c-format
msgid "%s: listening on port %d (relay: %s%s%s, max %d clients)"
#, fuzzy, c-format
msgid "%s: listening on port %d (relay: %s%s%s,%s max %d clients)"
msgstr "%s: in ascolto sulla porta %d (relay: %s%s%s, massimo %d client)"
#, c-format
@ -7883,13 +7952,13 @@ msgstr "%s%s: memoria non sufficiente per l'ascolto su una nuova porta"
msgid "%s%s: not enough memory for parsing message"
msgstr "%s%s: memoria non sufficiente per verificare il messaggio"
#, c-format
msgid "%s%s: failed to execute command \"%s\" for client %d"
#, fuzzy, c-format
msgid "%s%s: failed to execute command \"%s\" for client %s%s%s"
msgstr "%s%s: impossibile eseguire il comando \"%s\" per il client %d"
#, c-format
#, fuzzy, c-format
msgid ""
"%s%s: too few arguments received from client %d for command \"%s"
"%s%s: too few arguments received from client %s%s%s for command \"%s"
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
"%s%s: argomenti non sufficienti ricevuti dal client %d per il comando \"%s"
@ -8519,8 +8588,17 @@ msgstr ""
msgid "size of progress bar, in chars (if 0, progress bar is disabled)"
msgstr "dimensione barra di avanzamento, in caratteri (se 0, è disabilitata)"
msgid "text color of selected xfer line"
msgstr "colore del testo per la riga xfer selezionata"
#, fuzzy
msgid "text color in xfer buffer"
msgstr "colore del testo per i nomi dei buffer"
#, fuzzy
msgid "background color in xfer buffer"
msgstr "colore di sfondo per la chat"
#, fuzzy
msgid "text color of selected line in xfer buffer"
msgstr "colore della riga del client selezionato"
msgid "text color for \"waiting\" status"
msgstr "colore del testo per lo status \"in attesa\""
@ -8695,6 +8773,25 @@ msgstr "Tipo"
msgid "Constants"
msgstr "Costanti"
#~ msgid "ended on: "
#~ msgstr "finito il: "
#~ msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
#~ msgstr "%s%-26s id: %d, protocollo: %s, ricevuti: %s, inviati: %s"
#, fuzzy
#~ msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s%s)"
#~ msgstr "%s: nuovo client da %s%s%s sulla porta %d (id: %d, relay: %s%s%s)"
#~ msgid "text color"
#~ msgstr "colore del testo"
#~ msgid "background color"
#~ msgstr "colore di sfondo"
#~ msgid "text color of selected xfer line"
#~ msgstr "colore del testo per la riga xfer selezionata"
#~ msgid "display message when (un)marking as away"
#~ msgstr "visualizza messaggio al cambio dello stato di assenza"

175
po/ja.po
View File

@ -20,8 +20,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.9-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2012-07-21 17:23+0200\n"
"PO-Revision-Date: 2012-06-03 09:49+0200\n"
"POT-Creation-Date: 2012-07-27 17:42+0200\n"
"PO-Revision-Date: 2012-07-27 12:16+0200\n"
"Last-Translator: AYANOKOUZI, Ryuunosuke <i38w7i3@yahoo.co.jp>\n"
"Language-Team: Japanese <https://github.com/l/WeeChat>\n"
"Language: ja\n"
@ -4027,6 +4027,7 @@ msgstr ""
"%s%s: SSL 接続サーバでは upgrade が利かないため、サーバとの接続を切断中"
#. TRANSLATORS: "%s" after "%d" is "server" or "servers"
#. TRANSLATORS: "%s" after "%d" is "client" or "clients"
#, c-format
msgid ""
"%s%s: disconnected from %d %s (SSL connection not supported with upgrade)"
@ -5482,8 +5483,9 @@ msgstr "サーバとの通信に IPv6 を利用"
msgid "use SSL for server communication"
msgstr "サーバとの通信に SSL を利用"
#, fuzzy
msgid ""
"ssl certificate file used to automatically identify your nick (\"%h\" will "
"SSL certificate file used to automatically identify your nick (\"%h\" will "
"be replaced by WeeChat home, \"~/.weechat\" by default)"
msgstr ""
"自動的にニックネームの身元確認を行うために使われる ssl 認証ファイル (\"%h\" "
@ -5501,7 +5503,8 @@ msgstr ""
msgid "size of the key used during the Diffie-Hellman Key Exchange"
msgstr "Diffie-Hellman 鍵交換で使われる鍵長"
msgid "check that the ssl connection is fully trusted"
#, fuzzy
msgid "check that the SSL connection is fully trusted"
msgstr "ssl 接続が完全に信頼できるものか確認"
msgid "password for server"
@ -7421,20 +7424,28 @@ msgstr " [P] パージ完了"
msgid " [Q] Close this buffer"
msgstr " [Q] バッファを閉じる"
#, c-format
msgid "%s%s[%s%s%s%s] %s (started on: %s%s%s%s)"
#, fuzzy, c-format
msgid "%s%s[%s%s%s%s] %s, received: %s, sent: %s"
msgstr "%s%s[%s%s%s%s] %s (開始日時: %s%s%s%s)"
msgid "ended on: "
msgstr "終了日時: "
#, c-format
msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
msgstr "%s%-26s id: %d、プロトコル: %s、受信: %s、送信: %s"
msgid "%s%-26s started on: %s, ended on: %s"
msgstr ""
msgid "List of clients for relay"
msgstr "中継するクライアントのリスト"
#, fuzzy, c-format
msgid ""
"%s%s: disconnecting from client %s%s%s because upgrade can't work for "
"clients connected via SSL"
msgstr ""
"%s%s: SSL 接続サーバでは upgrade が利かないため、サーバとの接続を切断中"
msgid "client"
msgid_plural "clients"
msgstr[0] ""
msgid "connecting"
msgstr "接続中"
@ -7448,47 +7459,69 @@ msgid "disconnected"
msgstr "切断されました"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %d: error %d %s"
msgid "%s%s: TLS handshake failed for client %s%s%s: error %d %s"
msgstr "%s%s: ソケットからデータを読み取り中: エラー %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %d: error %d %s"
msgid "%s%s: TLS handshake timeout for client %s%s%s"
msgstr "%s%s: TLS ハンドシェイクに失敗"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %s%s%s: error %d %s"
msgstr "%s%s: ソケットからデータを読み取り中: エラー %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %s%s%s: error %d %s"
msgstr "%s%s: クライアント %d (%s) へのデータ送信中にエラー"
#, c-format
msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)"
msgstr "%s: %s%s%s ポート %d での新規クライアント (id: %d、リレー: %s%s%s)"
msgid ""
"%s%s: warning: no SSL certificate/key found (option relay.network."
"ssl_cert_key)"
msgstr ""
#, fuzzy, c-format
msgid "%s: new client on port %d: %s%s%s"
msgstr "%s%s: ポート %d (%s%s%s) ではクライアントを受け付けません"
#, c-format
msgid "%s%s: not enough memory for new client"
msgstr "%s%s: 新しいクライアント用のメモリ不足"
#, c-format
msgid "%s%s: authentication failed with client %s%s%s (%s%s%s)"
#, fuzzy, c-format
msgid "%s%s: authentication failed with client %s%s%s"
msgstr "%s%s: クライアント %s%s%s との認証に失敗 (%s%s%s)"
#, c-format
msgid "%s: disconnected from client %s%s%s (%s%s%s)"
#, fuzzy, c-format
msgid "%s: disconnected from client %s%s%s"
msgstr "%s: クライアント %s%s%s から切断 (%s%s%s)"
msgid "Clients for relay:"
msgstr "リレーするクライアント:"
#, c-format
#, fuzzy
msgid "Connected clients for relay:"
msgstr "リレーするクライアント:"
#, fuzzy, c-format
msgid ""
" id: %d, %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu "
"recv, %lu sent"
" %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu recv, %lu "
"sent"
msgstr ""
" id: %d, %s%s%s (%s%s%s)、開始日時: %s、最新の活動: %s、バイト: %lu 受"
"信、%lu 送信"
#, c-format
msgid " id: %d, %s%s%s, started on: %s"
#, fuzzy, c-format
msgid " %s%s%s (%s%s%s), started on: %s"
msgstr " id: %d, %s%s%s、開始日時: %s"
msgid "No client for relay"
msgstr "リレーするクライアントがありません"
#, fuzzy
msgid "No connected client for relay"
msgstr "リレーするクライアント:"
msgid "Listening on ports:"
msgstr "リッスンポート:"
@ -7514,13 +7547,15 @@ msgstr "%s%s: リレー \"%s\" が見つかりません"
msgid "relay control"
msgstr "リレー管理"
#, fuzzy
msgid ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
"|| raw || sslcertkey"
msgstr ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
#, fuzzy
msgid ""
" list: list relay clients (only active relays)\n"
" listfull: list relay clients (verbose, all relays)\n"
@ -7530,16 +7565,23 @@ msgid ""
"protocol.name: protocol and name to relay:\n"
" - protocol \"irc\": name is the server to share\n"
" - protocol \"weechat\" (name is not used)\n"
" Note: the protocol can be prefixed by \"ssl.\" to enable SSL\n"
" port: port used for relay\n"
" raw: open buffer with raw Relay data\n"
" sslcertkey: set SSL certificate/key using path in option relay.network."
"ssl_cert_key\n"
"\n"
"Without argument, this command opens buffer with list of relay clients.\n"
"\n"
"Examples:\n"
" irc proxy, for server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" irc proxy, for server \"freenode\", with SSL:\n"
" /relay add ssl.irc.freenode 8001\n"
" weechat protocol:\n"
" /relay add weechat 8001"
" /relay add weechat 9000\n"
" weechat protocol with SSL:\n"
" /relay add ssl.weechat 9001"
msgstr ""
" list: リレーするクライアントをリストアップ (アクティブなもののみ)\n"
" listfull: リレーするクライアントをリストアップ (詳細、全てのリレー)\n"
@ -7558,7 +7600,7 @@ msgstr ""
" \"freenode\" に関する irc プロキシ:\n"
" /relay add irc.freenode 8000\n"
" weechat プロトコル:\n"
" /relay add weechat 8001"
" /relay add weechat 9000"
msgid "all possible protocol.name for relay plugin"
msgstr "リレープラグインで利用可能な全ての protocol.name"
@ -7573,6 +7615,12 @@ msgstr "リレープラグイン用の最初の空きポート番号"
msgid "%s%s: error: port \"%d\" is already used"
msgstr "%s%s: エラー: ポート \"%d\" は既に使われています"
#, fuzzy, c-format
msgid "%s%s: cannot use SSL because WeeChat was not built with GnuTLS support"
msgstr ""
"%s%s: WeeChat は GnuTLS をサポートしてビルドされていないため、SSL で接続でき"
"ません"
#, c-format
msgid "%s%s: error: unknown protocol \"%s\""
msgstr "%s%s: エラー: 不明なプロトコル \"%s\""
@ -7592,13 +7640,20 @@ msgstr "%s%s: エラー: \"%s\" のリレーは既に存在しています。"
msgid "auto open relay buffer when a new client is connecting"
msgstr "新しいクライアントが接続したらリレーバッファを自動的に開く"
msgid "text color"
msgstr "テキスト色"
#, fuzzy
msgid "text color for client description"
msgstr "時間区切りのテキスト色"
msgid "background color"
msgstr "背景色"
#, fuzzy
msgid "text color in relay buffer"
msgstr "バッファ名のテキスト色"
msgid "text color of selected client line"
#, fuzzy
msgid "background color in relay buffer"
msgstr "未読データマーカーの背景色"
#, fuzzy
msgid "text color of selected line in relay buffer"
msgstr "選択されたクライアント行のテキスト色"
msgid "text color for \"connecting\" status"
@ -7648,12 +7703,24 @@ msgstr ""
"このリレーを利用するためにクライアントが必要なパスワード (空の場合パスワード"
"なし)"
msgid ""
"file with SSL certificate and private key (for serving clients with SSL)"
msgstr ""
msgid "list of relay clients"
msgstr "リレークライアントのリスト"
msgid "relay pointer (optional)"
msgstr "リレーポインタ (オプション)"
#, fuzzy, c-format
msgid "%s: SSL certificate and key have been set"
msgstr "%sgnutls: 証明書は破棄されました"
#, fuzzy, c-format
msgid "%s%s: unable to initialize priority for SSL"
msgstr "%s%s: %s の初期化に失敗"
msgid "Relay raw messages"
msgstr "Relay 生メッセージ"
@ -7673,8 +7740,8 @@ msgstr "%s%s: IP アドレス \"%s\" はリレーの許可がありません"
msgid "%s%s: error with \"bind\" on port %d (%s%s%s)"
msgstr "%s%s: ポート %d (%s%s%s) での \"bind\" にエラー"
#, c-format
msgid "%s: listening on port %d (relay: %s%s%s, max %d clients)"
#, fuzzy, c-format
msgid "%s: listening on port %d (relay: %s%s%s,%s max %d clients)"
msgstr ""
"%s: ポート %d をリッスンしています (リレー: %s%s%s, 最大 %d クライアント数)"
@ -7686,13 +7753,13 @@ msgstr "%s%s: 新しいポートをリッスンするためのメモリ不足"
msgid "%s%s: not enough memory for parsing message"
msgstr "%s%s: メッセージ解析用のメモリが足りません"
#, c-format
msgid "%s%s: failed to execute command \"%s\" for client %d"
#, fuzzy, c-format
msgid "%s%s: failed to execute command \"%s\" for client %s%s%s"
msgstr "%1$s%2$s: クライアント %4$d のコマンド \"%3$s\" の実行に失敗"
#, c-format
#, fuzzy, c-format
msgid ""
"%s%s: too few arguments received from client %d for command \"%s"
"%s%s: too few arguments received from client %s%s%s for command \"%s"
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
"%s%s: クライアント %d から受け付けたコマンド \"%s\" に対する引数が足りません "
@ -8317,8 +8384,17 @@ msgid "size of progress bar, in chars (if 0, progress bar is disabled)"
msgstr ""
"プログレスバーのサイズ、文字数単位 (0 の場合、プログレスバーを使わない)"
msgid "text color of selected xfer line"
msgstr "xfer の選択行の色"
#, fuzzy
msgid "text color in xfer buffer"
msgstr "バッファ名のテキスト色"
#, fuzzy
msgid "background color in xfer buffer"
msgstr "チャットの背景色"
#, fuzzy
msgid "text color of selected line in xfer buffer"
msgstr "選択されたクライアント行のテキスト色"
msgid "text color for \"waiting\" status"
msgstr "\"接続待ち\" 状態のテキスト色"
@ -8489,6 +8565,25 @@ msgstr "タイプ"
msgid "Constants"
msgstr "定数"
#~ msgid "ended on: "
#~ msgstr "終了日時: "
#~ msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
#~ msgstr "%s%-26s id: %d、プロトコル: %s、受信: %s、送信: %s"
#, fuzzy
#~ msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s%s)"
#~ msgstr "%s: %s%s%s ポート %d での新規クライアント (id: %d、リレー: %s%s%s)"
#~ msgid "text color"
#~ msgstr "テキスト色"
#~ msgid "background color"
#~ msgstr "背景色"
#~ msgid "text color of selected xfer line"
#~ msgstr "xfer の選択行の色"
#~ msgid "display message when (un)marking as away"
#~ msgstr "離席(着席)状態の場合はメッセージを表示"

178
po/pl.po
View File

@ -21,8 +21,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.9-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2012-07-21 17:23+0200\n"
"PO-Revision-Date: 2012-06-03 09:49+0200\n"
"POT-Creation-Date: 2012-07-27 17:42+0200\n"
"PO-Revision-Date: 2012-07-27 12:16+0200\n"
"Last-Translator: Krzysztof Korościk <soltys@szluug.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"Language: Polish\n"
@ -4118,6 +4118,7 @@ msgstr ""
"serwerów połączonych po SSL"
#. TRANSLATORS: "%s" after "%d" is "server" or "servers"
#. TRANSLATORS: "%s" after "%d" is "client" or "clients"
#, c-format
msgid ""
"%s%s: disconnected from %d %s (SSL connection not supported with upgrade)"
@ -5585,8 +5586,9 @@ msgstr "użyj protokołu IPv6 do komunikacji z serwerem"
msgid "use SSL for server communication"
msgstr "użyj protokołu SSL do komunikacji z serwerem"
#, fuzzy
msgid ""
"ssl certificate file used to automatically identify your nick (\"%h\" will "
"SSL certificate file used to automatically identify your nick (\"%h\" will "
"be replaced by WeeChat home, \"~/.weechat\" by default)"
msgstr ""
"plik certyfikatu SSL używany do automatycznego uwierzytelnienia nicka (\"%h"
@ -5605,7 +5607,8 @@ msgid "size of the key used during the Diffie-Hellman Key Exchange"
msgstr ""
"rozmiar klucza używanego podczas połączenia Wymiany Kluczy Diffie-Hellmana"
msgid "check that the ssl connection is fully trusted"
#, fuzzy
msgid "check that the SSL connection is fully trusted"
msgstr "sprawdź czy połączenie ssl jest w pełni zaufane"
msgid "password for server"
@ -7559,20 +7562,31 @@ msgstr " [P] Wyczyść skończone"
msgid " [Q] Close this buffer"
msgstr " [Q] Zamknij ten bufor"
#, c-format
msgid "%s%s[%s%s%s%s] %s (started on: %s%s%s%s)"
#, fuzzy, c-format
msgid "%s%s[%s%s%s%s] %s, received: %s, sent: %s"
msgstr "%s%s[%s%s%s%s] %s (rozpoczęto: %s%s%s%s)"
msgid "ended on: "
msgstr "zakończono: "
#, c-format
msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
msgstr "%s%-26s id: %d, protokół: %s, odebrano: %s, wysłano: %s"
msgid "%s%-26s started on: %s, ended on: %s"
msgstr ""
msgid "List of clients for relay"
msgstr "Lista klientów do przekazania"
#, fuzzy, c-format
msgid ""
"%s%s: disconnecting from client %s%s%s because upgrade can't work for "
"clients connected via SSL"
msgstr ""
"%s%s: rozłączam się z serwerem, ponieważ uaktualnienie nie zadziała dla "
"serwerów połączonych po SSL"
msgid "client"
msgid_plural "clients"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgid "connecting"
msgstr "łączę"
@ -7586,47 +7600,69 @@ msgid "disconnected"
msgstr "rozłączono"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %d: error %d %s"
msgid "%s%s: TLS handshake failed for client %s%s%s: error %d %s"
msgstr "%s%s: odczyt danych z gniazda: błąd %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %d: error %d %s"
msgid "%s%s: TLS handshake timeout for client %s%s%s"
msgstr "%s%s: nawiązanie połączenia TLS nie powiodło się"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %s%s%s: error %d %s"
msgstr "%s%s: odczyt danych z gniazda: błąd %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %s%s%s: error %d %s"
msgstr "%s%s: błąd podczas wysyłania danych do klienta %d (%s)"
#, c-format
msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)"
msgstr "%s: nowy klient z %s%s%s na porcie %d (id: %d, przekazuję: %s%s%s)"
msgid ""
"%s%s: warning: no SSL certificate/key found (option relay.network."
"ssl_cert_key)"
msgstr ""
#, fuzzy, c-format
msgid "%s: new client on port %d: %s%s%s"
msgstr "%s%s: nie można zaakceptować klienta na porcie %d (%s%s%s)"
#, c-format
msgid "%s%s: not enough memory for new client"
msgstr "%s%s: za mało pamięci dla nowego klienta"
#, c-format
msgid "%s%s: authentication failed with client %s%s%s (%s%s%s)"
#, fuzzy, c-format
msgid "%s%s: authentication failed with client %s%s%s"
msgstr "%s%s: nie powiodła się autentykacja z klientem %s%s%s (%s%s%s)"
#, c-format
msgid "%s: disconnected from client %s%s%s (%s%s%s)"
#, fuzzy, c-format
msgid "%s: disconnected from client %s%s%s"
msgstr "%s: rozłączono od klienta %s%s%s (%s%s%s)"
msgid "Clients for relay:"
msgstr "Klienci do przekazania:"
#, c-format
#, fuzzy
msgid "Connected clients for relay:"
msgstr "Klienci do przekazania:"
#, fuzzy, c-format
msgid ""
" id: %d, %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu "
"recv, %lu sent"
" %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu recv, %lu "
"sent"
msgstr ""
" id: %d, %s%s%s (%s%s%s), rozpoczęto: %s, ostatnia aktywność: %s, bajty: "
"%lu otrzymane, %lu wysłane"
#, c-format
msgid " id: %d, %s%s%s, started on: %s"
#, fuzzy, c-format
msgid " %s%s%s (%s%s%s), started on: %s"
msgstr " id: %d, %s%s%s, uruchomiono: %s"
msgid "No client for relay"
msgstr "Brak klientów do przesłania"
#, fuzzy
msgid "No connected client for relay"
msgstr "Klienci do przekazania:"
msgid "Listening on ports:"
msgstr "Nasłuchuję na portach:"
@ -7652,13 +7688,15 @@ msgstr "%s%s: relay \"%s\" nie został znaleziony"
msgid "relay control"
msgstr "zarządzanie przesyłaniem"
#, fuzzy
msgid ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
"|| raw || sslcertkey"
msgstr ""
"list|listfull|listrelay || add <protokół.nazwa> <port> || del <protokół."
"nazwa> || raw"
#, fuzzy
msgid ""
" list: list relay clients (only active relays)\n"
" listfull: list relay clients (verbose, all relays)\n"
@ -7668,16 +7706,23 @@ msgid ""
"protocol.name: protocol and name to relay:\n"
" - protocol \"irc\": name is the server to share\n"
" - protocol \"weechat\" (name is not used)\n"
" Note: the protocol can be prefixed by \"ssl.\" to enable SSL\n"
" port: port used for relay\n"
" raw: open buffer with raw Relay data\n"
" sslcertkey: set SSL certificate/key using path in option relay.network."
"ssl_cert_key\n"
"\n"
"Without argument, this command opens buffer with list of relay clients.\n"
"\n"
"Examples:\n"
" irc proxy, for server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" irc proxy, for server \"freenode\", with SSL:\n"
" /relay add ssl.irc.freenode 8001\n"
" weechat protocol:\n"
" /relay add weechat 8001"
" /relay add weechat 9000\n"
" weechat protocol with SSL:\n"
" /relay add ssl.weechat 9001"
msgstr ""
" list: wyświetla klienty relay (tylko aktywne)\n"
" listfull: wyświetla klienty relay (wszystkie)\n"
@ -7696,7 +7741,7 @@ msgstr ""
" pośrednik irc dla serwera \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" protokół weechat:\n"
" /relay add weechat 8001"
" /relay add weechat 9000"
msgid "all possible protocol.name for relay plugin"
msgstr "wszystkie możliwe protokół.nazwa dla wtyczki relay"
@ -7711,6 +7756,12 @@ msgstr "pierwszy wolny port dla wtyczki relay"
msgid "%s%s: error: port \"%d\" is already used"
msgstr "%s%s: błąd: port \"%d\" jest już w użyciu"
#, fuzzy, c-format
msgid "%s%s: cannot use SSL because WeeChat was not built with GnuTLS support"
msgstr ""
"%s%s: nie można połączyć używając SSL, ponieważ WeeChat został skompilowany "
"bez wsparcia dla GnuTLS"
#, c-format
msgid "%s%s: error: unknown protocol \"%s\""
msgstr "%s%s: błąd: nieznany protokół \"%s\""
@ -7730,13 +7781,20 @@ msgstr "%s%s: błąd: relay dla \"%s\" już istnieje"
msgid "auto open relay buffer when a new client is connecting"
msgstr "automatycznie otwiera bufor kiedy podłącza się nowy klient"
msgid "text color"
msgstr "kolor tekstu"
#, fuzzy
msgid "text color for client description"
msgstr "kolor separatora czasu"
msgid "background color"
msgstr "kolor tła"
#, fuzzy
msgid "text color in relay buffer"
msgstr "kolor nazw buforów"
msgid "text color of selected client line"
#, fuzzy
msgid "background color in relay buffer"
msgstr "kolor tła znacznika nieprzeczytanych wiadomości"
#, fuzzy
msgid "text color of selected line in relay buffer"
msgstr "kolor tekstu zaznaczonej linii klienta"
msgid "text color for \"connecting\" status"
@ -7788,12 +7846,24 @@ msgstr ""
"hasło wymagane od klientów do połączenia z tym pośrednikiem (pusta wartość "
"oznacza brak wymaganego hasła)"
msgid ""
"file with SSL certificate and private key (for serving clients with SSL)"
msgstr ""
msgid "list of relay clients"
msgstr "lista zdalnych klientów"
msgid "relay pointer (optional)"
msgstr "wskaźnik relay (opcjonalny)"
#, fuzzy, c-format
msgid "%s: SSL certificate and key have been set"
msgstr "%sgnutls: certyfikat został unieważniony"
#, fuzzy, c-format
msgid "%s%s: unable to initialize priority for SSL"
msgstr "%s%s: nie można zainicjować %s"
msgid "Relay raw messages"
msgstr "Nieprzetworzone wiadomości relay"
@ -7813,8 +7883,8 @@ msgstr "%s%s: adres IP \"%s\" nie posiada zezwolenia na połączenie"
msgid "%s%s: error with \"bind\" on port %d (%s%s%s)"
msgstr "%s%s: błąd podczas \"bind\" na porcie %d (%s%s%s)"
#, c-format
msgid "%s: listening on port %d (relay: %s%s%s, max %d clients)"
#, fuzzy, c-format
msgid "%s: listening on port %d (relay: %s%s%s,%s max %d clients)"
msgstr "%s: nasłuchuję na porcie %d (relay: %s%s%s, max %d klientów)"
#, c-format
@ -7825,13 +7895,13 @@ msgstr "%s%s: za mało pamięci do nasłuchu na nowym porcie"
msgid "%s%s: not enough memory for parsing message"
msgstr "%s%s: za mało pamięci na przetworzenie otrzymanych wiadomości"
#, c-format
msgid "%s%s: failed to execute command \"%s\" for client %d"
#, fuzzy, c-format
msgid "%s%s: failed to execute command \"%s\" for client %s%s%s"
msgstr "%s%s: nie udało się wykonać komendy \"%s\" dla klienta %d"
#, c-format
#, fuzzy, c-format
msgid ""
"%s%s: too few arguments received from client %d for command \"%s"
"%s%s: too few arguments received from client %s%s%s for command \"%s"
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
"%s%s: pozyskano za mało argumentów od klienta %d dla komendy \"%s"
@ -8454,8 +8524,17 @@ msgid "size of progress bar, in chars (if 0, progress bar is disabled)"
msgstr ""
"rozmiar paska postępu, w znakach (jeśli 0 pasek postępu zostanie wyłączony)"
msgid "text color of selected xfer line"
msgstr "kolor zaznaczenia linii xfer"
#, fuzzy
msgid "text color in xfer buffer"
msgstr "kolor nazw buforów"
#, fuzzy
msgid "background color in xfer buffer"
msgstr "kolor tła czatu"
#, fuzzy
msgid "text color of selected line in xfer buffer"
msgstr "kolor tekstu zaznaczonej linii klienta"
msgid "text color for \"waiting\" status"
msgstr "kolor statusu \"waiting\""
@ -8628,6 +8707,25 @@ msgstr "Typ"
msgid "Constants"
msgstr "Stałe"
#~ msgid "ended on: "
#~ msgstr "zakończono: "
#~ msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
#~ msgstr "%s%-26s id: %d, protokół: %s, odebrano: %s, wysłano: %s"
#, fuzzy
#~ msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s%s)"
#~ msgstr "%s: nowy klient z %s%s%s na porcie %d (id: %d, przekazuję: %s%s%s)"
#~ msgid "text color"
#~ msgstr "kolor tekstu"
#~ msgid "background color"
#~ msgstr "kolor tła"
#~ msgid "text color of selected xfer line"
#~ msgstr "kolor zaznaczenia linii xfer"
#~ msgid "display message when (un)marking as away"
#~ msgstr "wyświetla wiadomość, kiedy stajemy się/przestajemy być nieobecni"

View File

@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.9-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2012-07-21 17:23+0200\n"
"POT-Creation-Date: 2012-07-27 17:42+0200\n"
"PO-Revision-Date: 2012-06-03 09:49+0200\n"
"Last-Translator: Sergio Durigan Junior <sergiosdj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -3980,6 +3980,7 @@ msgid ""
msgstr ""
#. TRANSLATORS: "%s" after "%d" is "server" or "servers"
#. TRANSLATORS: "%s" after "%d" is "client" or "clients"
#, c-format
msgid ""
"%s%s: disconnected from %d %s (SSL connection not supported with upgrade)"
@ -5155,8 +5156,9 @@ msgstr "usar protocolo IPv6 para comunicação com o servidor"
msgid "use SSL for server communication"
msgstr "usar encriptação SSL para comunicação com o servidor"
#, fuzzy
msgid ""
"ssl certificate file used to automatically identify your nick (\"%h\" will "
"SSL certificate file used to automatically identify your nick (\"%h\" will "
"be replaced by WeeChat home, \"~/.weechat\" by default)"
msgstr ""
"arquivo do certificado SSL utilizado para identificar seu apelido "
@ -5176,7 +5178,8 @@ msgstr ""
msgid "size of the key used during the Diffie-Hellman Key Exchange"
msgstr "tamanho da chave utilizada durante a Troca de Chaves Diffie-Hellman"
msgid "check that the ssl connection is fully trusted"
#, fuzzy
msgid "check that the SSL connection is fully trusted"
msgstr "verificar que a conexão SSL é totalmente confiável"
msgid "password for server"
@ -7035,20 +7038,28 @@ msgstr " [P] Excluir finalizados"
msgid " [Q] Close this buffer"
msgstr " [Q] Fechar este buffer"
#, c-format
msgid "%s%s[%s%s%s%s] %s (started on: %s%s%s%s)"
msgstr ""
msgid "ended on: "
msgstr ""
#, fuzzy, c-format
msgid "%s%s[%s%s%s%s] %s, received: %s, sent: %s"
msgstr "%s%s[%s%s%s]%s exceção %s%s"
#, c-format
msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
msgid "%s%-26s started on: %s, ended on: %s"
msgstr ""
msgid "List of clients for relay"
msgstr ""
#, c-format
msgid ""
"%s%s: disconnecting from client %s%s%s because upgrade can't work for "
"clients connected via SSL"
msgstr ""
msgid "client"
msgid_plural "clients"
msgstr[0] ""
msgstr[1] ""
msgid "connecting"
msgstr "conectando"
@ -7062,47 +7073,69 @@ msgid "disconnected"
msgstr "desconectado"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %d: error %d %s"
msgid "%s%s: TLS handshake failed for client %s%s%s: error %d %s"
msgstr "%s%s: lendo dados no socket: erro %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %d: error %d %s"
msgstr "%s%s: erro ao enviar dados ao cliente %d (%s)"
msgid "%s%s: TLS handshake timeout for client %s%s%s"
msgstr "%s%s: handshake TLS falhou"
#, fuzzy, c-format
msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)"
msgstr "%s: novo cliente de %s%s%s na porta %d (id: %d, relaying: %s.%s)"
msgid "%s%s: reading data on socket for client %s%s%s: error %d %s"
msgstr "%s%s: lendo dados no socket: erro %d %s"
#, fuzzy, c-format
msgid "%s%s: sending data to client %s%s%s: error %d %s"
msgstr "%s%s: erro ao enviar dados ao cliente %d (%s)"
#, c-format
msgid ""
"%s%s: warning: no SSL certificate/key found (option relay.network."
"ssl_cert_key)"
msgstr ""
#, fuzzy, c-format
msgid "%s: new client on port %d: %s%s%s"
msgstr "%s%s: não foi possível aceitar o cliente na porta %d (%s.%s)"
#, c-format
msgid "%s%s: not enough memory for new client"
msgstr "%s%s: memória insuficiente para novo cliente"
#, fuzzy, c-format
msgid "%s%s: authentication failed with client %s%s%s (%s%s%s)"
msgid "%s%s: authentication failed with client %s%s%s"
msgstr "%s%s: falha na autenticação com cliente %s%s%s (%s.%s)"
#, fuzzy, c-format
msgid "%s: disconnected from client %s%s%s (%s%s%s)"
msgid "%s: disconnected from client %s%s%s"
msgstr "%s: desconectado do cliente %s%s%s (%s.%s)"
msgid "Clients for relay:"
msgstr "Clientes para relay:"
#, c-format
#, fuzzy
msgid "Connected clients for relay:"
msgstr "Clientes para relay:"
#, fuzzy, c-format
msgid ""
" id: %d, %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu "
"recv, %lu sent"
" %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu recv, %lu "
"sent"
msgstr ""
" id: %d, %s%s%s (%s%s%s), iniciado em: %s, última atividade: %s, %lu bytes "
"recebidos, %lu enviados"
#, c-format
msgid " id: %d, %s%s%s, started on: %s"
#, fuzzy, c-format
msgid " %s%s%s (%s%s%s), started on: %s"
msgstr " id: %d, %s%s%s, iniciado em: %s"
msgid "No client for relay"
msgstr ""
#, fuzzy
msgid "No connected client for relay"
msgstr "Clientes para relay:"
msgid "Listening on ports:"
msgstr "Escutando nas portas:"
@ -7130,7 +7163,7 @@ msgstr ""
msgid ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
"|| raw || sslcertkey"
msgstr ""
msgid ""
@ -7142,16 +7175,23 @@ msgid ""
"protocol.name: protocol and name to relay:\n"
" - protocol \"irc\": name is the server to share\n"
" - protocol \"weechat\" (name is not used)\n"
" Note: the protocol can be prefixed by \"ssl.\" to enable SSL\n"
" port: port used for relay\n"
" raw: open buffer with raw Relay data\n"
" sslcertkey: set SSL certificate/key using path in option relay.network."
"ssl_cert_key\n"
"\n"
"Without argument, this command opens buffer with list of relay clients.\n"
"\n"
"Examples:\n"
" irc proxy, for server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" irc proxy, for server \"freenode\", with SSL:\n"
" /relay add ssl.irc.freenode 8001\n"
" weechat protocol:\n"
" /relay add weechat 8001"
" /relay add weechat 9000\n"
" weechat protocol with SSL:\n"
" /relay add ssl.weechat 9001"
msgstr ""
msgid "all possible protocol.name for relay plugin"
@ -7167,6 +7207,12 @@ msgstr ""
msgid "%s%s: error: port \"%d\" is already used"
msgstr "%s%s: erro: porta \"%d\" já está sendo utilizada"
#, fuzzy, c-format
msgid "%s%s: cannot use SSL because WeeChat was not built with GnuTLS support"
msgstr ""
"%s%s: não foi possível conectar com SSL porque o WeeChat não foi compilado "
"com suporte a GnuTLS"
#, c-format
msgid "%s%s: error: unknown protocol \"%s\""
msgstr "%s%s: erro: protocolo \"%s\" desconhecido"
@ -7186,13 +7232,20 @@ msgstr ""
msgid "auto open relay buffer when a new client is connecting"
msgstr ""
msgid "text color"
msgstr "cor do texto"
#, fuzzy
msgid "text color for client description"
msgstr "cor do texto para delimitadores de tempo"
msgid "background color"
msgstr "cor de fundo"
#, fuzzy
msgid "text color in relay buffer"
msgstr "cor do texto para nomes de buffer"
msgid "text color of selected client line"
#, fuzzy
msgid "background color in relay buffer"
msgstr "cor de fundo para marcador de dados não lidos"
#, fuzzy
msgid "text color of selected line in relay buffer"
msgstr "cor do texto da linha do cliente selecionada"
msgid "text color for \"connecting\" status"
@ -7244,12 +7297,24 @@ msgstr ""
"senha necessária para clientes acessarem este relay (vazio significa que "
"nenhuma senha é necessária)"
msgid ""
"file with SSL certificate and private key (for serving clients with SSL)"
msgstr ""
msgid "list of relay clients"
msgstr ""
msgid "relay pointer (optional)"
msgstr ""
#, fuzzy, c-format
msgid "%s: SSL certificate and key have been set"
msgstr "%sgnutls: o certificado foi revogado"
#, fuzzy, c-format
msgid "%s%s: unable to initialize priority for SSL"
msgstr "%s%s: não foi possível inicializar %s"
msgid "Relay raw messages"
msgstr ""
@ -7270,7 +7335,7 @@ msgid "%s%s: error with \"bind\" on port %d (%s%s%s)"
msgstr "%s%s: erro ao associar (\"bind\") na porta %d (%s.%s)"
#, fuzzy, c-format
msgid "%s: listening on port %d (relay: %s%s%s, max %d clients)"
msgid "%s: listening on port %d (relay: %s%s%s,%s max %d clients)"
msgstr "%s: escutando na porta %d (relay: %s.%s, máximo de %d clientes)"
#, c-format
@ -7281,13 +7346,13 @@ msgstr "%s%s: memória insuficiente para escutar na nova porta"
msgid "%s%s: not enough memory for parsing message"
msgstr "%s%s: memória insuficiente para interpretar mensagem"
#, c-format
msgid "%s%s: failed to execute command \"%s\" for client %d"
#, fuzzy, c-format
msgid "%s%s: failed to execute command \"%s\" for client %s%s%s"
msgstr "%s%s: falha ao executar comando \"%s\" para cliente %d"
#, c-format
#, fuzzy, c-format
msgid ""
"%s%s: too few arguments received from client %d for command \"%s"
"%s%s: too few arguments received from client %s%s%s for command \"%s"
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
"%s%s: argumentos insuficientes recebidos do cliente %d para o comando \"%s"
@ -7898,8 +7963,17 @@ msgstr ""
"tamanho da barra de progresso, em carateres (se 0, a barra de progresso é "
"desabilitada)"
msgid "text color of selected xfer line"
msgstr "cor do texto para a linha de transferência selecionada"
#, fuzzy
msgid "text color in xfer buffer"
msgstr "cor do texto para nomes de buffer"
#, fuzzy
msgid "background color in xfer buffer"
msgstr "cor de fundo para conversa"
#, fuzzy
msgid "text color of selected line in xfer buffer"
msgstr "cor do texto da linha do cliente selecionada"
msgid "text color for \"waiting\" status"
msgstr "cor do texto para o status \"esperando\""
@ -8076,6 +8150,19 @@ msgstr ""
msgid "Constants"
msgstr ""
#, fuzzy
#~ msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s%s)"
#~ msgstr "%s: novo cliente de %s%s%s na porta %d (id: %d, relaying: %s.%s)"
#~ msgid "text color"
#~ msgstr "cor do texto"
#~ msgid "background color"
#~ msgstr "cor de fundo"
#~ msgid "text color of selected xfer line"
#~ msgstr "cor do texto para a linha de transferência selecionada"
#~ msgid "display message when (un)marking as away"
#~ msgstr "exibir mensagem quando (des)marcar como ausente"

140
po/ru.po
View File

@ -21,7 +21,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.3.9-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2012-07-21 17:23+0200\n"
"POT-Creation-Date: 2012-07-27 17:42+0200\n"
"PO-Revision-Date: 2012-06-03 09:49+0200\n"
"Last-Translator: Aleksey V Zapparov AKA ixti <ixti@member.fsf.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -3596,6 +3596,7 @@ msgid ""
msgstr ""
#. TRANSLATORS: "%s" after "%d" is "server" or "servers"
#. TRANSLATORS: "%s" after "%d" is "client" or "clients"
#, c-format
msgid ""
"%s%s: disconnected from %d %s (SSL connection not supported with upgrade)"
@ -5023,7 +5024,7 @@ msgstr "использовать SSL при связи с сервером"
#, fuzzy
msgid ""
"ssl certificate file used to automatically identify your nick (\"%h\" will "
"SSL certificate file used to automatically identify your nick (\"%h\" will "
"be replaced by WeeChat home, \"~/.weechat\" by default)"
msgstr ""
"путь поиска pluginов ('%h' заменяется на домашний каталог WeeChat, по "
@ -5038,7 +5039,7 @@ msgstr ""
msgid "size of the key used during the Diffie-Hellman Key Exchange"
msgstr ""
msgid "check that the ssl connection is fully trusted"
msgid "check that the SSL connection is fully trusted"
msgstr ""
#, fuzzy
@ -6918,19 +6919,28 @@ msgid " [Q] Close this buffer"
msgstr " [Q] Закрыть окно"
#, fuzzy, c-format
msgid "%s%s[%s%s%s%s] %s (started on: %s%s%s%s)"
msgid "%s%s[%s%s%s%s] %s, received: %s, sent: %s"
msgstr "%s%s%s отсутствует: %s\n"
msgid "ended on: "
#, c-format
msgid "%s%-26s started on: %s, ended on: %s"
msgstr ""
#, fuzzy, c-format
msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
msgstr "DCC: файл %s%s%s"
msgid "List of clients for relay"
msgstr ""
#, c-format
msgid ""
"%s%s: disconnecting from client %s%s%s because upgrade can't work for "
"clients connected via SSL"
msgstr ""
msgid "client"
msgid_plural "clients"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#, fuzzy
msgid "connecting"
msgstr "Подключение"
@ -6948,45 +6958,66 @@ msgid "disconnected"
msgstr "подключен"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %d: error %d %s"
msgid "%s%s: TLS handshake failed for client %s%s%s: error %d %s"
msgstr "%s ошибка при отправке данных IRC серверу\n"
#, fuzzy, c-format
msgid "%s%s: sending data to client %d: error %d %s"
msgid "%s%s: TLS handshake timeout for client %s%s%s"
msgstr "%s инициализация gnutls не удалось\n"
#, fuzzy, c-format
msgid "%s%s: reading data on socket for client %s%s%s: error %d %s"
msgstr "%s ошибка при отправке данных IRC серверу\n"
#, fuzzy, c-format
msgid "%s%s: sending data to client %s%s%s: error %d %s"
msgstr "%s ошибка при отправке данных IRC серверу\n"
#, c-format
msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)"
msgid ""
"%s%s: warning: no SSL certificate/key found (option relay.network."
"ssl_cert_key)"
msgstr ""
#, fuzzy, c-format
msgid "%s: new client on port %d: %s%s%s"
msgstr "%s невозможно создать сокет\n"
#, fuzzy, c-format
msgid "%s%s: not enough memory for new client"
msgstr "%s недостаточно памяти для нового DCC\n"
#, fuzzy, c-format
msgid "%s%s: authentication failed with client %s%s%s (%s%s%s)"
msgid "%s%s: authentication failed with client %s%s%s"
msgstr "Не могу записать лог-файл \"%s\"\n"
#, fuzzy, c-format
msgid "%s: disconnected from client %s%s%s (%s%s%s)"
msgid "%s: disconnected from client %s%s%s"
msgstr "Отключен от сервера!\n"
msgid "Clients for relay:"
msgstr ""
msgid "Connected clients for relay:"
msgstr ""
#, c-format
msgid ""
" id: %d, %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu "
"recv, %lu sent"
" %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu recv, %lu "
"sent"
msgstr ""
#, fuzzy, c-format
msgid " id: %d, %s%s%s, started on: %s"
msgid " %s%s%s (%s%s%s), started on: %s"
msgstr "Канал создан %s"
msgid "No client for relay"
msgstr ""
#, fuzzy
msgid "No connected client for relay"
msgstr "Нет сервера.\n"
#, fuzzy
msgid "Listening on ports:"
msgstr "Список сокращений:\n"
@ -7016,7 +7047,7 @@ msgstr ""
msgid ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
"|| raw || sslcertkey"
msgstr ""
msgid ""
@ -7028,16 +7059,23 @@ msgid ""
"protocol.name: protocol and name to relay:\n"
" - protocol \"irc\": name is the server to share\n"
" - protocol \"weechat\" (name is not used)\n"
" Note: the protocol can be prefixed by \"ssl.\" to enable SSL\n"
" port: port used for relay\n"
" raw: open buffer with raw Relay data\n"
" sslcertkey: set SSL certificate/key using path in option relay.network."
"ssl_cert_key\n"
"\n"
"Without argument, this command opens buffer with list of relay clients.\n"
"\n"
"Examples:\n"
" irc proxy, for server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" irc proxy, for server \"freenode\", with SSL:\n"
" /relay add ssl.irc.freenode 8001\n"
" weechat protocol:\n"
" /relay add weechat 8001"
" /relay add weechat 9000\n"
" weechat protocol with SSL:\n"
" /relay add ssl.weechat 9001"
msgstr ""
msgid "all possible protocol.name for relay plugin"
@ -7054,6 +7092,12 @@ msgstr "Список сокращений:\n"
msgid "%s%s: error: port \"%d\" is already used"
msgstr "%s игнорирование уже существует\n"
#, fuzzy, c-format
msgid "%s%s: cannot use SSL because WeeChat was not built with GnuTLS support"
msgstr ""
"%s невозможно соединиться с использованием SSL, так как WeeChat собран без "
"поддержки GNUtls\n"
#, fuzzy, c-format
msgid "%s%s: error: unknown protocol \"%s\""
msgstr "%s неизвестная функция клавиши \"%s\"\n"
@ -7074,15 +7118,19 @@ msgid "auto open relay buffer when a new client is connecting"
msgstr ""
#, fuzzy
msgid "text color"
msgstr "цвет чата"
msgid "text color for client description"
msgstr "цвет разделителей информационной панели"
#, fuzzy
msgid "background color"
msgstr "фон ников"
msgid "text color in relay buffer"
msgstr "цвет названия сервера"
#, fuzzy
msgid "text color of selected client line"
msgid "background color in relay buffer"
msgstr "фон маркера непрочитанных сообщений"
#, fuzzy
msgid "text color of selected line in relay buffer"
msgstr "цвет названия сервера"
#, fuzzy
@ -7129,6 +7177,10 @@ msgid ""
"password required)"
msgstr ""
msgid ""
"file with SSL certificate and private key (for serving clients with SSL)"
msgstr ""
#, fuzzy
msgid "list of relay clients"
msgstr "Список сокращений:\n"
@ -7136,6 +7188,14 @@ msgstr "Список сокращений:\n"
msgid "relay pointer (optional)"
msgstr ""
#, fuzzy, c-format
msgid "%s: SSL certificate and key have been set"
msgstr "Не могу записать лог-файл \"%s\"\n"
#, fuzzy, c-format
msgid "%s%s: unable to initialize priority for SSL"
msgstr "%s не могу инициализировать plugin \"%s\"\n"
#, fuzzy
msgid "Relay raw messages"
msgstr "выводить отладочные сообщения"
@ -7157,7 +7217,7 @@ msgid "%s%s: error with \"bind\" on port %d (%s%s%s)"
msgstr "%s невозможно создать сокет\n"
#, c-format
msgid "%s: listening on port %d (relay: %s%s%s, max %d clients)"
msgid "%s: listening on port %d (relay: %s%s%s,%s max %d clients)"
msgstr ""
#, fuzzy, c-format
@ -7169,12 +7229,12 @@ msgid "%s%s: not enough memory for parsing message"
msgstr "%s недостаточно памяти для полученного сообщения\n"
#, fuzzy, c-format
msgid "%s%s: failed to execute command \"%s\" for client %d"
msgid "%s%s: failed to execute command \"%s\" for client %s%s%s"
msgstr "Не могу записать лог-файл \"%s\"\n"
#, c-format
msgid ""
"%s%s: too few arguments received from client %d for command \"%s"
"%s%s: too few arguments received from client %s%s%s for command \"%s"
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
@ -7774,7 +7834,15 @@ msgid "size of progress bar, in chars (if 0, progress bar is disabled)"
msgstr ""
#, fuzzy
msgid "text color of selected xfer line"
msgid "text color in xfer buffer"
msgstr "цвет названия сервера"
#, fuzzy
msgid "background color in xfer buffer"
msgstr "фон ников"
#, fuzzy
msgid "text color of selected line in xfer buffer"
msgstr "цвет названия сервера"
#, fuzzy
@ -7966,6 +8034,22 @@ msgstr ""
msgid "Constants"
msgstr ""
#, fuzzy
#~ msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
#~ msgstr "DCC: файл %s%s%s"
#, fuzzy
#~ msgid "text color"
#~ msgstr "цвет чата"
#, fuzzy
#~ msgid "background color"
#~ msgstr "фон ников"
#, fuzzy
#~ msgid "text color of selected xfer line"
#~ msgstr "цвет названия сервера"
#~ msgid "display message when (un)marking as away"
#~ msgstr "показывать сообщение во все каналы при установке/снятии отсутствия"

View File

@ -190,6 +190,8 @@ SET(WEECHAT_SOURCES
./src/plugins/relay/relay.h
./src/plugins/relay/relay-info.c
./src/plugins/relay/relay-info.h
./src/plugins/relay/relay-network.c
./src/plugins/relay/relay-network.h
./src/plugins/relay/relay-raw.c
./src/plugins/relay/relay-raw.h
./src/plugins/relay/relay-server.c

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2012-07-21 17:23+0200\n"
"POT-Creation-Date: 2012-07-27 17:42+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -3156,6 +3156,7 @@ msgid ""
msgstr ""
#. TRANSLATORS: "%s" after "%d" is "server" or "servers"
#. TRANSLATORS: "%s" after "%d" is "client" or "clients"
#, c-format
msgid ""
"%s%s: disconnected from %d %s (SSL connection not supported with upgrade)"
@ -4313,7 +4314,7 @@ msgid "use SSL for server communication"
msgstr ""
msgid ""
"ssl certificate file used to automatically identify your nick (\"%h\" will "
"SSL certificate file used to automatically identify your nick (\"%h\" will "
"be replaced by WeeChat home, \"~/.weechat\" by default)"
msgstr ""
@ -4326,7 +4327,7 @@ msgstr ""
msgid "size of the key used during the Diffie-Hellman Key Exchange"
msgstr ""
msgid "check that the ssl connection is fully trusted"
msgid "check that the SSL connection is fully trusted"
msgstr ""
msgid "password for server"
@ -6034,19 +6035,27 @@ msgid " [Q] Close this buffer"
msgstr ""
#, c-format
msgid "%s%s[%s%s%s%s] %s (started on: %s%s%s%s)"
msgstr ""
msgid "ended on: "
msgid "%s%s[%s%s%s%s] %s, received: %s, sent: %s"
msgstr ""
#, c-format
msgid "%s%-26s id: %d, protocol: %s, received: %s, sent: %s"
msgid "%s%-26s started on: %s, ended on: %s"
msgstr ""
msgid "List of clients for relay"
msgstr ""
#, c-format
msgid ""
"%s%s: disconnecting from client %s%s%s because upgrade can't work for "
"clients connected via SSL"
msgstr ""
msgid "client"
msgid_plural "clients"
msgstr[0] ""
msgstr[1] ""
msgid "connecting"
msgstr ""
@ -6060,15 +6069,29 @@ msgid "disconnected"
msgstr ""
#, c-format
msgid "%s%s: reading data on socket for client %d: error %d %s"
msgid "%s%s: TLS handshake failed for client %s%s%s: error %d %s"
msgstr ""
#, c-format
msgid "%s%s: sending data to client %d: error %d %s"
msgid "%s%s: TLS handshake timeout for client %s%s%s"
msgstr ""
#, c-format
msgid "%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)"
msgid "%s%s: reading data on socket for client %s%s%s: error %d %s"
msgstr ""
#, c-format
msgid "%s%s: sending data to client %s%s%s: error %d %s"
msgstr ""
#, c-format
msgid ""
"%s%s: warning: no SSL certificate/key found (option relay.network."
"ssl_cert_key)"
msgstr ""
#, c-format
msgid "%s: new client on port %d: %s%s%s"
msgstr ""
#, c-format
@ -6076,29 +6099,35 @@ msgid "%s%s: not enough memory for new client"
msgstr ""
#, c-format
msgid "%s%s: authentication failed with client %s%s%s (%s%s%s)"
msgid "%s%s: authentication failed with client %s%s%s"
msgstr ""
#, c-format
msgid "%s: disconnected from client %s%s%s (%s%s%s)"
msgid "%s: disconnected from client %s%s%s"
msgstr ""
msgid "Clients for relay:"
msgstr ""
#, c-format
msgid ""
" id: %d, %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu "
"recv, %lu sent"
msgid "Connected clients for relay:"
msgstr ""
#, c-format
msgid " id: %d, %s%s%s, started on: %s"
msgid ""
" %s%s%s (%s%s%s), started on: %s, last activity: %s, bytes: %lu recv, %lu "
"sent"
msgstr ""
#, c-format
msgid " %s%s%s (%s%s%s), started on: %s"
msgstr ""
msgid "No client for relay"
msgstr ""
msgid "No connected client for relay"
msgstr ""
msgid "Listening on ports:"
msgstr ""
@ -6126,7 +6155,7 @@ msgstr ""
msgid ""
"list|listfull|listrelay || add <protocol.name> <port> || del <protocol.name> "
"|| raw"
"|| raw || sslcertkey"
msgstr ""
msgid ""
@ -6138,16 +6167,23 @@ msgid ""
"protocol.name: protocol and name to relay:\n"
" - protocol \"irc\": name is the server to share\n"
" - protocol \"weechat\" (name is not used)\n"
" Note: the protocol can be prefixed by \"ssl.\" to enable SSL\n"
" port: port used for relay\n"
" raw: open buffer with raw Relay data\n"
" sslcertkey: set SSL certificate/key using path in option relay.network."
"ssl_cert_key\n"
"\n"
"Without argument, this command opens buffer with list of relay clients.\n"
"\n"
"Examples:\n"
" irc proxy, for server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" irc proxy, for server \"freenode\", with SSL:\n"
" /relay add ssl.irc.freenode 8001\n"
" weechat protocol:\n"
" /relay add weechat 8001"
" /relay add weechat 9000\n"
" weechat protocol with SSL:\n"
" /relay add ssl.weechat 9001"
msgstr ""
msgid "all possible protocol.name for relay plugin"
@ -6163,6 +6199,10 @@ msgstr ""
msgid "%s%s: error: port \"%d\" is already used"
msgstr ""
#, c-format
msgid "%s%s: cannot use SSL because WeeChat was not built with GnuTLS support"
msgstr ""
#, c-format
msgid "%s%s: error: unknown protocol \"%s\""
msgstr ""
@ -6182,13 +6222,16 @@ msgstr ""
msgid "auto open relay buffer when a new client is connecting"
msgstr ""
msgid "text color"
msgid "text color for client description"
msgstr ""
msgid "background color"
msgid "text color in relay buffer"
msgstr ""
msgid "text color of selected client line"
msgid "background color in relay buffer"
msgstr ""
msgid "text color of selected line in relay buffer"
msgstr ""
msgid "text color for \"connecting\" status"
@ -6230,12 +6273,24 @@ msgid ""
"password required)"
msgstr ""
msgid ""
"file with SSL certificate and private key (for serving clients with SSL)"
msgstr ""
msgid "list of relay clients"
msgstr ""
msgid "relay pointer (optional)"
msgstr ""
#, c-format
msgid "%s: SSL certificate and key have been set"
msgstr ""
#, c-format
msgid "%s%s: unable to initialize priority for SSL"
msgstr ""
msgid "Relay raw messages"
msgstr ""
@ -6256,7 +6311,7 @@ msgid "%s%s: error with \"bind\" on port %d (%s%s%s)"
msgstr ""
#, c-format
msgid "%s: listening on port %d (relay: %s%s%s, max %d clients)"
msgid "%s: listening on port %d (relay: %s%s%s,%s max %d clients)"
msgstr ""
#, c-format
@ -6268,12 +6323,12 @@ msgid "%s%s: not enough memory for parsing message"
msgstr ""
#, c-format
msgid "%s%s: failed to execute command \"%s\" for client %d"
msgid "%s%s: failed to execute command \"%s\" for client %s%s%s"
msgstr ""
#, c-format
msgid ""
"%s%s: too few arguments received from client %d for command \"%s"
"%s%s: too few arguments received from client %s%s%s for command \"%s"
"\" (received: %d arguments, expected: at least %d)"
msgstr ""
@ -6827,7 +6882,13 @@ msgstr ""
msgid "size of progress bar, in chars (if 0, progress bar is disabled)"
msgstr ""
msgid "text color of selected xfer line"
msgid "text color in xfer buffer"
msgstr ""
msgid "background color in xfer buffer"
msgstr ""
msgid "text color of selected line in xfer buffer"
msgstr ""
msgid "text color for \"waiting\" status"

View File

@ -129,14 +129,14 @@ network_init ()
void
network_end ()
{
#ifdef HAVE_GNUTLS
if (network_init_ok)
{
network_init_ok = 0;
#ifdef HAVE_GNUTLS
gnutls_certificate_free_credentials (gnutls_xcred);
gnutls_global_deinit();
}
#endif
network_init_ok = 0;
}
}
/*
@ -963,7 +963,7 @@ network_connect_child_read_cb (void *arg_hook_connect, int fd)
fcntl (HOOK_CONNECT(hook_connect, sock), F_SETFL,
HOOK_CONNECT(hook_connect, handshake_fd_flags) | O_NONBLOCK);
gnutls_transport_set_ptr (*HOOK_CONNECT(hook_connect, gnutls_sess),
(gnutls_transport_ptr) ((unsigned long) HOOK_CONNECT(hook_connect, sock)));
(gnutls_transport_ptr) ((ptrdiff_t) HOOK_CONNECT(hook_connect, sock)));
if (HOOK_CONNECT (hook_connect, gnutls_dhkey_size) > 0)
{
gnutls_dh_set_prime_bits (*HOOK_CONNECT(hook_connect, gnutls_sess),

View File

@ -1369,7 +1369,7 @@ irc_config_server_new_option (struct t_config_file *config_file,
new_option = weechat_config_new_option (
config_file, section,
option_name, "string",
N_("ssl certificate file used to automatically identify your "
N_("SSL certificate file used to automatically identify your "
"nick (\"%h\" will be replaced by WeeChat home, "
"\"~/.weechat\" by default)"),
NULL, 0, 0,
@ -1410,7 +1410,7 @@ irc_config_server_new_option (struct t_config_file *config_file,
new_option = weechat_config_new_option (
config_file, section,
option_name, "boolean",
N_("check that the ssl connection is fully trusted"),
N_("check that the SSL connection is fully trusted"),
NULL, 0, 0,
default_value, value,
null_value_allowed,

View File

@ -29,6 +29,7 @@ relay-command.c relay-command.h
relay-completion.c relay-completion.h
relay-config.c relay-config.h
relay-info.c relay-info.h
relay-network.c relay-network.h
relay-raw.c relay-raw.h
relay-server.c relay-server.h
relay-upgrade.c relay-upgrade.h)

View File

@ -45,6 +45,8 @@ relay_la_SOURCES = relay.c \
relay-config.h \
relay-info.c \
relay-info.h \
relay-network.c \
relay-network.h \
relay-raw.c \
relay-raw.h \
relay-server.c \

View File

@ -221,9 +221,11 @@ relay_irc_signal_irc_in2_cb (void *data, const char *signal,
if (weechat_relay_plugin->debug >= 2)
{
weechat_printf (NULL, "%s: irc_in2: client: %s, data: %s",
weechat_printf (NULL, "%s: irc_in2: client: %s%s%s, data: %s",
RELAY_PLUGIN_NAME,
client->protocol_args,
RELAY_COLOR_CHAT_CLIENT,
client->desc,
RELAY_COLOR_CHAT,
ptr_msg);
}
@ -344,9 +346,11 @@ relay_irc_signal_irc_outtags_cb (void *data, const char *signal,
if (weechat_relay_plugin->debug >= 2)
{
weechat_printf (NULL, "%s: irc_out: client: %s, message: %s",
weechat_printf (NULL, "%s: irc_out: client: %s%s%s, message: %s",
RELAY_PLUGIN_NAME,
client->protocol_args,
RELAY_COLOR_CHAT_CLIENT,
client->desc,
RELAY_COLOR_CHAT,
message);
}
@ -757,8 +761,12 @@ relay_irc_recv_one_msg (struct t_relay_client *client, char *data)
/* display debug message */
if (weechat_relay_plugin->debug >= 2)
{
weechat_printf (NULL, "%s: recv from client %d: \"%s\"",
RELAY_PLUGIN_NAME, client->id, data);
weechat_printf (NULL, "%s: recv from client %s%s%s: \"%s\"",
RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_CLIENT,
client->desc,
RELAY_COLOR_CHAT,
data);
}
/* display message in raw buffer */

View File

@ -47,7 +47,7 @@ void
relay_buffer_refresh (const char *hotlist)
{
struct t_relay_client *ptr_client, *client_selected;
char str_color[256], status[64], date_start[128], date_end[128];
char str_color[256], str_status[64], str_date_start[128], str_date_end[128];
char *str_recv, *str_sent;
int i, length, line;
struct tm *date_tmp;
@ -84,62 +84,60 @@ relay_buffer_refresh (const char *hotlist)
weechat_config_string (relay_config_color_text),
weechat_config_string (relay_config_color_text_bg));
snprintf (status, sizeof (status),
snprintf (str_status, sizeof (str_status),
"%s", _(relay_client_status_string[ptr_client->status]));
length = weechat_utf8_strlen_screen (status);
length = weechat_utf8_strlen_screen (str_status);
if (length < 20)
{
for (i = 0; i < 20 - length; i++)
{
strcat (status, " ");
strcat (str_status, " ");
}
}
date_start[0] = '\0';
str_date_start[0] = '\0';
date_tmp = localtime (&(ptr_client->start_time));
if (date_tmp)
{
strftime (date_start, sizeof (date_start),
strftime (str_date_start, sizeof (str_date_start),
"%a, %d %b %Y %H:%M:%S", date_tmp);
}
date_end[0] = '\0';
str_date_end[0] = '-';
str_date_end[1] = '\0';
if (ptr_client->end_time > 0)
{
date_tmp = localtime (&(ptr_client->end_time));
if (date_tmp)
{
strftime (date_end, sizeof (date_end),
strftime (str_date_end, sizeof (str_date_end),
"%a, %d %b %Y %H:%M:%S", date_tmp);
}
}
/* first line with status and start time */
weechat_printf_y (relay_buffer, (line * 2) + 2,
_("%s%s[%s%s%s%s] %s (started on: %s%s%s%s)"),
weechat_color(str_color),
(line == relay_buffer_selected_line) ?
"*** " : " ",
weechat_color(weechat_config_string (relay_config_color_status[ptr_client->status])),
status,
weechat_color ("reset"),
weechat_color (str_color),
ptr_client->address,
date_start,
(ptr_client->end_time > 0) ? ", " : "",
(ptr_client->end_time > 0) ? _("ended on: ") : "",
(ptr_client->end_time > 0) ? date_end : "");
/* second line with protocol and bytes recv/sent */
str_recv = weechat_string_format_size (ptr_client->bytes_recv);
str_sent = weechat_string_format_size (ptr_client->bytes_sent);
weechat_printf_y (relay_buffer, (line * 2) + 3,
_("%s%-26s id: %d, protocol: %s, received: %s, sent: %s"),
/* first line with status, description and bytes recv/sent */
weechat_printf_y (relay_buffer, (line * 2) + 2,
_("%s%s[%s%s%s%s] %s, received: %s, sent: %s"),
weechat_color(str_color),
" ",
ptr_client->id,
relay_protocol_string[ptr_client->protocol],
(line == relay_buffer_selected_line) ? "*** " : " ",
weechat_color(weechat_config_string (relay_config_color_status[ptr_client->status])),
str_status,
weechat_color ("reset"),
weechat_color (str_color),
ptr_client->desc,
(str_recv) ? str_recv : "?",
(str_sent) ? str_sent : "?");
/* second line with start/end time */
weechat_printf_y (relay_buffer, (line * 2) + 3,
_("%s%-26s started on: %s, ended on: %s"),
weechat_color(str_color),
" ",
str_date_start,
str_date_end);
if (str_recv)
free (str_recv);
if (str_sent)

View File

@ -31,6 +31,10 @@
#include <sys/types.h>
#include <sys/socket.h>
#ifdef HAVE_GNUTLS
#include <gnutls/gnutls.h>
#endif
#include "../weechat-plugin.h"
#include "relay.h"
#include "relay-client.h"
@ -38,6 +42,7 @@
#include "weechat/relay-weechat.h"
#include "relay-config.h"
#include "relay-buffer.h"
#include "relay-network.h"
#include "relay-server.h"
@ -119,6 +124,95 @@ relay_client_search_by_id (int id)
return NULL;
}
/*
* relay_client_set_desc: set description for client
*/
void
relay_client_set_desc (struct t_relay_client *client)
{
char desc[512];
if (client->desc)
free (client->desc);
snprintf (desc, sizeof (desc),
"%d/%s%s%s%s/%s",
client->id,
(client->ssl) ? "ssl." : "",
relay_protocol_string[client->protocol],
(client->protocol_args) ? "." : "",
(client->protocol_args) ? client->protocol_args : "",
client->address);
client->desc = strdup (desc);
}
/*
* relay_client_handshake_timer_cb: timer called to do the handshake with the
* client (for SSL connection only)
*/
#ifdef HAVE_GNUTLS
int
relay_client_handshake_timer_cb (void *data, int remaining_calls)
{
struct t_relay_client *client;
int rc;
client = (struct t_relay_client *)data;
rc = gnutls_handshake (client->gnutls_sess);
if (rc == GNUTLS_E_SUCCESS)
{
/* handshake ok, set status to "connected" */
weechat_unhook (client->hook_timer_handshake);
client->hook_timer_handshake = NULL;
relay_client_set_status (client, RELAY_STATUS_CONNECTED);
return WEECHAT_RC_OK;
}
if (gnutls_error_is_fatal (rc))
{
/* handshake error, disconnect client */
weechat_printf (NULL,
_("%s%s: TLS handshake failed for client %s%s%s: "
"error %d %s"),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_CLIENT,
client->desc,
RELAY_COLOR_CHAT,
rc,
gnutls_strerror (rc));
weechat_unhook (client->hook_timer_handshake);
client->hook_timer_handshake = NULL;
relay_client_set_status (client, RELAY_STATUS_DISCONNECTED);
return WEECHAT_RC_OK;
}
if (remaining_calls == 0)
{
/* handshake timeout, disconnect client */
weechat_printf (NULL,
_("%s%s: TLS handshake timeout for client %s%s%s"),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_CLIENT,
client->desc,
RELAY_COLOR_CHAT);
weechat_unhook (client->hook_timer_handshake);
client->hook_timer_handshake = NULL;
relay_client_set_status (client, RELAY_STATUS_DISCONNECTED);
return WEECHAT_RC_OK;
}
/* handshake in progress, we will try again on next call to timer */
return WEECHAT_RC_OK;
}
#endif
/*
* relay_client_recv_cb: read data from a client
*/
@ -135,7 +229,17 @@ relay_client_recv_cb (void *arg_client, int fd)
client = (struct t_relay_client *)arg_client;
num_read = recv (client->sock, buffer, sizeof (buffer) - 1, 0);
if (client->status != RELAY_STATUS_CONNECTED)
return WEECHAT_RC_OK;
#ifdef HAVE_GNUTLS
if (client->ssl)
num_read = gnutls_record_recv (client->gnutls_sess, buffer,
sizeof (buffer) - 1);
else
#endif
num_read = recv (client->sock, buffer, sizeof (buffer) - 1, 0);
if (num_read > 0)
{
client->bytes_recv += num_read;
@ -155,18 +259,43 @@ relay_client_recv_cb (void *arg_client, int fd)
}
else
{
if ((num_read == 0)
|| ((errno != EAGAIN) && (errno != EWOULDBLOCK)))
#ifdef HAVE_GNUTLS
if (client->ssl)
{
weechat_printf (NULL,
_("%s%s: reading data on socket for client %d: "
"error %d %s"),
weechat_prefix ("error"), RELAY_PLUGIN_NAME,
client->id,
errno,
(num_read == 0) ? _("(connection closed by peer)") :
strerror (errno));
relay_client_set_status (client, RELAY_STATUS_DISCONNECTED);
if ((num_read == 0)
|| ((num_read != GNUTLS_E_AGAIN) && (num_read != GNUTLS_E_INTERRUPTED)))
{
weechat_printf (NULL,
_("%s%s: reading data on socket for client %s%s%s: "
"error %d %s"),
weechat_prefix ("error"), RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_CLIENT,
client->desc,
RELAY_COLOR_CHAT,
num_read,
(num_read == 0) ? _("(connection closed by peer)") :
gnutls_strerror (num_read));
relay_client_set_status (client, RELAY_STATUS_DISCONNECTED);
}
}
else
#endif
{
if ((num_read == 0)
|| ((errno != EAGAIN) && (errno != EWOULDBLOCK)))
{
weechat_printf (NULL,
_("%s%s: reading data on socket for client %s%s%s: "
"error %d %s"),
weechat_prefix ("error"), RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_CLIENT,
client->desc,
RELAY_COLOR_CHAT,
errno,
(num_read == 0) ? _("(connection closed by peer)") :
strerror (errno));
relay_client_set_status (client, RELAY_STATUS_DISCONNECTED);
}
}
}
@ -281,7 +410,13 @@ relay_client_send (struct t_relay_client *client, const char *data,
}
else
{
num_sent = send (client->sock, data, data_size, 0);
#ifdef HAVE_GNUTLS
if (client->ssl)
num_sent = gnutls_record_send (client->gnutls_sess, data, data_size);
else
#endif
num_sent = send (client->sock, data, data_size, 0);
if (num_sent >= 0)
{
if (num_sent > 0)
@ -298,19 +433,52 @@ relay_client_send (struct t_relay_client *client, const char *data,
}
else if (num_sent < 0)
{
if ((errno == EAGAIN) || (errno == EWOULDBLOCK))
#ifdef HAVE_GNUTLS
if (client->ssl)
{
/* add message to queue (will be sent later) */
relay_client_outqueue_add (client, data, data_size);
if ((num_sent == GNUTLS_E_AGAIN)
|| (num_sent == GNUTLS_E_INTERRUPTED))
{
/* add message to queue (will be sent later) */
relay_client_outqueue_add (client, data, data_size);
}
else
{
weechat_printf (NULL,
_("%s%s: sending data to client %s%s%s: "
"error %d %s"),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_CLIENT,
client->desc,
RELAY_COLOR_CHAT,
num_sent,
gnutls_strerror (num_sent));
relay_client_set_status (client, RELAY_STATUS_DISCONNECTED);
}
}
else
#endif
{
weechat_printf (NULL,
_("%s%s: sending data to client %d: error %d %s"),
weechat_prefix ("error"), RELAY_PLUGIN_NAME,
client->id,
errno, strerror (errno));
relay_client_set_status (client, RELAY_STATUS_DISCONNECTED);
if ((errno == EAGAIN) || (errno == EWOULDBLOCK))
{
/* add message to queue (will be sent later) */
relay_client_outqueue_add (client, data, data_size);
}
else
{
weechat_printf (NULL,
_("%s%s: sending data to client %s%s%s: "
"error %d %s"),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_CLIENT,
client->desc,
RELAY_COLOR_CHAT,
errno,
strerror (errno));
relay_client_set_status (client, RELAY_STATUS_DISCONNECTED);
}
}
}
}
@ -341,8 +509,20 @@ relay_client_timer_cb (void *data, int remaining_calls)
{
while (ptr_client->outqueue)
{
num_sent = send (ptr_client->sock, ptr_client->outqueue->data,
ptr_client->outqueue->data_size, 0);
#ifdef HAVE_GNUTLS
if (ptr_client->ssl)
{
num_sent = gnutls_record_send (ptr_client->gnutls_sess,
ptr_client->outqueue->data,
ptr_client->outqueue->data_size);
}
else
#endif
{
num_sent = send (ptr_client->sock,
ptr_client->outqueue->data,
ptr_client->outqueue->data_size, 0);
}
if (num_sent >= 0)
{
if (num_sent > 0)
@ -380,21 +560,54 @@ relay_client_timer_cb (void *data, int remaining_calls)
}
else if (num_sent < 0)
{
if ((errno == EAGAIN) || (errno == EWOULDBLOCK))
#ifdef HAVE_GNUTLS
if (ptr_client->ssl)
{
/* we will retry later this client's queue */
break;
if ((num_sent == GNUTLS_E_AGAIN)
|| (num_sent == GNUTLS_E_INTERRUPTED))
{
/* we will retry later this client's queue */
break;
}
else
{
weechat_printf (NULL,
_("%s%s: sending data to client %s%s%s: "
"error %d %s"),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_CLIENT,
ptr_client->desc,
RELAY_COLOR_CHAT,
num_sent,
gnutls_strerror (num_sent));
relay_client_set_status (ptr_client,
RELAY_STATUS_DISCONNECTED);
}
}
else
#endif
{
weechat_printf (NULL,
_("%s%s: sending data to client %d: error %d %s"),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME,
ptr_client->id,
errno, strerror (errno));
relay_client_set_status (ptr_client,
RELAY_STATUS_DISCONNECTED);
if ((errno == EAGAIN) || (errno == EWOULDBLOCK))
{
/* we will retry later this client's queue */
break;
}
else
{
weechat_printf (NULL,
_("%s%s: sending data to client %s%s%s: "
"error %d %s"),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_CLIENT,
ptr_client->desc,
RELAY_COLOR_CHAT,
errno,
strerror (errno));
relay_client_set_status (ptr_client,
RELAY_STATUS_DISCONNECTED);
}
}
}
}
@ -412,12 +625,18 @@ struct t_relay_client *
relay_client_new (int sock, const char *address, struct t_relay_server *server)
{
struct t_relay_client *new_client;
struct t_config_option *ptr_option;
new_client = malloc (sizeof (*new_client));
if (new_client)
{
new_client->id = (relay_clients) ? relay_clients->id + 1 : 1;
new_client->desc = NULL;
new_client->sock = sock;
new_client->ssl = server->ssl;
#ifdef HAVE_GNUTLS
new_client->hook_timer_handshake = NULL;
#endif
new_client->address = strdup ((address) ? address : "?");
new_client->status = RELAY_STATUS_CONNECTED;
new_client->protocol = server->protocol;
@ -430,6 +649,36 @@ relay_client_new (int sock, const char *address, struct t_relay_server *server)
new_client->bytes_recv = 0;
new_client->bytes_sent = 0;
relay_client_set_desc (new_client);
#ifdef HAVE_GNUTLS
if (new_client->ssl)
{
if (!relay_network_init_ssl_cert_key_ok)
{
weechat_printf (NULL,
_("%s%s: warning: no SSL certificate/key found "
"(option relay.network.ssl_cert_key)"),
weechat_prefix ("error"), RELAY_PLUGIN_NAME);
}
new_client->status = RELAY_STATUS_CONNECTING;
gnutls_init (&(new_client->gnutls_sess), GNUTLS_SERVER);
if (relay_gnutls_priority_cache)
gnutls_priority_set (new_client->gnutls_sess, *relay_gnutls_priority_cache);
gnutls_credentials_set (new_client->gnutls_sess, GNUTLS_CRD_CERTIFICATE, relay_gnutls_x509_cred);
gnutls_certificate_server_set_request (new_client->gnutls_sess, GNUTLS_CERT_IGNORE);
gnutls_transport_set_ptr (new_client->gnutls_sess,
(gnutls_transport_ptr) ((ptrdiff_t) new_client->sock));
ptr_option = weechat_config_get ("weechat.network.gnutls_handshake_timeout");
new_client->hook_timer_handshake = weechat_hook_timer (1000 / 10,
0,
(ptr_option) ?
weechat_config_integer (ptr_option) * 10 : 30 * 10,
&relay_client_handshake_timer_cb,
new_client);
}
#endif
new_client->protocol_data = NULL;
switch (new_client->protocol)
{
@ -455,16 +704,12 @@ relay_client_new (int sock, const char *address, struct t_relay_server *server)
relay_clients = new_client;
weechat_printf (NULL,
_("%s: new client from %s%s%s on port %d (id: %d, relaying: %s%s%s)"),
_("%s: new client on port %d: %s%s%s"),
RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_HOST,
new_client->address,
RELAY_COLOR_CHAT,
server->port,
new_client->id,
relay_protocol_string[new_client->protocol],
(new_client->protocol_args) ? "." : "",
(new_client->protocol_args) ? new_client->protocol_args : "");
RELAY_COLOR_CHAT_CLIENT,
new_client->desc,
RELAY_COLOR_CHAT);
new_client->hook_fd = weechat_hook_fd (new_client->sock,
1, 0, 0,
@ -505,6 +750,7 @@ relay_client_new_with_infolist (struct t_infolist *infolist)
if (new_client)
{
new_client->id = weechat_infolist_integer (infolist, "id");
new_client->desc = NULL;
new_client->sock = weechat_infolist_integer (infolist, "sock");
new_client->address = strdup (weechat_infolist_string (infolist, "address"));
new_client->status = weechat_infolist_integer (infolist, "status");
@ -529,6 +775,12 @@ relay_client_new_with_infolist (struct t_infolist *infolist)
sscanf (weechat_infolist_string (infolist, "bytes_sent"),
"%lu", &(new_client->bytes_sent));
str = weechat_infolist_string (infolist, "desc");
if (str)
new_client->desc = strdup (str);
else
relay_client_set_desc (new_client);
switch (new_client->protocol)
{
case RELAY_PROTOCOL_WEECHAT:
@ -596,26 +848,20 @@ relay_client_set_status (struct t_relay_client *client,
{
case RELAY_STATUS_AUTH_FAILED:
weechat_printf (NULL,
_("%s%s: authentication failed with client %s%s%s (%s%s%s)"),
_("%s%s: authentication failed with client %s%s%s"),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_HOST,
client->address,
RELAY_COLOR_CHAT,
relay_protocol_string[client->protocol],
(client->protocol_args) ? "." : "",
(client->protocol_args) ? client->protocol_args : "");
RELAY_COLOR_CHAT_CLIENT,
client->desc,
RELAY_COLOR_CHAT);
break;
case RELAY_STATUS_DISCONNECTED:
weechat_printf (NULL,
_("%s: disconnected from client %s%s%s (%s%s%s)"),
_("%s: disconnected from client %s%s%s"),
RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_HOST,
client->address,
RELAY_COLOR_CHAT,
relay_protocol_string[client->protocol],
(client->protocol_args) ? "." : "",
(client->protocol_args) ? client->protocol_args : "");
RELAY_COLOR_CHAT_CLIENT,
client->desc,
RELAY_COLOR_CHAT);
break;
default:
break;
@ -623,8 +869,16 @@ relay_client_set_status (struct t_relay_client *client,
if (client->sock >= 0)
{
#ifdef HAVE_GNUTLS
if (client->ssl)
gnutls_bye (client->gnutls_sess, GNUTLS_SHUT_WR);
#endif
close (client->sock);
client->sock = -1;
#ifdef HAVE_GNUTLS
if (client->ssl)
gnutls_deinit (client->gnutls_sess);
#endif
}
}
@ -661,6 +915,10 @@ relay_client_free (struct t_relay_client *client)
free (client->address);
if (client->protocol_args)
free (client->protocol_args);
#ifdef HAVE_GNUTLS
if (client->hook_timer_handshake)
weechat_unhook (client->hook_timer_handshake);
#endif
if (client->hook_fd)
weechat_unhook (client->hook_fd);
if (client->protocol_data)
@ -754,8 +1012,16 @@ relay_client_add_to_infolist (struct t_infolist *infolist,
if (!weechat_infolist_new_var_integer (ptr_item, "id", client->id))
return 0;
if (!weechat_infolist_new_var_string (ptr_item, "desc", client->desc))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "sock", client->sock))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "ssl", client->ssl))
return 0;
#ifdef HAVE_GNUTLS
if (!weechat_infolist_new_var_pointer (ptr_item, "hook_timer_handshake", client->hook_timer_handshake))
return 0;
#endif
if (!weechat_infolist_new_var_string (ptr_item, "address", client->address))
return 0;
if (!weechat_infolist_new_var_integer (ptr_item, "status", client->status))
@ -815,7 +1081,13 @@ relay_client_print_log ()
weechat_log_printf ("");
weechat_log_printf ("[relay client (addr:0x%lx)]", ptr_client);
weechat_log_printf (" id. . . . . . . . . . : %d", ptr_client->id);
weechat_log_printf (" desc. . . . . . . . . : '%s'", ptr_client->desc);
weechat_log_printf (" sock. . . . . . . . . : %d", ptr_client->sock);
weechat_log_printf (" ssl . . . . . . . . . : %d", ptr_client->ssl);
#ifdef HAVE_GNUTLS
weechat_log_printf (" gnutls_sess . . . . . : 0x%lx", ptr_client->gnutls_sess);
weechat_log_printf (" hook_timer_handshake. : 0x%lx", ptr_client->hook_timer_handshake);
#endif
weechat_log_printf (" address . . . . . . . : '%s'", ptr_client->address);
weechat_log_printf (" status. . . . . . . . : %d (%s)",
ptr_client->status,

View File

@ -20,6 +20,10 @@
#ifndef __WEECHAT_RELAY_CLIENT_H
#define __WEECHAT_RELAY_CLIENT_H 1
#ifdef HAVE_GNUTLS
#include <gnutls/gnutls.h>
#endif
struct t_relay_server;
/* relay status */
@ -56,7 +60,13 @@ struct t_relay_client_outqueue
struct t_relay_client
{
int id; /* unique id (diff. for each client) */
char *desc; /* description, used for display */
int sock; /* socket for connection */
int ssl; /* 1 if SSL is enabled */
#ifdef HAVE_GNUTLS
gnutls_session_t gnutls_sess; /* gnutls session (only if SSL used) */
struct t_hook *hook_timer_handshake; /* timer for doing gnutls handshake*/
#endif
char *address; /* string with IP address */
enum t_relay_status status; /* status (connecting, active,..) */
enum t_relay_protocol protocol; /* protocol (irc,..) */

View File

@ -30,6 +30,7 @@
#include "relay-buffer.h"
#include "relay-client.h"
#include "relay-config.h"
#include "relay-network.h"
#include "relay-raw.h"
#include "relay-server.h"
@ -42,70 +43,80 @@ void
relay_command_client_list (int full)
{
struct t_relay_client *ptr_client;
int i;
char date_start[128], date_activity[128];
struct tm *date_tmp;
int num_found;
if (relay_clients)
num_found = 0;
for (ptr_client = relay_clients; ptr_client;
ptr_client = ptr_client->next_client)
{
weechat_printf (NULL, "");
weechat_printf (NULL, _("Clients for relay:"));
i = 1;
for (ptr_client = relay_clients; ptr_client;
ptr_client = ptr_client->next_client)
if (!full && RELAY_CLIENT_HAS_ENDED(ptr_client))
continue;
if (num_found == 0)
{
date_start[0] = '\0';
date_tmp = localtime (&(ptr_client->start_time));
if (date_tmp)
{
strftime (date_start, sizeof (date_start),
"%a, %d %b %Y %H:%M:%S", date_tmp);
}
weechat_printf (NULL, "");
weechat_printf (NULL,
(full) ?
_("Clients for relay:") :
_("Connected clients for relay:"));
}
num_found++;
date_activity[0] = '\0';
date_tmp = localtime (&(ptr_client->last_activity));
if (date_tmp)
{
strftime (date_activity, sizeof (date_activity),
"%a, %d %b %Y %H:%M:%S", date_tmp);
}
date_start[0] = '\0';
date_tmp = localtime (&(ptr_client->start_time));
if (date_tmp)
{
strftime (date_start, sizeof (date_start),
"%a, %d %b %Y %H:%M:%S", date_tmp);
}
if (full)
{
weechat_printf (NULL,
_(" id: %d, %s%s%s (%s%s%s), "
"started on: %s, last activity: %s, "
"bytes: %lu recv, %lu sent"),
ptr_client->id,
RELAY_COLOR_CHAT_HOST,
ptr_client->address,
RELAY_COLOR_CHAT,
RELAY_COLOR_CHAT_BUFFER,
relay_client_status_string[ptr_client->status],
RELAY_COLOR_CHAT,
date_start,
date_activity,
ptr_client->bytes_recv,
ptr_client->bytes_sent);
}
else
{
if (!RELAY_CLIENT_HAS_ENDED(ptr_client))
{
weechat_printf (NULL,
_(" id: %d, %s%s%s, started on: %s"),
ptr_client->id,
RELAY_COLOR_CHAT_HOST,
ptr_client->address,
RELAY_COLOR_CHAT,
date_start);
}
}
i++;
date_activity[0] = '\0';
date_tmp = localtime (&(ptr_client->last_activity));
if (date_tmp)
{
strftime (date_activity, sizeof (date_activity),
"%a, %d %b %Y %H:%M:%S", date_tmp);
}
if (full)
{
weechat_printf (NULL,
_(" %s%s%s (%s%s%s), started on: %s, last activity: %s, "
"bytes: %lu recv, %lu sent"),
RELAY_COLOR_CHAT_CLIENT,
ptr_client->desc,
RELAY_COLOR_CHAT,
weechat_color (weechat_config_string (relay_config_color_status[ptr_client->status])),
relay_client_status_string[ptr_client->status],
RELAY_COLOR_CHAT,
date_start,
date_activity,
ptr_client->bytes_recv,
ptr_client->bytes_sent);
}
else
{
weechat_printf (NULL,
_(" %s%s%s (%s%s%s), started on: %s"),
RELAY_COLOR_CHAT_CLIENT,
ptr_client->desc,
RELAY_COLOR_CHAT,
weechat_color (weechat_config_string (relay_config_color_status[ptr_client->status])),
relay_client_status_string[ptr_client->status],
RELAY_COLOR_CHAT,
date_start);
}
}
else
weechat_printf (NULL, _("No client for relay"));
if (num_found == 0)
{
weechat_printf (NULL,
(full) ?
_("No client for relay") :
_("No connected client for relay"));
}
}
/*
@ -259,6 +270,11 @@ relay_command_relay (void *data, struct t_gui_buffer *buffer, int argc,
relay_raw_open (1);
return WEECHAT_RC_OK;
}
if (weechat_strcasecmp (argv[1], "sslcertkey") == 0)
{
relay_network_set_ssl_cert_key (1);
return WEECHAT_RC_OK;
}
}
if (!relay_buffer)
@ -300,7 +316,8 @@ relay_command_init ()
N_("list|listfull|listrelay"
" || add <protocol.name> <port>"
" || del <protocol.name>"
" || raw"),
" || raw"
" || sslcertkey"),
N_(" list: list relay clients (only active "
"relays)\n"
" listfull: list relay clients (verbose, all "
@ -313,20 +330,29 @@ relay_command_init ()
"server to share\n"
" - protocol \"weechat\" (name is "
"not used)\n"
" Note: the protocol can be prefixed "
"by \"ssl.\" to enable SSL\n"
" port: port used for relay\n"
" raw: open buffer with raw Relay data\n\n"
" raw: open buffer with raw Relay data\n"
" sslcertkey: set SSL certificate/key using path "
"in option relay.network.ssl_cert_key\n\n"
"Without argument, this command opens buffer "
"with list of relay clients.\n\n"
"Examples:\n"
" irc proxy, for server \"freenode\":\n"
" /relay add irc.freenode 8000\n"
" irc proxy, for server \"freenode\", with SSL:\n"
" /relay add ssl.irc.freenode 8001\n"
" weechat protocol:\n"
" /relay add weechat 8001"),
" /relay add weechat 9000\n"
" weechat protocol with SSL:\n"
" /relay add ssl.weechat 9001"),
"list %(relay_relays)"
" || listfull %(relay_relays)"
" || listrelay"
" || add %(relay_protocol_name) %(relay_free_port)"
" || del %(relay_relays)"
" || raw",
" || raw"
" || sslcertkey",
&relay_command_relay, NULL);
}

View File

@ -41,7 +41,7 @@ relay_completion_protocol_name_cb (void *data, const char *completion_item,
struct t_gui_completion *completion)
{
struct t_infolist *infolist;
char protocol_name[256];
char protocol_name[512];
/* make C compiler happy */
(void) data;
@ -57,12 +57,18 @@ relay_completion_protocol_name_cb (void *data, const char *completion_item,
weechat_infolist_string (infolist, "name"));
weechat_hook_completion_list_add (completion, protocol_name,
0, WEECHAT_LIST_POS_SORT);
snprintf (protocol_name, sizeof (protocol_name), "ssl.irc.%s",
weechat_infolist_string (infolist, "name"));
weechat_hook_completion_list_add (completion, protocol_name,
0, WEECHAT_LIST_POS_SORT);
}
weechat_infolist_free (infolist);
}
weechat_hook_completion_list_add (completion, "weechat",
0, WEECHAT_LIST_POS_SORT);
weechat_hook_completion_list_add (completion, "ssl.weechat",
0, WEECHAT_LIST_POS_SORT);
return WEECHAT_RC_OK;
}
@ -78,7 +84,7 @@ relay_completion_relays_cb (void *data, const char *completion_item,
struct t_gui_completion *completion)
{
struct t_relay_server *ptr_server;
char protocol_name[256];
char protocol_name[512];
/* make C compiler happy */
(void) data;
@ -88,7 +94,8 @@ relay_completion_relays_cb (void *data, const char *completion_item,
for (ptr_server = relay_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
snprintf (protocol_name, sizeof (protocol_name), "%s%s%s",
snprintf (protocol_name, sizeof (protocol_name), "%s%s%s%s",
(ptr_server->ssl) ? "ssl." : "",
relay_protocol_string[ptr_server->protocol],
(ptr_server->protocol_args) ? "." : "",
(ptr_server->protocol_args) ? ptr_server->protocol_args : "");

View File

@ -30,6 +30,7 @@
#include "relay-config.h"
#include "relay-client.h"
#include "relay-buffer.h"
#include "relay-network.h"
#include "relay-server.h"
@ -43,6 +44,7 @@ struct t_config_option *relay_config_look_raw_messages;
/* relay config, color section */
struct t_config_option *relay_config_color_client;
struct t_config_option *relay_config_color_text;
struct t_config_option *relay_config_color_text_bg;
struct t_config_option *relay_config_color_text_selected;
@ -55,6 +57,7 @@ struct t_config_option *relay_config_network_bind_address;
struct t_config_option *relay_config_network_compression_level;
struct t_config_option *relay_config_network_max_clients;
struct t_config_option *relay_config_network_password;
struct t_config_option *relay_config_network_ssl_cert_key;
/* other */
@ -138,6 +141,22 @@ relay_config_change_network_bind_address_cb (void *data,
}
}
/*
* relay_config_change_network_ssl_cert_key: called when ssl_cert_key is changed
*/
void
relay_config_change_network_ssl_cert_key (void *data,
struct t_config_option *option)
{
/* make C compiler happy */
(void) data;
(void) option;
if (relay_network_init_ok)
relay_network_set_ssl_cert_key (1);
}
/*
* relay_config_change_port_cb: callback called when relay port option is
* modified
@ -219,7 +238,7 @@ relay_config_create_option_port (void *data,
const char *option_name,
const char *value)
{
int rc, protocol_number;
int rc, protocol_number, ssl;
char *error, *protocol, *protocol_args;
long port;
struct t_relay_server *ptr_server;
@ -229,38 +248,52 @@ relay_config_create_option_port (void *data,
rc = WEECHAT_CONFIG_OPTION_SET_OK_SAME_VALUE;
relay_server_get_protocol_args (option_name,
&protocol, &protocol_args);
protocol_number = -1;
port = -1;
if (protocol)
protocol_number = relay_protocol_search (protocol);
relay_server_get_protocol_args (option_name,
&ssl, &protocol, &protocol_args);
if (protocol_number < 0)
#ifndef HAVE_GNUTLS
if (ssl)
{
weechat_printf (NULL, _("%s%s: error: unknown protocol \"%s\""),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME, protocol);
weechat_printf (NULL,
_("%s%s: cannot use SSL because WeeChat was not built "
"with GnuTLS support"),
weechat_prefix ("error"), RELAY_PLUGIN_NAME);
rc = WEECHAT_CONFIG_OPTION_SET_ERROR;
}
#endif
if ((protocol_number == RELAY_PROTOCOL_WEECHAT) && protocol_args)
if (rc != WEECHAT_CONFIG_OPTION_SET_ERROR)
{
weechat_printf (NULL, _("%s%s: error: name is not allowed for protocol "
"\"%s\""),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME, protocol);
rc = WEECHAT_CONFIG_OPTION_SET_ERROR;
}
else if ((protocol_number == RELAY_PROTOCOL_IRC) && !protocol_args)
{
weechat_printf (NULL, _("%s%s: error: name is not required for protocol "
"\"%s\""),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME, protocol);
rc = WEECHAT_CONFIG_OPTION_SET_ERROR;
if (protocol)
protocol_number = relay_protocol_search (protocol);
if (protocol_number < 0)
{
weechat_printf (NULL, _("%s%s: error: unknown protocol \"%s\""),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME, protocol);
rc = WEECHAT_CONFIG_OPTION_SET_ERROR;
}
if ((protocol_number == RELAY_PROTOCOL_WEECHAT) && protocol_args)
{
weechat_printf (NULL, _("%s%s: error: name is not allowed for "
"protocol \"%s\""),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME, protocol);
rc = WEECHAT_CONFIG_OPTION_SET_ERROR;
}
else if ((protocol_number == RELAY_PROTOCOL_IRC) && !protocol_args)
{
weechat_printf (NULL, _("%s%s: error: name is not required for "
"protocol \"%s\""),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME, protocol);
rc = WEECHAT_CONFIG_OPTION_SET_ERROR;
}
}
if (rc != WEECHAT_CONFIG_OPTION_SET_ERROR)
@ -290,7 +323,7 @@ relay_config_create_option_port (void *data,
if (rc != WEECHAT_CONFIG_OPTION_SET_ERROR)
{
if (relay_server_new (protocol_number, protocol_args, port))
if (relay_server_new (protocol_number, protocol_args, port, ssl))
{
/* create config option */
weechat_config_new_option (
@ -376,22 +409,28 @@ relay_config_init ()
return 0;
}
relay_config_color_client = weechat_config_new_option (
relay_config_file, ptr_section,
"client", "color",
N_("text color for client description"),
NULL, 0, 0, "cyan", NULL, 0,
NULL, NULL, NULL, NULL, NULL, NULL);
relay_config_color_text = weechat_config_new_option (
relay_config_file, ptr_section,
"text", "color",
N_("text color"),
N_("text color in relay buffer"),
NULL, 0, 0, "default", NULL, 0,
NULL, NULL, &relay_config_refresh_cb, NULL, NULL, NULL);
relay_config_color_text_bg = weechat_config_new_option (
relay_config_file, ptr_section,
"text_bg", "color",
N_("background color"),
N_("background color in relay buffer"),
NULL, 0, 0, "default", NULL, 0,
NULL, NULL, &relay_config_refresh_cb, NULL, NULL, NULL);
relay_config_color_text_selected = weechat_config_new_option (
relay_config_file, ptr_section,
"text_selected", "color",
N_("text color of selected client line"),
N_("text color of selected line in relay buffer"),
NULL, 0, 0, "white", NULL, 0,
NULL, NULL, &relay_config_refresh_cb, NULL, NULL, NULL);
relay_config_color_status[RELAY_STATUS_CONNECTING] = weechat_config_new_option (
@ -472,6 +511,13 @@ relay_config_init ()
N_("password required by clients to access this relay (empty value "
"means no password required)"),
NULL, 0, 0, "", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
relay_config_network_ssl_cert_key = weechat_config_new_option (
relay_config_file, ptr_section,
"ssl_cert_key", "string",
N_("file with SSL certificate and private key (for serving clients "
"with SSL)"),
NULL, 0, 0, "%h/ssl/relay.pem", NULL, 0, NULL, NULL,
&relay_config_change_network_ssl_cert_key, NULL, NULL, NULL);
ptr_section = weechat_config_new_section (relay_config_file, "port",
1, 1,

View File

@ -30,15 +30,18 @@ extern struct t_config_section *relay_config_section_port;
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_color_client;
extern struct t_config_option *relay_config_color_text;
extern struct t_config_option *relay_config_color_text_bg;
extern struct t_config_option *relay_config_color_text_selected;
extern struct t_config_option *relay_config_color_status[];
extern struct t_config_option *relay_config_network_allowed_ips;
extern struct t_config_option *relay_config_network_bind_address;
extern struct t_config_option *relay_config_network_compression_level;
extern struct t_config_option *relay_config_network_max_clients;
extern struct t_config_option *relay_config_network_password;
extern struct t_config_option *relay_config_network_compression_level;
extern struct t_config_option *relay_config_network_ssl_cert_key;
extern regex_t *relay_config_regex_allowed_ips;

View File

@ -0,0 +1,163 @@
/*
* Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* relay-network.c: network functions for relay plugin
*/
#include <stdlib.h>
#ifdef HAVE_GNUTLS
#include <gnutls/gnutls.h>
#endif
#include "../weechat-plugin.h"
#include "relay.h"
#include "relay-network.h"
#include "relay-config.h"
int relay_network_init_ok = 0;
int relay_network_init_ssl_cert_key_ok = 0;
#ifdef HAVE_GNUTLS
gnutls_certificate_credentials_t relay_gnutls_x509_cred;
gnutls_priority_t *relay_gnutls_priority_cache;
gnutls_dh_params_t relay_gnutls_dh_params;
#endif
/*
* relay_network_set_ssl_cert_key: set SSL certificate/key file
* if verbose == 1, a message is displayed if
* successful, otherwise a warning (if no
* cert/key found in file)
*/
void
relay_network_set_ssl_cert_key (int verbose)
{
int ret;
#ifdef HAVE_GNUTLS
char *certkey_path, *certkey_path2;
gnutls_certificate_free_credentials (relay_gnutls_x509_cred);
gnutls_certificate_allocate_credentials (&relay_gnutls_x509_cred);
relay_network_init_ssl_cert_key_ok = 0;
certkey_path = weechat_string_expand_home (weechat_config_string (relay_config_network_ssl_cert_key));
if (certkey_path)
{
certkey_path2 = weechat_string_replace (certkey_path, "%h",
weechat_info_get ("weechat_dir",
NULL));
if (certkey_path2)
{
ret = gnutls_certificate_set_x509_key_file (relay_gnutls_x509_cred,
certkey_path2,
certkey_path2,
GNUTLS_X509_FMT_PEM);
if (ret >= 0)
{
relay_network_init_ssl_cert_key_ok = 1;
if (verbose)
{
weechat_printf (NULL,
_("%s: SSL certificate and key have been "
"set"),
RELAY_PLUGIN_NAME);
}
}
else
{
if (verbose)
{
weechat_printf (NULL,
_("%s%s: warning: no SSL certificate/key "
"found (option relay.network.ssl_cert_key)"),
weechat_prefix ("error"), RELAY_PLUGIN_NAME);
}
}
free (certkey_path2);
}
free (certkey_path);
}
#endif
}
/*
* relay_network_init: init network for relay
*/
void
relay_network_init ()
{
#ifdef HAVE_GNUTLS
int bits;
/* credentials */
gnutls_certificate_allocate_credentials (&relay_gnutls_x509_cred);
relay_network_set_ssl_cert_key (0);
/* Diffie-Hellman parameters */
bits = gnutls_sec_param_to_pk_bits (GNUTLS_PK_DH, GNUTLS_SEC_PARAM_LOW);
gnutls_dh_params_init (&relay_gnutls_dh_params);
gnutls_dh_params_generate2 (relay_gnutls_dh_params, bits);
gnutls_certificate_set_dh_params (relay_gnutls_x509_cred, relay_gnutls_dh_params);
/* priority */
relay_gnutls_priority_cache = malloc (sizeof (*relay_gnutls_priority_cache));
if (relay_gnutls_priority_cache)
{
if (gnutls_priority_init (relay_gnutls_priority_cache,
"PERFORMANCE", NULL) != GNUTLS_E_SUCCESS)
{
weechat_printf (NULL,
_("%s%s: unable to initialize priority for SSL"),
weechat_prefix ("error"), RELAY_PLUGIN_NAME);
free (relay_gnutls_priority_cache);
relay_gnutls_priority_cache = NULL;
}
}
#endif
relay_network_init_ok = 1;
}
/*
* relay_network_end: end network for relay
*/
void
relay_network_end ()
{
if (relay_network_init_ok)
{
#ifdef HAVE_GNUTLS
if (relay_gnutls_priority_cache)
{
gnutls_priority_deinit (*relay_gnutls_priority_cache);
free (relay_gnutls_priority_cache);
}
gnutls_certificate_free_credentials (relay_gnutls_x509_cred);
#endif
relay_network_init_ok = 0;
}
}

View File

@ -0,0 +1,39 @@
/*
* Copyright (C) 2003-2012 Sebastien Helleu <flashcode@flashtux.org>
*
* This file is part of WeeChat, the extensible chat client.
*
* WeeChat is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* WeeChat is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __WEECHAT_RELAY_NETWORK_H
#define __WEECHAT_RELAY_NETWORK_H 1
#ifdef HAVE_GNUTLS
#include <gnutls/gnutls.h>
#endif
extern int relay_network_init_ok;
extern int relay_network_init_ssl_cert_key_ok;
#ifdef HAVE_GNUTLS
extern gnutls_certificate_credentials_t relay_gnutls_x509_cred;
extern gnutls_priority_t *relay_gnutls_priority_cache;
#endif
extern void relay_network_set_ssl_cert_key (int verbose);
extern void relay_network_init ();
extern void relay_network_end ();
#endif /* __WEECHAT_RELAY_NETWORK_H */

View File

@ -53,10 +53,16 @@ struct t_relay_server *last_relay_server = NULL;
void
relay_server_get_protocol_args (const char *protocol_and_args,
char **protocol, char **protocol_args)
int *ssl, char **protocol, char **protocol_args)
{
char *pos;
*ssl = 0;
if (strncmp (protocol_and_args, "ssl.", 4) == 0)
{
*ssl = 1;
protocol_and_args += 4;
}
pos = strchr (protocol_and_args, '.');
if (pos)
{
@ -78,11 +84,12 @@ relay_server_get_protocol_args (const char *protocol_and_args,
struct t_relay_server *
relay_server_search (const char *protocol_and_args)
{
int ssl;
char *protocol, *protocol_args;
struct t_relay_server *ptr_server;
relay_server_get_protocol_args (protocol_and_args,
&protocol, &protocol_args);
&ssl, &protocol, &protocol_args);
ptr_server = NULL;
@ -91,7 +98,8 @@ relay_server_search (const char *protocol_and_args)
for (ptr_server = relay_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
if (strcmp (protocol, relay_protocol_string[ptr_server->protocol]) == 0)
if ((ptr_server->ssl == ssl)
&& (strcmp (protocol, relay_protocol_string[ptr_server->protocol]) == 0))
{
if (!protocol_args && !ptr_server->protocol_args)
break;
@ -172,7 +180,7 @@ relay_server_sock_cb (void *data, int fd)
struct t_relay_server *server;
struct sockaddr_in client_addr;
socklen_t client_length;
int client_fd, flags;
int client_fd, flags, set;
char ipv4_address[INET_ADDRSTRLEN + 1], *ptr_address;
/* make C compiler happy */
@ -229,6 +237,19 @@ relay_server_sock_cb (void *data, int fd)
flags = 0;
fcntl (client_fd, F_SETFL, flags | O_NONBLOCK);
/* set socket option SO_REUSEADDR */
set = 1;
if (setsockopt (client_fd, SOL_SOCKET, SO_REUSEADDR,
(void *) &set, sizeof (set)) < 0)
{
weechat_printf (NULL,
_("%s%s: cannot set socket option "
"\"SO_REUSEADDR\""),
weechat_prefix ("error"), RELAY_PLUGIN_NAME);
close (client_fd);
return WEECHAT_RC_OK;
}
/* add the client */
relay_client_new (client_fd, ptr_address, server);
@ -313,12 +334,13 @@ relay_server_create_socket (struct t_relay_server *server)
listen (server->sock, max_clients);
weechat_printf (NULL,
_("%s: listening on port %d (relay: %s%s%s, max %d clients)"),
_("%s: listening on port %d (relay: %s%s%s,%s max %d clients)"),
RELAY_PLUGIN_NAME,
server->port,
relay_protocol_string[server->protocol],
(server->protocol_args) ? "." : "",
(server->protocol_args) ? server->protocol_args : "",
(server->ssl) ? " SSL," : "",
max_clients);
server->hook_fd = weechat_hook_fd (server->sock,
@ -338,7 +360,7 @@ relay_server_create_socket (struct t_relay_server *server)
struct t_relay_server *
relay_server_new (enum t_relay_protocol protocol,
const char *protocol_args,
int port)
int port, int ssl)
{
struct t_relay_server *new_server;
@ -357,6 +379,7 @@ relay_server_new (enum t_relay_protocol protocol,
new_server->protocol_args =
(protocol_args) ? strdup (protocol_args) : NULL;
new_server->port = port;
new_server->ssl = ssl;
new_server->sock = -1;
new_server->hook_fd = NULL;
new_server->start_time = 0;
@ -469,6 +492,7 @@ relay_server_print_log ()
relay_protocol_string[ptr_server->protocol]);
weechat_log_printf (" protocol_args . . . : '%s'", ptr_server->protocol_args);
weechat_log_printf (" port. . . . . . . . : %d", ptr_server->port);
weechat_log_printf (" ssl . . . . . . . . : %d", ptr_server->ssl);
weechat_log_printf (" sock. . . . . . . . : %d", ptr_server->sock);
weechat_log_printf (" hook_fd . . . . . . : 0x%lx", ptr_server->hook_fd);
weechat_log_printf (" start_time. . . . . : %ld", ptr_server->start_time);

View File

@ -20,12 +20,17 @@
#ifndef __WEECHAT_RELAY_SERVER_H
#define __WEECHAT_RELAY_SERVER_H 1
#ifdef HAVE_GNUTLS
#define RELAY_SERVER_GNUTLS_DH_BITS 1024
#endif
struct t_relay_server
{
enum t_relay_protocol protocol; /* protocol (irc,..) */
char *protocol_args; /* arguments used for protocol */
/* example: server for irc protocol */
int port; /* listening on this port */
int ssl; /* 1 if SSL is enabled */
int sock; /* socket for connection */
struct t_hook *hook_fd; /* hook for socket */
time_t start_time; /* start time */
@ -37,6 +42,7 @@ extern struct t_relay_server *relay_servers;
extern struct t_relay_server *last_relay_server;
extern void relay_server_get_protocol_args (const char *protocol_and_string,
int *ssl,
char **protocol,
char **protocol_args);
extern struct t_relay_server *relay_server_search (const char *protocol_and_args);
@ -45,7 +51,7 @@ extern void relay_server_close_socket (struct t_relay_server *server);
extern int relay_server_create_socket (struct t_relay_server *server);
extern struct t_relay_server *relay_server_new (enum t_relay_protocol protocol,
const char *protocol_args,
int port);
int port, int ssl);
extern void relay_server_update_port (struct t_relay_server *server, int port);
extern void relay_server_free (struct t_relay_server *server);
extern void relay_server_free_all ();

View File

@ -31,6 +31,7 @@
#include "relay-completion.h"
#include "relay-config.h"
#include "relay-info.h"
#include "relay-network.h"
#include "relay-raw.h"
#include "relay-server.h"
#include "relay-upgrade.h"
@ -81,6 +82,8 @@ relay_signal_upgrade_cb (void *data, const char *signal, const char *type_data,
void *signal_data)
{
struct t_relay_server *ptr_server;
struct t_relay_client *ptr_client;
int disconnected;
/* make C compiler happy */
(void) data;
@ -90,12 +93,47 @@ relay_signal_upgrade_cb (void *data, const char *signal, const char *type_data,
relay_signal_upgrade_received = 1;
/* close socket for relay servers */
for (ptr_server = relay_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
relay_server_close_socket (ptr_server);
}
/*
* FIXME: it's not possible to upgrade with SSL clients connected (GnuTLS
* lib can't reload data after upgrade), so we close connection for
* all SSL clients currently connected
*/
disconnected = 0;
for (ptr_client = relay_clients; ptr_client;
ptr_client = ptr_client->next_client)
{
if ((ptr_client->sock >= 0) && ptr_client->ssl)
{
disconnected++;
weechat_printf (NULL,
_("%s%s: disconnecting from client %s%s%s because "
"upgrade can't work for clients connected via SSL"),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_CLIENT,
ptr_client->desc,
RELAY_COLOR_CHAT);
relay_client_set_status (ptr_client, RELAY_STATUS_DISCONNECTED);
}
}
if (disconnected > 0)
{
weechat_printf (NULL,
/* TRANSLATORS: "%s" after "%d" is "client" or "clients" */
_("%s%s: disconnected from %d %s (SSL connection "
"not supported with upgrade)"),
weechat_prefix ("error"), RELAY_PLUGIN_NAME,
disconnected,
NG_("client", "clients", disconnected));
}
return WEECHAT_RC_OK;
}
@ -151,6 +189,8 @@ weechat_plugin_init (struct t_weechat_plugin *plugin, int argc, char *argv[])
if (relay_config_read () < 0)
return WEECHAT_RC_ERROR;
relay_network_init ();
relay_command_init ();
/* hook completions */
@ -211,5 +251,7 @@ weechat_plugin_end (struct t_weechat_plugin *plugin)
relay_client_free_all ();
}
relay_network_end ();
return WEECHAT_RC_OK;
}

View File

@ -40,6 +40,7 @@ enum t_relay_protocol
#define RELAY_COLOR_CHAT weechat_color("chat")
#define RELAY_COLOR_CHAT_HOST weechat_color("chat_host")
#define RELAY_COLOR_CHAT_BUFFER weechat_color("chat_buffer")
#define RELAY_COLOR_CHAT_CLIENT weechat_color(weechat_config_string(relay_config_color_client))
extern char *relay_protocol_string[];

View File

@ -918,8 +918,12 @@ relay_weechat_protocol_recv (struct t_relay_client *client, char *data)
/* display debug message */
if (weechat_relay_plugin->debug >= 2)
{
weechat_printf (NULL, "%s: recv from client %d: \"%s\"",
RELAY_PLUGIN_NAME, client->id, data);
weechat_printf (NULL, "%s: recv from client %s%s%s: \"%s\"",
RELAY_PLUGIN_NAME,
RELAY_COLOR_CHAT_CLIENT,
client->desc,
RELAY_COLOR_CHAT,
data);
}
/* display message in raw buffer */
@ -996,9 +1000,13 @@ relay_weechat_protocol_recv (struct t_relay_client *client, char *data)
{
weechat_printf (NULL,
_("%s%s: failed to execute command \"%s\" "
"for client %d"),
"for client %s%s%s"),
weechat_prefix ("error"),
RELAY_PLUGIN_NAME, command, client->id);
RELAY_PLUGIN_NAME,
command,
RELAY_COLOR_CHAT_CLIENT,
client->desc,
RELAY_COLOR_CHAT);
}
}
break;

View File

@ -44,12 +44,17 @@
{ \
weechat_printf (NULL, \
_("%s%s: too few arguments received from " \
"client %d for command \"%s\" " \
"client %s%s%s for command \"%s\" " \
"(received: %d arguments, expected: at " \
"least %d)"), \
weechat_prefix ("error"), \
RELAY_PLUGIN_NAME, \
client->id, command, argc, __min_args); \
RELAY_COLOR_CHAT_CLIENT, \
client->desc, \
RELAY_COLOR_CHAT, \
command, \
argc, \
__min_args); \
} \
return WEECHAT_RC_ERROR; \
}

View File

@ -148,19 +148,19 @@ xfer_config_init ()
xfer_config_color_text = weechat_config_new_option (
xfer_config_file, ptr_section,
"text", "color",
N_("text color"),
N_("text color in xfer buffer"),
NULL, 0, 0, "default", NULL, 0,
NULL, NULL, &xfer_config_refresh_cb, NULL, NULL, NULL);
xfer_config_color_text_bg = weechat_config_new_option (
xfer_config_file, ptr_section,
"text_bg", "color",
N_("background color"),
N_("background color in xfer buffer"),
NULL, 0, 0, "default", NULL, 0,
NULL, NULL, &xfer_config_refresh_cb, NULL, NULL, NULL);
xfer_config_color_text_selected = weechat_config_new_option (
xfer_config_file, ptr_section,
"text_selected", "color",
N_("text color of selected xfer line"),
N_("text color of selected line in xfer buffer"),
NULL, 0, 0, "white", NULL, 0,
NULL, NULL, &xfer_config_refresh_cb, NULL, NULL, NULL);
xfer_config_color_status[XFER_STATUS_WAITING] = weechat_config_new_option (