cups_rresvport() doesn't reserve ports less than 512; however,
lpd_queue() continues decrementing the port number to 0. This leads
to delays of ~511 seconds once all ports between 512-1023 are
exhausted. Even when ports become available, lpd_queue() still tries
calling cups_rresvport() with port numbers less than 512, waiting one
second between each call.
#define RESERVE_NONE 0 /* Don't reserve a privileged port */
#define RESERVE_RFC1179 1 /* Reserve port 721-731 */
-#define RESERVE_ANY 2 /* Reserve port 1-1023 */
+#define RESERVE_ANY 2 /* Reserve port 512-1023 */
/*
if (lport < 721 && reserve == RESERVE_RFC1179)
lport = 731;
- else if (lport < 1)
+ else if (lport < 512)
lport = 1023;
#ifdef HAVE_GETEUID