viced-multi-probe-addr-20070808
authorRainer Toebbicke <rtb@pclella.cern.ch>
Wed, 8 Aug 2007 16:53:17 +0000 (16:53 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Wed, 8 Aug 2007 16:53:17 +0000 (16:53 +0000)
FIXES 67355

MultiProbeAlternateAddress_r badly indexes the list of interfaces for
clients with multiple IP interfaces, resulting in peers with IP
address 0 port 0 to be created. This in turn results in rxi_sendmsg
errors (on systems where caught early, as on Linux, on others it may
pass unnoticed).

src/viced/callback.c

index c7f616e..e3903da 100644 (file)
@@ -3015,8 +3015,8 @@ MultiProbeAlternateAddress_r(struct host *host)
 
        interfaces[j] = host->interface->interface[i];
        conns[j] =
-           rx_NewConnection(interfaces[i].addr, 
-                            interfaces[i].port, 1, sc, 0);
+           rx_NewConnection(interfaces[j].addr, 
+                            interfaces[j].port, 1, sc, 0);
        rx_SetConnDeadTime(conns[j], 2);
        rx_SetConnHardDeadTime(conns[j], AFS_HARDDEADTIME);
        j++;