Partial implementation of proxy support for the "download" utility

This commit is contained in:
Pierre Pronchery 2011-05-14 16:19:34 +00:00
parent 2b3895cdd0
commit 1a8955c8c6
5 changed files with 178 additions and 129 deletions

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Surfer 0.1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-14 17:42+0200\n"
"POT-Creation-Date: 2011-05-14 18:12+0200\n"
"PO-Revision-Date: 2010-04-01 19:40+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: German\n"
@ -63,17 +63,17 @@ msgstr ""
msgid "Network"
msgstr ""
#: ../src/common/conn.c:204 ../src/download.c:205 ../src/ghtml-gtkhtml.c:876
#: ../src/common/conn.c:204 ../src/download.c:210 ../src/ghtml-gtkhtml.c:876
msgid "Resolving..."
msgstr ""
#: ../src/common/conn.c:253 ../src/download.c:522 ../src/ghtml-gtkhtml.c:926
#: ../src/common/conn.c:253 ../src/download.c:563 ../src/ghtml-gtkhtml.c:926
msgid "Connected"
msgstr ""
#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:961
#: ../src/ghtml-webkit.c:595 ../src/ghtml-webkit.c:736
#: ../src/ghtml-webkit.c:748
#: ../src/ghtml-webkit.c:596 ../src/ghtml-webkit.c:737
#: ../src/ghtml-webkit.c:749
msgid "Downloading..."
msgstr ""
@ -89,107 +89,107 @@ msgstr ""
msgid "Unspecified error"
msgstr ""
#: ../src/common/conn.c:348 ../src/download.c:601 ../src/ghtml-gtkhtml.c:1112
#: ../src/common/conn.c:348 ../src/download.c:642 ../src/ghtml-gtkhtml.c:1112
msgid "Timeout"
msgstr ""
#: ../src/download.c:182
#: ../src/download.c:187
msgid "Download"
msgstr ""
#: ../src/download.c:192
#: ../src/download.c:197
msgid "Address: "
msgstr ""
#: ../src/download.c:202
#: ../src/download.c:207
msgid "File: "
msgstr ""
#: ../src/download.c:204
#: ../src/download.c:209
msgid "Status: "
msgstr ""
#: ../src/download.c:206
#: ../src/download.c:211
msgid "Done: "
msgstr ""
#: ../src/download.c:207
#: ../src/download.c:212
msgid "0.0 kB"
msgstr ""
#: ../src/download.c:208
#: ../src/download.c:213
msgid "Speed: "
msgstr ""
#: ../src/download.c:209
#: ../src/download.c:214
msgid "0.0 kB/s"
msgstr ""
#: ../src/download.c:215
#: ../src/download.c:220
msgid "Close window when the download is complete"
msgstr ""
#: ../src/download.c:320 ../src/download.c:325 ../src/download.c:678
#: ../src/download.c:325 ../src/download.c:330 ../src/download.c:719
#: ../src/surfer.c:962 ../src/surfer.c:965
msgid "Error"
msgstr "Fehler"
#: ../src/download.c:338 ../src/download.c:364
#: ../src/download.c:379 ../src/download.c:405
msgid "kB"
msgstr ""
#: ../src/download.c:359 ../src/download.c:370 ../src/download.c:389
#: ../src/download.c:400 ../src/download.c:411 ../src/download.c:430
msgid "MB"
msgstr ""
#: ../src/download.c:361
#: ../src/download.c:402
#, c-format
msgid "%.1f %s/s"
msgstr ""
#: ../src/download.c:372
#: ../src/download.c:413
#, c-format
msgid "%.1f %s"
msgstr ""
#: ../src/download.c:391
#: ../src/download.c:432
#, c-format
msgid "%.1f of %.1f %s"
msgstr ""
#: ../src/download.c:530
#: ../src/download.c:571
msgid "Error "
msgstr "Fehler "
#: ../src/download.c:555 ../src/download.c:683
#: ../src/download.c:596 ../src/download.c:724
msgid "Complete"
msgstr ""
#: ../src/download.c:565 ../src/download.c:701
#: ../src/download.c:606 ../src/download.c:742
msgid "Downloading"
msgstr ""
#: ../src/download.c:576
#: ../src/download.c:617
msgid "Redirected to"
msgstr ""
#: ../src/download.c:579
#: ../src/download.c:620
msgid "Redirected"
msgstr ""
#: ../src/download.c:586
#: ../src/download.c:627
msgid "Resolved"
msgstr ""
#: ../src/download.c:594
#: ../src/download.c:635
msgid "Code "
msgstr ""
#: ../src/download.c:652 ../src/ghtml-webkit.c:694 ../src/surfer.c:964
#: ../src/download.c:693 ../src/ghtml-webkit.c:695 ../src/surfer.c:964
msgid "Unknown error"
msgstr ""
#: ../src/download.c:722
#: ../src/download.c:763
msgid ""
"Usage: download [-O output][-U user-agent] URL...\n"
" -O\tFile to write document to\n"
@ -212,8 +212,8 @@ msgstr ""
msgid "Redirecting to "
msgstr ""
#: ../src/ghtml-gtkhtml.c:1073 ../src/ghtml-webkit.c:452
#: ../src/ghtml-webkit.c:593
#: ../src/ghtml-gtkhtml.c:1073 ../src/ghtml-webkit.c:453
#: ../src/ghtml-webkit.c:594
msgid "Connecting..."
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Surfer 0.1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-14 17:42+0200\n"
"POT-Creation-Date: 2011-05-14 18:12+0200\n"
"PO-Revision-Date: 2010-04-01 19:40+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: Spanish\n"
@ -63,17 +63,17 @@ msgstr ""
msgid "Network"
msgstr ""
#: ../src/common/conn.c:204 ../src/download.c:205 ../src/ghtml-gtkhtml.c:876
#: ../src/common/conn.c:204 ../src/download.c:210 ../src/ghtml-gtkhtml.c:876
msgid "Resolving..."
msgstr ""
#: ../src/common/conn.c:253 ../src/download.c:522 ../src/ghtml-gtkhtml.c:926
#: ../src/common/conn.c:253 ../src/download.c:563 ../src/ghtml-gtkhtml.c:926
msgid "Connected"
msgstr ""
#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:961
#: ../src/ghtml-webkit.c:595 ../src/ghtml-webkit.c:736
#: ../src/ghtml-webkit.c:748
#: ../src/ghtml-webkit.c:596 ../src/ghtml-webkit.c:737
#: ../src/ghtml-webkit.c:749
msgid "Downloading..."
msgstr ""
@ -89,107 +89,107 @@ msgstr ""
msgid "Unspecified error"
msgstr ""
#: ../src/common/conn.c:348 ../src/download.c:601 ../src/ghtml-gtkhtml.c:1112
#: ../src/common/conn.c:348 ../src/download.c:642 ../src/ghtml-gtkhtml.c:1112
msgid "Timeout"
msgstr ""
#: ../src/download.c:182
#: ../src/download.c:187
msgid "Download"
msgstr ""
#: ../src/download.c:192
#: ../src/download.c:197
msgid "Address: "
msgstr ""
#: ../src/download.c:202
#: ../src/download.c:207
msgid "File: "
msgstr ""
#: ../src/download.c:204
#: ../src/download.c:209
msgid "Status: "
msgstr ""
#: ../src/download.c:206
#: ../src/download.c:211
msgid "Done: "
msgstr ""
#: ../src/download.c:207
#: ../src/download.c:212
msgid "0.0 kB"
msgstr ""
#: ../src/download.c:208
#: ../src/download.c:213
msgid "Speed: "
msgstr ""
#: ../src/download.c:209
#: ../src/download.c:214
msgid "0.0 kB/s"
msgstr ""
#: ../src/download.c:215
#: ../src/download.c:220
msgid "Close window when the download is complete"
msgstr ""
#: ../src/download.c:320 ../src/download.c:325 ../src/download.c:678
#: ../src/download.c:325 ../src/download.c:330 ../src/download.c:719
#: ../src/surfer.c:962 ../src/surfer.c:965
msgid "Error"
msgstr ""
#: ../src/download.c:338 ../src/download.c:364
#: ../src/download.c:379 ../src/download.c:405
msgid "kB"
msgstr ""
#: ../src/download.c:359 ../src/download.c:370 ../src/download.c:389
#: ../src/download.c:400 ../src/download.c:411 ../src/download.c:430
msgid "MB"
msgstr ""
#: ../src/download.c:361
#: ../src/download.c:402
#, c-format
msgid "%.1f %s/s"
msgstr ""
#: ../src/download.c:372
#: ../src/download.c:413
#, c-format
msgid "%.1f %s"
msgstr ""
#: ../src/download.c:391
#: ../src/download.c:432
#, c-format
msgid "%.1f of %.1f %s"
msgstr ""
#: ../src/download.c:530
#: ../src/download.c:571
msgid "Error "
msgstr ""
#: ../src/download.c:555 ../src/download.c:683
#: ../src/download.c:596 ../src/download.c:724
msgid "Complete"
msgstr ""
#: ../src/download.c:565 ../src/download.c:701
#: ../src/download.c:606 ../src/download.c:742
msgid "Downloading"
msgstr ""
#: ../src/download.c:576
#: ../src/download.c:617
msgid "Redirected to"
msgstr ""
#: ../src/download.c:579
#: ../src/download.c:620
msgid "Redirected"
msgstr ""
#: ../src/download.c:586
#: ../src/download.c:627
msgid "Resolved"
msgstr ""
#: ../src/download.c:594
#: ../src/download.c:635
msgid "Code "
msgstr ""
#: ../src/download.c:652 ../src/ghtml-webkit.c:694 ../src/surfer.c:964
#: ../src/download.c:693 ../src/ghtml-webkit.c:695 ../src/surfer.c:964
msgid "Unknown error"
msgstr ""
#: ../src/download.c:722
#: ../src/download.c:763
msgid ""
"Usage: download [-O output][-U user-agent] URL...\n"
" -O\tFile to write document to\n"
@ -212,8 +212,8 @@ msgstr ""
msgid "Redirecting to "
msgstr ""
#: ../src/ghtml-gtkhtml.c:1073 ../src/ghtml-webkit.c:452
#: ../src/ghtml-webkit.c:593
#: ../src/ghtml-gtkhtml.c:1073 ../src/ghtml-webkit.c:453
#: ../src/ghtml-webkit.c:594
msgid "Connecting..."
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Surfer 0.1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-14 17:42+0200\n"
"POT-Creation-Date: 2011-05-14 18:12+0200\n"
"PO-Revision-Date: 2010-04-01 19:40+0200\n"
"Last-Translator: Calimero <calimeroteknik@free.fr>\n"
"Language-Team: French\n"
@ -65,17 +65,17 @@ msgstr "Port :"
msgid "Network"
msgstr "Réseau"
#: ../src/common/conn.c:204 ../src/download.c:205 ../src/ghtml-gtkhtml.c:876
#: ../src/common/conn.c:204 ../src/download.c:210 ../src/ghtml-gtkhtml.c:876
msgid "Resolving..."
msgstr "Résolution du domaine..."
#: ../src/common/conn.c:253 ../src/download.c:522 ../src/ghtml-gtkhtml.c:926
#: ../src/common/conn.c:253 ../src/download.c:563 ../src/ghtml-gtkhtml.c:926
msgid "Connected"
msgstr "Connecté"
#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:961
#: ../src/ghtml-webkit.c:595 ../src/ghtml-webkit.c:736
#: ../src/ghtml-webkit.c:748
#: ../src/ghtml-webkit.c:596 ../src/ghtml-webkit.c:737
#: ../src/ghtml-webkit.c:749
msgid "Downloading..."
msgstr "Téléchargement..."
@ -91,107 +91,107 @@ msgstr "Hôte inconnu"
msgid "Unspecified error"
msgstr "Erreur non spécifiée"
#: ../src/common/conn.c:348 ../src/download.c:601 ../src/ghtml-gtkhtml.c:1112
#: ../src/common/conn.c:348 ../src/download.c:642 ../src/ghtml-gtkhtml.c:1112
msgid "Timeout"
msgstr "Délai dépassé"
#: ../src/download.c:182
#: ../src/download.c:187
msgid "Download"
msgstr "Téléchargement"
#: ../src/download.c:192
#: ../src/download.c:197
msgid "Address: "
msgstr "Adresse: "
#: ../src/download.c:202
#: ../src/download.c:207
msgid "File: "
msgstr "Fichier : "
#: ../src/download.c:204
#: ../src/download.c:209
msgid "Status: "
msgstr "Statut : "
#: ../src/download.c:206
#: ../src/download.c:211
msgid "Done: "
msgstr "Fait : "
#: ../src/download.c:207
#: ../src/download.c:212
msgid "0.0 kB"
msgstr "0.0 Kio"
#: ../src/download.c:208
#: ../src/download.c:213
msgid "Speed: "
msgstr "Vitesse : "
#: ../src/download.c:209
#: ../src/download.c:214
msgid "0.0 kB/s"
msgstr "0.0 Kio/s"
#: ../src/download.c:215
#: ../src/download.c:220
msgid "Close window when the download is complete"
msgstr "Fermer la fenêtre à la fin du téléchargement"
#: ../src/download.c:320 ../src/download.c:325 ../src/download.c:678
#: ../src/download.c:325 ../src/download.c:330 ../src/download.c:719
#: ../src/surfer.c:962 ../src/surfer.c:965
msgid "Error"
msgstr "Erreur"
#: ../src/download.c:338 ../src/download.c:364
#: ../src/download.c:379 ../src/download.c:405
msgid "kB"
msgstr "Kio"
#: ../src/download.c:359 ../src/download.c:370 ../src/download.c:389
#: ../src/download.c:400 ../src/download.c:411 ../src/download.c:430
msgid "MB"
msgstr "Mo"
#: ../src/download.c:361
#: ../src/download.c:402
#, c-format
msgid "%.1f %s/s"
msgstr "%.1f %s/s"
#: ../src/download.c:372
#: ../src/download.c:413
#, c-format
msgid "%.1f %s"
msgstr "%.1f %s/s"
#: ../src/download.c:391
#: ../src/download.c:432
#, c-format
msgid "%.1f of %.1f %s"
msgstr "%.1f de %.1f %s"
#: ../src/download.c:530
#: ../src/download.c:571
msgid "Error "
msgstr "Erreur "
#: ../src/download.c:555 ../src/download.c:683
#: ../src/download.c:596 ../src/download.c:724
msgid "Complete"
msgstr "Terminé"
#: ../src/download.c:565 ../src/download.c:701
#: ../src/download.c:606 ../src/download.c:742
msgid "Downloading"
msgstr "Téléchargement"
#: ../src/download.c:576
#: ../src/download.c:617
msgid "Redirected to"
msgstr "Redirigé vers"
#: ../src/download.c:579
#: ../src/download.c:620
msgid "Redirected"
msgstr "Redirigé"
#: ../src/download.c:586
#: ../src/download.c:627
msgid "Resolved"
msgstr "Résolu"
#: ../src/download.c:594
#: ../src/download.c:635
msgid "Code "
msgstr "Code "
#: ../src/download.c:652 ../src/ghtml-webkit.c:694 ../src/surfer.c:964
#: ../src/download.c:693 ../src/ghtml-webkit.c:695 ../src/surfer.c:964
msgid "Unknown error"
msgstr "Erreur inconnue"
#: ../src/download.c:722
#: ../src/download.c:763
#, fuzzy
msgid ""
"Usage: download [-O output][-U user-agent] URL...\n"
@ -218,8 +218,8 @@ msgstr "Redirection..."
msgid "Redirecting to "
msgstr "Redirection vers "
#: ../src/ghtml-gtkhtml.c:1073 ../src/ghtml-webkit.c:452
#: ../src/ghtml-webkit.c:593
#: ../src/ghtml-gtkhtml.c:1073 ../src/ghtml-webkit.c:453
#: ../src/ghtml-webkit.c:594
msgid "Connecting..."
msgstr "Connexion..."

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Surfer 0.1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-05-14 17:42+0200\n"
"POT-Creation-Date: 2011-05-14 18:12+0200\n"
"PO-Revision-Date: 2010-04-11 12:06+0200\n"
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
"Language-Team: Italian\n"
@ -63,17 +63,17 @@ msgstr ""
msgid "Network"
msgstr ""
#: ../src/common/conn.c:204 ../src/download.c:205 ../src/ghtml-gtkhtml.c:876
#: ../src/common/conn.c:204 ../src/download.c:210 ../src/ghtml-gtkhtml.c:876
msgid "Resolving..."
msgstr ""
#: ../src/common/conn.c:253 ../src/download.c:522 ../src/ghtml-gtkhtml.c:926
#: ../src/common/conn.c:253 ../src/download.c:563 ../src/ghtml-gtkhtml.c:926
msgid "Connected"
msgstr ""
#: ../src/common/conn.c:280 ../src/ghtml-gtkhtml.c:961
#: ../src/ghtml-webkit.c:595 ../src/ghtml-webkit.c:736
#: ../src/ghtml-webkit.c:748
#: ../src/ghtml-webkit.c:596 ../src/ghtml-webkit.c:737
#: ../src/ghtml-webkit.c:749
msgid "Downloading..."
msgstr ""
@ -89,107 +89,107 @@ msgstr ""
msgid "Unspecified error"
msgstr ""
#: ../src/common/conn.c:348 ../src/download.c:601 ../src/ghtml-gtkhtml.c:1112
#: ../src/common/conn.c:348 ../src/download.c:642 ../src/ghtml-gtkhtml.c:1112
msgid "Timeout"
msgstr ""
#: ../src/download.c:182
#: ../src/download.c:187
msgid "Download"
msgstr ""
#: ../src/download.c:192
#: ../src/download.c:197
msgid "Address: "
msgstr ""
#: ../src/download.c:202
#: ../src/download.c:207
msgid "File: "
msgstr ""
#: ../src/download.c:204
#: ../src/download.c:209
msgid "Status: "
msgstr ""
#: ../src/download.c:206
#: ../src/download.c:211
msgid "Done: "
msgstr ""
#: ../src/download.c:207
#: ../src/download.c:212
msgid "0.0 kB"
msgstr ""
#: ../src/download.c:208
#: ../src/download.c:213
msgid "Speed: "
msgstr ""
#: ../src/download.c:209
#: ../src/download.c:214
msgid "0.0 kB/s"
msgstr ""
#: ../src/download.c:215
#: ../src/download.c:220
msgid "Close window when the download is complete"
msgstr ""
#: ../src/download.c:320 ../src/download.c:325 ../src/download.c:678
#: ../src/download.c:325 ../src/download.c:330 ../src/download.c:719
#: ../src/surfer.c:962 ../src/surfer.c:965
msgid "Error"
msgstr ""
#: ../src/download.c:338 ../src/download.c:364
#: ../src/download.c:379 ../src/download.c:405
msgid "kB"
msgstr ""
#: ../src/download.c:359 ../src/download.c:370 ../src/download.c:389
#: ../src/download.c:400 ../src/download.c:411 ../src/download.c:430
msgid "MB"
msgstr ""
#: ../src/download.c:361
#: ../src/download.c:402
#, c-format
msgid "%.1f %s/s"
msgstr ""
#: ../src/download.c:372
#: ../src/download.c:413
#, c-format
msgid "%.1f %s"
msgstr ""
#: ../src/download.c:391
#: ../src/download.c:432
#, c-format
msgid "%.1f of %.1f %s"
msgstr ""
#: ../src/download.c:530
#: ../src/download.c:571
msgid "Error "
msgstr ""
#: ../src/download.c:555 ../src/download.c:683
#: ../src/download.c:596 ../src/download.c:724
msgid "Complete"
msgstr ""
#: ../src/download.c:565 ../src/download.c:701
#: ../src/download.c:606 ../src/download.c:742
msgid "Downloading"
msgstr ""
#: ../src/download.c:576
#: ../src/download.c:617
msgid "Redirected to"
msgstr ""
#: ../src/download.c:579
#: ../src/download.c:620
msgid "Redirected"
msgstr ""
#: ../src/download.c:586
#: ../src/download.c:627
msgid "Resolved"
msgstr ""
#: ../src/download.c:594
#: ../src/download.c:635
msgid "Code "
msgstr ""
#: ../src/download.c:652 ../src/ghtml-webkit.c:694 ../src/surfer.c:964
#: ../src/download.c:693 ../src/ghtml-webkit.c:695 ../src/surfer.c:964
msgid "Unknown error"
msgstr ""
#: ../src/download.c:722
#: ../src/download.c:763
msgid ""
"Usage: download [-O output][-U user-agent] URL...\n"
" -O\tFile to write document to\n"
@ -212,8 +212,8 @@ msgstr ""
msgid "Redirecting to "
msgstr ""
#: ../src/ghtml-gtkhtml.c:1073 ../src/ghtml-webkit.c:452
#: ../src/ghtml-webkit.c:593
#: ../src/ghtml-gtkhtml.c:1073 ../src/ghtml-webkit.c:453
#: ../src/ghtml-webkit.c:594
msgid "Connecting..."
msgstr ""

View File

@ -27,6 +27,7 @@
#include <locale.h>
#include <libintl.h>
#include <gtk/gtk.h>
#include <System.h>
#ifdef WITH_WEBKIT
# include <webkit/webkit.h>
#else
@ -102,6 +103,10 @@ static unsigned int _download_cnt = 0;
/* prototypes */
static int _download_error(Download * download, char const * message, int ret);
static int _download_set_proxy(Download * download, char const * http,
unsigned int http_port);
static void _download_refresh(Download * download);
#ifndef WITH_WEBKIT
static int _download_write(Download * download);
@ -329,6 +334,42 @@ static int _download_error(Download * download, char const * message, int ret)
}
/* download_set_proxy */
static int _download_set_proxy(Download * download, char const * http,
unsigned int http_port)
{
#ifdef WITH_WEBKIT
# if WEBKIT_CHECK_VERSION(1, 1, 0)
SoupSession * session;
char buf[32];
struct hostent * he;
struct in_addr addr;
SoupURI * uri = NULL;
session = webkit_get_default_session();
if(strlen(http) > 0)
{
if((he = gethostbyname(http)) == NULL)
return -error_set_code(1, "%s: %s", http, hstrerror(
h_errno));
memcpy(&addr.s_addr, he->h_addr, sizeof(addr.s_addr));
snprintf(buf, sizeof(buf), "http://%s:%u/", inet_ntoa(addr),
http_port);
uri = soup_uri_new(buf);
}
g_object_set(session, "proxy-uri", uri, NULL);
return 0;
# else
/* FIXME really implement */
return -error_set_code(1, "%s", strerror(ENOSYS));
# endif
#else
/* FIXME really implement */
return -error_set_code(1, "%s", strerror(ENOSYS));
#endif
}
/* download_refresh */
static void _download_refresh(Download * download)
{
@ -732,6 +773,10 @@ int main(int argc, char * argv[])
DownloadPrefs prefs;
int o;
int cnt;
char const * p;
char http[256] = "";
unsigned int port;
Download * download;
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
@ -754,8 +799,12 @@ int main(int argc, char * argv[])
}
if((cnt = argc - optind) == 0)
return _usage();
if((p = getenv("http_proxy")) != NULL && sscanf(p, "http://%255[^:]:%u",
http, &port) == 2)
http[sizeof(http) - 1] = '\0';
for(o = 0; o < cnt; o++)
download_new(&prefs, argv[optind + o]);
if((download = download_new(&prefs, argv[optind + o])) != NULL)
_download_set_proxy(download, http, port);
gtk_main();
return 0;
}