summaryrefslogtreecommitdiff
path: root/sys/kgssapi
diff options
context:
space:
mode:
authorSean Eric Fagan <sef@FreeBSD.org>2019-03-11 02:42:49 +0000
committerSean Eric Fagan <sef@FreeBSD.org>2019-03-11 02:42:49 +0000
commitb679e99764b87a94c3ee71fcc1d2308c77209df7 (patch)
tree0503fab4f75cfa1bdcd4e9e892385bec2a144b9c /sys/kgssapi
parentb99157f71ccbc99b13a63eb9f5f159f430e78593 (diff)
Notes
Diffstat (limited to 'sys/kgssapi')
-rw-r--r--sys/kgssapi/gss_impl.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/kgssapi/gss_impl.c b/sys/kgssapi/gss_impl.c
index 8ed984484809..4359c9edc07b 100644
--- a/sys/kgssapi/gss_impl.c
+++ b/sys/kgssapi/gss_impl.c
@@ -112,6 +112,15 @@ sys_gssd_syscall(struct thread *td, struct gssd_syscall_args *uap)
cl = clnt_reconnect_create(nconf,
(struct sockaddr *) &sun, GSSD, GSSDVERS,
RPC_MAXDATASIZE, RPC_MAXDATASIZE);
+ /*
+ * The number of retries defaults to INT_MAX, which effectively
+ * means an infinite, uninterruptable loop. Limiting it to
+ * five retries keeps it from running forever.
+ */
+ if (cl != NULL) {
+ int retry_count = 5;
+ CLNT_CONTROL(cl, CLSET_RETRIES, &retry_count);
+ }
} else
cl = NULL;