freebsd-src/sys/kgssapi
Rick Macklem e3c26ce5cb kgssapi: Increase timeout for kernel to gssd(8) upcalls
It turns out that the underlying problem that caused
a Kerberized NFS mount with the "gssname" option to
fail was that the kernel upcall to the gssd(8) daemon
would time out prematurely after 25 seconds.  The
gss_acquire_cred() GSSAPI library call
takes about 27 seconds for the case where a desired_name
argument is specified.  A similarly long delay occurs
when the gss_init_sec_context() call is made and the
user principal's TGT has expired.

Once the upcall timed out, the kernel code assumed that
the gssd(8) daemon had died and closed the socket.
Ironically, closing the socket did cause the gssd(8)
daemon to terminate via a SIGPIPE signal.

This patch increases the timeout to 5 minutes.  Since
a timeout should only occur when the gssd(8) daemon
has died, a long timeout should be ok and seems to fix this
problem.

I still think that commit c33509d49a should remain in the
system, since it allows the mount to complete quickly
and not take nearly 30 seconds.

PR:	268823
MFC after:	2 weeks
2023-01-11 13:20:31 -08:00
..
krb5 kgssapi krb5: Remove unused variables. 2022-04-06 16:45:29 -07:00
gss_accept_sec_context.c
gss_acquire_cred.c
gss_add_oid_set_member.c
gss_canonicalize_name.c kgssapi: clean up empty lines in .c and .h files 2020-09-01 22:15:02 +00:00
gss_create_empty_oid_set.c
gss_delete_sec_context.c kgssapi: clean up empty lines in .c and .h files 2020-09-01 22:15:02 +00:00
gss_display_status.c kgssapi: clean up empty lines in .c and .h files 2020-09-01 22:15:02 +00:00
gss_export_name.c
gss_get_mic.c kgssapi: clean up empty lines in .c and .h files 2020-09-01 22:15:02 +00:00
gss_impl.c kgssapi: Increase timeout for kernel to gssd(8) upcalls 2023-01-11 13:20:31 -08:00
gss_import_name.c kgssapi: clean up empty lines in .c and .h files 2020-09-01 22:15:02 +00:00
gss_init_sec_context.c
gss_names.c kgssapi: clean up empty lines in .c and .h files 2020-09-01 22:15:02 +00:00
gss_pname_to_uid.c
gss_release_buffer.c kgssapi: clean up empty lines in .c and .h files 2020-09-01 22:15:02 +00:00
gss_release_cred.c
gss_release_name.c kgssapi: clean up empty lines in .c and .h files 2020-09-01 22:15:02 +00:00
gss_release_oid_set.c
gss_set_cred_option.c
gss_test_oid_set_member.c
gss_unwrap.c kgssapi: clean up empty lines in .c and .h files 2020-09-01 22:15:02 +00:00
gss_verify_mic.c kgssapi: clean up empty lines in .c and .h files 2020-09-01 22:15:02 +00:00
gss_wrap.c
gss_wrap_size_limit.c
gssapi.h kgssapi: clean up empty lines in .c and .h files 2020-09-01 22:15:02 +00:00
gssapi_impl.h
gssd.x
gssd_prot.c
gsstest.c kgssapi: clean up empty lines in .c and .h files 2020-09-01 22:15:02 +00:00
kgss_if.m