You should have received a copy of the GNU Lesser General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#ifdef AROS
+#include "aros_compat.h"
+#endif
+
#ifdef WIN32
#include "win32_compat.h"
-#define ioctl ioctlsocket
-#define close closesocket
#else
-#include <unistd.h>
#include <arpa/inet.h>
-#include <sys/ioctl.h>
-#include <sys/socket.h>
#include <netdb.h>
#endif/*WIN32*/
-#ifdef HAVE_CONFIG_H
-#include "config.h"
+#ifdef HAVE_POLL_H
+#include <poll.h>
#endif
-#ifdef AROS
-#include "aros_compat.h"
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
#endif
-#ifdef HAVE_POLL_H
-#include <poll.h>
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif
+
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
#endif
#include <stdio.h>
static int portOfs = 0;
const int firstPort = 512; /* >= 512 according to Sun docs */
const int portCount = IPPORT_RESERVED - firstPort;
- int startOfs = portOfs, port, rc;
+ int startOfs, port, rc;
+ if (portOfs == 0) {
+ portOfs = time(NULL) % 400;
+ }
+ startOfs = portOfs;
do {
rc = -1;
port = htons(firstPort + portOfs);