pull up r20479 from trunk. The ticket numbers don't match because
authorTom Yu <tlyu@mit.edu>
Thu, 16 Jul 2009 21:52:30 +0000 (21:52 +0000)
committerTom Yu <tlyu@mit.edu>
Thu, 16 Jul 2009 21:52:30 +0000 (21:52 +0000)
reported on the 1.6 branch.

 ------------------------------------------------------------------------
 r20479 | raeburn | 2008-06-26 20:31:59 -0400 (Thu, 26 Jun 2008) | 8 lines

 ticket: 5925
 status: open

 Don't do FD_SETSIZE check on Windows.
 Also, for form's sake, use closesocket instead of close inside the check.

 Kevin or Jeff, could you please verify that the code works again?

ticket: 6433
version_fixed: 1.6.4
status: resolved

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-6@22442 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/os/sendto_kdc.c

index 6a3faf94b58f0f03dcbef9a8120cc822c2ab03b3..ef8b6c7afd0d8bf0ef4043fa038d6cb060a2ab27 100644 (file)
@@ -654,12 +654,14 @@ start_connection (struct conn_state *state,
        dprint("socket: %m creating with af %d\n", state->err, ai->ai_family);
        return -1;              /* try other hosts */
     }
+#ifndef _WIN32 /* On Windows FD_SETSIZE is a count, not a max value.  */
     if (fd >= FD_SETSIZE) {
-       close(fd);
+       closesocket(fd);
        state->err = EMFILE;
        dprint("socket: fd %d too high\n", fd);
        return -1;
     }
+#endif
     /* Make it non-blocking.  */
     if (ai->ai_socktype == SOCK_STREAM) {
        static const int one = 1;