[w3m-dev 03967] Re: IPv4/IPv6 only option patch

Fumitoshi UKAI <[email protected]>
Newsgroups gmane.comp.web.w3m.devel
Organization Debian JP Project
Message-ID <[email protected]>
At Mon, 22 Sep 2003 11:23:13 +0900,
KONDOU, Kazuhiro wrote:
> Fumitoshi UKAI wrote:
> 
> >? 
> >w3m -o dns_order=4  -o dns_order=6 
> >  
> >
> 
> 
> 
> # fetch/ftp/telnet ... 
> 
> -4 -> -o dns_order=4, -6 -> -o dns_order=6 
> 

 

Index: fm.h
===================================================================
RCS file: /cvsroot/w3m/w3m/fm.h,v
retrieving revision 1.118
diff -u -p -u -p -r1.118 fm.h
--- fm.h	22 Jul 2003 17:33:16 -0000	1.118
+++ fm.h	22 Sep 2003 17:06:47 -0000
@@ -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);
Index: main.c
===================================================================
RCS file: /cvsroot/w3m/w3m/main.c,v
retrieving revision 1.229
diff -u -p -u -p -r1.229 main.c
--- main.c	22 Jul 2003 17:33:16 -0000	1.229
+++ main.c	22 Sep 2003 17:06:47 -0000
@@ -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();
Index: rc.c
===================================================================
RCS file: /cvsroot/w3m/w3m/rc.c,v
retrieving revision 1.85
diff -u -p -u -p -r1.85 rc.c
--- rc.c	26 Jul 2003 17:16:24 -0000	1.85
+++ rc.c	22 Sep 2003 17:06:47 -0000
@@ -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 */
Index: url.c
===================================================================
RCS file: /cvsroot/w3m/w3m/url.c,v
retrieving revision 1.81
diff -u -p -u -p -r1.81 url.c
--- url.c	17 Jun 2003 18:03:55 -0000	1.81
+++ url.c	22 Sep 2003 17:06:48 -0000
@@ -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 */
 
--
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.