-#ifdef UDPPORTRANGE
- if (bind_portrange(s, &name, UDPPORTRANGE) == 0)
- goto out;
-#endif
-
- if (bind_portrange(s, &name, 512, IPPORT_RESERVED - 1) == 0)
- goto out;
+ for (retries = 0; ; retries++) {
+ if (bind_portrange(s, &name, portrange[0], portrange[1], "udp") == 0)
+ goto out;
+ dbprintf(_("dgram_bind: Could not bind to port in range: %d - %d.\n"),
+ portrange[0], portrange[1]);
+ if (retries >= BIND_CYCLE_RETRIES) {
+ dbprintf(_("dgram_bind: Giving up...\n"));
+ break;
+ }