Hidetaka Iwai
tyuyu****@sings*****
2004年 6月 14日 (月) 06:54:54 JST
岩井@札幌です。 Jun Mukai <mukai****@jmuk*****> wrote: Message-ID: <864qp****@verra*****> > ノートPCで風博士を利用していたのですが、他の場所で接続するネットワーク > を変えたところ、リモートブックマークを読めなくなってしまいました。 > 普通のブラウジングはできます。 > > 普段利用するネットワークではプロキシを使っているのですが、リモートブッ > クマークの利用時に、プロキシの設定が何か悪さをしているのではないか、と > 仮説を立てたのですが、残念ながら検証していません。 これは 1. proxyの設定を複数持っている 2. 移動先でメニューからproxyを変えると、リモートブックマークで通信でき なくなった ということでしょうか?もしそうであれば、僕のせいです _| ̄|..........○ とりあえず、添付したパッチを適用するか、設定からproxyを変更すると改善 すると思いますが、いかがでしょう? -- Hidetaka Iwai tyuyu****@sings***** -------------- next part -------------- diff -urN kazehakase/src/net/kz-http.c kazehakase-proxy/src/net/kz-http.c --- kazehakase/src/net/kz-http.c Fri May 7 23:07:28 2004 +++ kazehakase-proxy/src/net/kz-http.c Mon Jun 14 06:35:13 2004 @@ -29,6 +29,7 @@ #include "gnet.h" #include "kazehakase.h" #include "kz-profile.h" +#include "kz-proxy-item.h" #define BUFFER_SIZE 1024 @@ -572,39 +573,70 @@ KZ_IO_CLASS (parent_class)->io_set_channel(KZ_IO(http)); } - static void kz_http_start (KzIO *io) { - GURI *uri = NULL; - gchar proxy[1024]; + gchar proxy_name[1024]; gboolean exist; guint port = 80; gchar *host; KzHTTP *http; + KzProxyItem *item = NULL; g_return_if_fail(KZ_IS_HTTP(io)); http = KZ_HTTP(io); - + /* proxy check */ - exist = KZ_CONF_GET("Global", "proxy", proxy, STRING); + exist = KZ_CONF_GET("Global", "proxy_name", proxy_name, STRING); if (exist) { - uri = gnet_uri_new(proxy); - http->priv->use_proxy = TRUE; - port = uri->port; - host = uri->hostname; + item = kz_proxy_find(proxy_name); + if(item) + { + gboolean use_proxy, use_same_proxy; + gchar *name, *http_host, *https_host, *ftp_host, *no_proxies_on; + guint http_port, https_port, ftp_port; + + g_object_get(G_OBJECT(item), + "name", &name, + "use_proxy", &use_proxy, + "use_same_proxy", &use_same_proxy, + "http_host", &http_host, + "http_port", &http_port, + "https_host", &https_host, + "https_port", &https_port, + "ftp_host", &ftp_host, + "ftp_port", &ftp_port, + "no_proxies_on", &no_proxies_on, + NULL); + + if (use_proxy) + { + http->priv->use_proxy = TRUE; + port = http_port; + host = http_host; + } + else + { + host = http->priv->hostname; + } + } + else + { + host = http->priv->hostname; + } } else { host = http->priv->hostname; } - + http->priv->sockID = gnet_tcp_socket_connect_async(host, port, cb_http_connect, http); - if(uri) - gnet_uri_delete(uri); + if(item) + g_object_unref(G_OBJECT(item)); + }