From 8ee907af0204eab9090aeb9431d451a8accb12d0 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Sat, 5 Aug 2006 11:20:58 +0000 Subject: [PATCH] Fixed DCC file connection problem (connection from receiver to sender) --- ChangeLog | 3 +- po/cs.po | 81 +++++++++-------- po/de.po | 81 +++++++++-------- po/es.po | 81 +++++++++-------- po/fr.po | 83 +++++++++-------- po/hu.po | 81 +++++++++-------- po/ru.po | 81 +++++++++-------- po/weechat.pot | 81 +++++++++-------- src/irc/irc-dcc.c | 186 ++++++++++++++++++++++++-------------- src/irc/irc.h | 37 ++++---- weechat/ChangeLog | 3 +- weechat/po/cs.po | 81 +++++++++-------- weechat/po/de.po | 81 +++++++++-------- weechat/po/es.po | 81 +++++++++-------- weechat/po/fr.po | 83 +++++++++-------- weechat/po/hu.po | 81 +++++++++-------- weechat/po/ru.po | 81 +++++++++-------- weechat/po/weechat.pot | 81 +++++++++-------- weechat/src/irc/irc-dcc.c | 186 ++++++++++++++++++++++++-------------- weechat/src/irc/irc.h | 37 ++++---- 20 files changed, 886 insertions(+), 704 deletions(-) diff --git a/ChangeLog b/ChangeLog index 409ab80fb..e73ffe458 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,10 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2006-08-03 +ChangeLog - 2006-08-05 Version 0.2.0 (under dev!): + * fixed DCC file connection problem (connection from receiver to sender) * improved DCC speed (up to x5 on LAN) by forking for DCC files and a new option "dcc_fast_send" (does not wait for ACK) (task #5758) * fixed crash when purging DCC with high number of DCC (> window size) diff --git a/po/cs.po b/po/cs.po index fddaac719..30f5764cb 100644 --- a/po/cs.po +++ b/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.0-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" "PO-Revision-Date: 2006-07-25 20:00+0200\n" "Last-Translator: Jiri Golembiovsky \n" "Language-Team: weechat-dev \n" @@ -1986,38 +1986,38 @@ msgstr "Selhal" msgid "Aborted" msgstr "Zrušeno" -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "DCC: soubor %s%s%s" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr " (lokální jmého souboru: %s%s%s)" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr " poslán " -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr " obdržen od " -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "OK" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "SELHALO" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "DCC rozhovor zavřen s %s%s %s(%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " @@ -2026,17 +2026,17 @@ msgstr "" "%s nemohu přiřadit DCC rozhovor k soukromému bufferu (možná má " "soukromýbuffer již DCC CHAT?)\n" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "Připojeno na %s%s %s(%s%d.%d.%d.%d.%s)%s přes DCC rozhovor\n" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "DCC: soubor %s%s%s bude obnoven na pozici %u\n" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " @@ -2045,23 +2045,23 @@ msgstr "" "%s nemohu obnovit soubor \"%s\" (port: %d, počáteční pozice: %u): DCC " "nenalezeno nebo ukončeno\n" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "%s nedostatek paměti pro nové DCC\n" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "DCC rozhovor" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" msgstr "" "Příchozí DCC soubor od %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytů\n" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" @@ -2069,17 +2069,17 @@ msgstr "" "Posílám DCC soubor k %s%s%s: %s%s%s (lokální jméno souboru: %s%s%s), %s%lu%s " "bytů\n" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "Příchozí požadavek DCC rozhovoru od %s%s%s (%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "Posílám požadavek DCC rozhovoru na %s%s\n" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" @@ -2087,97 +2087,102 @@ msgstr "" "DCC: soubor %s%s%s (lokální jméno souboru: %s%s%s) bude obnoven na pozici %" "u\n" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "%s nedostatek pameti pro DCC SEND\n" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "%s nemohu přistupovat k souboru \"%s\"\n" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "%s nemůžu najíž adresu pro '%s'. Navracím se k lokální IP.\n" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "%s nemohu vytvořit soket pro DCC\n" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "%s nemůžu najít dostupný port pro DCC\n" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "%s neomhu poslat DCC\n" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "%s chyba posílání dat k \"%s\" přes DCC CHAT\n" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "Soukromý %s> %s" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, fuzzy, c-format msgid "%s DCC: unable to create pipe\n" msgstr "%s nemohu uložit sezení do souboru\n" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, fuzzy, c-format msgid "%s DCC: unable to read local file\n" msgstr "%s nemohu uložit sezení do souboru\n" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, fuzzy, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "%s nemohu vytvořit server\n" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, fuzzy, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "%s nemohu vytvořit server\n" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, fuzzy, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "%s nemohu vytvořit server\n" + +#: src/irc/irc-dcc.c:1622 #, fuzzy, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "%s nemohu vytvořit server\n" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, fuzzy, c-format msgid "%s DCC: unable to write local file\n" msgstr "%s nemohu uložit sezení do souboru\n" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, fuzzy, c-format msgid "%s DCC: unable to fork\n" msgstr "%s nemohu uložit sezení do souboru\n" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, fuzzy, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "%s nemohu uložit sezení do souboru\n" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, fuzzy, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "%s nemohu vytvořit server\n" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "Ruším aktivní DCC: \"%s\" od %s\n" diff --git a/po/de.po b/po/de.po index abc5c984e..363acee8c 100644 --- a/po/de.po +++ b/po/de.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" "PO-Revision-Date: 2006-07-30 19:09+0200\n" "Last-Translator: Thomas Schuetz \n" "Language-Team: \n" @@ -1988,38 +1988,38 @@ msgstr "fehlg." msgid "Aborted" msgstr "abgebr." -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "DCC: Datei %s%s%s" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr " (lokaler Dateiname: %s%s%s)" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr " gesendet an " -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr " empfangen von " -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "OK" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "FEHLGESCHLAGEN" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "DCC Chat mit %s%s %s(%s%d.%d.%d.%d%s) geschlossen \n" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " @@ -2028,17 +2028,17 @@ msgstr "" "%s kann keinen DCC Chat mit privatem Puffer assoziieren (ist er bereits ein " "DCC CHAT?)\n" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "DCC Chat mit %s%s %s(%s%d.%d.%d.%d%s)%s aufgebaut\n" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "DCC: Datei %s%s%s wird an Position %u fortgesetzt\n" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " @@ -2047,23 +2047,23 @@ msgstr "" "%s kann die Datei \"%s\" nicht fortsetzen (Port: %d, Startposition: %u): DCC " "nicht gefunden oder bereits fertig\n" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "%s nicht genug Speicher für neuen DCC\n" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "DCC Chat" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" msgstr "" "Eingehende DCC-Datei von %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s Bytes\n" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" @@ -2071,17 +2071,17 @@ msgstr "" "Sende DCC-Datei zu %s%s%s: %s%s%s (lokaler Dateiname: %s%s%s), %s%lu%s " "Bytes\n" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "Eingehende DCC-Chatanforderung von %s%s%s (%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "Sende DCC-Chatanforderung an %s%s\n" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" @@ -2089,98 +2089,103 @@ msgstr "" "DCC: Datei %s%s%s (lokaler Dateiname: %s%s%s) wird an der Position %u " "fortgesetzt\n" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "%s nicht genug Speicher für DCC SEND\n" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "%s kann nicht auf die Datei \"%s\" zugreifen\n" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "" "%s kann die Adresse für '%s' nicht finden. Greife auf lokale IP zurück.\n" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "%s kann keinen Socket für DCC anlegen\n" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "%s kann keinen freien Port für DCC ermitteln\n" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "%s kann keinen DCC senden\n" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "%s Fehler beim Senden von Daten an \"%s\" via DCC CHAT\n" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "Privat %s> %s" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, fuzzy, c-format msgid "%s DCC: unable to create pipe\n" msgstr "%s kann lokalen Hostname/lokale IP nicht festlegen\n" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, fuzzy, c-format msgid "%s DCC: unable to read local file\n" msgstr "%s kann lokalen Hostname/lokale IP nicht festlegen\n" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, fuzzy, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "%s kann den Server nicht anlegen\n" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, fuzzy, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "%s kann den Server nicht anlegen\n" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, fuzzy, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "%s kann den Server nicht anlegen\n" + +#: src/irc/irc-dcc.c:1622 #, fuzzy, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "%s kann den Server nicht anlegen\n" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, fuzzy, c-format msgid "%s DCC: unable to write local file\n" msgstr "%s kann lokalen Hostname/lokale IP nicht festlegen\n" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, fuzzy, c-format msgid "%s DCC: unable to fork\n" msgstr "%s kann lokalen Hostname/lokale IP nicht festlegen\n" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, fuzzy, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "%s kann lokalen Hostname/lokale IP nicht festlegen\n" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, fuzzy, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "%s kann den Server nicht anlegen\n" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "Aktiver DCC wird abgebrochen: \"%s\" von %s\n" diff --git a/po/es.po b/po/es.po index 7b876dc6e..33a3fb7ed 100644 --- a/po/es.po +++ b/po/es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Weechat 0.2.0-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" "PO-Revision-Date: 2006-07-25 20:00+0200\n" "Last-Translator: Roberto Gonzlez Cardenete \n" "Language-Team: weechat-dev \n" @@ -2001,38 +2001,38 @@ msgstr "Fall msgid "Aborted" msgstr "Abortado" -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "DCC: fichero %s%s%s" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr " (nombre de fichero local: %s%s%s)" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr " enviado a " -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr " recibido de " -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "OK" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "FALL" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "Charla DCC cerrada con %s%s %s(%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " @@ -2041,17 +2041,17 @@ msgstr "" "%s no se puede asociar la conversacin DCC con el bfer privado (quiz el " "bfer privado ya tiene DCC CHAT)\n" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "Conectado a %s%s %s(%s%d.%d.%d.%d%s)%s a travs de una charla DCC\n" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "DCC: archivo %s%s%s reanudado en la posicin %u\n" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " @@ -2060,16 +2060,16 @@ msgstr "" "%s no puede reanudar el archivo \"%s\" (puerto: %d, posicin de inicio: %u): " "DCC no encontrado o terminado\n" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "%s no hay memoria suficiente para un nuevo DCC\n" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "Charla DCC" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" @@ -2077,7 +2077,7 @@ msgstr "" "Archivo DCC entrante desde %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s " "bytes\n" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" @@ -2085,17 +2085,17 @@ msgstr "" "Enviando archivo DCC a %s%s%s: %s%s%s (nombre de archivo local: %s%s%s), %s%" "lu%s bytes\n" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "Peticin de charla DCC entrante desde %s%s%s (%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "Envo de peticin de charla DCC a %s%s\n" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" @@ -2103,97 +2103,102 @@ msgstr "" "DCC: el archivo %s%s%s (nombre de archivo local: %s%s%s) ser reanudado en " "la posicin %u\n" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "%s no hay memoria suficiente para el DCC SEND\n" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "%s no es posible acceder al fichero \"%s\"\n" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "%s no pudo encontrar la direccin para '%s'. Utilizando la IP local.\n" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "%s no es posible crear socket para el DCC\n" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "%s no puede encontrar un puerto disponible para el DCC\n" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "%s no es posible enviar el DCC\n" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "%s error enviando datos al \"%s\" con DCC CHAT\n" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "Privado %s> %s" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, fuzzy, c-format msgid "%s DCC: unable to create pipe\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, fuzzy, c-format msgid "%s DCC: unable to read local file\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, fuzzy, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, fuzzy, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, fuzzy, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "%s no es posible crear el servidor\n" + +#: src/irc/irc-dcc.c:1622 #, fuzzy, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, fuzzy, c-format msgid "%s DCC: unable to write local file\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, fuzzy, c-format msgid "%s DCC: unable to fork\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, fuzzy, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, fuzzy, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "Abandonar el DCC activo: \"%s\" de %s\n" diff --git a/po/fr.po b/po/fr.po index 47573c5a1..5152ca3cd 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.0-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" -"PO-Revision-Date: 2006-08-03 20:45+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" +"PO-Revision-Date: 2006-08-05 12:57+0200\n" "Last-Translator: FlashCode \n" "Language-Team: weechat-dev \n" "MIME-Version: 1.0\n" @@ -1998,38 +1998,38 @@ msgstr "Echou msgid "Aborted" msgstr "Interrompu" -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "DCC: fichier %s%s%s" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr " (nom local: %s%s%s)" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr " envoy " -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr " reu de " -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "OK" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "ECHOUE" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "Discussion DCC ferme avec %s%s %s(%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " @@ -2038,17 +2038,17 @@ msgstr "" "%s impossible d'associer la discussion DCC avec un tampon priv (le tampon " "priv a peut-tre dj un DCC CHAT ?)\n" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "Connect %s%s %s(%s%d.%d.%d.%d%s)%s via une discussion DCC\n" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "DCC: fichier %s%s%s recommenc en position %u\n" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " @@ -2057,139 +2057,144 @@ msgstr "" "%s impossible de continuer le fichier \"%s\" (port: %d, position de dpart: %" "u): DCC non trouv ou termin\n" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "%s pas assez de mmoire pour un nouveau DCC\n" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "Discussion DCC" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" msgstr "" "Rception fichier de %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s octets\n" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" msgstr "" "Envoi fichier DCC %s%s%s: %s%s%s (nom local: %s%s%s), %s%lu%s octets\n" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "Demande de discussion DCC reue de %s%s%s (%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "Envoi d'une demande discussion DCC %s%s\n" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" msgstr "" "DCC: fichier %s%s%s (nom local: %s%s%s) sera recommenc en position %u\n" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "%s pas assez de mmoire pour le DCC SEND\n" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "%s impossible d'accder au fichier \"%s\"\n" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "" "%s impossible de trouver l'adresse pour '%s'. Utilisation de l'adresse IP " "locale.\n" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "%s impossible de crer la socket pour le DCC\n" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "%s impossible de trouver un port disponible pour le DCC\n" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "%s impossible d'envoyer le DCC\n" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "%s erreur d'envoi de donnes \"%s\" via DCC CHAT\n" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "Priv %s> %s" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, c-format msgid "%s DCC: unable to create pipe\n" msgstr "%s DCC: impossible de crer le tuyau\n" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, c-format msgid "%s DCC: unable to read local file\n" msgstr "%s DCC: impossible de lire le fichier local\n" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "%s DCC: impossible d'envoyer un bloc au receveur\n" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "%s DCC: impossible de lire l'accus de rception du receveur\n" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "%s DCC: impossible de se connecter l'envoyeur\n" + +#: src/irc/irc-dcc.c:1622 #, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "%s DCC: impossible de recevoir un bloc de l'envoyeur\n" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, c-format msgid "%s DCC: unable to write local file\n" msgstr "%s DCC: impossible d'crire dans le fichier local\n" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, c-format msgid "%s DCC: unable to fork\n" msgstr "%s DCC: impossible de crer un processus\n" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "%s DCC: temps dpass\n" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "%s DCC: impossible de crer la socket locale pour envoyer le fichier\n" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "%s DCC: impossible d'activer l'option 'nonblock' sur la socket\n" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "Abandon du DCC actif: \"%s\" de %s\n" diff --git a/po/hu.po b/po/hu.po index be395556b..241c0fce1 100644 --- a/po/hu.po +++ b/po/hu.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.0-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" "PO-Revision-Date: 2006-07-25 20:00+0200\n" "Last-Translator: Andras Voroskoi \n" "Language-Team: weechat-dev \n" @@ -2005,190 +2005,195 @@ msgstr "Sikertelen" msgid "Aborted" msgstr "Megszakítva" -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "DCC: fájl %s%s%s" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr " (helyi fájlnév: %s%s%s)" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr " fogadó fél: " -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr " küldő fél: " -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "Rendben" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "SIKERTELEN" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "DCC beszélgetés vége: %s%s %s(%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " "already DCC CHAT?)\n" msgstr "" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " "ended\n" msgstr "" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "%s nincs elegendő memória új DCC számára\n" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "DCC csevegés" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" msgstr "" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" msgstr "" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" msgstr "" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "%s nincs elég memória a DCC SEND parancshoz\n" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "" "%s nem sikerült a(z) '%s' címét meghatározni. Helyi IP-cím használata.\n" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "%s nem sikerült elérhető portot találni a DCC-hez\n" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "%s DCC küldése sikertelen\n" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "%s hiba a(z) \"%s\" felé DCC CHAT-tel történő adatküldés közben\n" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "Privát %s> %s" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, fuzzy, c-format msgid "%s DCC: unable to create pipe\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, fuzzy, c-format msgid "%s DCC: unable to read local file\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, fuzzy, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, fuzzy, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, fuzzy, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "%s nem sikerült a szervert létrehozni\n" + +#: src/irc/irc-dcc.c:1622 #, fuzzy, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, fuzzy, c-format msgid "%s DCC: unable to write local file\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, fuzzy, c-format msgid "%s DCC: unable to fork\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, fuzzy, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, fuzzy, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "" diff --git a/po/ru.po b/po/ru.po index 8b9fac548..1646a6599 100644 --- a/po/ru.po +++ b/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.0-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" "PO-Revision-Date: 2006-07-25 20:00+0200\n" "Last-Translator: Stalwart \n" "Language-Team: weechat-dev \n" @@ -1979,38 +1979,38 @@ msgstr "Неудача" msgid "Aborted" msgstr "Отменено" -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "DCC: файл %s%s%s" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr " (локальное имя файла: %s%s%s)" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr " послан" -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr " получен от " -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "OK" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "НЕУДАЧА" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "DCC-чат закончен с %s%s %s(%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " @@ -2019,17 +2019,17 @@ msgstr "" "%s не могу ассоциировать DCC-чат с буфером (возможно буфер уже имеет DCC-" "чат)\n" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "Соединён с %s%s %s(%s%d.%d.%d.%d%s)%s DCC-чатом\n" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "DCC: файл %s%s%s продолжается с позиции %u\n" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " @@ -2038,135 +2038,140 @@ msgstr "" "%s не могу продолжить файл \"%s\" (порт: %d, начальная позиция: %u): DCC не " "найден или завершён\n" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "%s недостаточно памяти для нового DCC\n" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "DCC чат" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" msgstr "Входящий файл от %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s байт\n" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" msgstr "Отсылаю файл %s%s%s: %s%s%s (файл: %s%s%s), %s%lu%s байт\n" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "Входящий запрос на DCC-чат от %s%s%s (%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "Отсылаю запрос на DCC-чат %s%s\n" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" msgstr "" "DCC: файл %s%s%s (локальное имя файла: %s%s%s) будет продолжен с позиции %u\n" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "%s недостаточно памяти для отсылки файла\n" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "%s нет доступа к файлу \"%s\"\n" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "%s не могу найти адрес для '%s'. Откатываюсь на локальный IP.\n" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "%s не могу создать сокет для DCC\n" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "%s не могу найти свободный порт для DCC\n" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "%s не могу установить DCC-соединение\n" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "%s ошибка при отсылке данных \"%s\" через DCC-чат\n" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "Личное %s> %s" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, fuzzy, c-format msgid "%s DCC: unable to create pipe\n" msgstr "%s не могу установить локальный хост/IP\n" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, fuzzy, c-format msgid "%s DCC: unable to read local file\n" msgstr "%s не могу установить локальный хост/IP\n" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, fuzzy, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "%s не могу создать сервер\n" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, fuzzy, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "%s не могу создать сервер\n" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, fuzzy, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "%s не могу создать сервер\n" + +#: src/irc/irc-dcc.c:1622 #, fuzzy, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "%s не могу создать сервер\n" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, fuzzy, c-format msgid "%s DCC: unable to write local file\n" msgstr "%s не могу установить локальный хост/IP\n" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, fuzzy, c-format msgid "%s DCC: unable to fork\n" msgstr "%s не могу установить локальный хост/IP\n" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, fuzzy, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "%s не могу установить локальный хост/IP\n" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, fuzzy, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "%s не могу создать сервер\n" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "Отменяю активное DCC-сединение: \"%s\" от %s\n" diff --git a/po/weechat.pot b/po/weechat.pot index 819901d77..55bad297f 100644 --- a/po/weechat.pot +++ b/po/weechat.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1874,189 +1874,194 @@ msgstr "" msgid "Aborted" msgstr "" -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr "" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr "" -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr "" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " "already DCC CHAT?)\n" msgstr "" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " "ended\n" msgstr "" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" msgstr "" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" msgstr "" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" msgstr "" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, c-format msgid "%s DCC: unable to create pipe\n" msgstr "" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, c-format msgid "%s DCC: unable to read local file\n" msgstr "" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "" + +#: src/irc/irc-dcc.c:1622 #, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, c-format msgid "%s DCC: unable to write local file\n" msgstr "" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, c-format msgid "%s DCC: unable to fork\n" msgstr "" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "" diff --git a/src/irc/irc-dcc.c b/src/irc/irc-dcc.c index 84c9dabc0..985c7160e 100644 --- a/src/irc/irc-dcc.c +++ b/src/irc/irc-dcc.c @@ -272,6 +272,49 @@ dcc_calculate_speed (t_irc_dcc *ptr_dcc, int ended) } } +/* + * dcc_connect_to_sender: connect to sender + */ + +int +dcc_connect_to_sender (t_irc_dcc *ptr_dcc) +{ + struct sockaddr_in addr; + struct hostent *hostent; + char *ip4; + int ret; + + if (cfg_proxy_use) + { + memset (&addr, 0, sizeof (addr)); + addr.sin_addr.s_addr = htonl (ptr_dcc->addr); + ip4 = inet_ntoa(addr.sin_addr); + + memset (&addr, 0, sizeof (addr)); + addr.sin_port = htons (cfg_proxy_port); + addr.sin_family = AF_INET; + if ((hostent = gethostbyname (cfg_proxy_address)) == NULL) + return 0; + memcpy(&(addr.sin_addr),*(hostent->h_addr_list), sizeof(struct in_addr)); + ret = connect (ptr_dcc->sock, (struct sockaddr *) &addr, sizeof (addr)); + if ((ret == -1) && (errno != EINPROGRESS)) + return 0; + if (pass_proxy (ptr_dcc->sock, ip4, ptr_dcc->port, ptr_dcc->server->username) == -1) + return 0; + } + else + { + memset (&addr, 0, sizeof (addr)); + addr.sin_port = htons (ptr_dcc->port); + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = htonl (ptr_dcc->addr); + ret = connect (ptr_dcc->sock, (struct sockaddr *) &addr, sizeof (addr)); + if ((ret == -1) && (errno != EINPROGRESS)) + return 0; + } + return 1; +} + /* * dcc_connect: connect to another host */ @@ -279,10 +322,6 @@ dcc_calculate_speed (t_irc_dcc *ptr_dcc, int ended) int dcc_connect (t_irc_dcc *ptr_dcc) { - struct sockaddr_in addr; - struct hostent *hostent; - char *ip4; - if (ptr_dcc->type == DCC_CHAT_SEND) ptr_dcc->status = DCC_WAITING; else @@ -295,47 +334,26 @@ dcc_connect (t_irc_dcc *ptr_dcc) return 0; } - /* for sending (chat or file), listen to socket for a connection */ + /* for chat or file sending, listen to socket for a connection */ if (DCC_IS_SEND(ptr_dcc->type)) - { + { if (fcntl (ptr_dcc->sock, F_SETFL, O_NONBLOCK) == -1) - return 0; + return 0; if (listen (ptr_dcc->sock, 1) == -1) return 0; if (fcntl (ptr_dcc->sock, F_SETFL, 0) == -1) return 0; } - /* for receiving (chat or file), connect to listening host */ - if (DCC_IS_RECV(ptr_dcc->type)) + /* for chat receiving, connect to listening host */ + if (ptr_dcc->type == DCC_CHAT_RECV) { if (fcntl (ptr_dcc->sock, F_SETFL, O_NONBLOCK) == -1) - return 0; - if (cfg_proxy_use) - { - memset (&addr, 0, sizeof (addr)); - addr.sin_addr.s_addr = htonl (ptr_dcc->addr); - ip4 = inet_ntoa(addr.sin_addr); - - memset (&addr, 0, sizeof (addr)); - addr.sin_port = htons (cfg_proxy_port); - addr.sin_family = AF_INET; - if ((hostent = gethostbyname (cfg_proxy_address)) == NULL) - return 0; - memcpy(&(addr.sin_addr),*(hostent->h_addr_list), sizeof(struct in_addr)); - connect (ptr_dcc->sock, (struct sockaddr *) &addr, sizeof (addr)); - if (pass_proxy(ptr_dcc->sock, ip4, ptr_dcc->port, ptr_dcc->server->username) == -1) - return 0; - } - else - { - memset (&addr, 0, sizeof (addr)); - addr.sin_port = htons (ptr_dcc->port); - addr.sin_family = AF_INET; - addr.sin_addr.s_addr = htonl (ptr_dcc->addr); - connect (ptr_dcc->sock, (struct sockaddr *) &addr, sizeof (addr)); - } + return 0; + dcc_connect_to_sender (ptr_dcc); } + + /* for file receiving, connection is made in child process (blocking) socket */ return 1; } @@ -580,18 +598,16 @@ dcc_recv_connect_init (t_irc_dcc *ptr_dcc) } else { - ptr_dcc->status = DCC_ACTIVE; - - /* DCC file => look for local filename and open it in writing mode */ + /* DCC file => launch child process */ if (DCC_IS_FILE(ptr_dcc->type)) { - ptr_dcc->start_transfer = time (NULL); - ptr_dcc->last_check_time = time (NULL); + ptr_dcc->status = DCC_CONNECTING; dcc_file_recv_fork (ptr_dcc); } else { /* DCC CHAT => associate DCC with channel */ + ptr_dcc->status = DCC_ACTIVE; dcc_channel_for_chat (ptr_dcc); } } @@ -1215,11 +1231,26 @@ dcc_chat_sendf (t_irc_dcc *ptr_dcc, char *fmt, ...) void dcc_chat_recv (t_irc_dcc *ptr_dcc) { + fd_set read_fd; + static struct timeval timeout; static char buffer[4096 + 2]; char *buf2, *pos, *ptr_buf, *ptr_buf2, *next_ptr_buf; char *ptr_buf_color; int num_read; + + FD_ZERO (&read_fd); + FD_SET (ptr_dcc->sock, &read_fd); + timeout.tv_sec = 0; + timeout.tv_usec = 0; + + /* something to read on socket? */ + if (select (FD_SETSIZE, &read_fd, NULL, NULL, &timeout) <= 0) + return; + if (!FD_ISSET (ptr_dcc->sock, &read_fd)) + return; + + /* there's something to read on socket! */ num_read = recv (ptr_dcc->sock, buffer, sizeof (buffer) - 2, 0); if (num_read > 0) { @@ -1454,7 +1485,17 @@ dcc_file_recv_child (t_irc_dcc *ptr_dcc) static char buffer[DCC_MAX_BLOCKSIZE]; uint32_t pos; time_t last_sent, new_time; + + /* first connect to sender (blocking) */ + if (!dcc_connect_to_sender (ptr_dcc)) + { + dcc_file_write_pipe (ptr_dcc, DCC_FAILED, DCC_ERROR_CONNECT_SENDER); + return; + } + /* connection is ok, change DCC status (inform parent process) */ + dcc_file_write_pipe (ptr_dcc, DCC_ACTIVE, DCC_NO_ERROR); + last_sent = time (NULL); while (1) { @@ -1514,10 +1555,25 @@ dcc_file_recv_child (t_irc_dcc *ptr_dcc) void dcc_file_child_read (t_irc_dcc *ptr_dcc) { + fd_set read_fd; + static struct timeval timeout; char bufpipe[1 + 1 + 12 + 1]; int num_read; char *error; + FD_ZERO (&read_fd); + FD_SET (ptr_dcc->child_read, &read_fd); + timeout.tv_sec = 0; + timeout.tv_usec = 0; + + /* something to read on child pipe? */ + if (select (FD_SETSIZE, &read_fd, NULL, NULL, &timeout) <= 0) + return; + + if (!FD_ISSET (ptr_dcc->child_read, &read_fd)) + return; + + /* there's something to read in pipe! */ num_read = read (ptr_dcc->child_read, bufpipe, sizeof (bufpipe)); if (num_read > 0) { @@ -1529,6 +1585,7 @@ dcc_file_child_read (t_irc_dcc *ptr_dcc) /* read error code */ switch (bufpipe[1] - '0') { + /* errors for sender */ case DCC_ERROR_READ_LOCAL: irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer, PREFIX_ERROR); @@ -1550,6 +1607,14 @@ dcc_file_child_read (t_irc_dcc *ptr_dcc) _("%s DCC: unable to read ACK from receiver\n"), WEECHAT_ERROR); break; + /* errors for receiver */ + case DCC_ERROR_CONNECT_SENDER: + irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer, + PREFIX_ERROR); + gui_printf (ptr_dcc->server->buffer, + _("%s DCC: unable to connect to sender\n"), + WEECHAT_ERROR); + break; case DCC_ERROR_RECV_BLOCK: irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer, PREFIX_ERROR); @@ -1570,7 +1635,16 @@ dcc_file_child_read (t_irc_dcc *ptr_dcc) switch (bufpipe[0] - '0') { case DCC_ACTIVE: - dcc_redraw (HOTLIST_LOW); + if (ptr_dcc->status == DCC_CONNECTING) + { + /* connection was successful by child, init transfert times */ + ptr_dcc->status = DCC_ACTIVE; + ptr_dcc->start_transfer = time (NULL); + ptr_dcc->last_check_time = time (NULL); + dcc_redraw (HOTLIST_MSG); + } + else + dcc_redraw (HOTLIST_LOW); break; case DCC_DONE: dcc_close (ptr_dcc, DCC_DONE); @@ -1746,6 +1820,10 @@ dcc_handle () } } } + if (ptr_dcc->type == DCC_FILE_RECV) + { + dcc_file_child_read (ptr_dcc); + } } if (ptr_dcc->status == DCC_WAITING) @@ -1791,33 +1869,9 @@ dcc_handle () if (ptr_dcc->status == DCC_ACTIVE) { if (DCC_IS_CHAT(ptr_dcc->type)) - { - FD_ZERO (&read_fd); - FD_SET (ptr_dcc->sock, &read_fd); - timeout.tv_sec = 0; - timeout.tv_usec = 0; - - /* something to read on socket? */ - if (select (FD_SETSIZE, &read_fd, NULL, NULL, &timeout) > 0) - { - if (FD_ISSET (ptr_dcc->sock, &read_fd)) - dcc_chat_recv (ptr_dcc); - } - } + dcc_chat_recv (ptr_dcc); else - { - FD_ZERO (&read_fd); - FD_SET (ptr_dcc->child_read, &read_fd); - timeout.tv_sec = 0; - timeout.tv_usec = 0; - - /* something to read on child pipe? */ - if (select (FD_SETSIZE, &read_fd, NULL, NULL, &timeout) > 0) - { - if (FD_ISSET (ptr_dcc->child_read, &read_fd)) - dcc_file_child_read (ptr_dcc); - } - } + dcc_file_child_read (ptr_dcc); } } } diff --git a/src/irc/irc.h b/src/irc/irc.h index 25fb35559..1f20902f3 100644 --- a/src/irc/irc.h +++ b/src/irc/irc.h @@ -236,33 +236,34 @@ struct t_irc_message /* DCC types */ -#define DCC_CHAT_RECV 0 /* receiving DCC chat */ -#define DCC_CHAT_SEND 1 /* sending DCC chat */ -#define DCC_FILE_RECV 2 /* incoming DCC file */ -#define DCC_FILE_SEND 3 /* sending DCC file */ +#define DCC_CHAT_RECV 0 /* receiving DCC chat */ +#define DCC_CHAT_SEND 1 /* sending DCC chat */ +#define DCC_FILE_RECV 2 /* incoming DCC file */ +#define DCC_FILE_SEND 3 /* sending DCC file */ /* DCC status */ -#define DCC_WAITING 0 /* waiting for host answer */ -#define DCC_CONNECTING 1 /* connecting to host */ -#define DCC_ACTIVE 2 /* sending/receiving data */ -#define DCC_DONE 3 /* transfer done */ -#define DCC_FAILED 4 /* DCC failed */ -#define DCC_ABORTED 5 /* DCC aborted by user */ +#define DCC_WAITING 0 /* waiting for host answer */ +#define DCC_CONNECTING 1 /* connecting to host */ +#define DCC_ACTIVE 2 /* sending/receiving data */ +#define DCC_DONE 3 /* transfer done */ +#define DCC_FAILED 4 /* DCC failed */ +#define DCC_ABORTED 5 /* DCC aborted by user */ /* DCC blocksize (for file) */ -#define DCC_MIN_BLOCKSIZE 1024 /* min DCC block size when sending file */ -#define DCC_MAX_BLOCKSIZE 102400 /* max DCC block size when sending file */ +#define DCC_MIN_BLOCKSIZE 1024 /* min DCC block size when sending file */ +#define DCC_MAX_BLOCKSIZE 102400 /* max DCC block size when sending file */ /* DCC errors (for file) */ -#define DCC_NO_ERROR 0 /* used when no error to report, all ok! */ -#define DCC_ERROR_READ_LOCAL 1 /* unable to read local file */ -#define DCC_ERROR_SEND_BLOCK 2 /* unable to send block to receiver */ -#define DCC_ERROR_READ_ACK 3 /* unable to read ACK from receiver */ -#define DCC_ERROR_RECV_BLOCK 4 /* unable to receive block from sender */ -#define DCC_ERROR_WRITE_LOCAL 5 /* unable to write to local file */ +#define DCC_NO_ERROR 0 /* used when no error to report, all ok! */ +#define DCC_ERROR_READ_LOCAL 1 /* unable to read local file */ +#define DCC_ERROR_SEND_BLOCK 2 /* unable to send block to receiver */ +#define DCC_ERROR_READ_ACK 3 /* unable to read ACK from receiver */ +#define DCC_ERROR_CONNECT_SENDER 4 /* unable to connect to sender */ +#define DCC_ERROR_RECV_BLOCK 5 /* unable to receive block from sender */ +#define DCC_ERROR_WRITE_LOCAL 6 /* unable to write to local file */ /* DCC macros for type */ diff --git a/weechat/ChangeLog b/weechat/ChangeLog index 409ab80fb..e73ffe458 100644 --- a/weechat/ChangeLog +++ b/weechat/ChangeLog @@ -1,9 +1,10 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2006-08-03 +ChangeLog - 2006-08-05 Version 0.2.0 (under dev!): + * fixed DCC file connection problem (connection from receiver to sender) * improved DCC speed (up to x5 on LAN) by forking for DCC files and a new option "dcc_fast_send" (does not wait for ACK) (task #5758) * fixed crash when purging DCC with high number of DCC (> window size) diff --git a/weechat/po/cs.po b/weechat/po/cs.po index fddaac719..30f5764cb 100644 --- a/weechat/po/cs.po +++ b/weechat/po/cs.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.0-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" "PO-Revision-Date: 2006-07-25 20:00+0200\n" "Last-Translator: Jiri Golembiovsky \n" "Language-Team: weechat-dev \n" @@ -1986,38 +1986,38 @@ msgstr "Selhal" msgid "Aborted" msgstr "Zrušeno" -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "DCC: soubor %s%s%s" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr " (lokální jmého souboru: %s%s%s)" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr " poslán " -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr " obdržen od " -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "OK" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "SELHALO" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "DCC rozhovor zavřen s %s%s %s(%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " @@ -2026,17 +2026,17 @@ msgstr "" "%s nemohu přiřadit DCC rozhovor k soukromému bufferu (možná má " "soukromýbuffer již DCC CHAT?)\n" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "Připojeno na %s%s %s(%s%d.%d.%d.%d.%s)%s přes DCC rozhovor\n" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "DCC: soubor %s%s%s bude obnoven na pozici %u\n" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " @@ -2045,23 +2045,23 @@ msgstr "" "%s nemohu obnovit soubor \"%s\" (port: %d, počáteční pozice: %u): DCC " "nenalezeno nebo ukončeno\n" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "%s nedostatek paměti pro nové DCC\n" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "DCC rozhovor" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" msgstr "" "Příchozí DCC soubor od %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytů\n" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" @@ -2069,17 +2069,17 @@ msgstr "" "Posílám DCC soubor k %s%s%s: %s%s%s (lokální jméno souboru: %s%s%s), %s%lu%s " "bytů\n" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "Příchozí požadavek DCC rozhovoru od %s%s%s (%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "Posílám požadavek DCC rozhovoru na %s%s\n" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" @@ -2087,97 +2087,102 @@ msgstr "" "DCC: soubor %s%s%s (lokální jméno souboru: %s%s%s) bude obnoven na pozici %" "u\n" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "%s nedostatek pameti pro DCC SEND\n" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "%s nemohu přistupovat k souboru \"%s\"\n" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "%s nemůžu najíž adresu pro '%s'. Navracím se k lokální IP.\n" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "%s nemohu vytvořit soket pro DCC\n" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "%s nemůžu najít dostupný port pro DCC\n" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "%s neomhu poslat DCC\n" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "%s chyba posílání dat k \"%s\" přes DCC CHAT\n" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "Soukromý %s> %s" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, fuzzy, c-format msgid "%s DCC: unable to create pipe\n" msgstr "%s nemohu uložit sezení do souboru\n" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, fuzzy, c-format msgid "%s DCC: unable to read local file\n" msgstr "%s nemohu uložit sezení do souboru\n" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, fuzzy, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "%s nemohu vytvořit server\n" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, fuzzy, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "%s nemohu vytvořit server\n" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, fuzzy, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "%s nemohu vytvořit server\n" + +#: src/irc/irc-dcc.c:1622 #, fuzzy, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "%s nemohu vytvořit server\n" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, fuzzy, c-format msgid "%s DCC: unable to write local file\n" msgstr "%s nemohu uložit sezení do souboru\n" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, fuzzy, c-format msgid "%s DCC: unable to fork\n" msgstr "%s nemohu uložit sezení do souboru\n" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, fuzzy, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "%s nemohu uložit sezení do souboru\n" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, fuzzy, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "%s nemohu vytvořit server\n" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "Ruším aktivní DCC: \"%s\" od %s\n" diff --git a/weechat/po/de.po b/weechat/po/de.po index abc5c984e..363acee8c 100644 --- a/weechat/po/de.po +++ b/weechat/po/de.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" "PO-Revision-Date: 2006-07-30 19:09+0200\n" "Last-Translator: Thomas Schuetz \n" "Language-Team: \n" @@ -1988,38 +1988,38 @@ msgstr "fehlg." msgid "Aborted" msgstr "abgebr." -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "DCC: Datei %s%s%s" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr " (lokaler Dateiname: %s%s%s)" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr " gesendet an " -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr " empfangen von " -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "OK" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "FEHLGESCHLAGEN" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "DCC Chat mit %s%s %s(%s%d.%d.%d.%d%s) geschlossen \n" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " @@ -2028,17 +2028,17 @@ msgstr "" "%s kann keinen DCC Chat mit privatem Puffer assoziieren (ist er bereits ein " "DCC CHAT?)\n" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "DCC Chat mit %s%s %s(%s%d.%d.%d.%d%s)%s aufgebaut\n" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "DCC: Datei %s%s%s wird an Position %u fortgesetzt\n" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " @@ -2047,23 +2047,23 @@ msgstr "" "%s kann die Datei \"%s\" nicht fortsetzen (Port: %d, Startposition: %u): DCC " "nicht gefunden oder bereits fertig\n" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "%s nicht genug Speicher für neuen DCC\n" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "DCC Chat" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" msgstr "" "Eingehende DCC-Datei von %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s Bytes\n" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" @@ -2071,17 +2071,17 @@ msgstr "" "Sende DCC-Datei zu %s%s%s: %s%s%s (lokaler Dateiname: %s%s%s), %s%lu%s " "Bytes\n" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "Eingehende DCC-Chatanforderung von %s%s%s (%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "Sende DCC-Chatanforderung an %s%s\n" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" @@ -2089,98 +2089,103 @@ msgstr "" "DCC: Datei %s%s%s (lokaler Dateiname: %s%s%s) wird an der Position %u " "fortgesetzt\n" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "%s nicht genug Speicher für DCC SEND\n" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "%s kann nicht auf die Datei \"%s\" zugreifen\n" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "" "%s kann die Adresse für '%s' nicht finden. Greife auf lokale IP zurück.\n" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "%s kann keinen Socket für DCC anlegen\n" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "%s kann keinen freien Port für DCC ermitteln\n" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "%s kann keinen DCC senden\n" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "%s Fehler beim Senden von Daten an \"%s\" via DCC CHAT\n" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "Privat %s> %s" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, fuzzy, c-format msgid "%s DCC: unable to create pipe\n" msgstr "%s kann lokalen Hostname/lokale IP nicht festlegen\n" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, fuzzy, c-format msgid "%s DCC: unable to read local file\n" msgstr "%s kann lokalen Hostname/lokale IP nicht festlegen\n" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, fuzzy, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "%s kann den Server nicht anlegen\n" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, fuzzy, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "%s kann den Server nicht anlegen\n" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, fuzzy, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "%s kann den Server nicht anlegen\n" + +#: src/irc/irc-dcc.c:1622 #, fuzzy, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "%s kann den Server nicht anlegen\n" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, fuzzy, c-format msgid "%s DCC: unable to write local file\n" msgstr "%s kann lokalen Hostname/lokale IP nicht festlegen\n" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, fuzzy, c-format msgid "%s DCC: unable to fork\n" msgstr "%s kann lokalen Hostname/lokale IP nicht festlegen\n" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, fuzzy, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "%s kann lokalen Hostname/lokale IP nicht festlegen\n" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, fuzzy, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "%s kann den Server nicht anlegen\n" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "Aktiver DCC wird abgebrochen: \"%s\" von %s\n" diff --git a/weechat/po/es.po b/weechat/po/es.po index 7b876dc6e..33a3fb7ed 100644 --- a/weechat/po/es.po +++ b/weechat/po/es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Weechat 0.2.0-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" "PO-Revision-Date: 2006-07-25 20:00+0200\n" "Last-Translator: Roberto Gonzlez Cardenete \n" "Language-Team: weechat-dev \n" @@ -2001,38 +2001,38 @@ msgstr "Fall msgid "Aborted" msgstr "Abortado" -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "DCC: fichero %s%s%s" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr " (nombre de fichero local: %s%s%s)" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr " enviado a " -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr " recibido de " -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "OK" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "FALL" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "Charla DCC cerrada con %s%s %s(%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " @@ -2041,17 +2041,17 @@ msgstr "" "%s no se puede asociar la conversacin DCC con el bfer privado (quiz el " "bfer privado ya tiene DCC CHAT)\n" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "Conectado a %s%s %s(%s%d.%d.%d.%d%s)%s a travs de una charla DCC\n" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "DCC: archivo %s%s%s reanudado en la posicin %u\n" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " @@ -2060,16 +2060,16 @@ msgstr "" "%s no puede reanudar el archivo \"%s\" (puerto: %d, posicin de inicio: %u): " "DCC no encontrado o terminado\n" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "%s no hay memoria suficiente para un nuevo DCC\n" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "Charla DCC" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" @@ -2077,7 +2077,7 @@ msgstr "" "Archivo DCC entrante desde %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s " "bytes\n" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" @@ -2085,17 +2085,17 @@ msgstr "" "Enviando archivo DCC a %s%s%s: %s%s%s (nombre de archivo local: %s%s%s), %s%" "lu%s bytes\n" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "Peticin de charla DCC entrante desde %s%s%s (%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "Envo de peticin de charla DCC a %s%s\n" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" @@ -2103,97 +2103,102 @@ msgstr "" "DCC: el archivo %s%s%s (nombre de archivo local: %s%s%s) ser reanudado en " "la posicin %u\n" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "%s no hay memoria suficiente para el DCC SEND\n" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "%s no es posible acceder al fichero \"%s\"\n" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "%s no pudo encontrar la direccin para '%s'. Utilizando la IP local.\n" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "%s no es posible crear socket para el DCC\n" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "%s no puede encontrar un puerto disponible para el DCC\n" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "%s no es posible enviar el DCC\n" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "%s error enviando datos al \"%s\" con DCC CHAT\n" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "Privado %s> %s" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, fuzzy, c-format msgid "%s DCC: unable to create pipe\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, fuzzy, c-format msgid "%s DCC: unable to read local file\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, fuzzy, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, fuzzy, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, fuzzy, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "%s no es posible crear el servidor\n" + +#: src/irc/irc-dcc.c:1622 #, fuzzy, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, fuzzy, c-format msgid "%s DCC: unable to write local file\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, fuzzy, c-format msgid "%s DCC: unable to fork\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, fuzzy, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, fuzzy, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "%s no es posible crear el servidor\n" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "Abandonar el DCC activo: \"%s\" de %s\n" diff --git a/weechat/po/fr.po b/weechat/po/fr.po index 47573c5a1..5152ca3cd 100644 --- a/weechat/po/fr.po +++ b/weechat/po/fr.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.0-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" -"PO-Revision-Date: 2006-08-03 20:45+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" +"PO-Revision-Date: 2006-08-05 12:57+0200\n" "Last-Translator: FlashCode \n" "Language-Team: weechat-dev \n" "MIME-Version: 1.0\n" @@ -1998,38 +1998,38 @@ msgstr "Echou msgid "Aborted" msgstr "Interrompu" -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "DCC: fichier %s%s%s" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr " (nom local: %s%s%s)" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr " envoy " -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr " reu de " -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "OK" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "ECHOUE" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "Discussion DCC ferme avec %s%s %s(%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " @@ -2038,17 +2038,17 @@ msgstr "" "%s impossible d'associer la discussion DCC avec un tampon priv (le tampon " "priv a peut-tre dj un DCC CHAT ?)\n" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "Connect %s%s %s(%s%d.%d.%d.%d%s)%s via une discussion DCC\n" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "DCC: fichier %s%s%s recommenc en position %u\n" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " @@ -2057,139 +2057,144 @@ msgstr "" "%s impossible de continuer le fichier \"%s\" (port: %d, position de dpart: %" "u): DCC non trouv ou termin\n" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "%s pas assez de mmoire pour un nouveau DCC\n" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "Discussion DCC" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" msgstr "" "Rception fichier de %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s octets\n" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" msgstr "" "Envoi fichier DCC %s%s%s: %s%s%s (nom local: %s%s%s), %s%lu%s octets\n" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "Demande de discussion DCC reue de %s%s%s (%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "Envoi d'une demande discussion DCC %s%s\n" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" msgstr "" "DCC: fichier %s%s%s (nom local: %s%s%s) sera recommenc en position %u\n" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "%s pas assez de mmoire pour le DCC SEND\n" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "%s impossible d'accder au fichier \"%s\"\n" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "" "%s impossible de trouver l'adresse pour '%s'. Utilisation de l'adresse IP " "locale.\n" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "%s impossible de crer la socket pour le DCC\n" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "%s impossible de trouver un port disponible pour le DCC\n" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "%s impossible d'envoyer le DCC\n" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "%s erreur d'envoi de donnes \"%s\" via DCC CHAT\n" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "Priv %s> %s" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, c-format msgid "%s DCC: unable to create pipe\n" msgstr "%s DCC: impossible de crer le tuyau\n" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, c-format msgid "%s DCC: unable to read local file\n" msgstr "%s DCC: impossible de lire le fichier local\n" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "%s DCC: impossible d'envoyer un bloc au receveur\n" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "%s DCC: impossible de lire l'accus de rception du receveur\n" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "%s DCC: impossible de se connecter l'envoyeur\n" + +#: src/irc/irc-dcc.c:1622 #, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "%s DCC: impossible de recevoir un bloc de l'envoyeur\n" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, c-format msgid "%s DCC: unable to write local file\n" msgstr "%s DCC: impossible d'crire dans le fichier local\n" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, c-format msgid "%s DCC: unable to fork\n" msgstr "%s DCC: impossible de crer un processus\n" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "%s DCC: temps dpass\n" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "%s DCC: impossible de crer la socket locale pour envoyer le fichier\n" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "%s DCC: impossible d'activer l'option 'nonblock' sur la socket\n" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "Abandon du DCC actif: \"%s\" de %s\n" diff --git a/weechat/po/hu.po b/weechat/po/hu.po index be395556b..241c0fce1 100644 --- a/weechat/po/hu.po +++ b/weechat/po/hu.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.0-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" "PO-Revision-Date: 2006-07-25 20:00+0200\n" "Last-Translator: Andras Voroskoi \n" "Language-Team: weechat-dev \n" @@ -2005,190 +2005,195 @@ msgstr "Sikertelen" msgid "Aborted" msgstr "Megszakítva" -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "DCC: fájl %s%s%s" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr " (helyi fájlnév: %s%s%s)" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr " fogadó fél: " -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr " küldő fél: " -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "Rendben" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "SIKERTELEN" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "DCC beszélgetés vége: %s%s %s(%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " "already DCC CHAT?)\n" msgstr "" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " "ended\n" msgstr "" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "%s nincs elegendő memória új DCC számára\n" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "DCC csevegés" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" msgstr "" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" msgstr "" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" msgstr "" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "%s nincs elég memória a DCC SEND parancshoz\n" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "" "%s nem sikerült a(z) '%s' címét meghatározni. Helyi IP-cím használata.\n" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "%s nem sikerült elérhető portot találni a DCC-hez\n" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "%s DCC küldése sikertelen\n" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "%s hiba a(z) \"%s\" felé DCC CHAT-tel történő adatküldés közben\n" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "Privát %s> %s" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, fuzzy, c-format msgid "%s DCC: unable to create pipe\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, fuzzy, c-format msgid "%s DCC: unable to read local file\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, fuzzy, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, fuzzy, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, fuzzy, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "%s nem sikerült a szervert létrehozni\n" + +#: src/irc/irc-dcc.c:1622 #, fuzzy, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, fuzzy, c-format msgid "%s DCC: unable to write local file\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, fuzzy, c-format msgid "%s DCC: unable to fork\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, fuzzy, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, fuzzy, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "%s nem sikerült a szervert létrehozni\n" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "" diff --git a/weechat/po/ru.po b/weechat/po/ru.po index 8b9fac548..1646a6599 100644 --- a/weechat/po/ru.po +++ b/weechat/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat 0.2.0-cvs\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" "PO-Revision-Date: 2006-07-25 20:00+0200\n" "Last-Translator: Stalwart \n" "Language-Team: weechat-dev \n" @@ -1979,38 +1979,38 @@ msgstr "Неудача" msgid "Aborted" msgstr "Отменено" -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "DCC: файл %s%s%s" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr " (локальное имя файла: %s%s%s)" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr " послан" -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr " получен от " -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "OK" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "НЕУДАЧА" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "DCC-чат закончен с %s%s %s(%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " @@ -2019,17 +2019,17 @@ msgstr "" "%s не могу ассоциировать DCC-чат с буфером (возможно буфер уже имеет DCC-" "чат)\n" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "Соединён с %s%s %s(%s%d.%d.%d.%d%s)%s DCC-чатом\n" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "DCC: файл %s%s%s продолжается с позиции %u\n" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " @@ -2038,135 +2038,140 @@ msgstr "" "%s не могу продолжить файл \"%s\" (порт: %d, начальная позиция: %u): DCC не " "найден или завершён\n" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "%s недостаточно памяти для нового DCC\n" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "DCC чат" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" msgstr "Входящий файл от %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s байт\n" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" msgstr "Отсылаю файл %s%s%s: %s%s%s (файл: %s%s%s), %s%lu%s байт\n" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "Входящий запрос на DCC-чат от %s%s%s (%s%d.%d.%d.%d%s)\n" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "Отсылаю запрос на DCC-чат %s%s\n" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" msgstr "" "DCC: файл %s%s%s (локальное имя файла: %s%s%s) будет продолжен с позиции %u\n" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "%s недостаточно памяти для отсылки файла\n" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "%s нет доступа к файлу \"%s\"\n" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "%s не могу найти адрес для '%s'. Откатываюсь на локальный IP.\n" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "%s не могу создать сокет для DCC\n" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "%s не могу найти свободный порт для DCC\n" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "%s не могу установить DCC-соединение\n" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "%s ошибка при отсылке данных \"%s\" через DCC-чат\n" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "Личное %s> %s" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, fuzzy, c-format msgid "%s DCC: unable to create pipe\n" msgstr "%s не могу установить локальный хост/IP\n" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, fuzzy, c-format msgid "%s DCC: unable to read local file\n" msgstr "%s не могу установить локальный хост/IP\n" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, fuzzy, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "%s не могу создать сервер\n" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, fuzzy, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "%s не могу создать сервер\n" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, fuzzy, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "%s не могу создать сервер\n" + +#: src/irc/irc-dcc.c:1622 #, fuzzy, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "%s не могу создать сервер\n" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, fuzzy, c-format msgid "%s DCC: unable to write local file\n" msgstr "%s не могу установить локальный хост/IP\n" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, fuzzy, c-format msgid "%s DCC: unable to fork\n" msgstr "%s не могу установить локальный хост/IP\n" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, fuzzy, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "%s не могу установить локальный хост/IP\n" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, fuzzy, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "%s не могу создать сервер\n" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "Отменяю активное DCC-сединение: \"%s\" от %s\n" diff --git a/weechat/po/weechat.pot b/weechat/po/weechat.pot index 819901d77..55bad297f 100644 --- a/weechat/po/weechat.pot +++ b/weechat/po/weechat.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2006-08-03 21:38+0200\n" +"POT-Creation-Date: 2006-08-05 13:17+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1874,189 +1874,194 @@ msgstr "" msgid "Aborted" msgstr "" -#: src/irc/irc-dcc.c:439 +#: src/irc/irc-dcc.c:457 #, c-format msgid "DCC: file %s%s%s" msgstr "" -#: src/irc/irc-dcc.c:445 +#: src/irc/irc-dcc.c:463 #, c-format msgid " (local filename: %s%s%s)" msgstr "" -#: src/irc/irc-dcc.c:450 +#: src/irc/irc-dcc.c:468 msgid " sent to " msgstr "" -#: src/irc/irc-dcc.c:452 +#: src/irc/irc-dcc.c:470 msgid " received from " msgstr "" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "OK" msgstr "" -#: src/irc/irc-dcc.c:457 +#: src/irc/irc-dcc.c:475 msgid "FAILED" msgstr "" -#: src/irc/irc-dcc.c:471 +#: src/irc/irc-dcc.c:489 #, c-format msgid "DCC chat closed with %s%s %s(%s%d.%d.%d.%d%s)\n" msgstr "" -#: src/irc/irc-dcc.c:526 +#: src/irc/irc-dcc.c:544 #, c-format msgid "" "%s can't associate DCC chat with private buffer (maybe private buffer has " "already DCC CHAT?)\n" msgstr "" -#: src/irc/irc-dcc.c:537 +#: src/irc/irc-dcc.c:555 #, c-format msgid "Connected to %s%s %s(%s%d.%d.%d.%d%s)%s via DCC chat\n" msgstr "" -#: src/irc/irc-dcc.c:650 +#: src/irc/irc-dcc.c:666 #, c-format msgid "DCC: file %s%s%s resumed at position %u\n" msgstr "" -#: src/irc/irc-dcc.c:659 src/irc/irc-dcc.c:684 +#: src/irc/irc-dcc.c:675 src/irc/irc-dcc.c:700 #, c-format msgid "" "%s can't resume file \"%s\" (port: %d, start position: %u): DCC not found or " "ended\n" msgstr "" -#: src/irc/irc-dcc.c:756 +#: src/irc/irc-dcc.c:772 #, c-format msgid "%s not enough memory for new DCC\n" msgstr "" -#: src/irc/irc-dcc.c:775 +#: src/irc/irc-dcc.c:791 msgid "DCC chat" msgstr "" -#: src/irc/irc-dcc.c:802 +#: src/irc/irc-dcc.c:818 #, c-format msgid "" "Incoming DCC file from %s%s%s (%s%d.%d.%d.%d%s)%s: %s%s%s, %s%lu%s bytes\n" msgstr "" -#: src/irc/irc-dcc.c:825 +#: src/irc/irc-dcc.c:841 #, c-format msgid "" "Sending DCC file to %s%s%s: %s%s%s (local filename: %s%s%s), %s%lu%s bytes\n" msgstr "" -#: src/irc/irc-dcc.c:845 +#: src/irc/irc-dcc.c:861 #, c-format msgid "Incoming DCC chat request from %s%s%s (%s%d.%d.%d.%d%s)\n" msgstr "" -#: src/irc/irc-dcc.c:862 +#: src/irc/irc-dcc.c:878 #, c-format msgid "Sending DCC chat request to %s%s\n" msgstr "" -#: src/irc/irc-dcc.c:880 +#: src/irc/irc-dcc.c:896 #, c-format msgid "" "DCC: file %s%s%s (local filename: %s%s%s) will be resumed at position %u\n" msgstr "" -#: src/irc/irc-dcc.c:960 +#: src/irc/irc-dcc.c:976 #, c-format msgid "%s not enough memory for DCC SEND\n" msgstr "" -#: src/irc/irc-dcc.c:980 +#: src/irc/irc-dcc.c:996 #, c-format msgid "%s cannot access file \"%s\"\n" msgstr "" -#: src/irc/irc-dcc.c:1002 +#: src/irc/irc-dcc.c:1018 #, c-format msgid "%s could not find address for '%s'. Falling back to local IP.\n" msgstr "" -#: src/irc/irc-dcc.c:1022 +#: src/irc/irc-dcc.c:1038 #, c-format msgid "%s cannot create socket for DCC\n" msgstr "" -#: src/irc/irc-dcc.c:1080 +#: src/irc/irc-dcc.c:1096 #, c-format msgid "%s cannot find available port for DCC\n" msgstr "" -#: src/irc/irc-dcc.c:1124 +#: src/irc/irc-dcc.c:1140 #, c-format msgid "%s cannot send DCC\n" msgstr "" -#: src/irc/irc-dcc.c:1204 +#: src/irc/irc-dcc.c:1220 #, c-format msgid "%s error sending data to \"%s\" via DCC CHAT\n" msgstr "" -#: src/irc/irc-dcc.c:1288 +#: src/irc/irc-dcc.c:1319 #, c-format msgid "Private %s> %s" msgstr "" -#: src/irc/irc-dcc.c:1334 +#: src/irc/irc-dcc.c:1365 #, c-format msgid "%s DCC: unable to create pipe\n" msgstr "" -#: src/irc/irc-dcc.c:1536 +#: src/irc/irc-dcc.c:1593 #, c-format msgid "%s DCC: unable to read local file\n" msgstr "" -#: src/irc/irc-dcc.c:1543 +#: src/irc/irc-dcc.c:1600 #, c-format msgid "%s DCC: unable to send block to receiver\n" msgstr "" -#: src/irc/irc-dcc.c:1550 +#: src/irc/irc-dcc.c:1607 #, c-format msgid "%s DCC: unable to read ACK from receiver\n" msgstr "" -#: src/irc/irc-dcc.c:1557 +#: src/irc/irc-dcc.c:1615 +#, c-format +msgid "%s DCC: unable to connect to sender\n" +msgstr "" + +#: src/irc/irc-dcc.c:1622 #, c-format msgid "%s DCC: unable to receive block from sender\n" msgstr "" -#: src/irc/irc-dcc.c:1564 +#: src/irc/irc-dcc.c:1629 #, c-format msgid "%s DCC: unable to write local file\n" msgstr "" -#: src/irc/irc-dcc.c:1608 src/irc/irc-dcc.c:1651 +#: src/irc/irc-dcc.c:1682 src/irc/irc-dcc.c:1725 #, c-format msgid "%s DCC: unable to fork\n" msgstr "" -#: src/irc/irc-dcc.c:1691 +#: src/irc/irc-dcc.c:1765 #, c-format msgid "%s DCC: timeout\n" msgstr "" -#: src/irc/irc-dcc.c:1723 +#: src/irc/irc-dcc.c:1797 #, c-format msgid "%s DCC: unable to create socket for sending file\n" msgstr "" -#: src/irc/irc-dcc.c:1735 +#: src/irc/irc-dcc.c:1809 #, c-format msgid "%s DCC: unable to set 'nonblock' option for socket\n" msgstr "" -#: src/irc/irc-dcc.c:1839 +#: src/irc/irc-dcc.c:1893 #, c-format msgid "Aborting active DCC: \"%s\" from %s\n" msgstr "" diff --git a/weechat/src/irc/irc-dcc.c b/weechat/src/irc/irc-dcc.c index 84c9dabc0..985c7160e 100644 --- a/weechat/src/irc/irc-dcc.c +++ b/weechat/src/irc/irc-dcc.c @@ -272,6 +272,49 @@ dcc_calculate_speed (t_irc_dcc *ptr_dcc, int ended) } } +/* + * dcc_connect_to_sender: connect to sender + */ + +int +dcc_connect_to_sender (t_irc_dcc *ptr_dcc) +{ + struct sockaddr_in addr; + struct hostent *hostent; + char *ip4; + int ret; + + if (cfg_proxy_use) + { + memset (&addr, 0, sizeof (addr)); + addr.sin_addr.s_addr = htonl (ptr_dcc->addr); + ip4 = inet_ntoa(addr.sin_addr); + + memset (&addr, 0, sizeof (addr)); + addr.sin_port = htons (cfg_proxy_port); + addr.sin_family = AF_INET; + if ((hostent = gethostbyname (cfg_proxy_address)) == NULL) + return 0; + memcpy(&(addr.sin_addr),*(hostent->h_addr_list), sizeof(struct in_addr)); + ret = connect (ptr_dcc->sock, (struct sockaddr *) &addr, sizeof (addr)); + if ((ret == -1) && (errno != EINPROGRESS)) + return 0; + if (pass_proxy (ptr_dcc->sock, ip4, ptr_dcc->port, ptr_dcc->server->username) == -1) + return 0; + } + else + { + memset (&addr, 0, sizeof (addr)); + addr.sin_port = htons (ptr_dcc->port); + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = htonl (ptr_dcc->addr); + ret = connect (ptr_dcc->sock, (struct sockaddr *) &addr, sizeof (addr)); + if ((ret == -1) && (errno != EINPROGRESS)) + return 0; + } + return 1; +} + /* * dcc_connect: connect to another host */ @@ -279,10 +322,6 @@ dcc_calculate_speed (t_irc_dcc *ptr_dcc, int ended) int dcc_connect (t_irc_dcc *ptr_dcc) { - struct sockaddr_in addr; - struct hostent *hostent; - char *ip4; - if (ptr_dcc->type == DCC_CHAT_SEND) ptr_dcc->status = DCC_WAITING; else @@ -295,47 +334,26 @@ dcc_connect (t_irc_dcc *ptr_dcc) return 0; } - /* for sending (chat or file), listen to socket for a connection */ + /* for chat or file sending, listen to socket for a connection */ if (DCC_IS_SEND(ptr_dcc->type)) - { + { if (fcntl (ptr_dcc->sock, F_SETFL, O_NONBLOCK) == -1) - return 0; + return 0; if (listen (ptr_dcc->sock, 1) == -1) return 0; if (fcntl (ptr_dcc->sock, F_SETFL, 0) == -1) return 0; } - /* for receiving (chat or file), connect to listening host */ - if (DCC_IS_RECV(ptr_dcc->type)) + /* for chat receiving, connect to listening host */ + if (ptr_dcc->type == DCC_CHAT_RECV) { if (fcntl (ptr_dcc->sock, F_SETFL, O_NONBLOCK) == -1) - return 0; - if (cfg_proxy_use) - { - memset (&addr, 0, sizeof (addr)); - addr.sin_addr.s_addr = htonl (ptr_dcc->addr); - ip4 = inet_ntoa(addr.sin_addr); - - memset (&addr, 0, sizeof (addr)); - addr.sin_port = htons (cfg_proxy_port); - addr.sin_family = AF_INET; - if ((hostent = gethostbyname (cfg_proxy_address)) == NULL) - return 0; - memcpy(&(addr.sin_addr),*(hostent->h_addr_list), sizeof(struct in_addr)); - connect (ptr_dcc->sock, (struct sockaddr *) &addr, sizeof (addr)); - if (pass_proxy(ptr_dcc->sock, ip4, ptr_dcc->port, ptr_dcc->server->username) == -1) - return 0; - } - else - { - memset (&addr, 0, sizeof (addr)); - addr.sin_port = htons (ptr_dcc->port); - addr.sin_family = AF_INET; - addr.sin_addr.s_addr = htonl (ptr_dcc->addr); - connect (ptr_dcc->sock, (struct sockaddr *) &addr, sizeof (addr)); - } + return 0; + dcc_connect_to_sender (ptr_dcc); } + + /* for file receiving, connection is made in child process (blocking) socket */ return 1; } @@ -580,18 +598,16 @@ dcc_recv_connect_init (t_irc_dcc *ptr_dcc) } else { - ptr_dcc->status = DCC_ACTIVE; - - /* DCC file => look for local filename and open it in writing mode */ + /* DCC file => launch child process */ if (DCC_IS_FILE(ptr_dcc->type)) { - ptr_dcc->start_transfer = time (NULL); - ptr_dcc->last_check_time = time (NULL); + ptr_dcc->status = DCC_CONNECTING; dcc_file_recv_fork (ptr_dcc); } else { /* DCC CHAT => associate DCC with channel */ + ptr_dcc->status = DCC_ACTIVE; dcc_channel_for_chat (ptr_dcc); } } @@ -1215,11 +1231,26 @@ dcc_chat_sendf (t_irc_dcc *ptr_dcc, char *fmt, ...) void dcc_chat_recv (t_irc_dcc *ptr_dcc) { + fd_set read_fd; + static struct timeval timeout; static char buffer[4096 + 2]; char *buf2, *pos, *ptr_buf, *ptr_buf2, *next_ptr_buf; char *ptr_buf_color; int num_read; + + FD_ZERO (&read_fd); + FD_SET (ptr_dcc->sock, &read_fd); + timeout.tv_sec = 0; + timeout.tv_usec = 0; + + /* something to read on socket? */ + if (select (FD_SETSIZE, &read_fd, NULL, NULL, &timeout) <= 0) + return; + if (!FD_ISSET (ptr_dcc->sock, &read_fd)) + return; + + /* there's something to read on socket! */ num_read = recv (ptr_dcc->sock, buffer, sizeof (buffer) - 2, 0); if (num_read > 0) { @@ -1454,7 +1485,17 @@ dcc_file_recv_child (t_irc_dcc *ptr_dcc) static char buffer[DCC_MAX_BLOCKSIZE]; uint32_t pos; time_t last_sent, new_time; + + /* first connect to sender (blocking) */ + if (!dcc_connect_to_sender (ptr_dcc)) + { + dcc_file_write_pipe (ptr_dcc, DCC_FAILED, DCC_ERROR_CONNECT_SENDER); + return; + } + /* connection is ok, change DCC status (inform parent process) */ + dcc_file_write_pipe (ptr_dcc, DCC_ACTIVE, DCC_NO_ERROR); + last_sent = time (NULL); while (1) { @@ -1514,10 +1555,25 @@ dcc_file_recv_child (t_irc_dcc *ptr_dcc) void dcc_file_child_read (t_irc_dcc *ptr_dcc) { + fd_set read_fd; + static struct timeval timeout; char bufpipe[1 + 1 + 12 + 1]; int num_read; char *error; + FD_ZERO (&read_fd); + FD_SET (ptr_dcc->child_read, &read_fd); + timeout.tv_sec = 0; + timeout.tv_usec = 0; + + /* something to read on child pipe? */ + if (select (FD_SETSIZE, &read_fd, NULL, NULL, &timeout) <= 0) + return; + + if (!FD_ISSET (ptr_dcc->child_read, &read_fd)) + return; + + /* there's something to read in pipe! */ num_read = read (ptr_dcc->child_read, bufpipe, sizeof (bufpipe)); if (num_read > 0) { @@ -1529,6 +1585,7 @@ dcc_file_child_read (t_irc_dcc *ptr_dcc) /* read error code */ switch (bufpipe[1] - '0') { + /* errors for sender */ case DCC_ERROR_READ_LOCAL: irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer, PREFIX_ERROR); @@ -1550,6 +1607,14 @@ dcc_file_child_read (t_irc_dcc *ptr_dcc) _("%s DCC: unable to read ACK from receiver\n"), WEECHAT_ERROR); break; + /* errors for receiver */ + case DCC_ERROR_CONNECT_SENDER: + irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer, + PREFIX_ERROR); + gui_printf (ptr_dcc->server->buffer, + _("%s DCC: unable to connect to sender\n"), + WEECHAT_ERROR); + break; case DCC_ERROR_RECV_BLOCK: irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer, PREFIX_ERROR); @@ -1570,7 +1635,16 @@ dcc_file_child_read (t_irc_dcc *ptr_dcc) switch (bufpipe[0] - '0') { case DCC_ACTIVE: - dcc_redraw (HOTLIST_LOW); + if (ptr_dcc->status == DCC_CONNECTING) + { + /* connection was successful by child, init transfert times */ + ptr_dcc->status = DCC_ACTIVE; + ptr_dcc->start_transfer = time (NULL); + ptr_dcc->last_check_time = time (NULL); + dcc_redraw (HOTLIST_MSG); + } + else + dcc_redraw (HOTLIST_LOW); break; case DCC_DONE: dcc_close (ptr_dcc, DCC_DONE); @@ -1746,6 +1820,10 @@ dcc_handle () } } } + if (ptr_dcc->type == DCC_FILE_RECV) + { + dcc_file_child_read (ptr_dcc); + } } if (ptr_dcc->status == DCC_WAITING) @@ -1791,33 +1869,9 @@ dcc_handle () if (ptr_dcc->status == DCC_ACTIVE) { if (DCC_IS_CHAT(ptr_dcc->type)) - { - FD_ZERO (&read_fd); - FD_SET (ptr_dcc->sock, &read_fd); - timeout.tv_sec = 0; - timeout.tv_usec = 0; - - /* something to read on socket? */ - if (select (FD_SETSIZE, &read_fd, NULL, NULL, &timeout) > 0) - { - if (FD_ISSET (ptr_dcc->sock, &read_fd)) - dcc_chat_recv (ptr_dcc); - } - } + dcc_chat_recv (ptr_dcc); else - { - FD_ZERO (&read_fd); - FD_SET (ptr_dcc->child_read, &read_fd); - timeout.tv_sec = 0; - timeout.tv_usec = 0; - - /* something to read on child pipe? */ - if (select (FD_SETSIZE, &read_fd, NULL, NULL, &timeout) > 0) - { - if (FD_ISSET (ptr_dcc->child_read, &read_fd)) - dcc_file_child_read (ptr_dcc); - } - } + dcc_file_child_read (ptr_dcc); } } } diff --git a/weechat/src/irc/irc.h b/weechat/src/irc/irc.h index 25fb35559..1f20902f3 100644 --- a/weechat/src/irc/irc.h +++ b/weechat/src/irc/irc.h @@ -236,33 +236,34 @@ struct t_irc_message /* DCC types */ -#define DCC_CHAT_RECV 0 /* receiving DCC chat */ -#define DCC_CHAT_SEND 1 /* sending DCC chat */ -#define DCC_FILE_RECV 2 /* incoming DCC file */ -#define DCC_FILE_SEND 3 /* sending DCC file */ +#define DCC_CHAT_RECV 0 /* receiving DCC chat */ +#define DCC_CHAT_SEND 1 /* sending DCC chat */ +#define DCC_FILE_RECV 2 /* incoming DCC file */ +#define DCC_FILE_SEND 3 /* sending DCC file */ /* DCC status */ -#define DCC_WAITING 0 /* waiting for host answer */ -#define DCC_CONNECTING 1 /* connecting to host */ -#define DCC_ACTIVE 2 /* sending/receiving data */ -#define DCC_DONE 3 /* transfer done */ -#define DCC_FAILED 4 /* DCC failed */ -#define DCC_ABORTED 5 /* DCC aborted by user */ +#define DCC_WAITING 0 /* waiting for host answer */ +#define DCC_CONNECTING 1 /* connecting to host */ +#define DCC_ACTIVE 2 /* sending/receiving data */ +#define DCC_DONE 3 /* transfer done */ +#define DCC_FAILED 4 /* DCC failed */ +#define DCC_ABORTED 5 /* DCC aborted by user */ /* DCC blocksize (for file) */ -#define DCC_MIN_BLOCKSIZE 1024 /* min DCC block size when sending file */ -#define DCC_MAX_BLOCKSIZE 102400 /* max DCC block size when sending file */ +#define DCC_MIN_BLOCKSIZE 1024 /* min DCC block size when sending file */ +#define DCC_MAX_BLOCKSIZE 102400 /* max DCC block size when sending file */ /* DCC errors (for file) */ -#define DCC_NO_ERROR 0 /* used when no error to report, all ok! */ -#define DCC_ERROR_READ_LOCAL 1 /* unable to read local file */ -#define DCC_ERROR_SEND_BLOCK 2 /* unable to send block to receiver */ -#define DCC_ERROR_READ_ACK 3 /* unable to read ACK from receiver */ -#define DCC_ERROR_RECV_BLOCK 4 /* unable to receive block from sender */ -#define DCC_ERROR_WRITE_LOCAL 5 /* unable to write to local file */ +#define DCC_NO_ERROR 0 /* used when no error to report, all ok! */ +#define DCC_ERROR_READ_LOCAL 1 /* unable to read local file */ +#define DCC_ERROR_SEND_BLOCK 2 /* unable to send block to receiver */ +#define DCC_ERROR_READ_ACK 3 /* unable to read ACK from receiver */ +#define DCC_ERROR_CONNECT_SENDER 4 /* unable to connect to sender */ +#define DCC_ERROR_RECV_BLOCK 5 /* unable to receive block from sender */ +#define DCC_ERROR_WRITE_LOCAL 6 /* unable to write to local file */ /* DCC macros for type */