pkgsrc/security/mit-krb5/patches/patch-at
tonnerre dbcd463c31 Add more patches, now for MITKRB5-SA-2007-006, MITKRB5-SA-2008-001 and
MITKRB5-SA-2008-002. Bump PKGREVISION now finally.
2008-06-07 23:58:11 +00:00

43 lines
989 B
Text

$NetBSD: patch-at,v 1.2 2008/06/07 23:58:11 tonnerre Exp $
--- lib/rpc/svc.c.orig 2004-09-21 20:20:15.000000000 +0200
+++ lib/rpc/svc.c
@@ -108,15 +108,17 @@ xprt_register(SVCXPRT *xprt)
if (sock < FD_SETSIZE) {
xports[sock] = xprt;
FD_SET(sock, &svc_fdset);
+ if (sock > svc_maxfd)
+ svc_maxfd = sock;
}
#else
if (sock < NOFILE) {
xports[sock] = xprt;
svc_fds |= (1 << sock);
+ if (sock > svc_maxfd)
+ svc_maxfd = sock;
}
#endif /* def FD_SETSIZE */
- if (sock > svc_maxfd)
- svc_maxfd = sock;
}
/*
@@ -436,6 +438,8 @@ svc_getreqset(FDSET_TYPE *readfds)
#endif
}
+extern struct svc_auth_ops svc_auth_gss_ops;
+
static void
svc_do_xprt(SVCXPRT *xprt)
{
@@ -517,6 +521,9 @@ svc_do_xprt(SVCXPRT *xprt)
if ((stat = SVC_STAT(xprt)) == XPRT_DIED){
SVC_DESTROY(xprt);
break;
+ } else if ((xprt->xp_auth != NULL) &&
+ (xprt->xp_auth->svc_ah_ops != &svc_auth_gss_ops)) {
+ xprt->xp_auth = NULL;
}
} while (stat == XPRT_MOREREQS);