<div dir="ltr">Shouldn't we bind on the interface based on the IP address?<div><br></div><div>Would that not solve the problem?</div><div><br></div><div>miguel</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 19, 2015 at 4:00 PM, Greg Young <span dir="ltr"><<a href="mailto:gregoryyoung1@gmail.com" target="_blank">gregoryyoung1@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I was thinking a basic code api that allowed the specification of<br>
interface to bind to separately from which prefixes to accept to start<br>
with. The biggest issue here is that the ms api is basically using<br>
httpprefix to mean two very different things.<br>
<div class="HOEnZb"><div class="h5"><br>
On Tue, May 19, 2015 at 10:58 PM, Miguel de Icaza <<a href="mailto:miguel@xamarin.com">miguel@xamarin.com</a>> wrote:<br>
> Well, it might be best if you explain what you have in mind, before we waste<br>
> time with a pull request.<br>
><br>
> But either way works.<br>
><br>
> On Tue, May 19, 2015 at 3:50 PM, Greg Young <<a href="mailto:gregoryyoung1@gmail.com">gregoryyoung1@gmail.com</a>> wrote:<br>
>><br>
>> Miguel,<br>
>><br>
>> Would it be best to just take a stab at an alternative interface and<br>
>> send a PR for discussion?<br>
>><br>
>> Greg<br>
>><br>
>> On Sun, Apr 26, 2015 at 4:43 PM, Greg Young <<a href="mailto:gregoryyoung1@gmail.com">gregoryyoung1@gmail.com</a>><br>
>> wrote:<br>
>> > This is the code handling the prefixes its here<br>
>> ><br>
>> > <a href="https://github.com/mono/mono/blob/master/mcs/class/System/System.Net/EndPointManager.cs#L43" target="_blank">https://github.com/mono/mono/blob/master/mcs/class/System/System.Net/EndPointManager.cs#L43</a><br>
>> ><br>
>> > There is quite a bit of odd code around this in general. I understand<br>
>> > much of it is trying to reach compliance with MS but ...<br>
>> ><br>
>> > On Sun, Apr 26, 2015 at 4:40 PM, Miguel de Icaza <<a href="mailto:miguel@xamarin.com">miguel@xamarin.com</a>><br>
>> > wrote:<br>
>> >> Hello Greg,<br>
>> >><br>
>> >> Is that in HttpListener, or somewhere else?<br>
>> >><br>
>> >> Miguel<br>
>> >><br>
>> >> On Fri, Apr 24, 2015 at 12:41 PM, Greg Young <<a href="mailto:gregoryyoung1@gmail.com">gregoryyoung1@gmail.com</a>><br>
>> >> wrote:<br>
>> >>><br>
>> >>> Here is some of the code in question:<br>
>> >>><br>
>> >>> IPAddress addr;<br>
>> >>> if (host == "*")<br>
>> >>>     addr = IPAddress.Any;<br>
>> >>> else if (IPAddress.TryParse(host, out addr) == false){<br>
>> >>>     try {<br>
>> >>>         IPHostEntry iphost = Dns.GetHostByName(host);<br>
>> >>>        if (iphost != null)<br>
>> >>>             addr = iphost.AddressList[0];<br>
>> >>>        else<br>
>> >>>             addr = IPAddress.Any;<br>
>> >>>    } catch {<br>
>> >>>         addr = IPAddress.Any;<br>
>> >>>    }<br>
>> >>> }<br>
>> >>><br>
>> >>> On Fri, Apr 24, 2015 at 7:29 PM, Greg Young <<a href="mailto:gregoryyoung1@gmail.com">gregoryyoung1@gmail.com</a>><br>
>> >>> wrote:<br>
>> >>> > I have been going through a bunch of this code lately after seeing<br>
>> >>> > many ... interesting behaviours. I understand that much of the derp<br>
>> >>> > in<br>
>> >>> > this code is due to not having IIS and MS having an IIS centric API<br>
>> >>> > but wow. Some gems I have found...<br>
>> >>> ><br>
>> >>> > 1) synchronous dns calls being made...<br>
>> >>> > 2) I want to listen on <a href="http://192.168.0.1:1234" target="_blank">192.168.0.1:1234</a> but I want to support a host<br>
>> >>> > header of whateverdomain can't resolve whatever domain then bind<br>
>> >>> > listeners to all ips on machine.<br>
>> >>> > 3) Same as above but dns entry has multiple ips it resovles to [0]<br>
>> >>> > doesnt match see #2<br>
>> >>> > 4) Anything at all to do with elastic ips<br>
>> >>> > 5) Exceptions thrown to calling code with http status codes in them<br>
>> >>> > (I<br>
>> >>> > think this is ms legacy but is a pretty biog wtf)<br>
>> >>> > 6) failure parsing ip address says bind all interfaces on machine<br>
>> >>> > (huh?)<br>
>> >>> ><br>
>> >>> > Perhaps it makes sense to expose a "Microsoft Http Compatibility<br>
>> >>> > Layer" and then have a "Sane API if you want to use it"<br>
>> >>> ><br>
>> >>> > I dont mind putting some time in on these but is this even<br>
>> >>> > worthwhile<br>
>> >>> > or is the plan to just burn this code with fire and move to<br>
>> >>> > something<br>
>> >>> > sane in general?<br>
>> >>> ><br>
>> >>> > Cheers,<br>
>> >>> ><br>
>> >>> > Greg<br>
>> >>> > --<br>
>> >>> > Studying for the Turing test<br>
>> >>><br>
>> >>><br>
>> >>><br>
>> >>> --<br>
>> >>> Studying for the Turing test<br>
>> >>> _______________________________________________<br>
>> >>> Mono-devel-list mailing list<br>
>> >>> <a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
>> >>> <a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
>> >><br>
>> >><br>
>> ><br>
>> ><br>
>> ><br>
>> > --<br>
>> > Studying for the Turing test<br>
>><br>
>><br>
>><br>
>> --<br>
>> Studying for the Turing test<br>
><br>
><br>
<br>
<br>
<br>
--<br>
Studying for the Turing test<br>
</div></div></blockquote></div><br></div>