aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog14
-rw-r--r--NEWS1
-rw-r--r--fm.h6
-rw-r--r--main.c10
-rw-r--r--rc.c4
-rw-r--r--url.c10
6 files changed, 37 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index fc77e75..7d10b34 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2003-09-23 Fumitoshi UKAI <ukai@debian.or.jp>
+
+ * [w3m-dev 03967] Re: IPv4/IPv6 only option patch
+ * NEWS: options: -4, -6
+ * fm.h (DNS_ORDER_INET_ONLY): added
+ (DNS_ORDER_INET6_ONLY): added
+ (ai_family_order_table): [3]->[7]
+ * main.c (fusage): add -4/-6
+ (main): -4/-6 mapped to dns_order=4/dns_order=6
+ * rc.c (dnsorders): add DNS_ORDER_INET_ONLY, DNS_ORDER_INET6_ONLY
+ * url.c (dnsorders): add 3-6
+
2003-09-16 Hiroyuki Ito <hito@crl.go.jp>
* [w3m-dev 03960]
@@ -8005,4 +8017,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1
* import w3m-0.2.1
-$Id: ChangeLog,v 1.860 2003/09/16 14:23:21 ukai Exp $
+$Id: ChangeLog,v 1.861 2003/09/22 17:37:40 ukai Exp $
diff --git a/NEWS b/NEWS
index 3de60a7..87ea509 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,6 @@
w3m 0.5 or 1.0?
+* options: -4, -6
* configuration file in $(sysconfdir)/$(package)/
* func: NEXT_VISITED, PREV_VISITED
* autoconfiscate
diff --git a/fm.h b/fm.h
index bd0acd0..b4505ff 100644
--- a/fm.h
+++ b/fm.h
@@ -1,4 +1,4 @@
-/* $Id: fm.h,v 1.118 2003/07/22 17:33:16 ukai Exp $ */
+/* $Id: fm.h,v 1.119 2003/09/22 17:37:41 ukai Exp $ */
/*
* w3m: WWW wo Miru utility
*
@@ -824,8 +824,10 @@ global int NOproxy_netaddr init(TRUE);
#define DNS_ORDER_UNSPEC 0
#define DNS_ORDER_INET_INET6 1
#define DNS_ORDER_INET6_INET 2
+#define DNS_ORDER_INET_ONLY 4
+#define DNS_ORDER_INET6_ONLY 6
global int DNS_order init(DNS_ORDER_UNSPEC);
-extern int ai_family_order_table[3][3]; /* XXX */
+extern int ai_family_order_table[7][3]; /* XXX */
#endif /* INET6 */
global TextList *NO_proxy_domains;
global char NoCache init(FALSE);
diff --git a/main.c b/main.c
index 435b23f..5656cae 100644
--- a/main.c
+++ b/main.c
@@ -1,4 +1,4 @@
-/* $Id: main.c,v 1.229 2003/07/22 17:33:16 ukai Exp $ */
+/* $Id: main.c,v 1.230 2003/09/22 17:37:41 ukai Exp $ */
#define MAINPROGRAM
#include "fm.h"
#include <signal.h>
@@ -221,6 +221,10 @@ fusage(FILE * f, int err)
fprintf(f, " +<num> goto <num> line\n");
fprintf(f, " -num show line number\n");
fprintf(f, " -no-proxy don't use proxy\n");
+#ifdef INET6
+ fprintf(f, " -4 IPv4 only (-o dns_order=4)\n");
+ fprintf(f, " -6 IPv6 only (-o dns_order=6)\n");
+#endif
#ifdef USE_MOUSE
fprintf(f, " -no-mouse don't use mouse\n");
#endif /* USE_MOUSE */
@@ -608,6 +612,10 @@ main(int argc, char **argv, char **envp)
showLineNum = TRUE;
else if (!strcmp("-no-proxy", argv[i]))
use_proxy = FALSE;
+#ifdef INET6
+ else if (!strcmp("-4", argv[i]) || !strcmp("-6", argv[i]))
+ set_param_option(Sprintf("dns_order=%c", argv[i][1])->ptr);
+#endif
else if (!strcmp("-post", argv[i])) {
if (++i >= argc)
usage();
diff --git a/rc.c b/rc.c
index 67ec95b..20beacf 100644
--- a/rc.c
+++ b/rc.c
@@ -1,4 +1,4 @@
-/* $Id: rc.c,v 1.85 2003/07/26 17:16:24 ukai Exp $ */
+/* $Id: rc.c,v 1.86 2003/09/22 17:37:41 ukai Exp $ */
/*
* Initialization file etc.
*/
@@ -470,6 +470,8 @@ static struct sel_c dnsorders[] = {
{N_S(DNS_ORDER_UNSPEC), "unspecified"},
{N_S(DNS_ORDER_INET_INET6), "inet inet6"},
{N_S(DNS_ORDER_INET6_INET), "inet6 inet"},
+ {N_S(DNS_ORDER_INET_ONLY), "inet only"},
+ {N_S(DNS_ORDER_INET6_ONLY), "inet6 only"},
{0, NULL, NULL}
};
#endif /* INET6 */
diff --git a/url.c b/url.c
index eaa4b85..28fd8e9 100644
--- a/url.c
+++ b/url.c
@@ -1,4 +1,4 @@
-/* $Id: url.c,v 1.81 2003/06/17 18:03:55 ukai Exp $ */
+/* $Id: url.c,v 1.82 2003/09/22 17:37:41 ukai Exp $ */
#include "fm.h"
#include <sys/types.h>
#include <sys/socket.h>
@@ -33,10 +33,14 @@
#ifdef INET6
/* see rc.c, "dns_order" and dnsorders[] */
-int ai_family_order_table[3][3] = {
+int ai_family_order_table[7][3] = {
{PF_UNSPEC, PF_UNSPEC, PF_UNSPEC}, /* 0:unspec */
{PF_INET, PF_INET6, PF_UNSPEC}, /* 1:inet inet6 */
- {PF_INET6, PF_INET, PF_UNSPEC} /* 2:inet6 inet */
+ {PF_INET6, PF_INET, PF_UNSPEC}, /* 2:inet6 inet */
+ {PF_UNSPEC, PF_UNSPEC, PF_UNSPEC}, /* 3: --- */
+ {PF_INET, PF_UNSPEC, PF_UNSPEC}, /* 4:inet */
+ {PF_UNSPEC, PF_UNSPEC, PF_UNSPEC}, /* 5: --- */
+ {PF_INET6, PF_UNSPEC, PF_UNSPEC}, /* 6:inet6 */
};
#endif /* INET6 */