dbcd463c31
MITKRB5-SA-2008-002. Bump PKGREVISION now finally.
43 lines
989 B
Text
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);
|
|
|