version 1.48, 2002/06/09 02:36:03 |
version 1.49, 2002/07/04 10:08:00 |
|
|
warn("setsockopt (reuse address)"); |
warn("setsockopt (reuse address)"); |
goto bad; |
goto bad; |
} |
} |
|
switch (data_addr.su_family) { |
|
case AF_INET: |
|
on = IP_PORTRANGE_HIGH; |
|
if (setsockopt(data, IPPROTO_IP, IP_PORTRANGE, |
|
(char *)&on, sizeof(on)) < 0) |
|
warn("setsockopt IP_PORTRANGE (ignored)"); |
|
break; |
|
case AF_INET6: |
|
on = IPV6_PORTRANGE_HIGH; |
|
if (setsockopt(data, IPPROTO_IPV6, IPV6_PORTRANGE, |
|
(char *)&on, sizeof(on)) < 0) |
|
warn("setsockopt IPV6_PORTRANGE (ignored)"); |
|
break; |
|
} |
if (bind(data, (struct sockaddr *)&data_addr, data_addr.su_len) < 0) { |
if (bind(data, (struct sockaddr *)&data_addr, data_addr.su_len) < 0) { |
warn("bind"); |
warn("bind"); |
goto bad; |
goto bad; |