From e5c6a3e36147103e87d1c55173f4b54ba6134904 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 3 Oct 2005 13:46:11 +0000 Subject: r10683: Samba3's wbinfo -t should give the correct answer now. Tridge, if you have time, you might want to look at the segfault I was still seeing. Now I store the handle to the netlogon pipe in the global winbind state and free it on the next entry into check_machacc. The problem seems to be that talloc_free()ing a pipe struct from within a callback function on that pipe is not possible. I think I can live with that, but it has been not really obvious. To reproduce the segfault you might want to look at putting a talloc_free(state->getcreds->out.netlogon) into wbsrv_samba3_check_machacc_receive_creds. This is called from a dcerpc callback function. In particular if the check failed it would be nice if I could delete the pipe directly and not post a different event to some winbind queue. I tried to delete the pipe from a timed event triggered immediately, but this also fails because the inner loop seems to hit the same event again, calling it twice. Volker (This used to be commit 5436d7764812bb632ba865e633005ed07923b57f) --- source4/librpc/rpc/dcerpc_smb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source4/librpc') diff --git a/source4/librpc/rpc/dcerpc_smb.c b/source4/librpc/rpc/dcerpc_smb.c index 5fb4f7c950..b63a3080f5 100644 --- a/source4/librpc/rpc/dcerpc_smb.c +++ b/source4/librpc/rpc/dcerpc_smb.c @@ -470,7 +470,7 @@ static void pipe_open_recv(struct smbcli_request *req) smb->fnum = state->open->ntcreatex.out.fnum; smb->tree = talloc_reference(smb, state->tree); smb->server_name= strupper_talloc( - smb, state->tree->session->transport->socket->hostname); + smb, state->tree->session->transport->called.name); if (smb->server_name == NULL) { ctx->status = NT_STATUS_NO_MEMORY; goto done; -- cgit