On Mar 15 22:38, Charles Wilson wrote: > <tolstoy mode> > There are two questions, below...so skip to > those if you don't need the background. > </tolstoy mode>
I'm not sure if I can be of much help here. I have no experience with V4inV6 addresses. Many applications simply switch them off (IPV6_V6ONLY). > (*) It seems that you now need to have an identd server running on the > *client* box, or r* authentication takes 30 seconds or so. We don't > currrently have one of these ported; I'll try to do that at some point > unless someone beats me to it. I've been using the following (closed > source, free-as-in-beer) version that seems to be well-regarded: > http://rndware.info/products/windows-ident-server.html Or disable the ident code. > Well, since ALL of the values returned by getaddrinfo were IPv4, all Why? Is your client machine not IPv6 enabled? In that case, why don't you get AF_INET entries? Does the server only have a AF_INET6 listener? Usually you would create two listeners, one AF_INET and one AF_INET6. That's especially important on systems which don't support V4inV6, like Windows XP and 2K3. In theory, if I were you, I would not bother with V4inV6. > mymachine rlogind: PID 5960: doit: hostok=0 > mymachine rlogind: PID 5960: soaddr_eq_ip: (::ffff:127.0.0.1,192.168.199.1) > mymachine rlogind: PID 5960: soaddr_eq_ip: (::ffff:127.0.0.1,192.168.154.1) > mymachine rlogind: PID 5960: soaddr_eq_ip: (::ffff:127.0.0.1,192.168.1.3) > mymachine rlogind: PID 5960: doit: hostok=0 > > > (hostok=0 means "no match/reject connection). > > Notice that getaddrinfo returns three different networks. Two of these > are inactive (.199.1 and .154.1). 192.168.1.3 is mymachine's "real" IP > addr. But 127.0.0.1 is /not/ included in the list...so it can't be matched. > > /etc/hosts has: > 127.0.0.1 localhost > ::1 localhost If you want a V4inV6 match for localhost, you might have to add it to /etc/hosts. ::ffff:127.0.0.1 localhost Did you try that? > ********************* > QUESTION #1. Should cygwin's getaddrinfo return an entry for the > loopback interface? > ********************* I don't know. I don't think so. It doesn't sound right to fake a V4inV6 loopback entry. > Notice that only the "first" interface from the previous list -- > assuming getaddrinfo returned its results in the same order as before -- > is (in)validated. So, probably a bug -- or incompatibility of > assumptions between tcp_wrappers and cygwin1.dll. I'll have to dig into > that, later. FWIW, hosts.allow has: > > ALL : localhost 127.0.0.1/32 [::1]/128 : allow > rlogind: 192.168.1.0/255.255.255.0 > rshd: 192.168.1.0/255.255.255.0 > rexecd: 192.168.1.0/255.255.255.0 I don't think that these entries cover V4inV6. The localhost entry only works for V4. And for V6 you would have to enable ::1 anyway. > So, what's the second question? > > ********************* > QUESTION #2. Is there a cleaner way to do the address matching than the > version that I've modified below? I basically only changed the guts of > soaddr_eq_ip(); the rest is factory equipment... > ********************* I think so. Take the last 32 bits of the V4inV6 address and do the usual IPv4 address comparison. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple