summaryrefslogtreecommitdiff
path: root/source4/smbd/process_thread.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2005-12-15 20:25:37 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:47:25 -0500
commit984860f922a02acec1ef0cd080900f037dbbeada (patch)
tree958b7f1b73a8060370ae145dfdc6589b09cefb9a /source4/smbd/process_thread.c
parent76ec239ccd53f0e37569d85af4363123eea7db1a (diff)
downloadsamba-984860f922a02acec1ef0cd080900f037dbbeada.tar.gz
samba-984860f922a02acec1ef0cd080900f037dbbeada.tar.bz2
samba-984860f922a02acec1ef0cd080900f037dbbeada.zip
r12267: Try to avoid segfault in kerberos libs, because we talloc_free()'ed
the old event context in the standard process modal child. Andrew Bartlett (This used to be commit 0f52a9ab071c181c7f764adc8be83e162e649931)
Diffstat (limited to 'source4/smbd/process_thread.c')
-rw-r--r--source4/smbd/process_thread.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source4/smbd/process_thread.c b/source4/smbd/process_thread.c
index e5ed74e939..b79c2f76b5 100644
--- a/source4/smbd/process_thread.c
+++ b/source4/smbd/process_thread.c
@@ -35,6 +35,9 @@
#include "smb_server/smb_server.h"
#include "mutex.h"
+/* For sepecifiying event context to GSSAPI below */
+#include "heimdal/lib/gssapi/gssapi_locl.h"
+
struct new_conn_state {
struct event_context *ev;
struct socket_context *sock;
@@ -502,7 +505,10 @@ static void thread_model_init(struct event_context *event_context)
d_ops.get_task_id = thread_get_task_id;
d_ops.log_task_id = thread_log_task_id;
- register_debug_handlers("thread", &d_ops);
+ register_debug_handlers("thread", &d_ops);
+
+ /* Hack to ensure that GSSAPI uses the right event context */
+ gssapi_krb5_init_ev(event_context);
}