mono & IPv6
Rick Tillery <[email protected]> Thu, 1 Mar 2018 10:09:34 -0600
| Newsgroups | gmane.comp.gnome.mono.devel |
|---|---|
| Message-ID | <CAAZEOju3pn0PqdgpU+1GpQhKeRd_G9SfH_XP97qyKx5gVLThKg@mail.gmail.com> |
--===============0209829166960549080==
Content-Type: multipart/alternative; boundary="000000000000f6d26905665c15f1"
--000000000000f6d26905665c15f1
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
We're having problems getting IPv6 working with mono (5.0.1.1 on
RHEL/CentOS).
I have IPv4 & IPv6 addresses for a test server. I can ping/ping6 both of
these addresses. And I am able to use curl (wget not installed on the
minimal headless machines we use for test) to download the HTML (after
disabling trust check) using both addresses.
To eliminate our code (which works on Winders), I borrowed some source from
https://gist.github.com/bugchk/ec7b46ad9ee47a13e377f6994d961c0f to use
instead:
*using System;using System.Net; // Compile with "mcs wget.cs" namespace
wget{ class Program { static void Main(string[] args) {
if (args.Length < 1 || args.Length > 2) {
Console.WriteLine(); Console.WriteLine("
Usage: wget.exe http://urltodownload.com/file.ext
<http://urltodownload.com/file.ext> [output_path]");
Console.WriteLine(); Environment.Exit(-1);
} var urlPath =3D args[0]; var uriParts =
=3D
urlPath.Split('/'); var outputPath =3D args.Length >=3D 2 ? args=
[1]
: uriParts[uriParts.Length - 1]; using (var client =3D new
WebClient()) { // client.Credentials =3D new
NetworkCredential("user", "password"); try {
client.DownloadFile(urlPath, outputPath);
Environment.Exit(0); }
catch(Exception ex) {
Console.WriteLine(ex.ToString());
Console.WriteLine(ex.Message);
Environment.Exit(-1); } }
} }}*
Unfortunately, in our environment, they're are no http servers, only https.
So I issues an IPv4 command like:
*$ mono wget.exe https://10.192.100.50 <https://10.192.100.50>*
Using just an IP address, the error below is expected (I tried a couple of
methods to disable the trust check, but no joy), but it still indicates
that the host was reached, which is all I'm trying to verify at this point.
*System.Net.WebException: Error: TrustFailure (Ssl error:1000007d:SSL
routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED at
/builddir/build/BUILD/mono-5.0.1.1/external/boringssl/ssl/handshake_client.=
c:1132)
---> Mono.Btls.MonoBtlsException: Ssl error:1000007d:SSL
routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED at
/builddir/build/BUILD/mono-5.0.1.1/external/boringssl/ssl/handshake_client.=
c:1132
at Mono.Btls.MonoBtlsContext.ProcessHandshake () [0x00038] in
<1d7393d853954016b607e8e348b00ad1>:0 at
Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake
(Mono.Net.Security.AsyncProtocolRequest asyncRequest,
Mono.Net.Security.AsyncOperationStatus status) [0x0002a] in
<1d7393d853954016b607e8e348b00ad1>:0 at
Mono.Net.Security.AsyncProtocolRequest.ProcessOperation
(Mono.Net.Security.AsyncOperationStatus status) [0x0006b] in
<1d7393d853954016b607e8e348b00ad1>:0 at
Mono.Net.Security.AsyncProtocolRequest.ProcessOperation () [0x0000d] in
<1d7393d853954016b607e8e348b00ad1>:0 at
Mono.Net.Security.AsyncProtocolRequest.StartOperation () [0x0003c] in
<1d7393d853954016b607e8e348b00ad1>:0 at
Mono.Net.Security.AsyncProtocolRequest.StartOperation
(Mono.Net.Security.AsyncOperation operation) [0x00024] in
<1d7393d853954016b607e8e348b00ad1>:0 at
Mono.Net.Security.MobileAuthenticatedStream.ProcessAuthentication
(System.Net.LazyAsyncResult lazyResult) [0x00057] in
<1d7393d853954016b607e8e348b00ad1>:0 --- End of stack trace from previous
location where exception was thrown --- at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c]
in <3753d1715b8842d8bb13a30db0388b60>:0 at
Mono.Net.Security.MobileAuthenticatedStream.ProcessAuthentication
(System.Net.LazyAsyncResult lazyResult) [0x00078] in
<1d7393d853954016b607e8e348b00ad1>:0 at
Mono.Net.Security.MobileAuthenticatedStream.AuthenticateAsClient
(System.String targetHost,
System.Security.Cryptography.X509Certificates.X509CertificateCollection
clientCertificates, System.Security.Authentication.SslProtocols
enabledSslProtocols, System.Boolean checkCertificateRevocation) [0x0000c]
in <1d7393d853954016b607e8e348b00ad1>:0 at
Mono.Net.Security.Private.MonoSslStreamWrapper.AuthenticateAsClient
(System.String targetHost,
System.Security.Cryptography.X509Certificates.X509CertificateCollection
clientCertificates, System.Security.Authentication.SslProtocols
enabledSslProtocols, System.Boolean checkCertificateRevocation) [0x00006]
in <1d7393d853954016b607e8e348b00ad1>:0 at
Mono.Net.Security.MonoTlsStream.CreateStream (System.Byte[] buffer)
[0x0007b] in <1d7393d853954016b607e8e348b00ad1>:0 at
System.Net.WebConnection.CreateStream (System.Net.HttpWebRequest request)
[0x00073] in <1d7393d853954016b607e8e348b00ad1>:0 --- End of inner
exception stack trace --- at System.Net.WebClient.DownloadFile (System.Uri
address, System.String fileName) [0x000ad] in
<1d7393d853954016b607e8e348b00ad1>:0 at System.Net.WebClient.DownloadFile
(System.String address, System.String fileName) [0x00016] in
<1d7393d853954016b607e8e348b00ad1>:0 at (wrapper
remoting-invoke-with-check) System.Net.WebClient:DownloadFile
(string,string) at wget.Program.Main (System.String[] args) [0x00061] in
<24ce9e68afff4791842d98a8ce379a1e>:0 Error: TrustFailure (Ssl
error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED at
/builddir/build/BUILD/mono-5.0.1.1/external/boringssl/ssl/handshake_client.=
c:1132)*
But, when I use the same command with an IPv4 address:
*$ mono wget.exe https://[fe39:abcd:ef01:2345::c]*
I get a failure to find the host.
*System.Net.WebException: Error: ConnectFailure (No route to host) --->
System.Net.Sockets.SocketException: No route to host at
System.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x000b6]
in <1d7393d853954016b607e8e348b00ad1>:0 at
System.Net.WebConnection.Connect (System.Net.HttpWebRequest request)
[0x0016d] in <1d7393d853954016b607e8e348b00ad1>:0 --- End of inner
exception stack trace --- at System.Net.WebClient.DownloadFile (System.Uri
address, System.String fileName) [0x000ad] in
<1d7393d853954016b607e8e348b00ad1>:0 at System.Net.WebClient.DownloadFile
(System.String address, System.String fileName) [0x00016] in
<1d7393d853954016b607e8e348b00ad1>:0 at (wrapper
remoting-invoke-with-check) System.Net.WebClient:DownloadFile
(string,string) at wget.Program.Main (System.String[] args) [0x00061] in
<24ce9e68afff4791842d98a8ce379a1e>:0 Error: ConnectFailure (No route to
host)=E2=80=8B*
Any suggestions as to why IPv6 doesn't appear to be working through mono?
Rick
--000000000000f6d26905665c15f1
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"auto">We're having problems getting IPv6 working with mono =
(5.0.1.1 on RHEL/CentOS).<div dir=3D"auto"><div dir=3D"auto"><br></div><div=
dir=3D"auto">I have IPv4 & IPv6 addresses for a test server. I can pin=
g/ping6 both of these addresses. And I am able to use curl (wget not instal=
led on the minimal headless machines we use for test) to download the HTML =
(after disabling trust check) using both addresses.=C2=A0<br></div><div dir=
=3D"auto"><br></div><div dir=3D"auto">To eliminate our code (which works on=
Winders), I borrowed some source from=C2=A0<a href=3D"https://gist.github.=
com/bugchk/ec7b46ad9ee47a13e377f6994d961c0f">https://gist.github.com/bugchk=
/ec7b46ad9ee47a13e377f6994d961c0f</a> to use instead:<div dir=3D"auto"><br>=
</div><div dir=3D"auto"><b><span style=3D"font-variant-numeric:normal;font-=
variant-east-asian:normal;vertical-align:baseline">using System;</span><spa=
n style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;verti=
cal-align:baseline"><br></span><span style=3D"font-variant-numeric:normal;f=
ont-variant-east-asian:normal;vertical-align:baseline">using System.Net;</s=
pan><span style=3D"font-variant-numeric:normal;font-variant-east-asian:norm=
al;vertical-align:baseline"><br></span><span style=3D"font-variant-numeric:=
normal;font-variant-east-asian:normal;vertical-align:baseline"> </span><spa=
n style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;verti=
cal-align:baseline"><br></span><span style=3D"font-variant-numeric:normal;f=
ont-variant-east-asian:normal;vertical-align:baseline">// Compile with &quo=
t;mcs wget.cs"</span><span style=3D"font-variant-numeric:normal;font-v=
ariant-east-asian:normal;vertical-align:baseline"><br></span><span style=3D=
"font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:=
baseline"> </span><span style=3D"font-variant-numeric:normal;font-variant-e=
ast-asian:normal;vertical-align:baseline"><br></span><span style=3D"font-va=
riant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline=
">namespace wget</span><span style=3D"font-variant-numeric:normal;font-vari=
ant-east-asian:normal;vertical-align:baseline"><br></span><span style=3D"fo=
nt-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:bas=
eline">{</span><span style=3D"font-variant-numeric:normal;font-variant-east=
-asian:normal;vertical-align:baseline"><br></span><span style=3D"font-varia=
nt-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"> =
=C2=A0=C2=A0=C2=A0class Program</span><span style=3D"font-variant-numeric:n=
ormal;font-variant-east-asian:normal;vertical-align:baseline"><br></span><s=
pan style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;ver=
tical-align:baseline"> =C2=A0=C2=A0=C2=A0{</span><span style=3D"font-varian=
t-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"><b=
r></span><span style=3D"font-variant-numeric:normal;font-variant-east-asian=
:normal;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0static void Main(string[] args)</span><span style=3D"font-variant-numeri=
c:normal;font-variant-east-asian:normal;vertical-align:baseline"><br></span=
><span style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;=
vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0{</span=
><span style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;=
vertical-align:baseline"><br></span><span style=3D"font-variant-numeric:nor=
mal;font-variant-east-asian:normal;vertical-align:baseline"> =C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if (args.Length < =
1 || args.Length > 2)</span><span style=3D"font-variant-numeric:normal;f=
ont-variant-east-asian:normal;vertical-align:baseline"><br></span><span sty=
le=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertical-a=
lign:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0{</span><span style=3D"font-variant-numeric:normal;font-variant-ea=
st-asian:normal;vertical-align:baseline"><br></span><span style=3D"font-var=
iant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"=
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0Console.WriteLine();</span><span style=3D"font-variant-nu=
meric:normal;font-variant-east-asian:normal;vertical-align:baseline"><br></=
span><span style=3D"font-variant-numeric:normal;font-variant-east-asian:nor=
mal;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Console.WriteLine(" Usage=
: wget.exe <a href=3D"http://urltodownload.com/file.ext">http://urltodownlo=
ad.com/file.ext</a> [output_path]");</span><span style=3D"font-variant=
-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"><br=
></span><span style=3D"font-variant-numeric:normal;font-variant-east-asian:=
normal;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Console.WriteLine();</span>=
<span style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;v=
ertical-align:baseline"><br></span><span style=3D"font-variant-numeric:norm=
al;font-variant-east-asian:normal;vertical-align:baseline"> =C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
Environment.Exit(-1);</span><span style=3D"font-variant-numeric:normal;font=
-variant-east-asian:normal;vertical-align:baseline"><br></span><span style=
=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertical-ali=
gn:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0}</span><span style=3D"font-variant-numeric:normal;font-variant-east-=
asian:normal;vertical-align:baseline"><br></span><span style=3D"font-varian=
t-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"> <=
/span><span style=3D"font-variant-numeric:normal;font-variant-east-asian:no=
rmal;vertical-align:baseline"><br></span><span style=3D"font-variant-numeri=
c:normal;font-variant-east-asian:normal;vertical-align:baseline"> =C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0var urlPath =3D ar=
gs[0];</span><span style=3D"font-variant-numeric:normal;font-variant-east-a=
sian:normal;vertical-align:baseline"><br></span><span style=3D"font-variant=
-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"> =
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0var uriPa=
rts =3D urlPath.Split('/');</span><span style=3D"font-variant-numer=
ic:normal;font-variant-east-asian:normal;vertical-align:baseline"><br></spa=
n><span style=3D"font-variant-numeric:normal;font-variant-east-asian:normal=
;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0var outputPath =3D args.Length >=3D 2 ? args[1] : uriP=
arts[uriParts.Length - 1];</span><span style=3D"font-variant-numeric:normal=
;font-variant-east-asian:normal;vertical-align:baseline"><br></span><span s=
tyle=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertical=
-align:baseline"> </span><span style=3D"font-variant-numeric:normal;font-va=
riant-east-asian:normal;vertical-align:baseline"><br></span><span style=3D"=
font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:b=
aseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0using (var client =3D new WebClient())</span><span style=3D"font-variant=
-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"><br=
></span><span style=3D"font-variant-numeric:normal;font-variant-east-asian:=
normal;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0{</span><span style=3D"font-variant-numeric:normal;=
font-variant-east-asian:normal;vertical-align:baseline"><br></span><span st=
yle=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertical-=
align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0// client.Credentials =3D new NetworkCrede=
ntial("user", "password");</span><span style=3D"font-va=
riant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline=
"><br></span><span style=3D"font-variant-numeric:normal;font-variant-east-a=
sian:normal;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0try</span><span style=
=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertical-ali=
gn:baseline"><br></span><span style=3D"font-variant-numeric:normal;font-var=
iant-east-asian:normal;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0{</span><=
span style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;ve=
rtical-align:baseline"><br></span><span style=3D"font-variant-numeric:norma=
l;font-variant-east-asian:normal;vertical-align:baseline"> =C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0client.DownloadFile(urlPath, outputPath);</span><sp=
an style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vert=
ical-align:baseline"><br></span><span style=3D"font-variant-numeric:normal;=
font-variant-east-asian:normal;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0Environment.Exit(0);</span><span style=3D"font-variant=
-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"><br=
></span><span style=3D"font-variant-numeric:normal;font-variant-east-asian:=
normal;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0}</span><span style=3D"font=
-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:basel=
ine"><br></span><span style=3D"font-variant-numeric:normal;font-variant-eas=
t-asian:normal;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0catch(Exception ex=
)</span><span style=3D"font-variant-numeric:normal;font-variant-east-asian:=
normal;vertical-align:baseline"><br></span><span style=3D"font-variant-nume=
ric:normal;font-variant-east-asian:normal;vertical-align:baseline"> =C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0{</span><span style=3D"font-variant-numeric:normal;font-variant-ea=
st-asian:normal;vertical-align:baseline"><br></span><span style=3D"font-var=
iant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"=
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Console.WriteLine(ex.ToString());=
</span><span style=3D"font-variant-numeric:normal;font-variant-east-asian:n=
ormal;vertical-align:baseline"><br></span><span style=3D"font-variant-numer=
ic:normal;font-variant-east-asian:normal;vertical-align:baseline"> =C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Console.WriteLine(ex.Message);</span><span=
style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertic=
al-align:baseline"><br></span><span style=3D"font-variant-numeric:normal;fo=
nt-variant-east-asian:normal;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0Environment.Exit(-1);</span><span style=3D"font-varian=
t-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"><b=
r></span><span style=3D"font-variant-numeric:normal;font-variant-east-asian=
:normal;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0}</span><span style=3D"f=
ont-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:ba=
seline"><br></span><span style=3D"font-variant-numeric:normal;font-variant-=
east-asian:normal;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0}</span><span style=3D"font-variant-num=
eric:normal;font-variant-east-asian:normal;vertical-align:baseline"><br></s=
pan><span style=3D"font-variant-numeric:normal;font-variant-east-asian:norm=
al;vertical-align:baseline"> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0}</s=
pan><span style=3D"font-variant-numeric:normal;font-variant-east-asian:norm=
al;vertical-align:baseline"><br></span><span style=3D"font-variant-numeric:=
normal;font-variant-east-asian:normal;vertical-align:baseline"> =C2=A0=C2=
=A0=C2=A0}</span><span style=3D"font-variant-numeric:normal;font-variant-ea=
st-asian:normal;vertical-align:baseline"><br></span><span style=3D"font-var=
iant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"=
>}</span></b><span style=3D"font-variant-numeric:normal;font-variant-east-a=
sian:normal;vertical-align:baseline"><br></span><span style=3D"font-variant=
-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"><br=
>Unfortunately, in our environment, they're are no http servers, only h=
ttps. So I issues an IPv4 command like:</span></div><div dir=3D"auto"><span=
style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertic=
al-align:baseline"><br></span></div><div dir=3D"auto"><span style=3D"font-v=
ariant-numeric:normal;font-variant-east-asian:normal;vertical-align:baselin=
e"><b>$ mono wget.exe <a href=3D"https://10.192.100.50">https://10.192.100.=
50</a></b></span></div><div dir=3D"auto"><span style=3D"font-variant-numeri=
c:normal;font-variant-east-asian:normal;vertical-align:baseline"><br></span=
></div><div dir=3D"auto"><span style=3D"font-variant-numeric:normal;font-va=
riant-east-asian:normal;vertical-align:baseline">Using just an IP address, =
the error below is expected (I</span>=C2=A0tried a couple of methods to dis=
able the trust check, but no joy), but it still indicates that the host was=
reached, which is all I'm trying to verify at this point.</div><div di=
r=3D"auto"><span style=3D"font-variant-numeric:normal;font-variant-east-asi=
an:normal;vertical-align:baseline"><br></span><b><span style=3D"font-varian=
t-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline">Sy=
stem.Net.WebException: Error: TrustFailure (Ssl error:1000007d:SSL routines=
:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED</span><span style=3D"font-varia=
nt-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"><=
br></span><span style=3D"font-variant-numeric:normal;font-variant-east-asia=
n:normal;vertical-align:baseline"> =C2=A0at /builddir/build/BUILD/mono-5.0.=
1.1/external/boringssl/ssl/handshake_client.c:1132) ---> Mono.Btls.MonoB=
tlsException: Ssl error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_=
VERIFY_FAILED</span><span style=3D"font-variant-numeric:normal;font-variant=
-east-asian:normal;vertical-align:baseline"><br></span><span style=3D"font-=
variant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseli=
ne"> =C2=A0at /builddir/build/BUILD/mono-5.0.1.1/external/boringssl/ssl/han=
dshake_client.c:1132</span><span style=3D"font-variant-numeric:normal;font-=
variant-east-asian:normal;vertical-align:baseline"><br></span><span style=
=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertical-ali=
gn:baseline"> =C2=A0at Mono.Btls.MonoBtlsContext.ProcessHandshake () [0x000=
38] in <1d7393d853954016b607e8e348b00ad1>:0 </span><span style=3D"fon=
t-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:base=
line"><br></span><span style=3D"font-variant-numeric:normal;font-variant-ea=
st-asian:normal;vertical-align:baseline"> =C2=A0at Mono.Net.Security.Mobile=
AuthenticatedStream.ProcessHandshake (Mono.Net.Security.AsyncProtocolReques=
t asyncRequest, Mono.Net.Security.AsyncOperationStatus status) [0x0002a] in=
<1d7393d853954016b607e8e348b00ad1>:0 </span><span style=3D"font-vari=
ant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline">=
<br></span><span style=3D"font-variant-numeric:normal;font-variant-east-asi=
an:normal;vertical-align:baseline"> =C2=A0at Mono.Net.Security.AsyncProtoco=
lRequest.ProcessOperation (Mono.Net.Security.AsyncOperationStatus status) [=
0x0006b] in <1d7393d853954016b607e8e348b00ad1>:0 </span><span style=
=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertical-ali=
gn:baseline"><br></span><span style=3D"font-variant-numeric:normal;font-var=
iant-east-asian:normal;vertical-align:baseline"> =C2=A0at Mono.Net.Security=
.AsyncProtocolRequest.ProcessOperation () [0x0000d] in <1d7393d853954016=
b607e8e348b00ad1>:0 </span><span style=3D"font-variant-numeric:normal;fo=
nt-variant-east-asian:normal;vertical-align:baseline"><br></span><span styl=
e=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertical-al=
ign:baseline"> =C2=A0at Mono.Net.Security.AsyncProtocolRequest.StartOperati=
on () [0x0003c] in <1d7393d853954016b607e8e348b00ad1>:0 </span><span =
style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertica=
l-align:baseline"><br></span><span style=3D"font-variant-numeric:normal;fon=
t-variant-east-asian:normal;vertical-align:baseline"> =C2=A0at Mono.Net.Sec=
urity.AsyncProtocolRequest.StartOperation (Mono.Net.Security.AsyncOperation=
operation) [0x00024] in <1d7393d853954016b607e8e348b00ad1>:0 </span>=
<span style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;v=
ertical-align:baseline"><br></span><span style=3D"font-variant-numeric:norm=
al;font-variant-east-asian:normal;vertical-align:baseline"> =C2=A0at Mono.N=
et.Security.MobileAuthenticatedStream.ProcessAuthentication (System.Net.Laz=
yAsyncResult lazyResult) [0x00057] in <1d7393d853954016b607e8e348b00ad1&=
gt;:0 </span><span style=3D"font-variant-numeric:normal;font-variant-east-a=
sian:normal;vertical-align:baseline"><br></span><span style=3D"font-variant=
-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline">---=
End of stack trace from previous location where exception was thrown ---</=
span><span style=3D"font-variant-numeric:normal;font-variant-east-asian:nor=
mal;vertical-align:baseline"><br></span><span style=3D"font-variant-numeric=
:normal;font-variant-east-asian:normal;vertical-align:baseline"> =C2=A0at S=
ystem.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in=
<3753d1715b8842d8bb13a30db0388b60>:0 </span><span style=3D"font-vari=
ant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline">=
<br></span><span style=3D"font-variant-numeric:normal;font-variant-east-asi=
an:normal;vertical-align:baseline"> =C2=A0at Mono.Net.Security.MobileAuthen=
ticatedStream.ProcessAuthentication (System.Net.LazyAsyncResult lazyResult)=
[0x00078] in <1d7393d853954016b607e8e348b00ad1>:0 </span><span style=
=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertical-ali=
gn:baseline"><br></span><span style=3D"font-variant-numeric:normal;font-var=
iant-east-asian:normal;vertical-align:baseline"> =C2=A0at Mono.Net.Security=
.MobileAuthenticatedStream.AuthenticateAsClient (System.String targetHost, =
System.Security.Cryptography.X509Certificates.X509CertificateCollection cli=
entCertificates, System.Security.Authentication.SslProtocols enabledSslProt=
ocols, System.Boolean checkCertificateRevocation) [0x0000c] in <1d7393d8=
53954016b607e8e348b00ad1>:0 </span><span style=3D"font-variant-numeric:n=
ormal;font-variant-east-asian:normal;vertical-align:baseline"><br></span><s=
pan style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;ver=
tical-align:baseline"> =C2=A0at Mono.Net.Security.Private.MonoSslStreamWrap=
per.AuthenticateAsClient (System.String targetHost, System.Security.Cryptog=
raphy.X509Certificates.X509CertificateCollection clientCertificates, System=
.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean c=
heckCertificateRevocation) [0x00006] in <1d7393d853954016b607e8e348b00ad=
1>:0 </span><span style=3D"font-variant-numeric:normal;font-variant-east=
-asian:normal;vertical-align:baseline"><br></span><span style=3D"font-varia=
nt-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"> =
=C2=A0at Mono.Net.Security.MonoTlsStream.CreateStream (System.Byte[] buffer=
) [0x0007b] in <1d7393d853954016b607e8e348b00ad1>:0 </span><span styl=
e=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertical-al=
ign:baseline"><br></span><span style=3D"font-variant-numeric:normal;font-va=
riant-east-asian:normal;vertical-align:baseline"> =C2=A0at System.Net.WebCo=
nnection.CreateStream (System.Net.HttpWebRequest request) [0x00073] in <=
1d7393d853954016b607e8e348b00ad1>:0 </span><span style=3D"font-variant-n=
umeric:normal;font-variant-east-asian:normal;vertical-align:baseline"><br><=
/span><span style=3D"font-variant-numeric:normal;font-variant-east-asian:no=
rmal;vertical-align:baseline"> =C2=A0=C2=A0--- End of inner exception stack=
trace ---</span><span style=3D"font-variant-numeric:normal;font-variant-ea=
st-asian:normal;vertical-align:baseline"><br></span><span style=3D"font-var=
iant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"=
> =C2=A0at System.Net.WebClient.DownloadFile (System.Uri address, System.St=
ring fileName) [0x000ad] in <1d7393d853954016b607e8e348b00ad1>:0 </sp=
an><span style=3D"font-variant-numeric:normal;font-variant-east-asian:norma=
l;vertical-align:baseline"><br></span><span style=3D"font-variant-numeric:n=
ormal;font-variant-east-asian:normal;vertical-align:baseline"> =C2=A0at Sys=
tem.Net.WebClient.DownloadFile (System.String address, System.String fileNa=
me) [0x00016] in <1d7393d853954016b607e8e348b00ad1>:0 </span><span st=
yle=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertical-=
align:baseline"><br></span><span style=3D"font-variant-numeric:normal;font-=
variant-east-asian:normal;vertical-align:baseline"> =C2=A0at (wrapper remot=
ing-invoke-with-check) System.Net.WebClient:DownloadFile (string,string)</s=
pan><span style=3D"font-variant-numeric:normal;font-variant-east-asian:norm=
al;vertical-align:baseline"><br></span><span style=3D"font-variant-numeric:=
normal;font-variant-east-asian:normal;vertical-align:baseline"> =C2=A0at wg=
et.Program.Main (System.String[] args) [0x00061] in <24ce9e68afff4791842=
d98a8ce379a1e>:0 </span><span style=3D"font-variant-numeric:normal;font-=
variant-east-asian:normal;vertical-align:baseline"><br></span><span style=
=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertical-ali=
gn:baseline">Error: TrustFailure (Ssl error:1000007d:SSL routines:OPENSSL_i=
nternal:CERTIFICATE_VERIFY_FAILED</span><span style=3D"font-variant-numeric=
:normal;font-variant-east-asian:normal;vertical-align:baseline"><br></span>=
<span style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;v=
ertical-align:baseline"> =C2=A0at /builddir/build/BUILD/mono-5.0.1.1/extern=
al/boringssl/ssl/handshake_client.c:1132)</span></b><span style=3D"font-var=
iant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"=
><br></span><span style=3D"font-variant-numeric:normal;font-variant-east-as=
ian:normal;vertical-align:baseline"><br><div dir=3D"auto" style=3D"font-fam=
ily:sans-serif">But, when I use the same command with an IPv4 address:</div=
><div dir=3D"auto" style=3D"font-family:sans-serif"><br></div><div dir=3D"a=
uto" style=3D"font-family:sans-serif"><b>$ mono wget.exe https://[fe39:abcd=
:ef01:2345::c]</b></div><div dir=3D"auto" style=3D"font-family:sans-serif">=
<br></div><div dir=3D"auto" style=3D"font-family:sans-serif">I get a failur=
e to find the host.</div></span><span style=3D"font-variant-numeric:normal;=
font-variant-east-asian:normal;vertical-align:baseline"><br></span><b><span=
style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;vertic=
al-align:baseline">System.Net.WebException: Error: ConnectFailure (No route=
to host) ---> System.Net.Sockets.SocketException: No route to host</spa=
n><span style=3D"font-variant-numeric:normal;font-variant-east-asian:normal=
;vertical-align:baseline"><br></span><span style=3D"font-variant-numeric:no=
rmal;font-variant-east-asian:normal;vertical-align:baseline"> =C2=A0at Syst=
em.Net.Sockets.Socket.Connect (System.Net.EndPoint remoteEP) [0x000b6] in &=
lt;1d7393d853954016b607e8e348b00ad1>:0 </span><span style=3D"font-varian=
t-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"><b=
r></span><span style=3D"font-variant-numeric:normal;font-variant-east-asian=
:normal;vertical-align:baseline"> =C2=A0at System.Net.WebConnection.Connect=
(System.Net.HttpWebRequest request) [0x0016d] in <1d7393d853954016b607e=
8e348b00ad1>:0 </span><span style=3D"font-variant-numeric:normal;font-va=
riant-east-asian:normal;vertical-align:baseline"><br></span><span style=3D"=
font-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:b=
aseline"> =C2=A0=C2=A0--- End of inner exception stack trace ---</span><spa=
n style=3D"font-variant-numeric:normal;font-variant-east-asian:normal;verti=
cal-align:baseline"><br></span><span style=3D"font-variant-numeric:normal;f=
ont-variant-east-asian:normal;vertical-align:baseline"> =C2=A0at System.Net=
.WebClient.DownloadFile (System.Uri address, System.String fileName) [0x000=
ad] in <1d7393d853954016b607e8e348b00ad1>:0 </span><span style=3D"fon=
t-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:base=
line"><br></span><span style=3D"font-variant-numeric:normal;font-variant-ea=
st-asian:normal;vertical-align:baseline"> =C2=A0at System.Net.WebClient.Dow=
nloadFile (System.String address, System.String fileName) [0x00016] in <=
1d7393d853954016b607e8e348b00ad1>:0 </span><span style=3D"font-variant-n=
umeric:normal;font-variant-east-asian:normal;vertical-align:baseline"><br><=
/span><span style=3D"font-variant-numeric:normal;font-variant-east-asian:no=
rmal;vertical-align:baseline"> =C2=A0at (wrapper remoting-invoke-with-check=
) System.Net.WebClient:DownloadFile (string,string)</span><span style=3D"fo=
nt-variant-numeric:normal;font-variant-east-asian:normal;vertical-align:bas=
eline"><br></span><span style=3D"font-variant-numeric:normal;font-variant-e=
ast-asian:normal;vertical-align:baseline"> =C2=A0at wget.Program.Main (Syst=
em.String[] args) [0x00061] in <24ce9e68afff4791842d98a8ce379a1e>:0 <=
/span><span style=3D"font-variant-numeric:normal;font-variant-east-asian:no=
rmal;vertical-align:baseline"><br></span><span style=3D"font-variant-numeri=
c:normal;font-variant-east-asian:normal;vertical-align:baseline">Error: Con=
nectFailure (No route to host)=E2=80=8B</span></b><span style=3D"font-varia=
nt-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline"><=
br></span><span style=3D"font-variant-numeric:normal;font-variant-east-asia=
n:normal;vertical-align:baseline"><br>Any suggestions as to why IPv6 doesn&=
#39;t appear to be working through mono?<br></span><span style=3D"font-vari=
ant-numeric:normal;font-variant-east-asian:normal;vertical-align:baseline">=
<br></span><span style=3D"font-variant-numeric:normal;font-variant-east-asi=
an:normal;vertical-align:baseline">Rick</span><span style=3D"font-size:11pt=
;font-family:arial;font-variant-numeric:normal;font-variant-east-asian:norm=
al;vertical-align:baseline;white-space:pre-wrap"><br></span></div></div></d=
iv></div>
--000000000000f6d26905665c15f1--
--===============0209829166960549080==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTW9uby1kZXZl
bC1saXN0IG1haWxpbmcgbGlzdApNb25vLWRldmVsLWxpc3RAbGlzdHMuZG90Lm5ldApodHRwOi8v
bGlzdHMuZG90Lm5ldC9tYWlsbWFuL2xpc3RpbmZvL21vbm8tZGV2ZWwtbGlzdAo=
--===============0209829166960549080==--