+
+ if (port)
+ {
+ int b;
+
+ memset(&addr, 0, sizeof(addr));
+ addr.sin_family = AF_INET;
+ addr.sin_addr.s_addr = INADDR_ANY;
+
+ do {
+ addr.sin_port = htons(port);
+ if ((b = bind(radfds[i], (struct sockaddr *) &addr, sizeof(addr))) < 0)
+ {
+ if ((port += inc) < min || port > max)
+ {
+ LOG(0, 0, 0, "Can't bind RADIUS socket in range %u-%u\n", min, max);
+ exit(1);
+ }
+ }
+ } while (b < 0);
+ }