diff options
Diffstat (limited to 'src/lib/rpc/svc_auth_gssapi.c')
-rw-r--r-- | src/lib/rpc/svc_auth_gssapi.c | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/src/lib/rpc/svc_auth_gssapi.c b/src/lib/rpc/svc_auth_gssapi.c index 1e204e0..5c16b08 100644 --- a/src/lib/rpc/svc_auth_gssapi.c +++ b/src/lib/rpc/svc_auth_gssapi.c @@ -5,6 +5,39 @@ * $Source$ * * $Log$ + * Revision 1.41.2.1 1997/10/31 01:03:47 tlyu + * * svc_auth_gssapi.c (destroy_client): Fix to not lose entries in + * the chain linked list. + * [pullup from trunk] + * + * Revision 1.43 1997/10/21 18:33:55 epeisach + * Fix to not lose entries in the chain linked client list. + * + * A pointer was not being updated resulting in the situation where + * random clients would sudenly fail with a misc. rpc. error as the client + * handle could not be found. The scenario required three active clients + * to trigger the problem. + * + * Revision 1.42 1996/12/04 17:47:18 bjaspan + * * Various changes to allow channel bindings to work with both UDP + * and TCP cleanly [krb5-libs/180]: + * + * * auth_gssapi.c: remove the special-case exception to channel + * bindings failure added in the previous revision, since we now + * solve the problem by making channel bindings not fail + * + * * clnt_udp.c: use a connected socket so that the client can + * determine its own source address with getsockname + * + * * svc.h: add xp_laddr and xp_laddrlen fields to SVCXPRT structure + * + * * svc_tcp.c: set xp_laddr and xp_laddrlen when a connection is + * established + * + * * svc_udp.c (svcudp_recv): use recvmsg with MSG_PEEK followed by + * recvfrom in order to determine both source and dest address on + * unconnected UDP socket, set xp_laddr and xp_laddrlen + * * Revision 1.41 1996/10/16 20:16:10 bjaspan * * svc_auth_gssapi.c (_svcauth_gssapi): accept add call_arg version 4 * @@ -998,8 +1031,10 @@ static void destroy_client(client_data) c2->next = c->next; free(c); goto done; - } else + } else { + c2 = c; c = c->next; + } } PRINTF(("destroy_client: client_handle delete failed\n")); abort(); |